Inhalt Systemtechnik der CPUs - es.fh- · PDF file5.1.4 Diagnose mit den PLC-Browser des...

122
____________________________________________________________________________________________________________ G7 AC500-Systemtechnik 1 CPUs AC500 / Stand: 08.2005 Inhalt "Systemtechnik der CPUs" 1 Die Zielsystemeinstellungen (Target Support Package) .................................. 6 1.1 Einleitung ................................................................................................................................................ 6 1.2 Auswahl der Steuerung - Zielsystemeinstellungen ..................................................................... 7 1.3 Parameter einer CPU in den Zielsystemeinstellungen ............................................................... 7 1.3.1 Einstellungen "Zielplattform" ................................................................................................................. 7 1.3.2 Einstellungen "Speicheraufteilung" ....................................................................................................... 8 1.3.3 Einstellungen "Allgemein" ................................................................................................................... 10 1.3.4 Einstellungen "Netzfunktionen" .......................................................................................................... 12 1.3.5 Einstellungen "Visualisierung" ............................................................................................................ 12 2 Eingänge, Ausgänge und Merker in AC500 .............................................................. 13 2.1 Schnittstellen für Ein- und Ausgänge in AC500 ......................................................................... 14 2.1.1 Adressschema für Ein- und Ausgänge ............................................................................................... 14 2.1.2 Beispiel für Adressierung in BOOL / BYTE / WORD / DWORD......................................................... 15 2.2 Adressierung der Ein- und Ausgänge ........................................................................................... 16 2.3 Bearbeitung der Ein- und Ausgänge im Multitaskingsystem.................................................. 17 2.4 Der adressierbare Merkerbereich (%M-Bereich) in AC500 ...................................................... 18 2.4.1 Aufteilung des adressierbaren Merkerbereiches in AC500 ................................................................ 18 2.4.2 Zugriff auf den %M-Bereich mit dem Modbus®-Protokoll .................................................................. 19 2.4.3 Zugriff auf die Operanden im adressierbaren Merkerbereich............................................................. 20 2.5 Absolutadressen von Operanden................................................................................................... 21 2.5.1 Der Adressoperator ADR .................................................................................................................... 21 2.5.2 Der Adressoperator für Bits BITADR .................................................................................................. 22 3 Die AC500-Steuerungskonfiguration............................................................................. 23 3.1 Übersicht über die Steuerungskonfiguration .............................................................................. 23 3.1.1 Funktionen der Steuerungskonfiguration............................................................................................ 23 3.1.2 Ex- und Import von Konfigurationsdaten ............................................................................................ 23 3.1.3 Standardeinträge der Steuerungskonfiguration .................................................................................. 24 3.1.4 Parametereingabe in der Steuerungskonfiguration ............................................................................ 25 3.2 Konfiguration der CPU-Parameter.................................................................................................. 25

Transcript of Inhalt Systemtechnik der CPUs - es.fh- · PDF file5.1.4 Diagnose mit den PLC-Browser des...

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 1 CPUs AC500 / Stand: 08.2005

Inhalt "Systemtechnik der CPUs"

1 Die Zielsystemeinstellungen (Target Support Package) .................................. 6

1.1 Einleitung ................................................................................................................................................ 6

1.2 Auswahl der Steuerung - Zielsystemeinstellungen ..................................................................... 7

1.3 Parameter einer CPU in den Zielsystemeinstellungen ............................................................... 7

1.3.1 Einstellungen "Zielplattform"................................................................................................................. 7

1.3.2 Einstellungen "Speicheraufteilung"....................................................................................................... 8

1.3.3 Einstellungen "Allgemein"................................................................................................................... 10

1.3.4 Einstellungen "Netzfunktionen" .......................................................................................................... 12

1.3.5 Einstellungen "Visualisierung" ............................................................................................................ 12

2 Eingänge, Ausgänge und Merker in AC500.............................................................. 13

2.1 Schnittstellen für Ein- und Ausgänge in AC500 ......................................................................... 14

2.1.1 Adressschema für Ein- und Ausgänge ............................................................................................... 14

2.1.2 Beispiel für Adressierung in BOOL / BYTE / WORD / DWORD......................................................... 15

2.2 Adressierung der Ein- und Ausgänge ........................................................................................... 16

2.3 Bearbeitung der Ein- und Ausgänge im Multitaskingsystem.................................................. 17

2.4 Der adressierbare Merkerbereich (%M-Bereich) in AC500 ...................................................... 18

2.4.1 Aufteilung des adressierbaren Merkerbereiches in AC500 ................................................................ 18

2.4.2 Zugriff auf den %M-Bereich mit dem Modbus®-Protokoll .................................................................. 19

2.4.3 Zugriff auf die Operanden im adressierbaren Merkerbereich............................................................. 20

2.5 Absolutadressen von Operanden................................................................................................... 21

2.5.1 Der Adressoperator ADR.................................................................................................................... 21

2.5.2 Der Adressoperator für Bits BITADR.................................................................................................. 22

3 Die AC500-Steuerungskonfiguration............................................................................. 23

3.1 Übersicht über die Steuerungskonfiguration .............................................................................. 23

3.1.1 Funktionen der Steuerungskonfiguration............................................................................................ 23

3.1.2 Ex- und Import von Konfigurationsdaten ............................................................................................ 23

3.1.3 Standardeinträge der Steuerungskonfiguration.................................................................................. 24

3.1.4 Parametereingabe in der Steuerungskonfiguration............................................................................ 25

3.2 Konfiguration der CPU-Parameter.................................................................................................. 25

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 2 CPUs AC500 / Stand: 08.2005

3.3 Konfiguration des I/O-Bus ................................................................................................................ 27

3.3.1 Einstellung der allgemeinen Parameter des I/O-Bus ......................................................................... 27

3.3.2 Einfügen der Ein- und Ausgabegeräte ............................................................................................... 27

3.3.3 Konfiguration der Ein- und Ausgabegeräte und der Kanäle............................................................... 29

3.4 Konfiguration der seriellen Schnittstellen (Interfaces / COM1 und COM2) ......................... 30

3.4.1 Einstellen des Protokolls der seriellen Schnittstellen ......................................................................... 30

3.4.2 Die Einstellung ‚COMx - Online access' ............................................................................................. 31

3.4.3 Die Einstellung ‚COMx - ASCII' .......................................................................................................... 31

3.4.4 Die Einstellung 'COMx - Modbus' ....................................................................................................... 33

3.4.5 Einstellung ‚COMx - Decentralized IO expansion'.............................................................................. 34

3.4.6 Die Einstellung 'COM1 - CS31 Bus' ................................................................................................... 35

3.5 Konfiguration der FBP-Slave-Schnittstelle (Interfaces / FBP-Slave) .................................... 37

3.6 Konfiguration der Koppler (Coupler) ...................................................................................................... 39

3.6.1 Konfiguration des internen Kopplers .................................................................................................. 40

3.6.1.1 Der interne Ethernet-Koppler PM5x1-ETH...................................................................................... 40

3.6.1.2 Der interne ARCNET-Koppler PM5x1-ARCNET ............................................................................. 42

3.6.2 Konfiguration der externen Koppler.................................................................................................... 45

4 Steuerungsanlauf / Programmbearbeitung .............................................................. 47

4.1 Begriffe .................................................................................................................................................. 47

4.2 Start des Anwenderprogrammes.................................................................................................... 49

4.3 Initialisierung und Pufferung von Daten....................................................................................... 50

4.3.1 Übersicht zur Initialisierung von Variablen ......................................................................................... 50

4.3.2 Hinweise zur Deklaration von gepufferten Variablen und Konstanten ............................................... 52

4.4 Bearbeitungszeiten......................................................................................................................................... 53

4.4.1 Begriffe................................................................................................................................................ 53

4.4.2 Programmbearbeitungszeit................................................................................................................. 53

4.4.3 Eingestellte Zykluszeit ........................................................................................................................ 53

4.5 Die Taskkonfiguration für die AC500-CPU ........................................................................................... 54

5 Das Diagnosesystem in AC500.......................................................................................... 55

5.1 Übersicht über die Diagnosemöglichkeiten................................................................................. 55

5.1.1 Aufbau des Diagnosesystems ............................................................................................................ 55

5.1.2 Diagnose direkt an der SPS mit LED "ERR", Tastatur und Display ................................................... 56

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 3 CPUs AC500 / Stand: 08.2005

5.1.3 Klartextanzeige der Fehlermeldungen in der Statuszeile des Control Builders im Onlinebetrieb...... 57

5.1.4 Diagnose mit den PLC-Browser des Control Builders........................................................................ 57

5.1.5 Diagnose aus dem Anwenderprogramm............................................................................................ 57

5.2 Aufbau der Fehlernummern ............................................................................................................. 57

5.2.1 Fehlerklassen ..................................................................................................................................... 58

5.2.2 Fehlerkennung.................................................................................................................................... 58

5.2.3 Übersicht über die möglichen Fehlernummern................................................................................... 60

5.3 Die Diagnose-Bausteine der AC500 ............................................................................................... 64

5.4 AC500-spezifische PLC-Browser-Kommandos .......................................................................... 64

6 Die Speicherkarte in AC500 (SD Memory Card) .................................................... 67

6.1 Funktionen der SD-Karte .................................................................................................................. 67

6.1.1 Übersicht über die Funktionen der Speicherkarte .............................................................................. 67

6.1.2 PLC-Browser-Kommandos zur Bedienung der SD-Karte .................................................................. 67

6.2 Das File-System der Speicherkarte................................................................................................ 68

6.2.1 Übersicht über die Dateistruktur der SD-Karte ................................................................................... 68

6.2.2 Die Kommandodatei "SDCARD.INI"................................................................................................... 69

6.2.3 Initialisieren einer SD-Karte ................................................................................................................ 70

6.2.3.1 Initialisieren der SD-Karte mit der AC500........................................................................................ 70

6.2.3.2 Initialisieren der SD-Karte mit einem PC......................................................................................... 70

6.3 Speichern/Laden des Anwenderprogrammes auf SD-Karte.................................................... 71

6.3.1 Speichern des Anwenderprogrammes auf der SD-Karte ................................................................... 71

6.3.2 Laden des Anwenderprogrammes von der SD-Karte in die AC500................................................... 71

6.4 Speichern/Lesen von Anwenderdaten auf/von SD-Karte............................................................... 72

6.4.1 Aufbau der Datenfiles der SD-Karte ................................................................................................... 72

6.4.2 Die Bausteine zum Schreiben/Lesen von Anwenderdaten auf/von der SD-Karte ............................. 73

6.4.3 Löschen eines Datenfiles auf der SD-Karte ....................................................................................... 75

6.4.4 Speichern von Anwenderdaten auf die SD-Karte - Datenfile ohne Sektoren..................................... 75

6.4.5 Speichern von Anwenderdaten auf die SD-Karte - Datenfile mit Sektoren........................................ 76

6.4.6 Laden von Anwenderdaten von der SD-Karte - Datenfile ohne Sektoren.......................................... 76

6.4.7 Laden von Anwenderdaten von der SD-Karte - Datenfile mit Sektoren............................................. 78

6.5 Speichern und Laden von remanenten Daten auf SD-Karte ................................................... 79

6.6 Firmwareupdate mittels SD-Karte .................................................................................................. 79

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 4 CPUs AC500 / Stand: 08.2005

6.6.1 Speichern der Firmware auf die SD-Karte.......................................................................................... 79

6.6.2 Firmwareupdate der AC500 - CPU mit SD-Karte ............................................................................... 80

6.7 Fehlermeldungen der SD-Karte....................................................................................................... 81

7 Datenablage im Flash................................................................................................................ 82

7.1 Die Bausteine zur Datenablage ....................................................................................................... 82

7.2 Beispielprogramm zur Datenablage .............................................................................................. 82

8 Echtzeituhr und Batterie in AC500 .................................................................................. 83

8.1 Allgemeine Hinweise zur Echtzeituhr in AC500.......................................................................... 83

8.2 Stellen und Anzeigen der Echtzeituhr ........................................................................................... 83

8.2.1 Stellen und Anzeigen der Echtzeituhr im PLC-Browser ..................................................................... 83

8.2.2 Stellen und Anzeigen der Echtzeituhr im Anwenderprogramm.......................................................... 84

8.3 Die Batterie der AC500 ...................................................................................................................... 84

9 Die schnellen Zähler in AC500 ........................................................................................... 85

9.1 Aktivierung der schnellen Zähler am I/O-Bus ............................................................................. 85

9.2 Bedienung der schnellen Zähler ..................................................................................................... 85

9.3 Beispiel für einen schnellen Zähler................................................................................................ 85

10 Programmierung und Test.................................................................................................. 86

10.1 Die Programmierzugänge der AC500 für den Control Builder ............................................. 86

10.2 Programmierung über die seriellen Schnittstellen .................................................................. 87

10.2.1 Serieller Treiber "Serial (RS232)" ..................................................................................................... 88

10.2.2 Serieller Treiber "ABB RS232 Route AC"......................................................................................... 89

10.3 Programmierung über ARCNET.................................................................................................... 92

10.3.1 ARCNET-Treiber "ABB Arcnet AC" .................................................................................................. 93

10.4 Programmierung über Ethernet (TCP/IP) ................................................................................... 95

10.4.1 Ethernet-Treiber "Tcp/Ip" .................................................................................................................. 96

10.4.2 Ethernet-Treiber "ABB Tcp/Ip Level 2 AC" ....................................................................................... 97

10.4.3 Ethernet-ARCNET-Routing............................................................................................................. 100

11 Kommunikation mit Modbus RTU ....................................................................................... 102

11.1 Protokollbeschreibung.................................................................................................................. 102

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 5 CPUs AC500 / Stand: 08.2005

11.2 Modbus RTU mit den seriellen Schnittstellen COM1 und COM2 ....................................... 103

11.2.1 Modbus-Betriebsarten der seriellen Schnittstellen ......................................................................... 103

11.2.2 Modbus-Kabel für COM1 und COM2 ............................................................................................. 103

11.3 Modbus on TCP/IP über Ethernet ............................................................................................... 103

11.4 Modbus-Adressen .......................................................................................................................... 104

11.4.1 Adresstabelle für Modbus ............................................................................................................... 104

11.4.2 Besonderheiten für den Zugriff auf die Modbus-Adressen............................................................. 106

11.4.3 Vergleich der Modbus-Adressen für AC500 und AC31/S90 .......................................................... 107

11.5 Modbus-Telegramme ..................................................................................................................... 109

11.6 Funktionsbaustein COM_MOD_MAST ...................................................................................... 116

11.7 Beispielprogramm Modbus.......................................................................................................... 116

12 Index.................................................................................................................................................. 118

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 6 CPUs AC500 / Stand: 08.2005

1 Die Zielsystemeinstellungen (Target Support Package)

1.1 Einleitung

Die Zentraleinheiten der AC500 PM571, PM581 und PM591 werden mit dem AC500 Control Builder ab V1.0 programmiert. Der Control Builder basiert auf CoDeSys ab V2.3 SP4.

Hinweis: Diese Dokumentation gilt für alle Rubriken der Zentraleinheiten PM571, PM581 und PM591. Wenn im Text "PM581" steht, so gilt der Text auch für PM571 und PM591. Gilt er ausschließlich für die PM581, so wird ausdrücklich darauf hingewiesen.

Um die AC500-Steuerungen mit dem Contol Builder programmieren zu können, muss ein so genanntes Target Support Package (TSP) installiert werden. (siehe auch 3S-Doku/TSP). Standardmäßig werden die AC500-TSPs automatisch mit dem Control Builder mitinstalliert.

Standardmäßig gelten folgende Pfade für die Installation:

• Control Builder: ..\%ProgramFiles%\3S Software\CoDeSys V2.3 Die Umgebungsvariable %ProgramFiles% entspricht "Program Files" für englisches Betriebssystem bzw. "Programme" für deutsches Betriebssystem.

• TSP (Target Support Package): ..\%CommonProgramFiles%\CAA-Targets\ABB_AC500 Die Umgebungsvariable %CommonProgramFiles% entspricht "Program Files\Common Files" für englisches Betriebssystem bzw. "Programme\Gemeinsame Dateien" für deutsches Betriebssystem.

Im Kapitel "Installation eines Target Support Package" ist die Installation eines TSP detailliert beschrieben. (siehe auch "Installation eines Target Support Package")

In einem TSP sind alle Konfigurations- und Erweiterungsdateien zusammengefasst, die benötigt werden, um mit einer Applikation eine bestimmte Steuerung (Zielsystem, Target) zu bedienen. Konfiguriert werden:

• der Codegenerator, • das Speicherlayout, • der Funktionsumfang der Steuerung, • die I/O-Module, • die Belegung und Parametrierung der Schnittstellen.

Außerdem werden Bibliotheken, Gateway-Treiber, die zielsystemspezifischen Hilfedateien, die Fehlerbeschreibungsdatei (Errors.ini) und die Hilfedatei für den PLC-Browser (Browser.ini) eingebunden.

Hinweis: Die Zentraleinheiten der AC31 Serie 90 07 KT 95, 07 KT 96, 07 KT 97 und 07 KT 98 werden auch weiterhin mit dem Programmiersystem 907 AC 1131 programmiert.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 7 CPUs AC500 / Stand: 08.2005

1.2 Auswahl der Steuerung - Zielsystemeinstellungen

Die Zuordnung eines Projektes auf eine AC500-CPU erfolgt über die Zielsystemeinstellung im Control Builder.

Wird ein neues AC500-Projekt mit Datei / Neu erstellt, so erscheint zuerst die Abfrage nach dem Zielsystem:

(Zielsystem_1.gif)

Wählen Sie die entsprechende CPU aus und bestätigen Sie mit OK.

Hinweis: Wenn ein bestehendes Projekt auf eine andere AC500-CPU geladen werden soll, so muss in den Zielsystemeinstellungen die andere CPU eingetragen werden. Wählen Sie dafür im Registerblatt "Ressourcen" das Objekt "Zielsystemeinstellungen". Unter "Konfiguration" können Sie die gewünschte CPU auswählen.

1.3 Parameter einer CPU in den Zielsystemeinstellungen

1.3.1 Einstellungen "Zielplattform"

Nach der Auswahl einer AC500-CPU werden die generellen Parameter der CPU angezeigt:

Zielsystem_2.gif

Im Registerblatt "Zielplattform" werden die allgemeinen Einstellungen der CPU angezeigt. Diese Werte sind nicht änderbar.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 8 CPUs AC500 / Stand: 08.2005

Die Parameter bedeuten im einzelnen:

Dialogpunkt Bedeutung

Plattform Typ des Zielsystems - PowerPC

Fließkommaprozessor Fließkommaoperationen werden emuliert

Erstes Parameter-Register (Integer) Register, in dem der erste (Integer-) Parameter von C-Funktionsaufrufen übergeben wird (Bereich betriebssystemabhängig)

Letztes Parameter-Register (Integer) Register, in dem der letzte (Integer-) Parameter von C-Funktionsaufrufen übergeben wird (Bereich betriebssystemabhängig)

Register für Rückgabewert (Integer) Register, in dem Integerwerte von C-Funktionsaufrufen zurückgegeben werden (Bereich betriebssystemabhängig)

Intel byte order Deaktiviert: Motorola Byte Adressschema wird angewendet.

1.3.2 Einstellungen "Speicheraufteilung"

Das Registerblatt "Speicheraufteilung" enthält Angaben über die Speicheraufteilung in der CPU:

Zielsystem_3.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 9 CPUs AC500 / Stand: 08.2005

Die Parameter bedeuten im Einzelnen:

Dialogpunkt Bedeutung

Größe (Code) Größe des Codebereiches (Anwenderprogramm) PM571: 10000 hex = 64 kB PM581: 40000 hex = 256 kB PM591: 400000 hex = 4096 kB = 4 MB

Größe pro Segment (Global) Größe des Datenbereiches (VAR ... END_VAR bzw. VAR_GLOBAL … END_VAR) PM571: 4000 hex = 16 kB PM581: 40000 hex = 256 kB PM591: 200000 hex = 2048 kB = 2 MB

Bereich (Memory) Größe des adressierbaren Merkerbereichs (%M-Bereich) PM571: 1000 hex = 4 kB PM581: 20000 hex = 128 kB PM591: 80000 hex = 512 kB

Bereich (Input) Größe des Inputprozessabbilds (%I-Bereich) PM5x1: 6000 hex = 24 kB

Bereich (Output) Größe des Outputprozessabbildes (%Q-Bereich) PM5x1: 6000 hex = 24 kB

Größe (Retain) Größe des Bereichs für remanente Daten (VAR RETAIN) PM571: 400 hex = 1 kB PM581: 8000 hex = 32 kB PM591: 80000 hex = 512 kB

Eigenes Retain-Segment aktiviert: Remanente Daten werden in eigenem Segment verwaltet

Größe des gesamten Datenspeichers

Ohne Bedeutung, wird in der Firmware verwaltet

Maximale Anzahl von Bausteinen im Projekt - 1024

Es gilt: - pro Funktion - pro Programm - pro Funktionsblock - pro Datentyp

1 Baustein 1 Baustein 2 Bausteine 1 Baustein

Maximale Anzahl von Bausteinen

Bausteine aus Bibliotheken belegen entsprechend dem Typ die gleiche Anzahl Bausteine.

Maximale Anzahl der Segmente globaler Daten

1 = alle globalen Daten werden in einem Segment verwaltet.

Die Nummern für die einzelnen Bereiche werden für die Verwaltung in der Firmware benötigt. Alle Parameter können vom Anwender nicht verändert werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 10 CPUs AC500 / Stand: 08.2005

1.3.3 Einstellungen "Allgemein"

Das Registerblatt "Allgemein" enthält allgemeine Angaben zum Zielsystem und den entsprechenden Dialogen im Control Builder.

Zielsystem_4.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 11 CPUs AC500 / Stand: 08.2005

Die Parameter bedeuten im einzelnen:

Dialogpunkt Bedeutung

Konfigurierbar aktiviert: Konfigurierbare I/O-Konfiguration unterstützen und Konfigurationsbeschreibung auf die Steuerung laden

Download als Datei aktiviert: Beim Download wird die I/O-Konfiguration als Datei mit dem Projekt in die Steuerung geladen. Ist das Feld deaktiviert, so wird die I/O-Konfiguration im Downloadformat ohne Fortschrittsanzeige in die Steuerung geladen.

Preemptives Multitasking unterstützen

aktiviert: Taskkonfiguration unterstützen und Taskbeschreibung auf die Steuerung laden

Keine Adressprüfung deaktiviert: Beim Kompilieren des Projekts werden die IEC-Adressen geprüft

Online Change aktiviert: Online Change Funktionalität

Singletask in multitasking

nicht implementiert

Byte-Adressierung deaktiviert: Die Adressierung erfolgt byte-weise

Nullinitialisierung aktiviert: Generelle Initialisierung mit Null

Symboldatei senden deaktiviert: Die beim Download ggf. erzeugte Symboldatei wird nicht in die Steuerung geladen.

Symbolkonfiguration aus INI-Datei

deaktiviert: Die Parameter für die Symbolkonfiguration werden aus dem Dialog in den Projektoptionen gelesen.

SPS-Browser aktiviert: PLC-Browser-Funktionalität wird unterstützt.

Trace-Aufzeichnung aktiviert: Trace-Aufzeichnung ist möglich.

Zyklusunabhängiges Forcen

nicht implementiert

VAR_IN_OUT als Referenz

aktiviert: VAR_IN_OUTs werden beim Funktionsaufruf als Referenz übergeben (Pointer); deshalb keine Zuweisung von Konstanten und kein lesender oder schreibender Zugriff von außen möglich.

Eingänge initialisieren aktiviert: Es wird Initialisierungscode für die mit "AT %IX" deklarierten Eingäng erzeugt.

Bootprojekt automatisch laden

wenn aktiviert: Nach einem Download wird automatisch ein Bootprojekt aus dem neuen Programm erzeugt und zur Steuerung geschickt.

Softmotion deaktiviert: Es wird keine SoftMotion Funktionalität unterstützt

Forcen beibehalten wenn aktiviert: Beim Logout werden geforcte Werte (nach Abfrage) beibehalten.

Speichern Wenn "Forcen beibehalten" und "Speichern" aktiviert sind, wird beim "Bootprojekt erzeugen" die Forceliste mit im Flash abgelegt.

Die grau hinterlegten Parameter können vom Anwender geändert werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 12 CPUs AC500 / Stand: 08.2005

1.3.4 Einstellungen "Netzfunktionen"

Das Registerblatt "Netzfunktionen" enthält Einstellungen zu den Netzwerkvariablen. Netzwerkvariablen werden in der vorliegenden Version nicht unterstützt.

Zielsystem_5.gif

1.3.5 Einstellungen "Visualisierung"

Das Registerblatt "Visualisierung" enthält Einstellungen für in die SPS-Firmware integrierte Visualisierung. In der vorliegenden Version werden Target- und WEB-Visualisierung nicht unterstützt.

Zielsystem_6.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 13 CPUs AC500 / Stand: 08.2005

2 Eingänge, Ausgänge und Merker in AC500

In der Dokumentation des Control Builders sind die Operanden, die CoDeSys bereitstellt, beschrieben. In dieser Dokumentation werden nachstehend die in CoDeSys genannten Operanden "Adresse", d. h. %I - für Eingänge und %Q - für Ausgänge detailliert beschrieben.

Im Control Builder können alle adressierbaren Operanden sowohl bitweise (X), byteweise (B), wortweise (W) und doppelwortweise (D) angesprochen werden. Der Zugriff erfolgt mit Motorola-Byteorder.

Deklaration von adressierbaren Operanden:

Die Deklaration der Operanden im adressierbaren Merkerbereich erfolgt in der Form:

Symbol AT Adresse : Typ [:= Initialisierungswert]; (* Kommentar *)

[.] optional

Die Deklaration der Ein- und Ausgänge erfolgt mit der Steuerungskonfiguration. Ein- und Ausgabegeräte, die direkt an die Zentraleinheit angekoppelt sind, werden direkt in der Steuerungskonfiguration deklariert. Ein- und Ausgangsgeräte, die an die Koppler angeschlossen sind, werden mit dem in den Control Builder integrierten Feldbuskonfigurator SYCON.net konfiguriert. (siehe auch Abschnitt Steuerungskonfiguration mit dem Control Builder).

Achtung: Beim Multitasking sind die digitalen Ein- und Ausgänge pro Task byteweise zykluskonsistent, d. h. z. B. die Eingänge %IX0.0-%IX0.7 für Task 1 und %IX1.0-%IX1.7 für Task 2. Hat z. B. Task 1 die höhere Priorität und wird der Eingang %IX0.0 in Task 1 und Task 2 benutzt, so kann sich der Wert innerhalb des Zyklus der Task 2 ändern, da er bei jedem Start der Task 1 aktualisiert wird. In Programmen mit einer Task ist das ohne Bedeutung.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 14 CPUs AC500 / Stand: 08.2005

2.1 Schnittstellen für Ein- / Ausgänge in AC500

In AC500 gibt es folgende Schnittstellen für Ein- und Ausgänge:

Nr. Typ Bezeichnung Anzahl der Ein- und Ausgänge

Konfiguration mit CoDeSys-Steuerungskonfiguration (ConfConf)

1 I/O-Bus Schnittstelle für E/A-Module max. 7 Module mit je max. 32 Kanälen (IX, QX, IW, QW)

CS31-Bus-Master max. 31 Module mit je max. 32 Kanälen, Adresse 0-61 2 COM1

dezentrale E/A-Erweiterung RS-232 / RS-485 (ab V2.0)

3 COM2 dezentrale E/A-Erweiterung RS-232 / RS-485 (ab V2.0)

4 FBP FieldBusPlug - Slave max. 8 Module mit 16 IW + 16 QW + 16 IB + 16 QB mit modularem FBP, abhängig vom Feldbus

5 Int. Koppler Interner Koppler ARCNET,.. (Konfiguration ohne SYCON.net)

Konfiguration mit integriertem SYCON.net

6 Linie 0 Interner Koppler je 4 kB %I0.xx / %Q0.xx

7 Linie 1 Koppler 1 je 4 kB %I1.xx / %Q1.xx

8 Linie 2 Koppler 2 je 4 kB %I2.xx / %Q2.xx

9 Linie 3 Koppler 3 je 4 kB %I3.xx / %Q3.xx

10 Linie 4 Koppler 4 je 4 kB %I4.xx / %Q4.xx

2.1.1 Adressschema für Ein- und Ausgänge

• Die Adressierung der Koppler-E/As erfolgt zweistufig in der Form: %I(Q)BKoppler-Nummer.ByteKoppler Die Konfiguration erfolgt mit SYCON.net

• Die E/As, die an die CPU angeschlossen werden, erhalten keine Kopplernummer und werden mit der internen Control-Builder-Steuerungskonfiguration (ConfConf) konfiguriert.

• Die E/As, die an die Zentrale angeschlossen sind, werden auf folgende Adressbereiche gelegt:

I/O-Bus: %IB0 .. %IB999 und %QB0 .. %QB999

COM1: %IB1000 .. %IB1999 und %QB1000 .. %QB1999

COM2: %IB2000 .. %IB2999 und %QB2000 .. %QB2999

FBP-Slave: %IB3000 .. %IB3999 und %QB3000 .. %QB3999

• Die Adressierung der digitalen Kanäle erfolgt byteorientiert.

• Der Zugriff auf die Ein- und Ausgänge erfolgt mit Motorola-Byteorder.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 15 CPUs AC500 / Stand: 08.2005

2.1.2 Beispiel für Adressierung in BOOL / BYTE / WORD / DWORD

Die Adressierung erfolgt gemäß Motorola Byteorder.

Adr Adr + 1 Adr + 2 Adr + 3 Adresse

16#xxxx x000 16#xxxx x001 16#xxxx x002 16#xxxx x003

BYTE %IB0 %IB1 %IB2 %IB3

7 ... 0 7 ... 0 7 ... 0 7 ... 0 BOOL

%IX0.7 ... %IX0.0 %IX1.7 ... %IX1.0 %IX2.7 ... %IX2.0 %IX3.7 ... %IX3.0

%IW0 %IW1 WORD

15 ... 8 7 ... 0 15 ... 8 7 ... 0

%ID0 DWORD

31 ... 24 23 ... 16 15 ... 8 7 ... 0

Beispiele:

%IX0.0 := TRUE

%IB0 := 1 := 16#01

%IW0 := 256 := 16#0100 (Bit 8 = TRUE)

%ID0 := 16777216 :0 16#01000000 (Bit 24 = TRUE)

%IX3.0 := TRUE

%IB3 := 1 := 16#01

%IW1 := 1 := 16#0001

%ID0 := 1 := 16#00000001

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 16 CPUs AC500 / Stand: 08.2005

2.2 Adressierung der Ein- und Ausgänge

Nr. Gerät Ein- / Ausgang Schnittstelle Bereich Adressen

Konfiguration mit ConfConf (I/Os der CPU) bzw. SYCON.net (Interner Koppler)

Eingänge (4 kB)

I/O-Bus COM1 COM2 FBP

0000..09991000..19992000..29993000..4095

%IB0 ... %IB4095 %IW0 ... %IW2047 %ID0 ... %ID1023 %IX0.0 ... %IX4095.7 E/As der CPU

Und

Ausgänge (4 kB)

CPU I/O-Bus

COM1 COM2 FBP

0000..09991000..19992000..29993000..4095

%QB0 ... %QB4095 %QW0 ... %QW2047 %QD0 ... %QD1023 %QX0.0 ... %QX4095.7

Eingänge (4 kB)

%IB0 ... %IB4095 %IW0 ... %IW2047 %ID0 ... %ID1023 %IX0.0 ... %IX4095.7

0 ... 5

Interner Koppler

Ausgänge (4 kB)

Linie 0 0.0000 ... 0.4095 %QB0 ... %QB4095

%QW0 ... %QW2047 %QD0 ... %QD1023 %QX0.0 ... %QX4095.7

Konfiguration mit SYCON.net

Eingänge (4 kB)

%IB1.0 ... %IB1.4095 %IW1.0 ... %IW1.2047 %ID1.0 ... %ID1.1023 %IX1.0.0 ... %IX1.4095.7

6 Koppler 1

Ausgänge (4 kB)

Linie 1 1.0000 ... 1.4095 %QB1.0 ... %QB1.4095

%QW1.0 ... %QW1.2047 %QD1.0 ... %QD1.1023 %QX1.0.0 ... %QX1.4095.7

...

Eingänge (4 kB)

%IB4.0 ... %IB4.4095 %IW4.0 ... %IW4.2047 %ID4.0 ... %ID4.1023 %IX4.0.0 ... %IX4.4095.7

9 Koppler 4

Ausgänge (4 kB)

Linie 4 4.0000 ... 4.4095 %QB4.0 ... %QB4.4095

%QW4.0 ... %QW4.2047 %QD4.0 ... %QD4.1023 %QX4.0.0 ... %QX4.4095.7

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 17 CPUs AC500 / Stand: 08.2005

2.3 Bearbeitung der Ein- und Ausgänge im Multitaskingsystem

Die nachfolgende Abbildung zeigt, wie die Ein- und Ausgänge im Multitaskingsystem bearbeitet werden.

Interrupt und Task fertig

Ausgänge Ext. coupler Slot 4

Hardware / DPR E/A-Abbild ImageTasks

..

Abarbeitung Anwendertask:Lesen und Schreiben auf dem Image

Interrupt

I/O-Bus

Eingänge

COM1: CS31-Bus

COM2: local I/O expansion

FBP slave interface

Internal coupler – Slot 0

External coupler – Slot 1

External coupler – Slot 4

..

I/O-Bus

Ausgänge

COM1: CS31-Bus

COM2: local I/O expansion

FBP slave interface

Internal coupler – Slot 0

External coupler – Slot 1

External coupler – Slot 4

..

I/O-Bus

COM1: CS31-Bus

COM2: local I/O expansion

FBP slave interface

Internal coupler – Slot 0

External coupler – Slot 1

External coupler – Slot 4

..

I/O-Bus

COM1: CS31-Bus

COM2: local I/O expansion

FBP slave interface

Internal coupler – Slot 0

External coupler – Slot 1

External coupler – Slot 4

..

..

Eingänge am I/O-Bus

Eingänge an COM1

Eingänge an COM2

Eingänge am FBP interface

Eingänge Int. coupler Slot 0

Eingänge Ext. coupler Slot 4

Variablenbereich

Adressbereich (%M-Bereich)

RETAIN-Bereich

Ausgänge am I/O-Bus

Ausgänge an COM1

Ausgänge an COM2

Ausgänge am FBP interface

Ausgänge Int. coupler Slot 0

Ausgänge Ext. coupler Slot 1

..Eingänge Ext. coupler Slot 1

Start einer Task:Byteweises Kopieren derin der Task verwendetenEingänge

..

..

..

Ende einer Task:Byteweises Kopieren derin der Task verwendetenAusgänge

Interrupt und Task fertig

Ausgänge Ext. coupler Slot 4Ausgänge Ext. coupler Slot 4

Hardware / DPR E/A-Abbild ImageTasks

..

Abarbeitung Anwendertask:Lesen und Schreiben auf dem Image

Interrupt

I/O-Bus

Eingänge

COM1: CS31-Bus

COM2: local I/O expansion

FBP slave interface

Internal coupler – Slot 0

External coupler – Slot 1

External coupler – Slot 4

..

I/O-Bus

Eingänge

COM1: CS31-Bus

COM2: local I/O expansion

FBP slave interface

Internal coupler – Slot 0

External coupler – Slot 1

External coupler – Slot 4

..

I/O-Bus

Ausgänge

COM1: CS31-Bus

COM2: local I/O expansion

FBP slave interface

Internal coupler – Slot 0

External coupler – Slot 1

External coupler – Slot 4

..

I/O-Bus

Ausgänge

COM1: CS31-Bus

COM2: local I/O expansion

FBP slave interface

Internal coupler – Slot 0

External coupler – Slot 1

External coupler – Slot 4

..

I/O-Bus

COM1: CS31-Bus

COM2: local I/O expansion

FBP slave interface

Internal coupler – Slot 0

External coupler – Slot 1

External coupler – Slot 4

..

I/O-Bus

COM1: CS31-Bus

COM2: local I/O expansion

FBP slave interface

Internal coupler – Slot 0

External coupler – Slot 1

External coupler – Slot 4

..

..

Eingänge am I/O-BusEingänge am I/O-Bus

Eingänge an COM1Eingänge an COM1

Eingänge an COM2Eingänge an COM2

Eingänge am FBP interfaceEingänge am FBP interface

Eingänge Int. coupler Slot 0Eingänge Int. coupler Slot 0

Eingänge Ext. coupler Slot 4Eingänge Ext. coupler Slot 4

VariablenbereichVariablenbereich

Adressbereich (%M-Bereich)Adressbereich (%M-Bereich)

RETAIN-BereichRETAIN-Bereich

Ausgänge am I/O-BusAusgänge am I/O-Bus

Ausgänge an COM1Ausgänge an COM1

Ausgänge an COM2Ausgänge an COM2

Ausgänge am FBP interfaceAusgänge am FBP interface

Ausgänge Int. coupler Slot 0Ausgänge Int. coupler Slot 0

Ausgänge Ext. coupler Slot 1Ausgänge Ext. coupler Slot 1

..Eingänge Ext. coupler Slot 1Eingänge Ext. coupler Slot 1

Start einer Task:Byteweises Kopieren derin der Task verwendetenEingänge

Start einer Task:Byteweises Kopieren derin der Task verwendetenEingänge

..

..

..

Ende einer Task:Byteweises Kopieren derin der Task verwendetenAusgänge

Ende einer Task:Byteweises Kopieren derin der Task verwendetenAusgänge

Bildung des Eingangsabbildes:

Eingänge am I/O-Bus:

Wenn am I/O-Bus alle E/A-Module bearbeitet wurden, wird beim Verarbeitungsprozessor ein entsprechender Interrupt ausgelöst. In der Interruptserviceroutine (ISR) werden die Eingänge in das Eingangsabbild kopiert. Wenn die Ausgänge durch eine Task aktualisiert wurden, werden die Ausgänge aus dem Ausgangsabbild kopiert.

Eingänge am CS31-Systembus:

Wenn der CS31-Treiber alle E/A-Module bearbeitet hat, wird beim Verarbeitungsprozessor ein entsprechender Interrupt ausgelöst. In der Interruptserviceroutine (ISR) werden die Eingänge in das Eingangsabbild kopiert. Wenn die Ausgänge durch eine Task aktualisiert wurden, werden die Ausgänge aus dem Ausgangsabbild kopiert.

Eingänge der Koppler Linie 0 bis Linie 4:

Wenn ein Koppler neue E/A-Daten hat, wird beim Verarbeitungsprozessor ein entsprechender Interrupt ausgelöst. In der Interruptserviceroutine (ISR) werden die Eingänge aus dem DPR in das Eingangsabbild des Verarbeitungsprozessors kopiert. Wenn die Ausgänge durch eine Task aktualisiert wurden, werden die Ausgänge aus dem Ausgangsabbild in das DPR kopiert.

Vorraussetzung ist, dass der Koppler eine gültige Konfiguration besitzt.

Start einer Task:

Beim Start einer Task werden die in der Task verwendeten Eingänge byteweise aus dem Eingangsabbild in das Image kopiert. Byteweise bedeutet, dass bei Verwendung z. B. des %IX0.0 das Abbild der Eingänge %IX0.0 ... IX0.7 in das Image kopiert werden.

Da nur die in der Task direkt verwendeten Eingänge kopiert werden, kann man die Eingänge nicht indirekt lesen, wenn sie zykluskonsistent sein sollen.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 18 CPUs AC500 / Stand: 08.2005

Bearbeitung einer Task:

Alle Tasks arbeiten auf dem Image, d. h. die Eingänge werden vom Image gelesen und die Ausgänge werden in das Image geschrieben. Im Online-Betrieb werden die Ein-/Ausgänge aus dem Image angezeigt.

Ende einer Task Bearbeitung des Ausgangsabbildes:

Am Ende einer Task werden die in der Task verwendeten Ausgänge byteweise aus dem Image in das Ausgangsabbild kopiert. Byteweise bedeutet, dass bei Verwendung z. B. des %QX0.0 das Abbild der Ausgänge %QX0.0 ... %QX0.7 aus dem Image in das Ausgangsabbild kopiert werden. Es werden die internen Variablen "Ausgangsabbild aktualisiert" für den CS31-Prozessor und die Koppler 0..4 gesetzt.

Schreiben der Ausgänge:

Ausgänge am I/O-Bus:

Beim nächsten Interrupt des I/O-Bus-Treibers werden die Ausgänge aus dem Ausgangsabbild geschrieben und die Variable "Ausgangsabbild aktualisiert" zurückgesetzt.

Ausgänge am CS31-Systembus:

Beim nächsten Interrupt des CS31-Prozessors werden die Ausgänge aus dem Ausgangsabbild geschrieben und die Variable "Ausgangsabbild aktualisiert" zurückgesetzt.

Ausgänge der Koppler in Linie 0 bis Linie 4:

Beim nächsten Interrupt des Kopplers werden die Ausgänge aus dem Ausgangsabbild in das DPR geschrieben und die Variable "Ausgangsabbild aktualisiert" zurückgesetzt.

I/O-Update-Task:

Damit die in den Tasks nicht verwendeten Ein-/Ausgänge ebenfalls aktualisiert werden, werden alle Ein-/Ausgänge im Image in einer niederprioren Task (I/O-Update-Task) aktualisiert. Diese Task wird nur dann abgearbeitet, wenn keine andere Anwendertask läuft.

2.4 Der adressierbare Merkerbereich (%M-Bereich) in AC500

2.4.1 Aufteilung des adressierbaren Merkerbereiches in AC500

Der adressierbare Merkerbereich ist bei AC500 in mehrere Segmente zu je 64 kByte aufgeteilt. Maximal können 8 Segmente adressiert werden. Die Verfügbarkeit der Segmente bzw. Teilsegmente ist von der CPU abhängig. Bitte entnehmen Sie die Größe des %M-Bereiches den Systemdaten der CPUs (siehe auch Technische Daten der CPU) bzw. Kapitel Zielsystemeinstellungen.

Segment Operanden Größe (dez) kumulativ [kB]

Größe (hex) kumulativ 1)

0 %MB0.0 ... %MB0.65535 64 16#10000

1 %MB1.0 ... %MB1.65535 128 16#20000

2 %MB2.0 ... %MB2.65535 192 16#30000

3 %MB3.0 ... %MB3.65535 256 16#40000

4 %MB4.0 ... %MB4.65535 320 16#50000

5 %MB5.0 ... %MB5.65535 384 16#60000

6 %MB6.0 ... %MB6.65535 448 16#70000

7 %MB7.0 ... %MB7.65535 512 16#80000

Anmerkung: 1) In den Zielsystemeinstellungen für die Zentrale ist im Parameter Speichereinstellung / Memory dieser Wert eingetragen.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 19 CPUs AC500 / Stand: 08.2005

2.4.2 Zugriff auf den %M-Bereich mit dem Modbus®-Protokoll

In die AC500 ist das Modbus®RTU-Protokoll integriert. Mit dem Modbus®-Protokoll kann auf die Segmente 0 und 1 des adressierbaren Merkerbereiches zugegriffen werden.

Eine detaillierte Beschreibung des Modbus®-Protokolls und der entsprechenden Adresszuordnung finden Sie im Kapitel Modbus dieser Dokumentation. (siehe auch MODBUS-Protokoll).

Hinweis: Bei der AC500-CPU PM571 stehen 4kB = %MB0.0 .. %MB0.4095 (d. h. kein komplettes Segment) für den adressierbaren Merkerbereich zur Verfügung. Dementsprechend kann nicht auf alle Modbus-Adressen zugegriffen werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 20 CPUs AC500 / Stand: 08.2005

2.4.3 Zugriff auf die Operanden im adressierbaren Merkerbereich

Der Zugriff auf die Operanden im %M-Bereich kann bit-, byte-, wort- und doppelwortweise erfolgen.

Byte BYTE

Bit (byteorientiert) BOOL

Wort INT / WORD

Doppelwort DINT / DWORD

Segment 0

%MB0.0 %MX0.0.0 ... MX0.0.7

%MB0.1 %MX0.1.0 ... MX0.1.7 %MW0.0

%MB0.2 %MX0.2.0 ... MX0.2.7

%MB0.3 %MX0.3.0 ... MX0.3.7 %MW0.1

%MD0.0

... ... ... ...

%MB0.65532 %MX0.65532.0 ... %MX0.65532.7

%MB0.65533 %MX0.65533.0 ... %MX0.65533.7 %MW0.32766

%MB0.65534 %MX0.65534.0 ... %MX0.65534.7

%MB0.65535 %MX0.65535.0 ... %MX0.65535.7 %MW0.32767

%MD0.16383

Segment 1

%MB1.0 %MX1.0.0 ... %MX1.0.7

%MB1.1 %MX1.1.0 ... %MX1.1.7 %MW1.0

%MB1.2 %MX1.2.0 ... %MX1.2.7

%MB1.3 %MX1.3.0 ... %MX1.3.7 %MW1.1

%MD1.0

... ... ... ...

%MB1.65532 %MX1.65532.0 ... %MX1.65532.7

%MB1.65533 %MX1.65533.0 ... %MX1.65533.7 %MW1.32766

%MB1.65534 %MX1.65534.0 ... %MX1.65534.7

%MB1.65535 %MX1.65535.0 ... %MX1.65535.7 %MW1.32767

%MD1.16383

Segment 2

%MB2.0 %MX2.0.0 ... %MX2.0.7

%MB2.1 %MX2.1.0 ... %MX2.1.7 %MW2.0

%MB2.2 %MX2.2.0 ... %MX2.2.7

%MB2.3 %MX2.3.0 ... %MX2.3.7 %MW2.1

%MD2.0

... ... ... ...

%MB2.65532 %MX2.65532.0 ... %MX2.65532.7

%MB2.65533 %MX2.65533.0 ... %MX2.65533.7 %MW2.32766

%MB2.65534 %MX2.65534.0 ... %MX2.65534.7

%MB2.65535 %MX2.65535.0 ... %MX2.65535.7 %MW2.32767

%MD2.16383

... ... ... ...

Segment 7

%MB7.0 %MX7.0.0 ... %MX7.0.7

%MB7.1 %MX7.1.0 ... %MX7.1.7 %MW7.0

%MB7.2 %MX7.2.0 ... %MX7.2.7

%MB7.3 %MX7.3.0 ... %MX7.3.7 %MW7.1

%MD7.0

... ... ... ...

%MB7.65532 %MX7.65532.0 ... %MX7.65532.7

%MB7.65533 %MX7.65533.0 ... %MX7.65533.7 %MW7.32766

%MB7.65534 %MX7.65534.0 ... %MX7.65534.7

%MB7.65535 %MX7.65535.0 ... %MX7.65535.7 %MW7.32767

%MD7.16383

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 21 CPUs AC500 / Stand: 08.2005

2.5 Absolutadressen von Operanden

2.5.1 Der Adressoperator ADR

Bei bestimmten Bausteinen bzw. bei Zugriff auf Operanden über Pointer ist es erforderlich, die Absolutadresse eines Operanden zu ermitteln. Der Control Builder stellt dazu den Adressoperator ADR zur Verfügung.

Der Adressoperator ADR ist in der Dokumentation des Control Builders beschrieben (siehe auch ADR-Operator in CoDeSys-Doku). In dieser Dokumentation wird nur auf die Besonderheiten für Bit-Operanden hingewiesen.

Die vom Adressoperator gelieferten Adressen können als Eingänge für die Bausteine, die Absolutadressen fordern (wie xxx_MOD_MAST, COM_SND), dienen. Sollen diese Bausteine auf interne Variablen angewendet werden, so muss sichergestellt sein, dass die Variablen auf aufeinanderfolgenden Adressen liegen. Das wird durch Deklaration von ARRAYS und STRINGS erreicht.

Der Adressoperator ADR stellt die Adresse eines Operanden in einem Doppelwort DWORD, d. h. 32 Bit bereit. Der Adressoperator liefert die Adresse des ersten Bytes einer Variablen (Byte-Adresse). Bei den frei definierbaren Variablen werden Variablen vom Typ BOOL als Byte abgelegt.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 22 CPUs AC500 / Stand: 08.2005

2.5.2 Der Adressoperator für Bits BITADR

Bei Eingängen, Ausgängen und Variablen aus dem adressierbaren Merkerbereich (%M-Bereich) belegen Operanden vom Typ BOOL ein Bit. Die Adresse solcher Variablen kann nicht mit dem ADR-Operator ermittelt werden.

Beim Übersetzen der Anweisung:

dwAdresse := ADR(%MX0.0.0);

erscheint folgende Fehlermeldung:

Fehler 4031: PLC_PRG(xx): Der ADR Operator ist auf Bits nicht erlaubt! Verwenden Sie stattdessen BITADR

BITADR liefert den Bitoffset innerhalb des Bereiches %I, %Q bzw. %M in einem DWORD.

In der nachfolgenden Tabelle ist die Lage der Operanden im Speicher am Beispiel des %MD0.0 und %MD0.1 dargestellt. Es wird gezeigt, welche Adressen mit dem ADR-Operator und welche Offsets mit dem BITADR geliefert werden.

Hinweis: Die Adressen sind Beispiele und müssen nicht zwingend die gleichen Werte haben.

%M

X0.

7.0

48%

MX

0.3.

016

31%

MX

0.7.

149

%M

X0.

3.1

17%

MX

0.7.

250

%M

X0.

3.2

18%

MX

0.7.

351

%M

X0.

3.3

19%

MX

0.7.

452

%M

X0.

3.4

20%

MX

0.7.

553

%M

X0.

3.5

21%

MX

0.7.

654

%M

X0.

3.6

22%

MX

0.7.

755

%M

X0.

3.7

23%

MX

0.6.

056

%M

X0.

2.0

24%

MX

0.6.

157

%M

X0.

2.1

25%

MX

0.6.

258

%M

X0.

2.2

26%

MX

0.6.

359

%M

X0.

2.3

27%

MX

0.6.

460

%M

X0.

2.4

28%

MX

0.6.

561

%M

X0.

2.5

29%

MX

0.6.

662

%M

X0.

2.6

30%

MX

0.6.

763

%M

X0.

2.7

31%

MX

0.5.

032

%M

X0.

1.0

0%

MX

0.5.

133

%M

X0.

1.1

1%

MX

0.5.

234

%M

X0.

1.2

2%

MX

0.5.

335

%M

X0.

1.3

3%

MX

0.5.

436

%M

X0.

1.4

4%

MX

0.5.

537

%M

X0.

1.5

5%

MX

0.5.

638

%M

X0.

1.6

6%

MX

0.5.

739

%M

X0.

1.7

7%

MX

0.4.

040

%M

X0.

0.0

8%

MX

0.4.

141

%M

X0.

0.1

9%

MX

0.4.

242

%M

X0.

0.2

10%

MX

0.4.

343

%M

X0.

0.3

11%

MX

0.4.

444

%M

X0.

0.4

12%

MX

0.4.

545

%M

X0.

0.5

13%

MX

0.4.

646

%M

X0.

0.6

14%

MX

0.4.

747

%M

X0.

0.7

15

Bit-Nr.

DWORDWORD

BYTEADR

BOOL

DWORD

WORDBYTE

ADR

BOOL

BITADR

BITADR

%MD0.0

%MD0.1

%MW0.0

%MW0.2

%MW0.1

%MW0.3

%MB0.016#08000000

%MB0.116#08000001

%MB0.216#08000002

%MB0.316#08000003

%MB0.4

16#08000004

%MB0.5

16#08000005

%MB0.6

16#08000006

%MB0.7

16#08000007

3029282726252423222120191817161514131211109876543210

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 23 CPUs AC500 / Stand: 08.2005

3 Die AC500-Steuerungskonfiguration

3.1 Übersicht über die Steuerungskonfiguration

3.1.1 Funktionen der Steuerungskonfiguration

Die allgemeine Bedienung der Steuerungskonfiguration ist in der Dokumentation des Control Builders (siehe CoDeSys-Doku / Steuerungskonfiguration) detailliert beschrieben. In diesem Abschnitt wird die Konfiguration der AC500 beschrieben.

In der Steuerungskonfiguration wird die Hardware im Projekt abgebildet. Damit können dem Projekt folgende Daten zur Verfügung gestellt werden:

• Allgemeine Parameter der AC500-CPU

• Ein- und Ausgänge aller am I/O-Bus angeschlossenen Geräte

• Eingabe der symbolischen Namen und Kommentare zu den Ein- und Ausgängen

• Parameter der Ein- und Ausgabemodule und ggf. deren E/A-Kanäle

• Einstellung des Mode und der Parameter der seriellen Schnittstellen

• Ein- und Ausgänge aller Ein-/Ausgabemodule, die im CS31-Mode an die serielle Schnittstelle COM1 angeschlossen sind

• Art und allgemeine Parameter und Protokolle der gesteckten Koppler

• Alle notwendigen Systembibliotheken werden beim Übersetzen <F11> automatisch entsprechend der Konfiguration geladen

• Anlegen einer Datenbank zum Ex- und Import von Konfigurationsdaten im XML-Datenformat

Die Steuerungskonfiguration der AC500 ist so gewählt, dass ein Projekt in alle AC500-CPUs (PM571, PM581, PM591, ..) geladen werden kann. Um ein Projekt in eine andere CPU zu laden, wird in den Zielsystemeinstellungen die entsprechende CPU ausgewählt. Die Steuerungskonfiguration muss nur geändert werden, wenn sich der Hardwareaufbau der Steuerung geändert hat, d. h. wenn z.B. andere Koppler gesteckt sind.

Die Steuerungskonfiguration bietet die Möglichkeit, die gesamte Konfiguration oder Teile davon zu exportieren und zu importieren. Damit ist es z. B. möglich, einmal editierte symbolische Namen für die Ein-/Ausgänge eines E/A-Moduls im PC abzulegen und in andere Projekte wieder zu importieren. Auch Einstellungen der Schnittstellen können so abgelegt werden (siehe auch Kapitel "Ex- und Import von Konfiguratiosdaten").

3.1.2 Ex- und Import von Konfigurationsdaten

Um ein Modul, alle Daten einer Schnittstelle oder eine komplette Konfiguration zu exportieren, wählt man den entsprechenden Eintrag in der Steuerungskonfiguration an, öffnet das Kontextmenü mit der rechten Maustaste und aktiviert die Funktion "Modul exportieren". Im sich öffnenden Dialog wird das Modul in der entsprechenden Konfigurationsebene mit dem gewählten Modulnamen im XML-Format abgespeichert.

Der Import der Module erfolgt analog dem Export. Im entsprechend der Konfiguration angewähltem Modul wird per Rechte-Maus-Klick das Kontextmenü aktiviert und mit "Modul importieren" der Import angewählt.

Hinweis: Es ist zu beachten, dass Module nur in der gleichen Konfigurationsebene importiert werden können, wie sie vorher exportiert wurden.

Bei E/A-Modulen (z. B. I/O-Bus, CS31-Bus) ist es egal, an welcher Stelle das Modul steckt. Ein Modul kann also z. B. auf Steckplatz 1 exportiert und später an Steckplatz 5 importiert werden. Die Ein- und Ausgabeadressen werden automatisch angepasst.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 24 CPUs AC500 / Stand: 08.2005

Beispiele für den Ex-/Import:

Beispiel 1:

Das Ein-/Ausgabemodul DC532 am I/O-Bus für Maschinenteil Axx soll als DC532_Axx gespeichert werden und danach in einem anderen Projekt verwendet werden.

1. Fügen Sie ein Modul DC532 mit Cursor auf I/O-Bus, Rechter Maus-Klick, Modul / "Unterelement anhängen" / "DC532 - 16 digital input and 16 digital Inoutput" an den I/O-Bus an.

2. Editieren Sie die symbolischen Namen und Kommentare für die Ein-/Ausgänge

3. Exportieren des Moduls durch Rechte-Maus-Klick / "Modul exportieren" und Eingabe des Modulnamens "DC532_Axx". Das File "DC532_Axx.xml" wird im Compile-Verzeichnis des Control Builders abgelegt.

4. Speichern Sie ggf. das Projekt und öffnen/erzeugen Sie das Projekt, in das das Modul eingefügt werden soll.

5. Fügen Sie an den I/O-Bus dieses Projektes ein Modul DC532 an.

6. Selektieren Sie das Modul DC532 mit dem Cursor und importieren Sie durch Rechte-Maus-Klick / Modul importieren und Auswahl des Files "DC532_Axx" das zuvor exportierte Modul. Das Modul wird eingelesen und die symbolischen Namen und Kommentare stehen zur Verfügung.

Beispiel 2:

Die Einstellung der seriellen Schnittstelle COM1 als Modbus RTU sollen als "COM1_MODBUS_Slave1" gespeichert werden.

1. Stellen Sie die COM1 durch Rechte-Maus-Klick / Element ersetzen auf "COM1 - MODBUS" um.

2. Konfigurieren Sie die Schnittstellenparameter im Dialog "Modulparameter"

3. Exportieren Sie die Einstellungen durch Selektieren der COM1, Rechte-Maus-Klick / "Modul exportieren" und Eingabe des Dateinamens "COM1_MODBUS_Slave1". Das File "COM1_MODBUS_Slave1.xml" wird im Compile-Verzeichnis des Control Builders abgelegt.

3.1.3 Standardeinträge der Steuerungskonfiguration

Nachdem mit den "Zielsystemeinstellungen" eine AC500-CPU ausgewählt wurde, kann diese konfiguriert werden. Wählen Sie dazu im Registerblatt "Ressourcen" das Objekt "Steuerungskonfiguration" aus.

Bei einem neuen AC500-Projekt enthält die Steuerungskonfiguration folgende Standardeinträge:

PLCconf_1.gif

Hinweis: Die gleichen Einstellungen erhalten Sie mit dem Menü "Extras" / "Standardkonfiguration".

Die Einträge stellen die Schnittstellen der AC500-Steuerungen dar. Jede Schnittstelle kann konfiguriert werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 25 CPUs AC500 / Stand: 08.2005

Die einzelnen Einträge dienen der Konfiguration von:

Eintrag Konfiguration

CPU parameters der CPU-Parameter

I/O-Bus von Ein-/Ausgabe-Geräten, die direkt an die CPU angeschlossen werden

Interfaces der seriellen Schnittstellen COM1 und COM2 sowie der FBP-Slave-Schnittstelle

Couplers von Parametern und Protokollen des internen und der externen Koppler. Die eigentliche Konfiguration der Koppler (außer ARCNET) und der angeschlossenen Ein-/Ausgangsgeräte erfolgt mit dem integrierten Feldbuskonfigurator SYCON.net (siehe auch Feldbuskonfiguration mit SYCON.net).

Der Steuerungskonfiguration liegen die mit dem TSP installierten Gerätedateien *.cfg zugrunde.

3.1.4 Parametereingabe in der Steuerungskonfiguration

Für alle Parameter-Dialoge gelten folgende Grundregeln:

• Alle sichtbaren Parameter der Gerätedatei werden dargestellt. Nur in der Spalte Wert kann editiert werden.

• Index: Der Index ist eine fortlaufende Zahl (i), welche die Parameter innerhalb des Moduls durchnummeriert.

• Name: Name des Parameters

• Wert: Wert des Parameters, veränderbar. Angezeigt wird zunächst der Defaultwert. Werte können direkt oder über symbolische Namen dargestellt werden. Wenn die Einträge in der Konfigurationsdatei nicht auf 'Read Only' gesetzt sind, können sie editiert werden, indem per Mausklick auf den Wert das Eingabefeld geöffnet wird bzw. über eine Auswahlliste ein anderer Wert ausgewählt wird.

• Default: Defaultwert des Parameters

• Min.: minimaler Wert des Parameters (nur bei direkter Werte-Darstellung)

• Max.: maximaler Wert des Parameters (nur bei direkter Werte-Darstellung)

Ggf. erhält man über einen Tooltip zusätzliche Informationen zum aktuell selektierten Parameter. Diese Informationen werden entsprechend der Spracheinstellung des Control Builders ausgegeben.

3.2 Konfiguration der CPU-Parameter

Wenn Sie auf "CPU parameters" klicken, erscheint folgender Konfigurationsdialog:

PLCconf_2.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 26 CPUs AC500 / Stand: 08.2005

Es können folgende Einstellungen vorgenommen werden:

Parameter Vorein- stellung

Wert Bedeutung

On Befindet sich ein gültiges Projekt im Flash, so wird dieses beim Einschalten der Steuerung in das RAM geladen und gestartet.

Auto run / Start des Anwenderprogramms bei Spannung EIN siehe Anmerkung 1

On

Off Befindet sich ein gültiges Projekt im Flash, so wird dieses beim Einschalten der Steuerung in das RAM geladen, aber nicht gestartet.

On Die Error-LED wird bei Fehlern aller Klassen eingeschaltet.

Off_by_E4 Warnungen (E4) werden nicht mit der Error-LED angezeigt.

Error-LED / Fehler-LED

On

Off_by_E3 Warnungen (E4) und leichte Fehler (E3) werden nicht mit der Error-LED angezeigt.

On Die Batterie wird auf Vorhandensein und Zustand überprüft. Ist keine Batterie enthalten bzw. die Batterie ist leer, so wird eine Warnung (E4) generiert und die LED ERR geht an.

Check battery / Überwachung der Batterie

On

Off Die Batterie wird nicht überwacht. Es wird keine Warnung (E4) generiert. Das gilt auch, wenn eine Batterie gesteckt ist und diese leer ist!

Off in hardware and online

Bei STOP werden alle Ausgänge auf FALSE bzw. 0 auf der Hardware und der Onlineanzeige gesetzt.

Off in hardware and actual state online

Bei STOP werden alle Ausgänge auf FALSE bzw. 0 auf der Hardware gesetzt. In der Onlineanzeige wird der Zustand, wie er sich aus dem letzten Zyklus des Anwenderprogrammes ergibt, angezeigt.

Behaviour of outputs in case of stop / Verhalten der Ausgänge bei STOP

Off in hardware and online

Actual state in hardware and online

Auf der Hardware und der Onlineanzeige bleibt der Zustand des letzten Zyklus des Anwenderprogrammes erhalten.

No effect Bei Auftreten eines Fehlers wird das Anwenderprogramm nicht gestoppt.

E1 Bei Auftreten eines fatalen Fehlers (E1) wird das Anwenderprogramm gestoppt.

E2 Bei Auftreten eines fatalen oder schweren Fehlers (E1-E2) wird das Anwenderprogramm gestoppt.

E3 Bei Auftreten eines fatalen, schweren oder leichten Fehlers (E1-E3) wird das Anwenderprogramm gestoppt.

Stop error class / STOP des SPS-Programmes bei Fehler der Klasse

No effect

E4 Bei Auftreten eines fatalen, schweren, leichten Fehlers oder einer Warnung (E1-E4) wird das Anwenderprogramm gestoppt.

Off Bei einem schweren Fehler (E2) wird kein Warmstart ausgelöst.

Warmstart on E2 Off

On Bei einem schweren Fehler (E2) wird automatisch ein Warmstart ausgelöst. (ab V2.0)

Anmerkung 1: Das Laden und Starten des Anwenderprogrammes ist zusätzlich abhängig von der MOD-Einstellung am Display/Tastenfeld. Dabei hat die Einstellung am Display/Tastenfeld immer Vorrang.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 27 CPUs AC500 / Stand: 08.2005

Es gilt:

MOD 00: Laden und Starten des Anwenderprogrammes entsprechend der Einstellung des CPU-Parameters "Auto run" (Standardeinstellung).

MOD 01: Anwenderprogramm wird nicht geladen/gestartet.

MOD 02: Anwenderprogramm wird geladen und gestartet, unabhängig von der Einstellung des Konfigurationsparameters "Auto run".

Wird beim Hochlaufen der Steuerung die Taste "RUN" im Tastenfeld gedrückt, so wird der MOD 01 automatisch aktiviert, d. h. das Anwenderprogramm wird nicht geladen und gestartet. Somit ist es möglich, die Steuerung zwangsweise im Stop hochzufahren. Das kann z. B. notwendig sein, wenn beide seriellen Schnittstellen auf Modbus eingestellt sind und deshalb kein Zugang mit dem Control Builder über die serielle Schnittstelle möglich ist.

3.3 Konfiguration des I/O-Bus

3.3.1 Einstellung der allgemeinen Parameter des I/O-Bus

Wenn Sie auf "I/O-Bus" klicken, erscheint folgender Konfigurationsdialog:

PLCconf_IO1.gif

Wie bei den CPU-Parametern, können hier die allgemeinen Parameter für den I/O-Bus der CPU eingestellt werden. Folgende Einstellungen sind möglich:

Parameter Vorein- stellung

Wert Bedeutung

No Bei einem Konfigurationsfehler wird das Anwenderprogramm nicht gestartet.

Run config fault No

Yes Das Anwenderprogramm wird auch bei falscher Konfiguration des I/O-Busses gestartet.

3.3.2 Einfügen der Ein- und Ausgabegeräte

Damit die Ein- und/oder Ausgänge der an den I/O-Bus angeschlossenen Ein- und Ausgabegeräte im Projekt zur Verfügung stehen, muss in der Steuerungskonfiguration die Hardware nachgebildet werden.

Ein- und Ausgabegeräte, die am I/O-Bus der CPU angeschlossen sind, belegen den E/A-Bereich:

%IB0 .. %IB999 bzw. %QB0 .. %QB999.

Es besteht keine feste Zuordnung zwischen Modulnummer und Ein-/Ausgangsadressen der Kanäle.

Wenn der Cursor auf "I/O-Bus" steht, erscheint beim Rechte-Maus-Klick das Auswahlmenü zum Ändern des Modus "I/O_Bus". Wählen Sie "Unterelement anhängen". Es werden alle zur Verfügung stehenden Ein- und Ausgabegeräte angezeigt:

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 28 CPUs AC500 / Stand: 08.2005

PLCconf_IO2.gif

Wählen Sie das Modul entsprechend seiner Hardwarekonfiguration aus. Verfahren Sie mit allen Modulen gleichermaßen. Maximal können 7 Ein-/Ausgabegeräte an den I/O-Bus angehängt werden.

Eine Konfiguration im Maximalausbau könnte z. B. folgendermaßen aussehen:

PLCconf_IO3.gif

Sind 7 Geräte angehängt, lässt sich der Eintrag "Unterelement anhängen" nicht mehr anwählen.

Soll die Konfiguration geändert werden, so können Geräte gelöscht und andere eingefügt oder angehängt werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 29 CPUs AC500 / Stand: 08.2005

3.3.3 Konfiguration der Ein- / Ausgabegeräte und der Kanäle

Mit dem Einfügen eines Ein-/Ausgabegerätes werden alle Ein- und/oder Ausgänge des Gerätes angelegt. Bei digitalen Geräten werden die Kanäle als WORD, BYTE und BOOL zur Verfügung gestellt.

Beim Aufklappen des Analoggerätes AX522 erhält man z. B. folgende Anzeige:

PLCconf_IO4.gif

Da die Analogeingänge auch als digitale Eingänge konfiguriert werden können, ist das Bit 0 jedes Kanals auch als BOOL vorhanden.

Folgende Einstellungen sind möglich:

1. Wird das Modul angeklickt, so erscheint der Dialog zur Konfiguration der modulbezogenen Parameter. Die Parameter sind je nach Gerät unterschiedlich und sind der Dokumentation der Ein-/Ausgabegeräte (Parametrierung) zu entnehmen. (siehe auch E/A-Gerätebeschreibung / Module). Falls das Ein-/Ausgabegerät kanalbezogene Parameter hat, so wird beim Klicken auf den entsprechenden Kanal der Dialog zur Konfiguration geöffnet:

PLCconf_IO5.gif

Die Parameter sind je nach Gerät unterschiedlich und sind ebenfalls der Dokumentation der Ein-/Ausgabegeräte zu entnehmen.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 30 CPUs AC500 / Stand: 08.2005

2. Vor dem "AT" in der Deklaration der Kanäle kann der symbolische Name eingegeben werden.

Hinweis: Es sollten alle Kanäle mit symbolischen Namen versehen werden und im Programmcode grundsätzlich nur mit symbolischen Namen gearbeitet werden. Wenn sich die Hardwarekonfiguration ändert oder das Projekt in eine Steuerung mit anderer Hardwarekonfiguration geladen werden soll und dementsprechend auch die Steuerungskonfiguration angepasst werden muss, können sich die Adressen der Ein- bzw. Ausgänge ändern. Bei symbolischer Programmierung braucht der Programmcode in diesem Fall nicht geändert zu werden.

Beispiel für die Eingabe des symbolischen Namens:

PLCconf_IO6.gif

3. Im Basisparameter-Konfigurationsdialog kann im Feld "Kommentar" für jeden Kanal ein Kommentar eingegeben werden:

PLCconf_IO7.gif

3.4 Konfiguration der seriellen Schnittstellen (Interfaces COM1 und COM2)

Die AC500-CPU verfügt über zwei serielle Schnittstellen COM1 und COM2, die als RS-232 und RS-485 betrieben werden können.

Hinweis: Damit eine Schnittstelle als RS-485 betrieben werden kann, muss der Parameter "RTS control" auf "telegram" eingestellt werden.

3.4.1 Einstellen des Protokolls der seriellen Schnittstellen

Standardmäßig sind die seriellen Schnittstellen auf 'Online access', d. h. Zugang mit dem Control Builder eingestellt.

PLCconf_COM1.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 31 CPUs AC500 / Stand: 08.2005

Durch Rechte-Maus-Klick auf 'COM1' oder 'COM2' und Anwahl von 'Element ersetzen' kann das Protokoll der seriellen Schnittstellen gewechselt werden.

PLCconf_COM2.gif

Das Schnittstellenprotokoll wird also direkt in der Steuerungskonfiguration eingestellt. Es ist kein Baustein (wie z.B. MODINIT, COMINIT) erforderlich.

3.4.2 Die Einstellung 'COMx - Online access'

Ist die Einstellung 'Online access' gewählt, so wird die Schnittstelle fest auf folgende Parameter eingestellt:

19200 Baud, 1 Stopp-Bit, kein Paritätsbit, Zeichenlänge 8 Bit

Die Parameter werden nur angezeigt. Sie können nicht geändert werden.

Die Einstellung der seriellen Schnittstelle muss mit den Einstellungen für den seriellen Gateway-Treiber im Control Builder übereinstimmen. (siehe auch Programmierung und Test / Serieller Treiber).

3.4.3 Die Einstellung 'COMx - ASCII'

Bei der Einstellung 'ASCII', d. h. beliebige Einstellung der Schnittstelle und Realisierung beliebiger Protokolle mit so genannten 'COM-Bausteinen' erscheint folgender Dialog:

PLCconf_COM3.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 32 CPUs AC500 / Stand: 08.2005

Folgende Einstellungen sind möglich:

Parameter Vorein- stellung

Wert Bedeutung

Disabled Es erfolgt keine Prüfung auf Control Builder-Login-Telegramm.

Enable login Disabled

Enabled Empfangene Telegramme werden auf die Control Builder-Login-Sequenz geprüft. Wird diese erkannt, wird auf 'Online access' umgeschaltet. -> Noch nicht verfügbar

none Keine RTS-Steuerung RTS control none

telegram RTS-Steuerung eingeschaltet

TLS 0 0...65535 Einstellung der Trägervorlaufzeit in ms oder Zeichen (TLS > CDLY)

CDLY 0 0...65535 Einstellen der Trägernachlaufzeit in ms oder Zeichen (CDLY <= TLS)

Character timeout

0 0...65535 Einstellen des Zeichen-Timeouts in ms oder Zeichen (muss 0 sein, wenn Telegramm-Endekennung = Zeichentimeout)

none Keine Telegram-Endekennung

String 2 Zeichen, z. B. <CR><LF> (16#0d, 16#0a -> 16#0d0a)

Telegram length

Telegramm-Endekennung über Telegrammlänge

Duration Telegramm-Endekennung über Zeit

Telegram ending selection

none

Character timeout

Telegramm-Endekennung über Zeichentimeout

Telegram ending character

16#0d 0...255 Telegramm-Endezeichen

Telegram ending value

0 0...65535 Wert für Telegramm-Endekennung bei Einstellung "Duration" und "Character timeout"

None Keine Prüfsumme

CRC8 CRC8-Prüfsumme

CRC16 CRC16-Prüfsumme

Checksum none

LRC Noch nicht verfügbar

None Kein Handshake

RTS/CTS Hardware-Handshake

XON/XOFF Noch nicht verfügbar

3964R master

Noch nicht verfügbar

Handshake none

3964R slave

Noch nicht verfügbar

Baudrate 19200 300120048009600

14400192003840057600

115200125000187500

Zeichenlänge in Bit/s

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 33 CPUs AC500 / Stand: 08.2005

None Keine Paritätsprüfung

Odd Ungerade Parität

Even Gerade Parität

Mark Partätsbit := TRUE

Parity none

Space Paritätsbit := FALSE

Data bits 8 5, 6, 7, 8 Zeichenlänge in Bit/Zeichen

Stop bits 1 1,2 Anzahl Stopp-Bits

3.4.4 Die Einstellung 'COMx - Modbus'

Bei der Einstellung 'MODBUS' erscheint folgender Dialog:

PLCconf_COM4.gif

Folgende Einstellungen sind möglich:

Parameter Vorein- stellung

Wert Bedeutung

Disabled Es erfolgt keine Prüfung auf Control-Builder-Login-Telegramm.

Enable login Disabled

Enabled Empfangene Telegramme werden werden auf die Control-Builder-Login-Sequenz geprüft. Wird diese erkannt, wird auf 'Online access' umgeschaltet. -> Noch nicht verfügbar

None Keine RTS-Steuerung RTS control none

Telegram RTS-Steuerung für das Telegramm ein -> Noch nicht verfügbar

TLS 0 0...65535 Einstellung der Trägervorlaufzeit in ms oder Zeichen (TLS > CDLY) -> Noch nicht verfügbar

CDLY 0 0...65535 Einstellung der Trägernachlaufzeit in ms oder Zeichen (CDLY <= TLS) -> Noch nicht verfügbar

Telegram ending value

3 0...65535 Anzahl Zeichen für Zeichen-Timeout

None Keine Flusskontrolle

RTS/CTS Hardware-Handshake -> Noch nicht verfügbar

Handshake None

XON/XOFF Software-Handshake -> Noch nicht verfügbar

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 34 CPUs AC500 / Stand: 08.2005

Baudrate 19200 300120048009600

14400192003840057600

115200125000187500

Zeichenlänge in Bit/s

None Keine Parität

Odd Ungerade Parität

Even Gerade Parität

Mark Paritätsbit := TRUE

Parity Even

Space Paritätsbit := FALSE

Data bits 8 5, 6, 7, 8 Anzahl Datenbits 5 bis 8

Stop bits 1 1, 2 Anzahl Stopp-Bits, 1 oder 2

None Ohne

Master Master

Operation mode

None

Slave Slave

Address 0 0...255 Adresse bei Modbus-Slave

Disable write to %MB0.x from

0 0...65535 Schreibverbot für Segment 0 ab %MB0.x

Disable write to %MB0.x to

0 0...65535 Schreibverbot für Segment 0 bis %MB0.x

Disable read to %MB0.x from

0 0...65535 Leseverbot für Segment 0 ab %MB0.x

Disable read to %MB0.x to

0 0...65535 Leseverbot für Segment 0 bis %MB0.x

Disable write to %MB1.x from

0 0...65535 Schreibverbot für Segment 1 ab %MB1.x

Disable write to %MB1.x to

0 0...65535 Schreibverbot für Segment 1 bis %MB1.x

Disable read to %MB1.x from

0 0...65535 Leseverbot für Segment 1 ab %MB1.x

Disable read to %MB1.x to

0 0...65535 Leseverbot für Segment 1 bis %MB1.x

Mit der Auswahl "COMx - MODBUS" wird die serielle Schnittstelle x auf das Modbus-RTU-Protokoll eingestellt (siehe Modbus-Protokoll).

Für den Modbus-Slave-Betrieb kann in den Segmenten %M0.x und %M1.x jeweils ein Bereich mit Lese- und/oder Schreibverbot eingestellt werden. Das Lese-/Schreibverbot beginnt jeweils ab der eingestellten Adresse und gilt bis einschließlich der eingestellten Endadresse.

Hinweis: Der Parameter "Data bits" ist für Modbus immer auf 8 zu stellen.

3.4.5 Einstellung 'COMx - Decentralized IO expansion'

Die Einstellung Decentralized IO expansion' (Dezentrale E/A-Erweiterung) dient zum Anschluss von E/A-Erweiterungsmodulen über FBP_Interface-Modul an die serielle Schnittstelle.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 35 CPUs AC500 / Stand: 08.2005

Hinweis: Die Funktion 'Decentralized IO expansion' ist erst ab Version V2.x verfügbar.

3.4.6 Die Einstellung 'COM1 - CS31 Bus'

Wird für die serielle Schnittstelle COM1 das Protokoll 'CS31 Bus' gewählt, so wird die Schnittstelle fest als CS31-Bus-Master eingestellt.

Die serielle Schnittstelle COM2 kann nicht als CS31-Bus-Schnittstelle verwendet werden.

PLCconf_CS31_0.gif

Damit die Ein- und/oder Ausgänge der an die CPU angeschlossenen Ein-/Ausgabegeräte im Projekt zur Verfügung stehen, muss in der Steuerungskonfiguration die Hardware nachgebildet werden.

Wenn der Cursor auf "COM1 - CS31 Bus" steht, erscheint beim Rechte-Maus-Klick das Auswahlmenü zum Ändern des Moduls "COM1". Wählen Sie "Unterelement anhängen". Es werden alle zur Verfügung stehenden Ein-/Ausgabegeräte für den CS31-Bus angezeigt:

PLCconf_CS31_1.gif

Wählen Sie das gewünschte Ein-/Ausgabegerät.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 36 CPUs AC500 / Stand: 08.2005

Es können maximal 31 Geräte (Slaves) an den CS31-Bus angeschlossen werden. Dabei ist zu beachten, dass sich ein kombiniertes Gerät mit digitalen und analogen Erweiterungen als zwei Geräte am CS31-Bus anmeldet.

Die Konfiguration wird am Beispiel des Digitalen Eingabegerätes 07DI92 erklärt. Nach Einfügen des Modules stehen die Ein- und Ausgänge des Gerätes zur Verfügung. Geben Sie bei den 'Modulparametern' unter 'Module address' die Hardwareadresse des Moduls, d. h. die mit DIL-Schaltern am Modul eingestellte Adresse, ein.

Hinweis: In den AC31-CPUs als CS31-Slave wird die Adresse per Software eingestellt.

PLCconf_CS31_2.gif

Die Moduladresse ist bei allen Geräten am CS31-Bus einzugeben.

Achtung: Es besteht kein direkter Zusammenhang zwischen der Moduladresse und den Ein-/Ausgangsadressen der Kanäle. Die Ein-/Ausgangsadressen werden automatisch vergeben und ändern sich beim Einfügen von weiteren Modulen.

Für die Adresseinstellung am Modul sind folgende Regeln zu beachten:

1. Es wird empfohlen, für jedes Modul eine eigene Adresse einzustellen.

2. Eine Moduladresse darf einmal für ein Binärmodul und einmal für ein Analogmodul vergeben werden, wird aber nicht empfohlen.

3. Wird die gleiche Moduladresse für eine digitales Eingabegerät und für ein digitales Ausgabegerät eingestellt, so wird nur das zuerst in der Steuerungskonfiguration eingetragene Gerät erkannt. Das gilt ebenso für Analoggeräte!

4. Der DIL-Schalter 8 (bei Serie 90 zum Belegen der Kanäle 8..15) ist ohne Wirkung, da alle Ein-/Ausgänge byteorientiert sind.

5. Bei erweiterbaren CS31-Modulen sind die Maximalkonfigurationen zu beachten.

Ein-/Ausgabegeräte, die an der COM1 angschlossen sind, belegen den E/A-Bereich:

COM1: %IB1000 .. %IB1999 bzw. %QB1000 .. %QB1999

Weitere Parameter und Einstellungen der CS31-Module sind optional und sind der Beschreibung der einzelnen Module zu entnehmen.

Die Beschreibung der S500-Module finden Sie in dieser Dokumentation. Die AC31-Module sind in der Dokumentation der 907 AC 1131 beschrieben.

An das Basismodul "DC551-CS31" können über die E/A-Schnittstelle weitere S500-Module angekoppelt werden. Wenn der Cursor auf "DC551-CS31" steht, werden beim Rechte-Maus-Klick im Kontextmenü unter "Unterelement anhängen" alle zur Verfügung stehenden Ein-/Ausgangsgeräte angezeigt, die an das Gerät "DC551-CS31" angehängt werden können. Maximal können an das Modul 7 Expansions mit insgesamt 120DI/120DO und 8AI/8AO angehängt werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 37 CPUs AC500 / Stand: 08.2005

Eine Konfiguration mit zwei kombinierten Ein-/Ausgabegeräten könnte z. B. wie folgt aussehen:

PLCconf_CS31_3.gif

Hinweis: Die schnellen Zähler der Ein-/Ausgabemodule wie z. B. "DC532" stehen nur beim Anschluss der Geräte an den I/O-Bus der CPUs zur Verfügung.

3.5 Konfiguration der FBP-Slave-Schnittstelle (Interfaces / FBP-Slave)

Die FBP-Slave-Schnittstelle dient zum Anschluss der AC500-Steuerungen als Feldbus-Slave mittels FieldBusPlug (FBP).

In der Standardkonfiguration ist auf der FBP-Schnittstelle kein Protokoll eingestellt "FBP - none". Das Einstellen des Protokolls "FBP - Slave" erfolgt durch "Modul ersetzen".

PLCconf_FBP0.gif

Es ist folgende Einstellung möglich:

Parameter Voreinstellung Wert Bedeutung

Address 0 0...255 Adresse als FBP-Slave

Hinweis: Ist über das Display/Tastenfeld eine Adresse (ADR > 0) für die FBP-Slave-Schnittstelle eingestellt, so hat diese Vorrang vor der Einstellung in der Steuerungskonfiguration.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 38 CPUs AC500 / Stand: 08.2005

Die FBP-Slave-Schnittstelle belegt den E/A-Bereich:

%IB3000 .. %IB3999 bzw. %QB3000 .. %QB3999.

Abhängig vom Feldbus-Master, kann die AC500-CPU eine unterschiedliche Anzahl von Ein-/Ausgabedaten mit dem Master austauschen.

Wenn der Cursor auf "FBP-Slave" steht, erscheint beim Rechte-Maus-Klick das Auswahlmenü zum Ändern des Moduls "FBP". Wählen Sie "Unterelement anhängen". Es werden alle zur Verfügung stehenden Ein-/Ausgangsmodule für die FBP-Slave-Schnittstelle angezeigt:

PLCconf_FBP1.gif

Maximal können über den modularen FieldBusPlug 8 Module mit je 16 Byte und 16 Wort Ein- und Ausgänge mit einem Master ausgetauscht werden. Bei Auswahl des Moduls "16 Byte and 16 Word In/Out" wird diese maximale Anzahl für ein Modul zur Verfügung gestellt. Die Anzahl der möglichen E/A-Daten wird weiterhin durch den gewählten Feldbus bestimmt.

Die Byte-Ein- bzw. -Ausgänge werden als BYTE und BOOL, die Wort-Ein- bzw. -Ausgänge werden als WORD, BYTE und BOOL zur Verfügung gestellt.

Die in der Steuerungskonfiguration eingetragenen E/A-Module und ihre Adresse muss identisch sein mit den Einträgen in der Konfiguration des jeweiligen Feldbus-Masters.

Sollen mit einem Feldbus-Master weniger als die maximale Anzahl an E/A-Daten ausgetauscht werden, so kann eine Konfiguration aus verschiedenen Modulen zusammengestellt werden.

Im folgenden Beispiel soll die AC500-CPU als Feldbus-Slave Nr. 10 z. B. 8 Byte Eingänge, 4 Byte Ausgänge, 4 Wort Eingänge und 16 Wort Ausgänge mit einem Feldbus-Master austauschen:

Mit dem Auswahlmenü werden hintereinander die Module angehängt:

2 x "4 Byte Input" 1 x "4 Byte Output" 1 x "4 Word Input" und 1 x "16 Word Output".

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 39 CPUs AC500 / Stand: 08.2005

Die fertige Konfiguration sieht wie folgt aus:

PLCconf_FBP2.gif

Auch hier werden die Byte-Ein- bzw. -Ausgänge als BYTE und BOOL, die Wort-Ein- bzw. -Ausgänge als WORD, BYTE und BOOL zur Verfügung gestellt.

3.6 Konfiguration der Koppler (Coupler)

In der Standardkonfiguration bei "Datei" / "Neu" bzw. mit "Extras" / "Standardkonfiguration" sind keine Koppler in der Steuerungskonfiguration eingetragen:

PLCconf_Coupler1.gif

Für die Koppler gilt folgende Zuordnung zwischen Koppler-Linie und Steckplatz:

• Linie 0 entspricht dem internen Koppler (im Gehäuse der CPU eingebaut) • Linie 1 ist der Koppler auf dem Steckplatz unmittelbar links neben der CPU • Linie 2 ist der zweite Steckplatz links neben der CPU • Linie 3, 4 sind die weiteren Steckplätze nach links zählend

Die Vergabe der Ein-/Ausgänge für die Koppler ist steckplatzorientiert, unabhängig vom Kopplertyp.

Hinweis: Ist ein Kopplersteckplatz nicht belegt, so ist für diesen ein "External – none" zu konfigurieren. Ist kein externer Koppler gesteckt, so braucht dieser Eintrag nicht zu erfolgen. Beispiel: Interner Ethernet-Koppler und PROFIBUS-Koppler auf Steckplatz 2 1. Element ersetzen: "Internal – none" durch "PM5x1 – Internal Ethernet" 2. Unterelement anhängen: "External none" für leeren Steckplatz 1 3. Unterelement anhängen: "CM572 – External PROFIBUS DP Master" auf Steckplatz 2

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 40 CPUs AC500 / Stand: 08.2005

3.6.1 Konfiguration des internen Kopplers

Bei einer AC500-Steuerung mit internem Koppler muss dieser in die Konfiguration eingetragen werden. Dazu wird der Cursor auf "Internal - none" gesetzt. Beim Rechte-Maus-Klick werden im Kontextmenü unter "Element ersetzen" alle verfügbaren internen Koppler angezeigt:

PLCconf_Coupler2.gif

Wählen Sie den Koppler gemäss der eingesetzten Hardware.

3.6.1.1 Der interne Ethernet-Koppler PM5x1-ETH

Beim internen Ethernet-Koppler "PM5x1-ETH - Internal Ethernet" sind folgende Einstellungen in der Steuerungskonfiguration möglich:

PLCconf_Coupler3.gif

Parameter Voreinstellung Wert Bedeutung

No Bei einem Konfigurationsfehler wird das Anwenderprogramm nicht gestartet.

Run config fault No

Yes Das Anwenderprogramm wird auch bei falscher Konfiguration des internen Ethernet-Kopplers gestartet.

In der Steuerungskonfiguartion wird lediglich das Verhalten der CPU bei einem Konfigurationsfehler des Kopplers und die benötigten Protokolle eingestellt. Die eigentliche Konfiguration des Ethernet-Kopplers, wie z. B. das Einstellen der IP-Adresse, erfolgt mit dem integrierten Feldbuskonfiguratior SYCON.net. (siehe SYCON.net).

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 41 CPUs AC500 / Stand: 08.2005

Standardmäßig ist das Protokoll "MODBUS on TCP/IP" vorhanden. Hier sind folgende Einstellungen möglich:

PLCconf_Coupler3_1.gif

Wie bei Modbus RTU auf den seriellen Schnittstellen COMx können auch hier für den Slave-Betrieb Bereiche für das Schreib- und/oder Leseverbot eingestellt werden. Das Lese-/Schreibverbot beginnt jeweils ab der eingestellten Adresse und gilt bis einschließlich der eingestellten Endadresse.

Parameter Voreinstellung Wert Bedeutung

Disable write to %MB0.x from

0 0...65535 Schreibverbot für Segment 0 ab %MB0.x

Disable write to %MB0.x to

0 0...65535 Schreibverbot für Segment 0 bis %MB0.x

Disable read to %MB0.x from

0 0...65535 Leseverbot für Segment 0 ab %MB0.x

Disable read to %MB0.x to

0 0...65535 Leseverbot für Segment 0 bis %MB0.x

Disable write to %MB1.x from

0 0...65535 Schreibverbot für Segment 1 ab %MB1.x

Disable write to %MB1.x to

0 0...65535 Schreibverbot für Segment 1 bis %MB1.x

Disable read to %MB1.x from

0 0...65535 Leseverbot für Segment 1 ab %MB1.x

Disable read to %MB1.x to

0 0...65535 Leseverbot für Segment 1 bis %MB1.x

Durch Selektieren des internen Ethernet-Kopplers "PM5x1-ETH - Internal Ethernet" und Rechte-Maus-Klick kann das Protokoll "UDP data exchange" angehängt werden.

PLCconf_Coupler3_2.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 42 CPUs AC500 / Stand: 08.2005

Für das Protokoll "UDP data exchange" sind folgende Einstellungen möglich:

PLCconf_Coupler3_3.gif

Parameter Vorein- stellung

Wert Bedeutung

Size of receive buffer

8192 1464..65535 Größe des Empfangspuffers in Byte Die Minimalgröße entspricht der max. Größe eines UDP-Telegrammes

Size of transmit buffer high prio

4096 0..65535 Größe des Sendepuffers für Telegramme hoher Priorität in Byte

Size of transmit buffer low prio

4096 0..65535 Größe des Sendepuffers für Telegramme niedriger Priorität in Byte

Size of timeout buffer

2048 0..65535 Größe des Puffers für Timeout-Datenpakete in Byte

Number of header data

10 0..1464 Anzahl der Kopfdaten, die bei Timeout-Datenpaketen in den Timeout-Puffer kopiert werden in Byte

Disable Empfangssperre für Broadcast-Telegramme (Datenpakete an alle Stationen)

Receive broadcast Disable

Enable Freigabe Empfang von Broadcast-Telegrammen (Datenpakete an alle Stationen)

Overwrite Verhalten bei Überlauf des Empfangspuffers: Die ältesten Datenpakete im Empfangspuffer werden mit den neu ankommenden Datenpaketen überschrieben.

Behavior on receive buffer overflow

Overwrite

Reject Verhalten bei Überlauf des Empfangspuffers: Die neu ankommenden Datenpakete werden verworfen.

3.6.1.2 Der interne ARCNET-Koppler PM5x1-ARCNET

Hinweis: Die Steuerung mit internem ARCNET-Koppler ist erst ab Version V2.x verfügbar.

Beim internen ARCNET-Koppler "PM5x1-ARCNET - Internal ARCNET" sind folgende Einstellungen in der Steuerungskonfiguration möglich:

PLCconf_Coupler4.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 43 CPUs AC500 / Stand: 08.2005

Parameter Vorein- stellung

Wert Bedeutung

No Bei einem Konfigurationsfehler wird das Anwenderprogramm nicht gestartet.

Run config fault No

Yes Das Anwenderprogramm wird auch bei falscher Konfiguration des internen ARCNET-Kopplers gestartet.

Address 1 1...255 Adresse (Node-ID) des ARCNET-Kopplers

Timeout 0 0...3 Einstellung des ARCNET-Timeouts. Es gilt: Bit 0 konfiguriert ET2 des Kopplers Bit 1 konfiguriert ET1 des Kopplers Wert ET1 ET2 Bedeutung ----------------------- 0 1 1 max. Netzausdehnung 2 km 1 1 0 2 0 1 3 1 1 für große Netze

2,5 MBs

1,25 MBs

625 KBs

Baudrate 2,5 Mbs

312,5 KBs

Einstellung der Baudrate des ARCNET-Kopplers

Enable Freigabe von langen Datenpaketen (512 Byte) Long packages Enable

Disable Ankommende lange Datenpakete werden empfangen und verworfen. Am SEND-Baustein wird bei langen Datenpaketen Fehler gemeldet.

Hinweis: Wenn die Baudrate des ARCNET-Kopplers abweichend von der Standardeinstellung (2,5 MBs) eingestellt wird, ist die Programmierung über ARCNET mit den SoHard-ARCNET-PC-Karten nicht mehr möglich. Es müssen alle Teilnehmer im ARCNET-Netz auf die gleiche Baudrate eingestellt sein. Die ARCNET-PC-Karten sind fest auf 2,5 MBs eingestellt.

Standardmäßig ist das Protokoll "ARCNET data exchange" vorhanden. Hier sind folgende Einstellungen möglich:

PLCconf_Coupler4_1.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 44 CPUs AC500 / Stand: 08.2005

Parameter Vorein- stellung

Wert Bedeutung

Size of receive buffer

8192 512...65535 Größe des Empfangspuffers in Byte. Die Minimalgröße entspricht der max. Größe eines UDP-Telegrammes

Size of transmit buffer high prio

4096 0...65535 Größe des Sendepuffers für Telegramme hoher Priorität in Byte

Size of transmit buffer low prio

4096 0...65535 Größe des Sendepuffers für Telegramme niedriger Priorität in Byte

Size of timeout buffer

2048 0...65535 Größe des Puffers für Timeout-Datenpakete in Byte

Number of header data

10 0...1464 Anzahl der Kopfdaten, die bei Timeout-Datenpaketen in den Timeout-Puffer kopiert werden, in Byte

Disable Empfangssperre für Broadcast-Telegramme (Datenpakete an alle Stationen)

Receive broadcast

Disable

Enable Freigabe Empfang von Broadcast-Telegrammen (Datenpakete an alle Stationen)

Overwrite Verhalten bei Überlauf des Empfangspuffers:Die ältesten Datenpakete im Empfangspuffer werden mit den neu ankommenden Datenpaketen überschrieben.

Behavior on receive buffer overflow

Overwrite

Reject Verhalten bei Überlauf des Empfangspuffers:Die neu ankommenden Datenpakete werden verworfen.

Enable Freigabe von langen Datenpaketen (512 Byte) Long packages

Enable

Disable Ankommende lange Datenpakete warden empfangen und verworfen. Am SEND-Baustein wird bei langen Datenpaketen Fehler gemeldet.

Durch Selektieren des internen ARCNET-Kopplers "PM5x1-ARC - Internal ARCNET" und Rechte-Maus-Klick kann das Protokoll "5F_ARC" angehängt werden.

PLCconf_Coupler4_2.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 45 CPUs AC500 / Stand: 08.2005

Für das Protokoll "5F_ARC" sind folgende Einstellungen möglich:

PLCconf_Coupler4_3.gif

Parameter Vorein- stellung

Wert Bedeutung

Slave Betriebsart Slave

Master Betriebsart Master

Master/Slave Betriebsart Master/Slave

Operation mode Slave

None Abschalten 5F_ARC

Disable write to %MB0.x from

0 0...65535 Schreibverbot für Segment 0 ab %MB0.x

Disable write to %MB0.x to

0 0...65535 Schreibverbot für Segment 0 bis %MB0.x

Disable read %MB0.x from

0 0...65535 Leseverbot für Segment 0 ab %MB0.x

Disable read %MB0.x to

0 0...65535 Leseverbot für Segment 0 bis %MB0.x

Disable write to %MB1.x from

0 0...65535 Schreibverbot für Segment 1 ab %MB1.x

Disable write to %MB1.x to

0 0...65535 Schreibverbot für Segment 1 bis %MB1.x

Disable read %MB1.x from

0 0...65535 Leseverbot für Segment 1 ab %MB1.x

Disable read %MB1.x to

0 0...65535 Leseverbot für Segment 1 bis %MB1.x

3.6.2 Konfiguration der externen Koppler

Bei einer AC500-Steuerung mit externen Kopplern müssen diese in die Steuerungskonfiguration in der gleichen Reihenfolge eingetragen werden, wie sie in der Hardware gesteckt sind.

Für die Koppler gilt folgende Zuordnung zwischen Koppler-Linie und Steckplatz:

• Linie 0 entspricht dem internen Koppler (im Gehäuse der CPU eingebaut)

• Linie 1 ist der Koppler auf dem Steckplatz unmittelbar links neben der CPU

• Linie 2 ist der zweite Steckplatz links neben der CPU

• Linien 3, 4 sind die weiteren Steckplätze nach links zählend

Die Vergabe der Ein-/Ausgänge für die Koppler ist steckplatzorientiert, unabhängig vom Kopplertyp.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 46 CPUs AC500 / Stand: 08.2005

Zum Eintragen der Koppler wird der Cursor auf "Couplers" gesetzt. Beim Rechte-Maus-Klick werden im Kontextmenü unter "Element anhängen" alle verfügbaren externen Koppler angezeigt:

PLCconf_Coupler5.gif

Hinweis: Die externen Koppler "CM578 - External CANopen" und "CM575 - External DeviceNet" sind ab Version V1.1 verfügbar.

Wie beim internen Ethernet-Koppler werden auch bei den externen Kopplern in der Steuerungskonfiguration lediglich das Verhalten der CPU bei einem Konfigurationsfehler der Koppler und die benötigten Protokolle eingestellt. Die eigentliche Konfiguration der externen Koppler erfolgt mit dem integrierten Feldbuskonfiguratior SYCON.net. Die Konfiguration ist ausführlich im Kapitel "Systemtechnik Koppler" beschrieben (siehe Systemtechnik Koppler).

Folgende Einstellungen sind möglich:

Parameter Vorein- stellung

Wert Bedeutung

No Bei einem Konfigurationsfehler wird das Anwenderprogramm nicht gestartet.

Run config fault No

Yes Das Anwenderprogramm wird auch bei falscher Konfiguration des jeweiligen externen Kopplers gestartet.

Eine Konfiguration mit einem internen Ethernet-Koppler "PM5x1-ETH - Internal-Ethernet", einem externen Ethernet-Koppler "CM577 - External-Ethernet´" und einem PROFIBUS DP-Master-Koppler "CM572 - External-PROFIBUS DP Master" sieht z. B. wie folgt aus:

PLCconf_Coupler6.gif

Beim externen Ethernet-Koppler "CM577 - External-Ethernet´" gelten die gleichen Möglichkeiten für die Einstellung der Parameter und Protokolle, wie für den internen Ethernet-Koppler "PM5x1 - Internal-Ethernet" (siehe auch Interne Ethernet-Koppler).

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 47 CPUs AC500 / Stand: 08.2005

4 Steuerungsanlauf / Programmbearbeitung

4.1 Begriffe

Kaltstart:

• Ein Kaltstart wird ausgelöst durch Spannung AUS/EIN, wenn keine Batterie angeschlossen ist. • Alle RAM-Speicher werden getestet und gelöscht. • Falls im Flash-EPROM kein Anwenderprogramm vorhanden ist, werden für die Schnittstellen die

Defaultwerte eingestellt (wie im Auslieferungszustand). • Falls im Flash-EPROM ein Anwenderprogramm vorhanden ist, wird dieses ins RAM geladen. • Die durch die Steuerungskonfiguration vorgegebenen Betriebsarten werden eingestellt.

Warmstart:

• Ein Warmstart wird ausgelöst durch Spannung AUS/EIN bei angeschlossener Batterie. • Alle RAM-Speicher mit Ausnahme der gepufferten Operandenbereiche und der RETAIN-Variablen

werden getestet und gelöscht. • Falls im Flash-EPROM ein Anwenderprogramm vorhanden ist, wird dieses ins RAM geladen. • Die durch die Steuerungskonfiguration vorgegebenen Betriebsarten werden eingestellt.

RUN -> STOP:

• Unter RUN -> STOP versteht man das Drücken der RUN-Taste der SPS, wenn sich die Steuerung im RUN-Mode (Displayanzeige "run") befindet.

• Befindet sich ein Anwenderprogramm im RAM, so wird dieses angehalten. • Alle Ausgänge werden auf FALSE bzw. 0 gesetzt. • Die Variablen behalten ihren augenblicklichen Wert, d.h. werden nicht initialisiert. • Die Anzeige im Display wechselt von "run" nach "StoP".

START -> STOP:

• Unter START -> STOP versteht man das Anhalten der Bearbeitung des Anwenderprogrammes im RAM der SPS mit dem Programmiersystem über das Menüpunkt "Online/Stop".

• Alle Ausgänge werden auf FALSE bzw. 0 gesetzt. • Die Variablen behalten ihren augenblicklichen Wert, d. h. werden nicht initialisiert. • Die Anzeige im Display wechselt von "run" nach "StoP".

Reset:

• Auslösen von START -> STOP • Vorbereitung für Neustart des Programmes, d. h. die Variablen (VAR) werden initialisiert. • RETAIN und PERSISTENT-Daten behalten ihre Werte. • Reset wird mit dem Menüpunkt "Online/Reset" des Programmiersystems ausgeführt.

Reset (Kalt):

• Auslösen von START -> STOP • Vorbereitung für Neustart des Programmes, d. h. die Variablen (VAR) werden initialisiert. • Löschen der RETAIN-Variablen • PERSISTENT-Daten behalten ihren Wert. • Reset (Kalt) wird mit dem Menüpunkt "Online/Reset (Kalt)" des Programmiersystems ausgeführt.

Reset (Ursprung):

• Urzustand herstellen (Flash, SRAM (%M, RETAIN, Persistent.dat), Kopplerkonfigurationen und Anwenderprogramm (AWP) löschen!) Beim nachfolgenden Download werden die RETAIN- und PERSISTENT-Daten initialisiert!

• Reset (Ursprung) wird mit dem Menüpunkt "Online/Reset (Ursprung)" des Programmiersystems ausgeführt.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 48 CPUs AC500 / Stand: 08.2005

STOP -> RUN:

• Unter STOP -> RUN versteht man das Drücken der RUN-Taste der SPS, wenn sich die Steuerung im STOP-Mode (Displayanzeige "StoP") befindet.

• Befindet sich ein Anwenderprogramm im RAM, so wird dieses fortgesetzt, d.h. die Variablen werden nicht initialisiert.

• Die Anzeige im Display wechselt von "StoP" nach "run".

STOP -> START:

• Unter STOP -> START versteht man das Fortsetzen des Anwenderprogrammes mit dem Programmiersystem über das Menüpunkt "Online/Start".

• Befindet sich ein Anwenderprogramm im RAM, so wird dieses fortgesetzt, d. h. die Variablen werden nicht initialisiert.

• Die Displayanzeige wechselt von "StoP" nach "run".

Download:

• Unter Download versteht man das Laden des gesamten Anwenderprogrammes in das RAM der SPS mit dem Programmiersystem über das Menüpunkt "Online/Laden" bzw. nach entsprechender Abfrage beim Einloggen (Menüpunkt: "Online/Einloggen").

• Die Abarbeitung des Anwenderprogrammes wird abgebrochen. • Um das Anwenderprogramm im Flash zu sichern, muss nach dem Laden des Programmes der

Menüpunkt "Online/Bootprojekt erzeugen" ausgeführt werden. • Die Variablen werden entsprechend der Initialisierungstabelle initialisiert. • RETAIN-Variablen können falsche Werte annehmen, da sie im neuen Projekt auf anderen

Speicheradressen liegen können! • Ein Download wird erzwungen durch:

- Änderungen in der Steuerungskonfiguration - Änderungen in der Taskkonfiguration - Änderungen in der Bibliotheksverwaltung - Änderung von Compile-relevanten Einstellungen (Segmentgrößen) - Ausführen von "Projekt/Alles bereinigen" und "Projekt/Alles übersetzen"

Online Change:

• Wenn nach Ändern eines Projektes mit <F11> bzw. "Projekt/Übersetzen" übersetzt wird, werden nur die Änderungen übersetzt. Die geänderten Programmteile werden in der Bausteinliste mit einem blauen Pfeil gekennzeichnet.

• Unter Online Change versteht man das Laden von Änderungen des Anwenderprogrammes in das RAM der SPS mit dem Programmiersystem nach entsprechender Abfrage beim Einloggen (Menüpunkt: "Online/Einloggen").

• Die Abarbeitung des Anwenderprogrammes wird dabei nicht unterbrochen. Nach dem Senden der Programmänderungen wird das Programm reorganisiert. Während der Reorganisation darf kein weiterer Online Change ausgeführt werden. Das Sichern des Anwenderprogrammes im Flash darf erst nach Abschluss der Reorganisation mit "Online/Bootprojekt erzeugen" gestartet werden.

• Ein Online Change ist nicht mehr möglich nach: - Änderungen in der Steuerungskonfiguration - Änderungen in der Taskkonfiguration - Änderungen in der Bibliotheksverwaltung - Änderung von Compile-relevanten Einstellungen (Segmentgrössen) - Ausführen von "Projekt/Alles bereinigen" und "Projekt/Alles übersetzen"

Pufferung von Daten:

• Die Pufferung von Daten, d. h. die Erhaltung von Daten nach Spannung AUS/EIN, ist nur mit angeschlossener Batterie möglich. Gepuffert werden können, ganz oder teilweise: - Daten im adressierbaren Merkerbereich (%M-Bereich) - RETAIN-Variable - PERSISTENT-Variable (begrenzte Anzahl, keine strukturierten Variablen)

• Um bestimmte Daten zu puffern, müssen diese von der Initialisierung ausgeschlossen werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 49 CPUs AC500 / Stand: 08.2005

4.2 Start des Anwenderprogrammes

Der Start des Anwenderprogrammes (AWP) erfolgt gemäß nachfolgender Tabelle. Dabei wird davon ausgegangen, dass sich ein gültiges Anwenderprogramm im Flash befindet.

Aktion Keine SD-Karte mit AWP 1) gesteckt, Auto run = ON

Keine SD-Karte mit AWP 1) gesteckt, Auto run = OFF

SD-Karte mit AWP 1) gesteckt, Auto run = ON

SD-Karte mit AWP 1) gesteckt, Auto run = OFF

Spannung EIN oder Warmstart oder Kaltstart

AWP wird aus dem Flash in das RAM geladen und aus dem RAM gestartet.

Es wird kein AWP aus dem Flash geladen. Beim LOGIN kommt die Meldung "Kein Programm in der Steuerung ...".

AWP wird von der SD-Karte in das Flash und das RAM geladen und danach aus dem RAM gestartet.

AWP wird von der SD-Karte in das Flash geladen. Das RAM bleibt leer. Beim LOGIN kommt die Meldung "Kein Programm in der Steuerung ...".

STOP -> RUN Das AWP im RAM wird gestartet.

Das AWP im RAM wird gestartet.

Das AWP im RAM wird gestartet.

Das AWP im RAM wird gestartet.

STOP -> START

Das AWP im RAM wird gestartet.

Das AWP im RAM wird gestartet.

Das AWP im RAM wird gestartet.

Das AWP im RAM wird gestartet.

Download 2) Das aktuelle AWP im RAM der SPS wird abgebrochen. Das übersetzte AWP wird aus dem PC in das RAM der SPS geladen.

Das übersetzte AWP wird aus dem PC in das RAM der SPS geladen.

Das aktuelle AWP im RAM der SPS wird abgebrochen. Das übersetzte AWP wird aus dem PC in das RAM der SPS geladen.

Das übersetzte AWP wird aus dem PC in das RAM der SPS geladen.

Online Change 3)

Das aktuelle AWP im RAM der SPS wird weiter abgearbeitet. Die Änderungen des AWP werden aus dem PC in das RAM der SPS geladen. Das AWP wird reorganisiert und abgearbeitet.

Die Änderungen des AWP werden aus dem PC in das RAM der SPS geladen. Das AWP wird reorganisiert.

Das aktuelle AWP im RAM der SPS wird weiter abgearbeitet. Die Änderungen des AWP werden aus dem PC in das RAM der SPS geladen. Das AWP wird reorganisiert und abgearbeitet.

Die Änderungen des AWP werden aus dem PC in das RAM der SPS geladen. Das AWP wird reorganisiert.

Anmerkungen:

1) Die Betriebssystemversion (LZS) der SPS, mit der die SD-Karte erstellt wurde, muss mit der Betriebssystemversion der SPS übereinstimmen, in die das AWP von der SD-Karte geladen werden soll. Bei Nichtübereinstimmung wird die SD-Karte nicht geladen.

2) Nach dem Download wird das Programm nicht automatisch in das Flash gesichert. Dazu ist der Menüpunkt "Online/Bootprojekt erzeugen" auszuführen. Wird das AWP nicht im Flash gesichert, so wird nach Spannung AUS/EIN wieder das AWP aus dem Flash geladen. Der Programmstart erfolgt entweder mit der RUN/STOP-Taste oder mit dem Programmiersystem mit "Online/Start".

3) Nach dem Online Change wird das Programm nicht automatisch in das Flash gesichert. Dazu ist der Menüpunkt "Online/Bootprojekt erzeugen" nach Abschluss der Reorganisation auszuführen. Während der Programm-Reorganisation und dem Flashen darf kein weiterer Online Change durchgeführt werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 50 CPUs AC500 / Stand: 08.2005

Wird das AWP nicht im Flash gesichert, so wird nach Spannung AUS/EIN wieder das AWP aus dem Flash geladen.

4.3 Initialisierung und Pufferung von Daten

4.3.1 Übersicht zur Initialisierung von Variablen

Die Initialisierung auf Null bzw. auf den Initialwert findet bei Spannung EIN, Reset und nach dem Download des Anwenderprogrammes statt.

Sollen interne Variablen gepuffert werden, so sind sie bei der Deklaration als "VAR_RETAIN" bzw. VAR_RETAIN PERSISTENT" zu kennzeichnen. Das gilt sowohl für interne Variablen als auch für Variablen aus dem adressierbaren Merkerbereich (%M-Bereich).

Hinweis: Die internen RETAIN-Variablen behalten nur bei einem Online Change ihre Reihenfolge bei. Wird das Programm neu übersetzt, kann sich die Reihenfolge ändern und die gepufferten Werte stimmen nicht mehr. Siehe auch CoDeSys / Remanente Variablen, Kapitel "Verhalten der RETAIN Variablen beim Download".

Nachfolgend eine Übersicht zur Initialisierung der Variablen:

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 51 CPUs AC500 / Stand: 08.2005

Spa

nnun

gE

IN

ST

OP

–>

RU

N (

Tast

e)

Aktion

Variableoh

ne B

atte

rie

ST

OP

–>

STA

RT

(PC

)

Dow

nloa

d

Onl

ine

Cha

nge

Res

et

Res

et (

Kal

t)

Spa

nnun

gA

US

/EIN

nac

h R

eset

(K

alt)

Res

et (

Urs

prun

g),A

uslie

feru

ngsz

ust.

Dow

nloa

d na

ch R

eset

(U

rspr

ung)

mit

Bat

terie

Spa

nnun

gE

IN

ST

OP

–>

RU

N (

Tast

e)

ST

OP

–>

STA

RT

(PC

)

Dow

nloa

d

Onl

ine

Cha

nge

Res

et

Res

et (

Kal

t)

Spa

nnun

gA

US

/EIN

nac

h R

eset

(K

alt)

Res

et (

Urs

prun

g),A

uslie

feru

ngsz

ust.

Dow

nloa

d na

ch R

eset

(U

rspr

ung)

0

blei

bt

blei

bt

blei

bt

0 ??? 0 0

blei

bt

blei

bt

0

blei

bt

0 0 0 ??? 0

:= Wert Wer

t

blei

bt

blei

bt

Wer

t

blei

bt

Wer

t

Wer

t

Wer

t

???

Wer

t

Wer

t

blei

bt

blei

bt

Wer

t

blei

bt

Wer

t

Wer

t

Wer

t

???

Wer

t

0

blei

bt

blei

bt

0

blei

bt

0 0 0 ??? 0 0

blei

bt

blei

bt

0

blei

bt

0 0 0 ??? 0

Wer

t

blei

bt

blei

bt

Wer

t

blei

bt

Wer

t

Wer

t

Wer

t

???

Wer

t

Wer

t

Wer

t

blei

bt

blei

bt

blei

bt

Wer

t

Wer

t

Wer

t

???

Wer

t

VAR

VAR

0

blei

bt

blei

bt

0

blei

bt

blei

bt

0 0 ??? 0

blei

bt

blei

bt

blei

bt

0

blei

bt

blei

bt

0

blei

bt

??? 0

0

blei

bt

blei

bt

Wer

t

blei

bt

blei

bt

Wer

t

0 ???

Wer

t

blei

bt

blei

bt

blei

bt

Wer

t

blei

bt

blei

bt

Wer

t

blei

bt

???

Wer

t

0

blei

bt

blei

bt

0

blei

bt

blei

bt

0 0 ??? 0

blei

bt

blei

bt

blei

bt

0

blei

bt

blei

bt

0

blei

bt

??? 0

0

blei

bt

blei

bt

Wer

t

blei

bt

blei

bt

0

Wer

t

???

Wer

t

Wer

t

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

Wer

t

???

Wer

t

0

blei

bt

blei

bt

blei

bt

blei

bt

0 0 ??? 0 0

blei

bt

blei

bt

blei

bt

blei

bt

0 0 ??? 0

Wer

t

blei

bt

blei

bt

blei

bt

blei

bt

Wer

t

Wer

t

???

Wer

t

Wer

t

blei

bt

blei

bt

blei

bt

blei

bt

Wer

t

Wer

t

???

Wer

t

0

blei

bt

blei

bt

blei

bt

blei

bt

0 0 ??? 0 0

blei

bt

blei

bt

blei

bt

blei

bt

0 0 ??? 0

Wer

t

blei

bt

blei

bt

blei

bt

blei

bt

Wer

t

Wer

t

???

Wer

t

blei

bt

Wer

t

blei

bt

blei

bt

blei

bt

Wer

t

Wer

t

???

Wer

t

0

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

0 ??? 0

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

??? 0

0

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

0 ???

Wer

t

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

???

Wer

t

0

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

0 ??? 0

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

??? 0

0

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

0 ???

Wer

t

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

blei

bt

???

Wer

t

%MDx.xVAR

%MDx.x := WertVAR

:= Wert

VAR_RETAIN

VAR_RETAIN

%MDx.xVAR_RETAIN

%MDx.x := WertVAR_RETAIN

:= Wert

VAR_PERSISTENT

VAR_PERSISTENT

%MDx.xVAR_PERSISTENT

%MDx.x := WertVAR_PERSISTENT

:= Wert

VAR_RETAIN

PERSISTENTVAR_RETAIN

PERSISTENT

%MDx.x

VAR_RETAINPERSISTENT

%MDx.x := Wert

VAR_RETAINPERSISTENT

0 00

0 0

Wer

t

Wer

t

0 0

Wer

t

Wer

t

0 0

Wer

t

Wer

t

0 0

Wer

t

Wer

t

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 52 CPUs AC500 / Stand: 08.2005

4.3.2 Hinweise zur Deklaration von gepufferten Variablen und Konstanten

Damit die Initialisierung bzw. Pufferung von Variablen entsprechend der oben aufgeführten Tabelle funktioniert, sind die nachfolgenden Regeln bei der Deklaration zu beachten.

Deklaration von gepufferten internen Variablen:

Die Variablen sind als VAR_RETAIN bzw. VAR_GLOBAL RETAIN zu deklarieren.

Beispiel:

(* Deklaration in den globalen Variablenlisten *)

VAR_GLOBAL RETAIN byVar : BYTE; wVar : WORD; rVar : REAL;

END_VAR

(* Deklaration im Programm *)

VAR RETAIN byVar1 : BYTE;

END_VAR

Deklaration von gepufferten Variablen im %M-Bereich:

Die Variablen sind als VAR_RETAIN bzw. VAR_GLOBAL RETAIN zu deklarieren.

Deklaration von Konstanten:

Konstanten werden als VAR_GLOBAL CONSTANT bzw. VAR_CONSTANT deklariert.

Beispiel:

(* Deklaration als globale Konstanten *)

VAR_GLOBAL CONSTANT byConst_1 : BYTE := 1;

END_VAR

(* Deklaration im Programm *)

VAR CONSTANT byConst_2 : BYTE := 2;

END_VAR

Hinweis: Im Control Builder kann man unter "Projekt"=>"Optionen"=>"Übersetzungsoptionen"=>"Konstanten ersetzen" einstellen, ob bei der Übersetzung die Konstanten wie Variable (d. h. überschreibbar) behandelt werden oder im Code direkt der Wert eingesetzt wird.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 53 CPUs AC500 / Stand: 08.2005

4.4 Bearbeitungszeiten

4.4.1 Begriffe

Die wichtigsten Zeiten für die Anwendung der AC500-Zentraleinheit mit und ohne angeschlossenen Vor-Ort-Modulen sind:

• Die Reaktionszeit ist die Zeit zwischen einem Signalwechsel an der Eingangsklemme und der Signalantwort an der Ausgangsklemme. Die Reaktionszeit entsteht bei digitalen Signalen aus der Eingangsverzögerung, der Zykluszeit der Programmverarbeitung und - bei Erweiterung mit Vor-Ort-Modulen - der Busübertragungszeit.

• Die Zykluszeit legt fest, in welchen Zeitabständen der Verarbeitungsprozessor die Abarbeitung des Anwenderprogramms neu startet. Die Zykluszeit ist vom Anwender festzulegen. Sie muss größer sein als die Programmbearbeitungszeit des Anwenderprogramms, die Datenübergabezeiten und die damit verbundenen Wartezeiten. Die Zykluszeit ist gleichzeitig Basiszeit für einige zeitgesteuerte Funktionen, wie z. B. für den INTK.

• Die Programmbearbeitungszeit ist die Netto-Zeit zur Bearbeitung des Anwenderprogramms.

4.4.2 Programmbearbeitungszeit

Anweisungen PM571 PM581 PM591

- Binär-Anweisungen folgender Art:

!M /M &M =M !NM /NM &NM =NM Bearbeitungszeit für 1000 Anweisungen: xxx ms xxx ms xxx ms

!M /M &M =SM !NM /NM &NM =RM Bearbeitungszeit für 1000 Anweisungen: xxx ms xxx ms xxx ms

- Wort-Anweisungen folgender Art:

!MW +MW -MW =MW !-MW -MW +MW =-MW Bearbeitungszeit für 1000 Anweisungen: xxx ms xxx ms xxx ms

!MW *MW :MW =MW !-MW *-MW :-MW =-MW Bearbeitungszeit für 1000 Anweisungen: xxx ms xxx ms xxx ms

- Anweisungen gemischt:

- 65 % Binär: !, /, &, = - 20 % Wort: !, +, -, = - 15 % Wort: !, *, :, = Bearbeitungszeit für 1000 Anweisungen: xxx ms xxx ms xxx ms

4.4.3 Eingestellte Zykluszeit

Es wird angenommen, dass der Verarbeitungsprozessor immer zum ungünstigsten Zeitpunkt zugreift.

Die Zykluszeit ist in der Taskkonfiguration abgelegt und kann im 1-ms-Raster gewählt werden. Ist sie zu klein gewählt worden, kann der Verarbeitungsprozessor die pro Zyklus vorgegebenen Aufgaben nicht zeitgerecht erledigen und gerät in Zeitverzug.

Wird dieser Zeitverzug im Verlauf mehrerer Zyklen zu groß, bricht der Verarbeitungsprozessor die Programmbearbeitung ab und meldet Fehler (E2).

Bei einigen Funktionsbausteinen, z. B. dem PID-Regler, hängt die fehlerfreie Abarbeitung von einer genauen Einhaltung des Zeitrasters ab. Hier ist eine größere Zeitreserve vorzusehen.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 54 CPUs AC500 / Stand: 08.2005

Die richtige Einstellung der Zykluszeit soll mit folgendem Vorgehen überprüft werden:

• Laden des Anwenderprogramms in die Zentraleinheit

• Abfrage der Auslastung mit dem Menüpunkt "Online/PLC-Browser/cpuload"

• Änderung der Zykluszeit, bis die Auslastung unter 80 % liegt.

Bei der eingestellten Zykluszeit sind folgende Werte zu berücksichtigen:

• Zeit zum Einlesen und Kopieren der Eingabesignale vom I/O-Treiber zum E/A-Abbild

• Kopierzeit der Eingabesignale der Anwendertask vom E/A-Abbild in das Image-Abbild

• Programmbearbeitungszeit

• Kopierzeit der Ausgabezeit der Anwendertask aus dem Image-Abbild zum E/A-Abbild

• Zeit zum Kopieren der Ausgabesignale vom E/A-Abbild zum I/O-Treiber und Ausgeben der E/As an das E/A-Modul

• Interrupts Koppler-Telegramme empfangen/senden innerhalb der Zykluszeit

• Interrupts serielle Schnittstellen empfangen/senden innerhalb der Zykluszeit

• Taskwechsel

• Laufzeit Watchdogtask

4.5 Die Taskkonfiguration für die AC500-CPU

Die Bedienung der Taskkonfiguration des Control Builders ist im Kapitel "Die Ressourcen / Taskkonfiguration" eingehend erläutert (siehe auch 3S: CoDeSys Programmiersystem / Die Ressourcen / Taskkonfiguration).

In diesem Abschnitt werden die Besonderheiten der Taskkonfiguration für die AC500 beschrieben.

Die Anzahl der möglichen Tasks ist vom CPU-Typ abhängig. Für die PM571 und PM581 können max. 3 Anwendertasks, für die PM591 maximal 16 Anwendertasks angelegt werden.

Wird im Projekt keine Taskkonfiguration eingetragen, so wird automatisch eine Task mit folgenden Eigenschaften angelegt:

Typ = zyklisch Priorität = 10 Zykluszeit = t#10ms Programmaufruf = PLC_PRG.

Für die AC500-CPU sind in der Version V1.0 Tasks vom Typ "zyklisch" und "freilaufend" möglich. Die Typen "ereignisgesteuert" und "Extern ereignisgesteuert" sind nicht möglich.

Für die Anwendertasks können alle 32 Prioritäten gewählt werden. Dabei ist 0 die höchste und 31 die niedrigste Priorität. Die Standardpriorität ist 10.

Prioritäten kleiner 10 sind für hochpriore Prozesse mit sehr kurzer Programmlaufzeit reserviert. Für "normale" Anwendertasks oder Tasks mit grosser Programmlaufzeit sind die Prioritäten 10..31 vorgesehen.

Achtung: Wird z. B. für eine Task mit langer Programmlaufzeit die Priorität < 10 gewählt, so kann das z. B. zum Ausfall des CS31-Busses und/oder des FBP-Interfaces führen.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 55 CPUs AC500 / Stand: 08.2005

5 Das Diagnosesystem in AC500

5.1 Übersicht über die Diagnosemöglichkeiten

5.1.1 Aufbau des Diagnosesystems

In die AC500 ist ein Diagnosesystem integriert, das es erlaubt, bis zu 100 Fehlermeldungen in einem Ringspeicher zu verwalten. Im Laufzeitsystem wird zu jedem dieser Ereignisse ein Zeitstempel mit Datum und Uhrzeit basierend auf der Echtzeituhr (RTC) der Steuerung generiert. Der Zeitstempel besteht aus drei Einträgen:

• Fehler gekommen • Fehler gegangen • Fehler quittiert

Ist keine Batterie in die SPS eingebaut, so wird die Uhr der SPS beim Einschalten der Steuerspannung auf den Wert:

01. Januar 1970, 00:00 Uhr

gesetzt.

Jeder Fehlermeldung ist eine eindeutige Fehlernummer zugeordnet. Die Fehlernummer beinhaltet folgende Angaben:

• Zustand (gekommen, gegangen, quittiert) • Fehlerklasse • Fehlerhafte Komponente • Fehlerhaftes Gerät • Fehlerhaftes Modul • Fehlerhafter Kanal • Fehlerkennung

Die Fehlernummern sind weiter unten im Kapitel (siehe Aufbau der Fehlernummern) beschrieben.

Die Fehlermeldungen sind in folgende Fehlerklassen eingeteilt:

Klasse Typ Beschreibung Beispiel

E1 Fataler Fehler Eine sichere Funktion des Betriebssystems ist nicht mehr gewährleistet.

Checksum-Fehler im System-Flash, RAM-Fehler

E2 Schwerer Fehler Das Betriebssystem arbeitet richtig, aber die fehlerfreie Bearbeitung des Anwenderprogrammes ist nicht gewährleistet.

Checksum-Fehler im Anwender-Flash, Nichteinhaltung der Tasklaufzeiten

E3 Leichter Fehler Es hängt von der Applikation ab, ob das Anwenderprogramm vom Betriebssystem abgebrochen werden muss oder nicht. Der Anwender entscheidet, welche Reaktion einzuleiten ist.

Flash nicht programmierbar, E/A-Modul ist ausgefallen

E4 Warnung Fehler, die in der Peripherie liegen oder sich erst in Zukunft auswirken. Der Anwender entscheidet, welche Reaktionen einzuleiten sind.

Kurzschluss an einem E/A-Modul, Batterie leer/nicht gesteckt

Zum Zugriff auf die Fehlermeldungen gibt es mehrere Möglichkeiten:

• Diagnose direkt an der SPS mit LED "ERR", Tastatur und Display • Klartextanzeige der Fehlermeldungen in der Statuszeile des Control Builders im Onlinebetrieb • Diagnose mit den PLC-Browser des Control Builders • Diagnose aus dem Anwenderprogramm mit den Diagnose-Bausteinen der Bibliothek

SysInt_AC500_Vxx.LIB

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 56 CPUs AC500 / Stand: 08.2005

5.1.2 Diagnose direkt an der SPS mit LED "ERR", Tastatur und Display

Liegt in der SPS ein nicht quittierter Fehler vor, so wird dies durch Leuchten der roten Fehler-LED "ERR" angezeigt.

Hinweis: In der Steuerungskonfiguration kann mit dem CPU-Parameter "Error LED" eingestellt werden, ab welcher Fehlerklasse die LED "ERR" Fehler signalisiert. Die Standardeinstellung ist "On", d. h. es werden alle Fehlerklassen signalisiert. Wird der Parameter z. B. auf "Off_by_E3" eingestellt, so wird bei Auftreten eines Fehlers der Klassen E3 und E4 die LED "ERR" nicht eingeschaltet. Bei einem E2-Fehler wird sie immer eingeschaltet. Siehe auch Kapitel "Konfiguration der CPU-Parameter".

Liegen ein oder mehrere nichtquittierte Fehler vor, so können mit der Taste <DIAG> die Fehler in der Reihenfolge ihres Auftretens angezeigt und quittiert werden. Beim ersten Drücken der <DIAG>-Taste werden die Fehlerklasse und die Fehlerkennung angezeigt. Mit jedem weiteren Drücken der <DIAG>-Taste werden die Detailinfos d1=Komponente, d2=Gerät, d3=Modul und d4=Kanal angezeigt. Nach "d4" wird bei erneutem Drücken der <DIAG>-Taste wieder zur Anzeige von Fehlerklasse/Fehlerkennung gesprungen.

Wird die Diagnoseanzeige mit der Taste <ESC> verlassen, so wird der Fehler nicht quittiert und bei erneutem Drücken der Taste <DIAG> wieder angezeigt.

Wird die Diagnoseanzeige mit der Taste <QUIT> verlassen, so wird der Fehler quittiert.

Sind alle Fehler quittiert, so erlischt die LED "ERR".

Beispiel:

Der Fehler "Batterie leer oder nicht gesteckt" wird z. B. im Display wie folgt angezeigt:

Taste Anzeige Bedeutung

<DIAG> E4 008 E4=Warnung / Kennung = Leer/Nicht vorhanden

<DIAG> d1 009 Detailinfo d1 = 009 -> Komponente=CPU

<DIAG> d2 022 Detailinfo d2 = 022 -> Gerät=Batterie

<DIAG> d3 031 Detailinfo d3 = 031 -> Modul=keine Angabe

<DIAG> d4 031 Detailinfo d4 = 031 -> Kanal=keine Angabe

<DIAG> E4 008 E4=FK4 / Kennung = Leer/Nicht vorhanden

<ESC> run/StoP Diagnoseanzeige wird verlassen, ohne den Fehler zu quittieren.

<DIAG> E4 008 E4=FK4 / Kennung = Leer/Nicht vorhanden

<QUIT> run/StoP Diagnoseanzeige wird verlassen, Fehler wird quittiert. Liegen keine weiteren nichtquittierten Fehler vor, erlischt die LED "ERR".

Der Aufbau der Fehlernummern ist im Kapitel (siehe Aufbau der Fehlernummern) detailliert beschrieben.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 57 CPUs AC500 / Stand: 08.2005

5.1.3 Klartextanzeige der Fehlermeldungen in der Statuszeile des Control Builders im Onlinebetrieb

Im Onlinebetrieb des Control Builders werden einlaufende Fehlermeldungen oder Änderungen des Status einer Fehlermeldung (gekommen, gegangen, quittiert) im Klartext in der Statuszeile angezeigt. Die Quitierung der im vorherigem Kapitel beschriebenen Fehlermeldung "Batterie leer oder nicht gesteckt" wird z. B. Online wie folgt angezeigt:

#152502216: x 1970-01-01 06:33:53 E4 :' Keine oder leere Batterie

Dabei bedeuten:

#152502216 Online-Fehlernummer

x Fehler quittiert (+ = Fehler gekommen, - = Fehler gegangen)

1970-01-01 06:33:53 Zeitstempel (der Quittierung)

E4 : Fehlerklasse 4 = Warnung

Keine oder leere Batterie Fehlertext (entsprechend der Spracheinstellung des Control Builders)

Hinweis: Der Fehlertext wird entsprechend der Online-Fehlernummer aus der Datei Errors.ini gelesen und angezeigt. Die Anzeige erfolgt entsprechend der Spracheinstellung des Control Builders. Fehler ohne Eintrag in die Datei Errors.ini werden entsprechend ohne Fehlertext angezeigt. Die Datei Errors.ini gehört zum Target Support Package (TSP) und befindet sich im Verzeichnis ..\Targets\ABB_AC500.

5.1.4 Diagnose mit den PLC-Browser des Control Builders

Mit dem PLC-Browser des Control Builders können alle oder Fehler einer bestimmen Fehlerklasse angezeigt und/oder quittiert werden. Es kann auch das gesamte Diagnosesystem gelöscht werden.

Die PLC-Browser-Kommandos sind im Kapitel AC500 spezifische PLC-Browser-Kommandos detailliert beschrieben.

5.1.5 Diagnose aus dem Anwenderprogramm

Auf die Einträge des Diagnosesystems kann auch aus dem Anwenderprogramm mit Bausteinen zugegriffen werden. Die Bausteine sind im Kapitel Die Diagnose - Bausteine der AC500 detailliert beschrieben.

5.2 Aufbau der Fehlernummern

Jeder Fehler wird in der Firmware mit einer Fehlernummer abgespeichert. Diese Fehlernummer hat folgende Kodierung:

Zustand Fehler- klasse

Fehlerhafte Komponente

FehlerhaftesGerät

FehlerhaftesModul

Fehlerhafter Kanal

Fehler- kennung

4 Bit 2 Bit 4 Bit 8 Bit 5 Bit 5 Bit 6 Bit

0...3 0...15 0...255 0...31 0...31 0...63

Wert Zustand Bedeutung

Bit 0 Frei

Bit 1 Fehler gekommen

Bit 2 Fehler gegangen

Bit 3 Fehler quittiert

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 58 CPUs AC500 / Stand: 08.2005

Neben der eigentlichen Fehlerinformation enthält eine Diagnosemeldung zusätzlich die Angabe von Zuständen (1 Bit je Zustand). Jeder einzelne Zustand wird durch ein Ereignis hervorgerufen:

• Fehler tritt auf (gekommen) • Fehler wird quittiert (quittiert) • Fehler wird behoben (gegangen)

Eine Diagnosemeldung wird mit dem Auftreten eines Fehlers generiert. Dabei wird das Zustandsbit 1 gesetzt. Wird dieser Fehler nun in der Folge quittiert oder beseitigt, werden die entsprechenden Zustandsbits zusätzlich gesetzt.

Zur Anzeige im Control Builder wird die Online-Fehlernummer genutzt. Diese Nummer wird im Onlinebetrieb an den Control Builder übertragen und dort über die zu den Steuerungsbeschreibungsdateien gehörigen Datei Errors.ini sprachabhängig decodiert. Diese hat folgenden Aufbau:

Fehlerhafte Komponente

Fehlerhaftes Gerät

Fehlerhaftes Modul

Fehlerhafter Kanal

Fehlerkennung

24...27 16...23 11...15 6...10 0...5

4 Bit 8 Bit 5 Bit 5 Bit 6 Bit

0...15 0...255 0...31 0...31 0...63

Der Fehlerstatus (gekommen, gegangen, quittiert) und die Fehlerklasse sind in der Online-Fehlernummer ausgeblendet und werden im Klartext angezeigt.

5.2.1 Fehlerklassen

Die Codierung der Fehlerklassen erfolgt folgendermaßen:

Wert Fehlerklasse Bedeutung

Class

0 E1 Fatale Fehler

1 E2 Schwere Fehler

2 E3 Leichte Fehler

3 E4 Warnungen

5.2.2 Fehlerkennung

Die folgenden Fehlerkennungen sind definiert. Die Fehlerkennungen sind bewusst sehr allgemein gehalten, um eine möglichst hohe Systematik zu erzielen. Die exakte Bedeutung des jeweiligen Fehlers hängt von den weiteren Angaben der Fehlermeldungen ab. So entsprechen die Fehlerkennungen Fehler oberster Grenzwert' und Fehler unterster Grenzwert' bei Analogkanälen der Out of Range'-Meldung.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 59 CPUs AC500 / Stand: 08.2005

Fehlerkennung / Error Identifier

Err Bedeutung Meaning

0 Fehler allgemein General

1 Fehler falscher Wert Wrong value

2 Fehler ungültiger Wert Invalid value

3 Fehler Timeout Timeout

4 Fehler oberster Grenzwert Highest level

5 Fehler oberer Grenzwert High level

6 Fehler unterer Grenzwert Low level

7 Fehler unterster Grenzwert Lowest level

8 Fehler leer/fehlt Empty or missing

9 Fehler voll Full

10 Fehler zu groß Too big

11 Fehler zu klein Too small

12 Fehler beim Lesen Read

13 Fehler beim Schreiben Write

14 Fehler beim Löschen Delete

15 Fehler beim Reservieren von Speicher Alloc memory

16 Fehler beim Freigeben von Speicher Free memory

17 Fehler beim Zugriff Access

18 Fehler beim Testen Test

19 Fehler Checksumme Checksum

20 Fehler Message Message

21 Fehler bei PutMessage Put message

22 Fehler bei GetMessage Get message

23 Fehler Warten auf freie Message Wait message

24 Fehler Message gelöscht Message deleted

25 Fehler Warten auf Antwort Wait answer

26 Fehler Konfiguration Config data

27 Fehler keine Konfiguration No config

28 Fehler Unterschied Soll-/Ist-Konfiguration Different config

29 Fehler beim Schreiben der Konfiguration Write config

30 Fehler beim Lesen der Konfiguration Read config

31 Fehler anderer Typ / anderes Modell Wrong type or model

32 Fehler unbekannter Typ / unbekanntes Modell Unknown type or model

33 Fehler WaitReset Wait reset

34 Fehler WaitReady Wait ready

35 Fehler WaitRun Wait run

36 Fehler WaitCom Wait com

37 Fehler Zykluszeit Cycle time

38 Fehler Exception Exception

39 Fehler unbekannter Baustein Unknown POU

40 Fehler Version Version

41 Fehler Übertragung Transmit

42 Fehler Empfang Receive

43 Fehler intern Internal

44 Fehler keine Abgleichwerte No adjustment values

45 Drahtbruch Cut wire

46 Überlast Overload

47 Kurzschluss Short circuit

48 Überlast / Drahtbruch Overload / Cut wire

49 Kurzschluss / Drahtbruch Short-circuit / Cut wire

50 Überlast / Kurzschluss Overload / Short-circuit

51 Überlast / Kurzschluss / Drahtbruch Overload / Short-circuit / Cut wire

63 (max.) weitere others

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 60 CPUs AC500 / Stand: 08.2005

5.2.3 Übersicht über die möglichen Fehlernummern

In den nachfolgenden Tabellen sind die möglichen Kombinationen der Fehlernummern dargestellt.

Komponente Gerät Modul oder Typ Kanal Anmerkung

Comp Dev Mod Ch <- PLC-Browser No.

d1 No.

d2 No.

d3 No.

d4 <- Display

1 Initialisierungsfehler

2 Laufzeitfehler

3 Projektierungsfehler

1 Betriebssystem

31 Betriebssystem selbst

1 Initialisierungsfehler

2 Laufzeitfehler

3 Projektierungsfehler

2 Laufzeitsystem

31 Laufzeitsystem selbst

1 Initialisierungsfehler

0 CPU selbst

4 IEC-Task Online-Anzeige %s

2 Laufzeitfehler

1 Initialisierung

2 Laufzeitfehler

3 Projektierung 26,

4 Protokoll

1 Koppler extern 1...6 oder intern

31 Koppler selbst

0 frei

1 Initialisierung

2 Laufzeitfehler

3 Projektierung

4 Protokoll

2 Koppler extern 2

31 Koppler selbst

0 frei

1 Initialisierung

2 Laufzeitfehler

3 Projektierung 26,

4 Protokoll

3 Koppler extern 3

31 Koppler selbst

0 frei

1 Initialisierung

2 Laufzeitfehler

3 Projektierung 26,

4 Protokoll

4 Koppler extern 4

31 Koppler selbst

0 frei

1 Initialisierung

2 Laufzeitfehler

3 Projektierung 26,

4 Protokoll

10 Koppler intern

31 Koppler selbst

0 frei

1 Initialisierung

2 Laufzeitfehler

3 Projektierung 26,

4 Protokoll

11 COM1

31 COM selbst

0 frei

1 Initialisierung

2 Laufzeitfehler

3 Projektierung 26,

4 Protokoll

12 COM2

31 COM selbst

0 frei

1 Initialisierung

2 Laufzeitfehler

3 Projektierung 26,

4 Protokoll

9 CPU

13 FBP

31 FBP selbst

0 frei

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 61 CPUs AC500 / Stand: 08.2005

1 Initialisierung 18, 15

2 Laufzeitfehler

3 Projektierung

4 Protokoll

14 I/O-Bus

31 I/O-Bus selbst

0 frei

16 System- EPROM

0...31 0...31

17 RAM 0...31 0...31

18 Flash- EPROM

0...31

Sektor, Block-Nr. o. ä.

0...31

Sektor, Blocknummer o. ä. (%s)

19 HW- Watchdog

31 Watchdog selbst

31 Watchdog selbst

1 Initialisierung 0...31

2 Laufzeitfehler 0...31

3 Projektierung 0...31

4 Protokoll 0...31

20 SD Memory Card

31 SD-Karte selbst 0...31

Sektor, Blocknummer o. ä. (%s)

1 Initialisierung

2 Laufzeitfehler

4 Protokoll

31 Display selbst

21 Display

0 frei

22 Batterie 31 Batterie selbst 31 Batterie selbst 8,

1 Initialisierung

2 Laufzeitfehler

3 Projektierung

4 Protokoll

23 Uhr

31 Uhr selbst

0 frei

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 62 CPUs AC500 / Stand: 08.2005

Komponente Gerät Modul oder Typ Kanal Anmerkung

No. Comp No. Dev No. Mod No. Ch <- PLC- Browser

d1 d2 d3 d4 <- Display

0..29 Modulnummer 0..31 Kanalnummer

30 Modulnummer >29 0..31 Kanalnummer

0..254 Adresse/ Socket: Feldbus: Slave ARCNET: ID Partner - 1 Modbus: Komm-Partner

31 Slavegerät selbst 31 Slavegerät selbst

1

Initialisierung

2 Laufzeitfehler

3 Projektierung

4 Protokoll

5 Betriebssystem Koppler

6 Task 1 Koppler

7 Task 2 Koppler

8 Task 3 Koppler

9 Task 4 Koppler

10 Task 5 Koppler

11 Task 6 Koppler

12 Task 7 Koppler

13 Watchdog Koppler

1..4 10

Koppler extern 1..4 oder intern

255 Koppler selbst

31 Koppler selbst

0 frei

0..29 Modulnummer CS31: Mdultyp: 00 - Digitale Eingabe 01 - Analoge Eingabe 02 - Digitale Ausgabe 03 - Analoge Ausgabe 04 - Digitale Ein-/Ausgabe 05 - Analoge Ein-/Ausgabe

0..31 Kanalnummer 8, 48

30 Modulnummer >29 0..31 Kanalnummer

0..254 Adresse: CS31: Slave Dez. Er- weiterung: Slave Modbus: Komm- Partner

31 Slavegerät selbst 31 Slavegerät selbst

1 Initialisierung

2 Laufzeitfehler

3 Projektierung

4 Protokoll

11 COM1

255 COM selbst

31 COM selbst

0 frei

0..29 Modulnummer 0..31 Kanalnummer

30 Modulnummer >29 0..31 Kanalnummer

0..254 Adresse: CS31: Slave Dez. Er- weiterung: Slave Modbus: Komm- Partner

31 Slavegerät selbst 31 Slavegerät selbst

1 Initialisierung

2 Laufzeitfehler

3 Projektierung

4 Protokoll

12 COM2

255 COM selbst

31 COM selbst

0 frei

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 63 CPUs AC500 / Stand: 08.2005

Komponente Gerät Modul oder Typ Kanal Anmerkung

Comp Dev Mod Ch <- PLC- Browser No.

d1

No.

d2

No.

d3

No.

d4 <- Display

0... 254

Modulnummer Parameter- Nummer

0..30 Slotnummer 0..31 Kanalnummer

1 Initialisierung

2 Laufzeitfehler

3 Projektierung

4 Protokoll

13 FBP

255 FBP selbst

31 FBP selbst

0 frei

0..6 Modultyp: 00 - Digitale Eingabe 01 - Analoge Eingabe02 - Digitale Ausgabe03 - Analoge Ausgabe 04 - Digitale Ein-/Ausgabe 05 - Analoge Ein-/Ausgabe 06 - Sonstige (z. B. Schneller Zähler)

0..31 Kanalnummer %s

1 Initialisierungsfehler

2 Laufzeitfehler

3 Projektierung 26,

4 Protokoll

0... 254

I/O-Bus- Modul

31 Modul selbst

31 Modul selbst

1 Initialisierung

2 Laufzeitfehler

3 Projektierung

4 Protokoll

14 I/O-Bus

255 I/O-Bus selbst

31 I/O-Bus selbst

0 frei

15 User 0... 255

beliebig 0..31 beliebig 0..31 beliebig, Bedeutung projekt-spezifisch

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 64 CPUs AC500 / Stand: 08.2005

5.3 Die Diagnose-Bausteine der AC500

In der AC500-Bibliothek SysInt_AC500_Vxx.LIB gibt es im Order "Diagnosis" folgende Bausteine für die Diagnose:

Baustein Funktion

DIAG_EVENT Generiert einen Fehler im Diagnosesystem

DIAG_GET Liefert detaillierte Informationen und den Fehlercode für den nächsten Fehler der gewählten Fehlerklasse

DIAG_INFO Meldet das Vorliegen eines Fehlers der Klassen 1..4

DIAG_ACK Quittieren eines Fehlers mit Fehlercode

DIAG_ACK_ALL Quittieren aller Fehler einer Fehlerklasse (außer exklusiv zu quittierender Fehler)

Die Diagnose-Bausteine sind in der Dokumentation der Bibliothek SysInt_AC500_Vxx.LIB detailliert beschrieben.

5.4 AC500-spezifische PLC-Browser-Kommandos

Die PLC-Browser-Schnittstelle des Control Builders enthält sowohl CoDeSys-Standard-Kommandos als auch AC500-spezifische Kommandos. Das allgemeine Handling des PLC-Browsers ist im Handbuch beschrieben.

Hier werden nur die AC500-spezifischen Kommandos und die Kommandos beschrieben, die besondere Daten für die AC500 liefern.

Alle Kommandos sind mit einem Online-Hilfetext versehen. Diese wird im Online-Mode bei Eingabe von "?Kommando" sprachabhängig ausgegeben. Wird nur "?" eingegeben, so werden alle verfügbaren Kommandos der Firmware ausgegeben.

Die Online ausgegebene Liste kann von der beim Klicken auf die Schaltfläche [...] ausgegebenen abweichen, da Control Builder- und Firmwareversion voneinander abweichen können. Beim Klicken auf die Schaltfläche [...] werden die Kommandos ausgegeben, die in der zu den Zielsystemeinstellungen (TSP) gehörigen Datei "Browser.ini" eingetragen sind.

Im PLC-Browser gibt es folgende AC500-spezifischen Kommandos:

Kommando Bedeutung Implementierung

? Ausgabe aller implementierten Kommandos Standard

mem Memorydump von bis Standard

memc Memorydump relativ zum Codebereich Standard

memd Memorydump relativ zum Datenbereich Standard

reflect Aktuelle Kommandozeile spiegelt (zum Test) Standard

dpt Ausgabe der Datenzeiger-Tabelle Standard

ppt Ausgabe der Bausteinzeiger-Tabelle Standard

pid Projekt-ID ausgeben Standard

pinf Projektinformationen ausgeben in der Form: pinf Address of Structure: 16#0013CF74 Date: 4213949F Project Name: MODBUS_Test_BB.pro Project Title: Test MODBUS Project Version: V1.0 Project Author: Brigitte Blei Project Description: Test serielle Schnittstellen End of Project-info.

Standard

tsk IEC-Taskliste mit Taskinformationen ausgeben in der Form: tsk

Standard

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 65 CPUs AC500 / Stand: 08.2005

Number of Tasks: 1 Task 0: Hauptprogramm, ID: 1519472 Cycle count: 45402 Cycle time: 1 ms Cycle time (min): 1 ms Cycle time (max): 1 ms Cycle time (avg): 1 ms Status: RUN Mode: CONTINUE ---- Priority: 10 Interval: 5 ms Event: NONE ---- Function pointer: 16#00601584 Function index: 131

startprg Anwenderprogramm starten Standard

stopprg Anwenderprogramm stoppen Standard

resetprg Anwenderprogramm reset Standard

resetprgcold Anwenderprogramm reset kalt Standard

resetprgorg Anwenderprogramm reset Ursprung (origin) Standard

reload Bootprojekt erneut aus Flash laden Standard

getprgprop Programmeigenschaften ausgeben in der Form: getprgprop Name: MODBUS_FBP_Test_BB.pro Title: Test MODBUS Version: V1.0 Author: Brigitte Blei Date: 4213949F

Standard

getprgstat Programmstatus ausgeben in der Form: getprgstat Status: Run Last error: Id 00000000 TimeStamp 000055F3 Parameter 00000000 Text Flags:

Standard

filecopy Dateikommando copy Nein

filerename Dateikommando rename Nein

filedelete Dateikommando delete Nein

filedir Dateikommando dir Nein

saveretain Retainvariablen auf SD-Karte laden Spezifisch

restoreretain Retainvariablen von SD-Karte laden Spezifisch

setpwd Passwort auf der SPS setzen (wird dann beim Login abgefragt!)

Standard

delpwd Passwort auf der SPS löschen Standard

plcload Anzeige der Auslastung der SPS (System+IEC+Tasks+Kommunikation)

Standard

rtsinfo Anzeige der Firmware-Informationen (Version, Treiber) in der Form: rtsinfo rts version: 2.4.0.4 uses IO driver interface rts api version: 2.404 4 driver(s) loaded driver 1: AC500 CPU driver, device interface version: 2.401 driver 2: AC500 I/O-Bus driver, device interface version: 2.401 driver 3: AC500 COM driver, device interface version: 2.401

Spezifisch

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 66 CPUs AC500 / Stand: 08.2005

driver 4: AC500 Coupler driver, device interface version: 2.401 Display driver V10 Bootcode V1.18 April 1 2005 AC500 PM581 V1.0 Feb 14 2005 11:15:39

diagreset Rücksetzen des Diagnosesystems Spezifisch

diagack all Quittieren aller Fehler (aus explizit zu quittierender Fehler) Spezifisch

diagack x Quittieren aller Fehler der Klasse X (X = 1...4) Spezifisch

diagshow all Anzeige aller Fehler in der Form: diagshow all --- All errors --- State Class Comp Dev Mod Ch Err 0152502216 active and quitted 4 9 22 31 31 8 1970-01-01 00:00:08 occurred disappeared 1970-01-01 00:00:15 quitted 0152369165 active not quitted 4 9 20 31 0 13 1970-01-01 01:19:12 occurred - disappeared - quitted --- end ---

Spezifisch

time Anzeige und Setzen der Zeit der Echtzeituhr Spezifisch

date Anzeige und Setzen des Datums der Echtzeituhr Spezifisch

batt Abfragen des Batterie-Status Spezifisch

sdappl Speichern des Bootprojektes auf SD-Karte Spezifisch

sdfunc Anzeigen und Ändern der Funktion der SD-Karte Spezifisch

cpuload Anzeige Auslastung der CPU (Aktuell, min, max, Durchschnitt) Spezifisch

delappl Löschen des Anwenderprogrammes im Flash Spezifisch

io-bus stat Anzeige Statistik des I/O-Bus Spezifisch

io-bus desc Anzeige der Konfiguration des I/O-Bus Spezifisch

com protocols Anzeige der verfügbaren Protokolle für die seriellen Schnittstellen

Spezifisch

com settings Anzeige der Einstellung der seriellen Schnittstellen Spezifisch

coupler desc Anzeige der Bestückung der Kopplerschnittstellen (Typ, Firmware, Seriennummer, Datum)

Spezifisch

reboot Reboot der SPS (CoDeSys loggt bei Wiederanlauf aus) Spezifisch

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 67 CPUs AC500 / Stand: 08.2005

6 Die Speicherkarte in AC500 (SD Memory Card)

6.1 Funktionen der SD-Karte

6.1.1 Übersicht über die Funktionen der Speicherkarte

Die AC500-Steuerung erhält als externes Speichermedium eine FLASH-Speicherkarte des Typs "SD Memory Card" (kurz SD-Karte), die seitens der SPS wie ein Diskettenlaufwerk angesprochen wird. Die SD-Karte dient als Daten-Transfer-Medium zwischen jedem handelsüblichen PC mit SD-Karten-Interface und der AC500-Steuerung.

Die SD-Karte kann in der AC500 für folgende Dienste eingesetzt werden:

• Firmwareupdate für den AC500-CPU-Prozessor

• Firmwareupdate für den Display-Controller (ab V2.0)

• Firmwareupdate für die Koppler (ab V2.0)

• Firmwareupdate für die E/A-Module am IO-Bus (ab V2.0)

• Laden und Speichern von Anwenderprogrammen (Bootprojekt)

• Laden und Speichern des Quellcodes des Anwenderprogrammes

• Laden und Speichern von gepufferten Variablen (RETAIN, %M-Bereich)

• Laden und Speichern von Anwenderdaten (mit Bausteinen)

Zur Bedienung der SD-Karte gibt es folgende Möglichkeiten:

• Beschreiben/Lesen von Files mit einem handelsüblichen PC-Kartenleser mit SD-Karten-Interface

• Bedienung der SD-Karte mit speziellen PLC-Browser-Kommandos

• Lesen und Schreiben von Daten aus dem Anwenderprogramm mit speziellen Bausteinen

6.1.2 PLC-Browser-Kommandos zur Bedienung der SD-Karte

Kommando Funktion

Sdfunc Anzeige und Einstellen der Funktion der SD-Karte "FunctionOfCard": 0 None 1 Anwenderprogramm laden 2 Firmware laden 3 Anwenderprogramm und Firmware laden

Sdappl Anwenderprogramm (Bootprojekt) vom Flash auf SD-Karte laden (Default.prg und Default.chk) und Funktion der SD-Karte auf "Anwenderprogramm laden" FunctionOfCard=+1 (Bit 0=1) setzen

saveretain Speichern der RETAIN-Variablen "RETAIN.BIN" auf SD-Karte

restoreretain Laden der RETAIN-Variablen "RETAIN.BIN" von SD-Karte in das SRAM

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 68 CPUs AC500 / Stand: 08.2005

6.2 Das Filesystem der Speicherkarte

6.2.1 Übersicht über die Dateistruktur der SD-Karte

Die SD-Karte wird in der SPS wie ein Diskettenlaufwerk eines PC angesprochen. Sie wird als FAT-Filesystem (Microsoft-DOS-Format) initialisiert. Files werden im 8.3-Format (keine "langen" Namen) auf der SD-Karte abgelegt.

Für die SD-Karte ist folgende Dateistruktur festgelegt:

IETHxxyy.S19EETHxxyy.S19EDPMxxyy.S19EDNMxxyy.S19ECOMxxyy.S19

Coupler

AVRVxxyy.S19Display

EC500.S19EC500

MIDIBxx.S19MIDIxxyy.S19PM591

MINIBxx.S19MINIxxyy.S19PM581

MICRBxx.S19MICRxxyy.S19PM571

IOModule

Firmware

SDCARD.INIRoot

DEFAULT.CHKDEFAULT.PRGPM571UserData UserPrg

SOURCE.DATUserProj

USRDATxx.DAT00 <= xx <= 99UserDat

RETAIN.BINADRDAT.BINRetDat

DEFAULT.CHKDEFAULT.PRGPM581 UserPrg

SOURCE.DATUserProj

USRDATxx.DAT00 <= xx <= 99UserDat

RETAIN.BINADRDAT.BINRetDat

DEFAULT.CHKDEFAULT.PRGPM591 UserPrg

SOURCE.DATUserProj

USRDATxx.DAT00 <= xx <= 99UserDat

RETAIN.BINADRDAT.BINRetDat

• Die Root-Directory der SD-Karte beinhaltet die Kommandodatei SDCARD.INI. Diese Datei ist weiter unten detailliert beschrieben.

• Das Unterverzeichnis "Firmware ist weiter unterteilt in die Verzeichnisse für: - die CPUs PM571, PM581 und PM591, - das Verzeichnis für den Display-Controller "Display"

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 69 CPUs AC500 / Stand: 08.2005

- und das Verzeichnis für die Koppler "Coupler". In den Verzeichnissen liegt jeweils der Bootcode BOOTxxyy.S19 und die Firmware der CPU ab.

• Unterverzeichnis "UserData" ist weiter unterteilt in die Verzeichnisse: - "UserPrg", Anwenderprogramm - "UserProj", Source-Code des Anwenderprogrammes - "UserDat", Anwenderdaten und - "RetDat", remanente Daten In diesen Verzeichnissen liegen die Anwenderdaten.

• Bei den Dateinamen steht xxyy für die Versionskennung bzw. für die Datenfilenummer.

6.2.2 Die Kommandodatei "SDCARD.INI"

In der Kommandodatei "SDCARD.INI" in der Root-Directory der SD-Karte wird festgelegt, wie sich die AC500 beim Hochfahren mit SD-Karte bzw. beim Stecken der Karte verhält (Firmware-Update, Anwenderprogramm laden, etc...).

Die Datei SDCARD.INI ist im Windows-Ini-Format erstellt und hat folgenden Inhalt:

[Status] FunctionOfCard=0 [FirmwareUpdate] CPUPM5x1=0 CPUEC500=0 Display=0 Coupler_0=0 Coupler_1=0 Coupler_2=0 Coupler_3=0 Coupler_4=0 [UserProg] UserProgram=0 RetainData=0 AddressData=0

Die Einträge haben folgende Bedeutung:

• [Status] FunctionOfCard=0 Der Parameter FunctionOfCard legt fest, welche Funktion beim Stecken der Karte ausgeführt werden soll. Dabei gilt folgende Zuordnung: FunctionOfCard=0 keine Funktion beim Stecken ausführen FunctionOfCard=1 Anwenderprogramm laden gemäß Eintrag in [UserProg] FunctionOfCard=2 Firmwareupdate gemäß Eintrag in [FirmwareUpdate] ausführen FunctionOfCard=4 reserviert für Fabriktest Soll die Firmware und das Anwenderprogramm geladen werden, so ist FunctionOfCard=3 zu setzen.

• [FirmwareUpdate] CPUPM5x1=0 (0 = kein Update, 1 = Update der CPU-Firmware) Display=0 (0 = kein Update, 1 = Update des Display-Controllers) Coupler_0=0 (0 = kein Update, 1 = Update des internen Kopplers) Coupler_1=0 (0 = kein Update, 1 = Update des Kopplers auf Steckplatz 1) Coupler_2=0 (0 = kein Update, 1 = Update des Kopplers auf Steckplatz 2) Coupler_3=0 (0 = kein Update, 1 = Update des Kopplers auf Steckplatz 3) Coupler_4=0 (0 = kein Update, 1 = Update des Kopplers auf Steckplatz 4) Mit den Einträgen unter [FirmwareUpdate] wird eingestellt, welche Firmware geladen werden soll. In der Version V1.0 kann nur die Firmware des CPU-Prozessors geladen werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 70 CPUs AC500 / Stand: 08.2005

• [UserProg] UserProgram=0 (0 = kein Update, 1 = Update des Anwenderprogrammes) RetainData=0 (0 = kein Update, 1 = Update der RETAIN-Variablen) AddressData=0 (0 = kein Update, 1 = Update der adressierbaren Merker %M) Mit den Einträgen unter [UserProg] wird eingestellt, welche Anwenderdaten geladen werden sollen. In der Version V1.0 kann nur das Anwenderprogramm geladen werden.

6.2.3 Initialisieren einer SD-Karte

6.2.3.1 Initialisieren der SD-Karte mit der AC500

Wird eine formatierte SD-Karte in die AC500 gesteckt, so wird die oben beschriebene Filestruktur auf der SD-Karte angelegt. Das File SDCARD.INI enthält folgende Einträge:

[Status] FunctionOfCard=0 [FirmwareUpdate] CPUPM5x1=0 Display=0 Coupler_0=0 Coupler_1=0 Coupler_2=0 Coupler_3=0 Coupler_4=0 [UserProg] UserProgram=0 RetainData=0 AddressData=0

Wird eine unformatierte SD-Karte eingesteckt, so wird der Fehler:

152369164 FK4 Warnung SD-Karte kann nicht gelesen werden

gemeldet.

Befinden sich noch andere Files im Rootverzeichnis bzw. andere Unterverzeichnisse auf der SD-Karte, so werden diese nicht verändert.

6.2.3.2 Initialisieren der SD-Karte mit einem PC

Die oben beschriebene Filestruktur kann auch auf einem PC mit SD-Karte-Interface erzeugt werden.

Legen Sie dazu die entsprechenden Verzeichnisse an und erstellen Sie eine ASCII-Datei SDCARD.INI z. B. mit dem Notepad.

Es ist auch möglich, die Struktur von einer initialisierten SD-Karte auf Festplatte zu kopieren und dann von Festplatte auf nicht initialisierte SD-Karten.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 71 CPUs AC500 / Stand: 08.2005

6.3 Speichern / Laden des Anwenderprogrammes auf SD-Karte

6.3.1 Speichern des Anwenderprogrammes auf SD-Karte

Zum Speichern eines Anwenderprogrammes auf die SD-Karte ist wie folgt vorzugehen:

1. Übersetzen des gesamten Projektes mit "Projekt" / "Alles bereinigen" und "Projekt" / "Alles übersetzen"

2. Laden des Projektes in die AC500

3. Laden des Bootprojektes in die Steuerung mit "Online" / "Bootprojekt erzeugen" Das Bootprojekt (Files DEFAULT.PRG und DEFAULT.CHK) werden in die AC500 geladen und geflasht. Das Flashen wird durch Blinken der RUN-LED auf der AC500 angezeigt.

4. Einstecken einer SD-Karte. Hat die SD-Karte noch nicht die vorgeschriebene Dateistruktur, so wird diese angelegt. (siehe auch: Link zu "Initialisieren der SD-Karte mit der AC500")

Achtung: Befindet sich auf der SD-Karte bereits ein Anwenderprogramm, d. h. im Verzeichnis UserData\PM5x1\UserPrg gibt es die Dateien DEFAULT.PRG und DEFAULT.CHK, so werden diese ohne Abfrage überschrieben.

Sollen mehrere Anwenderprogramme auf einer SD-Karte gespeichert werden, so müssen diese mittels PC in andere Verzeichnisse kopiert werden.

5. Wechsel zum PLC Browser (in Ressourcen) und Eingabe des Kommandos "sdappl"<ENTER>. Die Dateien DEFAULT.PRG und DEFAULT.CHK werden aus dem Flash auf die SD-Karte in das Verzeichnis UserData\PM5x1\UserPrg geladen. In der Datei SDCARD.INI wird im Parameter "FunctionOfCard" Bit 0 = 1 (+1) und der Parameter "UserProgram=1" gesetzt, d. h. "Laden des Anwenderprogrammes" wird aktiviert. Das Beschreiben der SD-Karte wird durch Blinken der RUN-LED angezeigt.

Wird eine so erstellte SD-Karte in eine AC500 gesteckt, so wird das Anwenderprogramm von der SD-Karte in den Flash der AC500 geladen. (siehe nächsten Abschnitt)

6.3.2 Laden des Anwenderprogrammes von der SD-Karte in die AC500

Wird eine SD-Karte in die AC500 im STOP-Mode der SPS gesteckt oder ist die SD-Karte beim Einschalten der Steuerspannung gesteckt, so wird diese auf die vorgeschriebene Dateistruktur überprüft. Ist diese vorhanden, so wird die Datei SDCARD.INI gelesen. Ist im Parameter "FunctionOfCard" das Bit 0 (=1) gesetzt und ist der Parameter UserProgram=1, so werden die im Verzeichnis UserData\PM5x1\UserPrg befindlichen Dateien DEFAULT.PRG und DEFAULT.CHK von der SD-Karte in das Flash der AC500 geladen.

Das Laden und Flashen des Anwenderprogrammes wird durch Blinken der RUN-LED angezeigt.

Das geladene Programm wird durch Neustart der SPS aktiviert.

Kann das Anwenderprogramm nicht geladen werden (z. B. wegen fehlender Dateien, falscher Verzeichnisstruktur oder nicht passendem Projekt zur Steuerung), so wird eine entsprechende Fehlermeldung ausgegeben.

Eine Zusammenfassung der Fehler der SD-Karte befindet sich im Abschnitt "Fehlermeldungen der SD-Karte".

Wird die SD-Karte in die AC500 im RUN-Mode der SPS gesteckt, so wird das Anwenderprogramm auch bei gesetzten Parametern "FunctionOfCard" Bit 0=1 und UserProgram=1 nicht geladen. Somit besteht die Möglichkeit, auch ohne PC-Kartenleser die Funktion "Anwenderprogramm laden" mit dem PLC-Browser-Kommando "sdfunc 0" wieder zu löschen.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 72 CPUs AC500 / Stand: 08.2005

6.4 Speichern/Lesen von Anwenderdaten auf die / von der SD-Karte

6.4.1 Aufbau der Datenfiles der SD-Karte

Die Daten auf der SD-Karte werden entsprechend dem AC500-CPU-Typ in folgendem Verzeichnis gespeichert:

AC500-CPU Verzeichnis File (Datei)

PM571 ..\UserData\PM571\UserDat USRDATxx.DAT

PM581 ..\UserData\PM581\UserDat USRDATxx.DAT

PM591 ..\UserData\PM591\UserDat USRDATxx.DAT

Es können maximal 100 Files USRDAT00.DAT...USRDAT99.DAT in einem Verzeichnis abgelegt werden.

Jedes Datenfile USRDATxx.DAT kann (optional) in Sektoren unterteilt werden. Der Sektorbeginn wird durch ein in eckige Klammern eingeschlossenen "Sektor-Namen" (z. B. [Sektor_01]<CR><LF>) gekennzeichnet. Innerhalb eines Sektors werden die Daten als Datensätze im ASCII-Format gespeichert. Die einzelnen Daten sind durch Semikolon getrennt. Jeder Datensatz wird mit <CR><LF> (0Dhex, 0Ahex) abgeschlossen.

Dadurch besteht die Möglichkeit des direkten Imports bzw. Exports in EXCEL. Die Datenfiles können mit einem einfachen ASCII-Editor (z. B. dem Notepad) angeschaut und bearbeitet werden.

Für das Speichern / Laden von Daten müssen folgende Regeln eingehalten werden:

• Die Datensätze innerhalb eines Sektors müssen immer die gleiche Anzahl Daten haben.

• Die Anzahl Daten eines Datensatzes kann in verschiedenen Sektoren unterschiedlich sein.

• Es können Werte von ganzzahligen Datentypen gespeichert werden. REAL- bzw. LREAL-Variablen können nicht gespeichert werden.

• Das Datenformat (BYTE, WORD, INT,..) muss innerhalb eines Datensatzes gleich sein.

• In einem Sektor können Datensätze mit unterschiedlichem Datenformat gespeichert werden. (Achtung: Die Struktur der Daten muss dem Anwender zum Lesen bekannt sein.)

• Beim Schreiben werden die Datensätze immer an das Fileende angehängt (append).

• Beim Lesen kann innerhalb eines Files nach einem "Sektor-Namen" gesucht werden.

• Datensätze können ab einem "Sektor-Namen" gelesen werden.

• Es ist nicht möglich, innerhalb eines Sektors einen bestimmten Datensatz zu lesen bzw. zu schreiben.

• Soll jeder Datensatz einzeln lesbar sein, so ist vor jeden Datensatz ein "Sektor-Name" zu setzen.

• Das Lesen und Schreiben der Daten erfolgt im Anwenderprogramm mit den Bausteinen SD_READ und SD_WRITE.

• Die Daten eines Datensatzes müssen in hintereinander liegenden Variablen in der SPS liegen (z. B. ARRAY, STRING, %M-Bereich).

• Aus dem SPS-Programm heraus kann ein Datenfile gelöscht werden.

• Das Löschen einzelner Datensätze und/oder Sektoren mit dem Anwenderprogramm ist nicht möglich. Das Löschen einzelner Datensätze und/oder Sektoren kann auf dem PC z. B. mit dem Notepad erfolgen.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 73 CPUs AC500 / Stand: 08.2005

Beispiele für Datenfiles:

Beispiel 1:

Datenfile USRDAT5.DAT ohne Sektoren: -> 5 Datensätze mit je 10 DINT-Werten:

600462;430;506;469;409;465;466;474;476;-1327203 600477;446;521;484;425;480;482;490;491;-1327187 600493;461;537;499;440;496;497;505;507;-1327172 600508;477;552;515;456;511;513;521;522;-1327156 600524;492;568;530;471;527;528;536;538;-1327141

Beispiel 2:

Datenfile USRDAT7.DAT mit Sektoren: -> 3 Segmente mit je 3 Datensätzen und jeweils 10 DINT-Werten:

[Sektor_01] 610439;10408;10483;10446;10387;10442;10444;10452;10453;-1317225 610455;10423;10499;10462;10402;10458;10460;10467;10469;-1317209 610476;10445;10520;10483;10424;10479;10481;10489;10490;-1317188

[Sektor_02] 610570;10539;10614;10577;10518;10573;10575;10583;10584;-1317094 610585;10554;10630;10592;10533;10589;10591;10598;10600;-1317078 610602;10571;10646;10609;10550;10605;10607;10615;10616;-1317062

[Sektor_03] 610701;10670;10746;10708;10649;10704;10706;10714;10715;-1316963 610717;10686;10761;10724;10665;10720;10722;10730;10731;-1316947 610739;10708;10783;10746;10686;10742;10744;10751;10753;-1316926

6.4.2 Die Bausteine zum Schreiben/Lesen von Anwenderdaten auf die / von der SD-Karte

Zum Schreiben und Lesen von Anwenderdaten aus dem SPS-Programm auf/von SD-Karte stehen folgende Bausteine zur Verfügung:

Bibliothek: SysInt_AC500_Vxx.lib

Ordner: ..\Data Storage\ SD card Zusätzlich wird die Bibliothek SysExt_AC500_Vxx.lib benötigt. Beide Bibliotheken werden beim Anlegen eines Projektes für eine AC500-CPU automatisch geladen.

Bausteine: SD_WRITE - Schreiben von Anwenderdaten SD_READ - Lesen von Anwenderdaten

Die Bausteine SD_WRITE und SD_READ sind in der Dokumentation der Bausteinbibliothek SysInt_AC500_Vxx.lib detailliert beschrieben.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 74 CPUs AC500 / Stand: 08.2005

Der Baustein SD_WRITE hat folgende Ein-/Ausgangsbelegung:

Name Typ Belegung

Eingänge

EN BOOL False->TRUE-Flanke startet Schreibvorgang

ATTRIB BYTE Schreibattribut-Funktion des Bausteins: 1 - Löschen eines Files (Delete) 2 - Datensatz anhängen (Write append) 3 - Anlegen Sektorname (Write sector label)

FILENO BYTE Fortlaufende Filenummer 0 <= xx <= 99 (USRDATxx.DAT)

SEG POINTER TO STRING Pointer auf Sektor-Label-String (mit ADR-Operator)

FORMAT BYTE Datenformat: 00 hex - 0 - BYTE 01 hex - 1 - CHAR 10 hex - 16 - WORD 11 hex - 17 - INT 20 hex - 32 - DWORD 21 hex - 33 - DINT

NVAR WORD Anzahl der zu schreibenden Variablen

ADRVAR DWORD Adresse der ersten Variablen, ab der die Daten in der SPS liegen (mit ADR-Operator)

Ausgänge

DONE BOOL Funktion fertig

ERR BOOL Fehler: FALSE=kein Fehler, TRUE=Fehler

ERNO INT Fehlernummer

Der Baustein SD_READ hat folgende Ein-/Ausgangsbelegung:

Name Typ Belegung

Eingänge

EN BOOL False->TRUE-Flanke startet Lesevorgang

ATTRIB BYTE Leseattribut-Funktion des Bausteins: 1 - File öffnen, Sektor suchen, Datensatz lesen (Open, Seek, Read) 2 - File öffnen, Datensatz lesen (Open, Read) 3 - Folgedatensatz lesen (Open, Read) 4 - Datensatz lesen, File schließen (Read, Close) 5 - File schließen (Close)

FILENO BYTE Fortlaufende Filenummer 0 <= xx <= 99 (USRDATxx.DAT)

SEG POINTER TO STRING Pointer auf Sektor-Label-String (mit ADR-Operator)

FORMAT BYTE Datenformat: 00 hex - 0 - BYTE 01 hex - 1 - CHAR 10 hex - 16 - WORD 11 hex - 17 - INT 20 hex - 32 - DWORD 21 hex - 33 - DINT

NVAR WORD Anzahl der zu lesenden Variablen

ADRVAR DWORD Adresse der ersten Variablen, ab der die Daten in der SPS abgelegt werden (mit ADR-Operator)

Ausgänge

DONE BOOL Funktion fertig

ERR BOOL Fehler: FALSE=kein Fehler, TRUE=Fehler

ERNO INT Fehlernummer

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 75 CPUs AC500 / Stand: 08.2005

Die Fehlermeldungen der Bausteine SD_READ und SD_WRITE sind im Kapitel "Fehlermeldungen der Bausteine" beschrieben.

6.4.3 Löschen eines Datenfiles auf SD-Karte

Zum Löschen eines Datenfiles sind folgende Schritte auszuführen:

1. Stecken der SD-Karte

2. Aufruf des Bausteines SD_WRITE mit den Einstellungen:

EN := TRUE

ATTRIB := 1 (* delete *)

FILENO := 0...99 (* Nummer des zu löschenden Files *)

SEG, FORMAT, NVAR, ADRVAR beliebig

6.4.4 Speichern von Anwenderdaten auf SD-Karte Datenfile ohne Sektoren

Zum Speichern von Anwenderdaten auf SD-Karte in einem Datenfile ohne Sektoren sind folgende Schritte auszuführen:

1. Stecken der SD-Karte

2. Schreiben eines Datensatzes durch Aufruf des Bausteines SD_WRITE mit den Einstellungen:

EN := TRUE (* FALSE/TRUE-Flanke beginnt den Schreibvorgang *)

ATTRIB := 2 (* write append *)

FILENO := 0...99 (* Nummer des Files, in das geschrieben werden soll *)

SEG := Adresse der Variablen Sektor-Name (* beliebig *)

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz

ADRVAR := Adresse der ersten zu schreibenden Variablen

Ist kein entsprechendes File vorhanden, so wird es angelegt. Das Schreiben ist erfolgreich beendet, wenn der Ausgang DONE:=TRUE und der Ausgang ERR:=FALSE ist. Fehlerhaftes Schreiben wird durch ERR:=TRUE und ERRNO<>0 angezeigt.

3. Das Schreiben weiterer Datensätze kann nach der jeweiligen Fertigmeldung (DONE=TRUE) mit

den gleichen Einstellungen und einer FALSE/TRUE-Flanke am Eingang EN gestartet werden.

Hinweis: Bei jedem Schreibvorgang wird USRDATxx.DAT in USRDATxx.BAK gesichert und ein "File öffnen / Daten schreiben / File schliessen" (OPEN/WRITE/CLOSE) durchgeführt.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 76 CPUs AC500 / Stand: 08.2005

6.4.5 Speichern von Anwenderdaten auf SD-Karte Datenfile mit Sektoren

Zum Speichern von Anwenderdaten auf SD-Karte in einem Datenfile mit Sektoren sind folgende Schritte auszuführen:

1. Stecken der SD-Karte

2. Anlegen des Sektor-Namens durch Aufruf des Bausteins SD_WRITE mit den Einstellungen:

EN := TRUE

ATTRIB := 3 (* write sector *)

FILENO := 0...99 (* Nummer des Files, in das geschrieben werden soll *)

SEG := Adresse der Variablen des Sektor-Namens

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz

ADRVAR := Adresse der ersten zu schreibenden Variablen

Ist kein entsprechendes File vorhanden, so wird es angelegt. Das Anlegen des Sektors ist erfolgreich beendet, wenn der Ausgang DONE:=TRUE und der Ausgang ERR:=FALSE ist. Fehlerhaftes Schreiben wird durch ERR:=TRUE und ERRNO<>0 angezeigt.

3. Schreiben eines Datensatzes durch Aufruf des Bausteines SD_WRITE mit den Einstellungen:

EN := TRUE (* FALSE/TRUE-Flanke beginnt den Schreibvorgang *)

ATTRIB := 2 (* write append *)

FILENO := 0...99 (* Nummer des Files, in das geschrieben werden soll *)

SEG := Adresse der Variablen des Sektor-Namens

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz

ADRVAR := Adresse der ersten zu schreibenden Variablen

Das Schreiben ist erfolgreich beendet, wenn der Ausgang DONE:=TRUE und der Ausgang ERR:=FALSE ist. Fehlerhaftes Schreiben wird durch ERR:=TRUE und ERRNO<>0 angezeigt.

4. Das Schreiben weiterer Datensätze kann nach der jeweiligen Fertigmeldung (DONE=TRUE) mit

den gleichen Einstellungen und einer FALSE/TRUE-Flanke am Eingang EN gestartet werden.

5. Um weitere Sektoren und entsprechende Datensätze anzulegen, ist entsprechend den Punkten 2..4 vorzugehen.

Hinweis: Bei jedem Schreibvorgang wird USRDATxx.DAT in USRDATxx.BAK gesichert und ein "File öffnen / Daten schreiben / File schliessen" (OPEN/WRITE/CLOSE) durchgeführt.

6.4.6 Laden von Anwenderdaten von der SD-Karte Datenfile ohne Sektoren

Zum Lesen von Anwenderdaten aus einem Datenfile ohne Sektoren von der SD-Karte in die SPS sind folgende Schritte auszuführen:

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 77 CPUs AC500 / Stand: 08.2005

1. Stecken der SD-Karte

2. Lesen eines Datensatzes durch Aufruf des Bausteines SD_READ mit den Einstellungen:

EN := TRUE (* FALSE/TRUE-Flanke beginnt den Lesevorgang *)

ATTRIB := 2 (* open / read *)

FILENO := 0...99 (* Nummer des Files, aus dem gelesen werden soll *)

SEG := Adresse der Variablen des Sektor-Namens (* beliebig *)

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz

ADRVAR Adresse der ersten Variablen, in die Daten geschrieben werden

Das Lesen ist erfolgreich beendet, wenn der Ausgang DONE:=TRUE und der Ausgang ERR:=FALSE ist. Fehlerhaftes Lesen wird durch ERR:=TRUE und ERRNO<>0 angezeigt.

3. Das Lesen weiterer Datensätze kann nach der jeweiligen Fertigmeldung (DONE=TRUE) mit den

nachfolgenden Einstellungen und einer FALSE/TRUE-Flanke am Eingang EN gestartet werden:

EN := TRUE (* FALSE/TRUE-Flanke beginnt den Lesevorgang *)

ATTRIB := 3 (* continue read *)

FILENO := 0...99 (* Nummer des Files, aus dem gelesen werden soll *)

SEG := Adresse der Variablen des Sektor-Namens (* beliebig *)

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz

ADRVAR := Adresse der ersten Variablen, in die Daten geschrieben werden

Wird beim Lesen ein unerwarteter Sektor-Name oder das Fileende (EOF) gefunden, so wird eine entsprechende Fehlermeldung generiert.

4. Das Lesen eines weiteren Datensatzes mit anschließendem Schließen des Files kann erreicht

werden durch Aufruf von SD_READ nach der Fertigmeldung (DONE=TRUE) mit den nachfolgenden Einstellungen und einer FALSE/TRUE-Flanke am Eingang EN:

EN := TRUE (* FALSE/TRUE-Flanke beginnt den Lesevorgang *)

ATTRIB := 4 (* read / close *)

FILENO := 0...99 (* Nummer des Files, aus dem gelesen werden soll *)

SEG := Adresse der Variablen des Sektor-Namens (* beliebig *)

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz

ADRVAR := Adresse der ersten Variablen, in die Daten geschrieben werden

Wird beim Lesen ein unerwarteter Sektor-Name oder das Fileende (EOF) gefunden, so wird eine entsprechende Fehlermeldung generiert.

5. Das Schliessen des Files kann erreicht werden durch Aufruf von SD_READ nach der

Fertigmeldung (DONE=TRUE) mit den nachfolgenden Einstellungen und einer FALSE/TRUE-Flanke am Eingang EN:

EN := TRUE (* FALSE/TRUE-Flanke beginnt das Schliessen des Files *)

ATTRIB := 4 (* close *)

FILENO := 0...99 (* Nummer des Files, aus dem gelesen werden soll *)

SEG := Adresse der Variablen des Sektor-Namens (* beliebig *)

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz (* beliebig )

ADRVAR := Adresse der ersten Variablen (* beliebig *)

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 78 CPUs AC500 / Stand: 08.2005

6.4.7 Laden von Anwenderdaten von der SD-Karte Datenfile mit Sektoren

Zum Lesen von Anwenderdaten aus einem Datenfile mit Sektoren von der SD-Karte in die SPS sind folgende Schritte auszuführen:

1. Stecken der SD-Karte

2. Suchen eines Sektor-Namens und Lesen eines Datensatzes durch Aufruf des Bausteines SD_READ mit den Einstellungen:

EN := TRUE (* FALSE/TRUE-Flanke beginnt den Lesevorgang *)

ATTRIB := 1 (* open / seek / read *)

FILENO := 0...99 (* Nummer des Files, aus dem gelesen werden soll *)

SEG := Adresse der Variablen des Sektor-Namens

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz

ADRVAR Adresse der ersten Variablen, in die Daten geschrieben werden

Das Lesen ist erfolgreich beendet, wenn der Ausgang DONE:=TRUE und der Ausgang ERR:=FALSE ist. Fehlerhaftes Suchen bzw. Lesen wird durch ERR:=TRUE und ERRNO<>0 angezeigt.

3. Das Lesen weiterer Datensätze kann nach der jeweiligen Fertigmeldung (DONE=TRUE) mit den

nachfolgenden Einstellungen und einer FALSE/TRUE-Flanke am Eingang EN gestartet werden:

EN := TRUE (* FALSE/TRUE-Flanke beginnt den Lesevorgang *)

ATTRIB := 3 (* continue read *)

FILENO := 0...99 (* Nummer des Files, aus dem gelesen werden soll *)

SEG := Adresse der Variablen des Sektor-Namens (* beliebig *)

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz

ADRVAR := Adresse der ersten Variablen, in die Daten geschrieben werden

Wird beim Lesen ein unerwarteter Sektor-Name oder das Fileende (EOF) gefunden, so wird eine entsprechende Fehlermeldung generiert.

4. Zum Lesen weiterer Sektoren / Datensätze muss das File geschlossen werden. Anschließend

sind die Punkte 2 und 3 auszuführen.

5. Das Lesen eines weiteren Datensatzes mit anschließendem Schließen des Files kann erreicht werden durch Aufruf von SD_READ nach der Fertigmeldung (DONE=TRUE) mit den nachfolgenden Einstellungen und einer FALSE/TRUE-Flanke am Eingang EN:

EN := TRUE (* FALSE/TRUE-Flanke beginnt den Lesevorgang *)

ATTRIB := 4 (* read / close *)

FILENO := 0...99 (* Nummer des Files, aus dem gelesen werden soll *)

SEG := Adresse der Variablen des Sektor-Namens

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz

ADRVAR Adresse der ersten Variablen, in die Daten geschrieben werden

Wird beim Lesen ein unerwarteter Sektor-Name oder das Fileende (EOF) gefunden, so wird eine entsprechende Fehlermeldung generiert.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 79 CPUs AC500 / Stand: 08.2005

6. Das Schliessen des Files kann erreicht werden durch Aufruf von SD_READ nach der Fertigmeldung (DONE=TRUE) mit den nachfolgenden Einstellungen und einer FALSE/TRUE-Flanke am Eingang EN:

EN := TRUE (* FALSE/TRUE-Flanke beginnt das Schliessen des Files *)

ATTRIB := 4 (* close *)

FILENO := 0...99 (* Nummer des Files, aus dem gelesen werden soll *)

SEG := Adresse der Variablen des Sektor-Namens

FORMAT := Datenformat

NVAR := Anzahl der Daten im Datensatz (* beliebig )

ADRVAR := Adresse der ersten Variablen (* beliebig *)

6.5 Speichern und Laden von remanenten Daten auf SD-Karte

Die remanenten Variablen (RETAIN-Variablen), deklariert mit VAR_RETAIN .. END_VAR bzw. VAR_GLOBAL RETAIN .. END_VAR, werden bei einem Download neu initialisiert. Sollen die RETAIN-Variablen auch nach einem Download ihre Werte behalten, so müssen sie vor dem Download gesichert und nach dem Download wieder geladen werden.

Um dies zu ermöglichen, gibt es die PLC-Browser-Kommandos "saveretain" und "restoreretain". Die RETAIN-Variablen werden mit dem Kommando "saveretain" als File RETAIN.BIN und ADRDAT.BIN auf der SD-Karte abgelegt.

Entsprechend dem CPU-Typ werden die Files in folgendem Verzeichnis auf der SD-Karte abgelegt:

AC500-CPU Verzeichnis Files (Dateien)

PM571 ..\UserData\PM571\RetDat RETAIN.BIN, ADRDAT.BIN

PM581 ..\UserData\PM581\RetDat RETAIN.BIN, ADRDAT.BIN

PM591 ..\UserData\PM591\RetDat RETAIN.BIN, ADRDAT.BIN

6.6 Firmwareupdate mittels SD-Karte

6.6.1 Speichern der Firmware auf SD-Karte

Das Speichern der Firmware auf der SD-Karte erfolgt mit einem handelsüblichem PC-Kartenleser mit SD-Karten-Interface.

Dabei wird wie folgt vorgegangen:

1. Initialisieren der SD-Karte, d. h. Anlegen der für die SPS notwendigen Filestruktur, z.B. durch Stecken einer neuen SD-Karte in die Steuerung AC500 (siehe auch "Initialisieren der SD-Karte mit der AC500")

2. Kopieren des Firmwarefiles in das entsprechende Verzeichnis:

AC500-CPU Verzeichnis File

PM571 ..\Firmware\PM571 MICR.GZA

PM581 ..\Firmware\PM581 MINI.GZA

PM591 ..\Firmware\PM591 MIDI.GZA

3. Editieren der Kommandodatei SDCARD.INI im Root-Verzeichnis der SD-Karte: Parameter "FunctionOfCard=2" (oder =3 für Firmware- und Anwenderprogrammupdate) Parameter "CPUPM5x1=1

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 80 CPUs AC500 / Stand: 08.2005

6.6.2 Firmwareupdate der AC500 CPU mit SD-Karte

Das Firmwareupdate der AC500-CPU mit SD-Karte erfolgt in folgenden Schritten:

1. Vorbereitung der SD-Karte entsprechend dem Abschnitt "Speichern der Firmware auf SD-Karte".

2. Ausschalten der Steuerspannung der SPS

3. Einstecken der SD-Karte

4. Einschalten der Steuerspannung der SPS Beim Booten wird die SD-Karte auf die vorgeschriebene Dateistruktur geprüft. Ist diese vorhanden, so wird die Datei SDCARD.INI gelesen. Ist im Parameter "FunctionOfCard" das Bit 1 (=2) gesetzt und ist der Parameter CPUPM5x1=1, so wird entsprechend dem CPU-Typ im Verzeichnis Firmware\PM5x1 das File MI??xxyy.S19 gesucht und in die SPS geladen, geprüft und geflasht. Die einzelnen Phasen werden wie folgt signalisiert:

Vorgang Signalisierung Anmerkung

Lesen der Firmware Schnelles Blinken RUN-LED Wird während des Lesens die SD-Karte gezogen, so bleibt die vorherige Firmwareversion erhalten.

Flashen der Firmware Schnelles Blinken der RUN- und der ERR-LED

Achtung: Wird während des Flashen die Steuerspannung ausgeschaltet, so wird die Firmware zerstört !

Firmwareupdate erfolgreich abgeschlossen

Langsames Blinken der RUN-LED (ca. 1 Hz)

Firmwareupdate fehlerhaft Langsames Blinken der RUN- und ERR-LED (ca. 1 Hz)

Hinweis: Ist im File SDCARD.INI der Parameter "FunctionOfCard=3" eingestellt (Firmwareupdate / Lade Anwenderprogramm), so wird zuerst die Firmware und danach das Anwenderprogramm von der SD-Karte geladen und in den jeweiligen Flash gespeichert.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 81 CPUs AC500 / Stand: 08.2005

6.7 Fehlermeldungen der SD-Karte

Die nachfolgende Tabelle enthält eine Übersicht über die Fehler der SD-Karte.

Fehler- Nummer

Klasse Beschreibung Auswirkung Abhilfe

E4 Warnung

Falsche Verzeichnisstruktur beim Lesen des Anwenderprogrammes

Anwenderprogramm wird nicht geladen

Verzeichnisstruktur mit PC korrigieren

152369165 E4 Warnung

Schreibfehler oder SD-Karte ist voll

Daten werden nicht geschrieben

SD-Karte mit PC überprüfen, ggf. einige Dateien löschen bzw. auf PC auslagern oder andere SD-Karte einsetzen

152369164 E4 Warnung

SD-Karte kann nicht gelesen werden

SD-Karte mit PC überprüfen

152369233 E4 Warnung

Schreibschutz: SD-Karte kann nicht initialisiert werden

Verzeichnisstruktur kann nicht erzeugt werden.

Schreibschutz entfernen

152369297 E4 Warnung

Schreibschutz: Fehler beim Schreiben des SPS-Programmes auf die SD-Karte

Daten werden nicht geschrieben

Schreibschutz entfernen

152369361 E4 Warnung

Schreibschutz: Fehler beim Schreiben der SPS-Firmware auf die SD-Karte

Daten werden nicht geschrieben

Schreibschutz entfernen

152369425 E4 Warnung

Schreibschutz: Fehler beim Schreiben der gepufferten Variablen (RETAIN.BIN) auf die SD-Karte

Daten werden nicht geschrieben

Schreibschutz entfernen

152369489 E4 Warnung

Schreibschutz: Fehler beim Schreiben der Kartenfunktion auf die SD-Karte

Daten werden nicht geschrieben

Schreibschutz entfernen

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 82 CPUs AC500 / Stand: 08.2005

7 Datenablage im Flash

7.1 Die Bausteine zur Datenablage

Für die Ablage von Anwenderdaten im Flash stehen in der Bibliothek “SysInt_AC500_V10.lib“ im Ordner “Data storage“ / “Flash“ folgende Bausteine zur Verfügung:

Baustein Funktion

FLASH_DEL Löschen eines Datensegmentes im Flash

FLASH_READ Lesen eines Datensatzes aus dem Flash

FLASH_WRITE Schreiben eines Datensatzes in das Flash

7.2 Beispielprogramm zur Datenablage

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 83 CPUs AC500 / Stand: 08.2005

8 Echtzeituhr und Batterie in AC500

8.1 Allgemeine Hinweise zur Echtzeituhr in AC500

Die in die AC500 integrierte Echtzeituhr (RTC) arbeitet wie eine PC-Uhr und speichert Datum und Uhrzeit im DT-Format (DATE AND TIME FORMAT) in einem DWORD, d. h. in Sekunden seit dem 01. Januar 1970 um 00:00 Uhr.

Die Echtzeituhr läuft bei gesteckter, voller Batterie auch bei ausgeschalteter Steuerspannung weiter.

Ist keine Batterie gesteckt oder ist die Batterie leer, so beginnt die Echtzeituhr mit dem Wert 0 , d. h. mit 1970-01-01, 00:00:00.

Beim Einschalten der Steuerspannung wird die Systemuhr des Betriebssystems mit dem Wert der Echtzeituhr abgeglichen.

8.2 Stellen und Anzeigen der Echtzeituhr

8.2.1 Stellen und Anzeigen der Echtzeituhr im PLC-Browser

Mit den PLC-Browser-Kommandos date und time kann die Echtzeituhr bedient werden.

Bei Eingabe von date <ENTER> bzw. time <ENTER> werden jeweils Datum und Uhrzeit der Echtzeituhr angezeigt.

Mit dem Kommando: date jjjj-mm-tt<ENTER> (Jahr-Monat-Tag) wird das Datum gestellt.

Mit dem Kommando: time hh-mm-ss<ENTER> (Stunde-Minute-Sekunde) wird die Uhrzeit gestellt.

Beispiel: Die Echtzeituhr soll auf den 22. Februar 2005 um 16:50 Uhr gestellt werden.

Eingabe des Datums: Date 2005-02-22<ENTER>

Anzeige: date 2005-02-22 Clock set to 2005-02-22 08:01:07 (Anmerkung: die Uhrzeit bleibt unverändert )

Eingabe der Uhrzeit: time 16:50<ENTER> (Eingabe der Sekunden ist optional)

Anzeige: time 16:50 Clock set to 2005-02-22 16:50:00

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 84 CPUs AC500 / Stand: 08.2005

8.2.2 Stellen und Anzeigen der Echtzeituhr im Anwenderprogramm

Zum Stellen und Auswerten der Echtzeituhr (RTC) im Anwenderprogramm gibt es in der Systembibliothek SysExt_AC500_Vxx.LIB im Ordner "Realtime clock" folgende Bausteine:

Baustein Funktion

CLOCK Setzen und Anzeigen der Echtzeituhr mit den Einzelwerten für Jahr, Monat, Tag, Stunde, Minute und Sekunde. Zusätzlich wird der Wochentag ausgegeben (Mo=0, Di=1, Mi=2, Do=3, Fr=4, Sa=5, So=6).

CLOCK_DT Setzen und Anzeigen der Echtzeituhr im DT-Format, z. B.: DT#2005-02-17-17:15:00

Die Bausteine CLOCK und CLOCK_DT sind in der Dokumentation der Systembibliothek SysExt_AC500_Vxx.LIB beschrieben.

8.3 Die Batterie der AC500

Die Batterie der AC500 dient zum Puffern folgender Daten bei "Steuerspannung aus":

• remanente Variablen im SDRAM (VAR_RETAIN..END_VAR) • File "Persistent.dat" im SDRAM (VAR_RETAIN PERSISTENT .. END_VAR) • Datum und Uhrzeit der Echtzeituhr

Ist keine Batterie gesteckt oder ist die Batterie leer, so wird eine Warnung (E4) ausgelöst und durch die LED "ERR" signalisiert.

Wird die Batterie in der Anwendung nicht benötigt (und damit keine Batterie gesteckt), so wird bei jedem Einschalten der Steuerung eine Warnung ausgelöst und die Fehler-LED leuchtet. Um die Anzeige des Batteriefehlers zu verhindern, gibt es in der Steuerungskonfiguration bei den "CPU parameters" den Parameter "Check battery". Die Standardeinstellung ist "On", d. h. die Batterie wird überprüft. Wird der Parameter auf "Off" gesetzt, so wird beim Zuschalten der Steuerspannung zwar die Batterie geprüft und ein entsprechender Fehler generiert. Dieser wird aber automatisch quittiert und die Fehler-LED geht nicht an (falls kein weiterer Fehler vorliegt).

Der Status der Batterie kann im PLC-Browser mit dem Kommando "batt" geprüft werden. Es erfolgt eine Anzeige 0..100%.

Im Anwenderprogramm kann der Batteriestatus mit der Funktion "BATT" der Systembibliothek SysExt_AC500_Vxx.LIB im Ordner "Battery" geprüft werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 85 CPUs AC500 / Stand: 08.2005

9 Die schnellen Zähler in AC500

9.1 Aktivierung der schnellen Zähler am I/O-Bus

Die Funktion "Schneller Zähler" ist in den S500-E/A-Modulen noch nicht verfügbar.

Die digitalen E/A-Geräte am I/O-Bus haben pro Modul zwei schnelle Zähler implementiert. Besitzt das E/A-Gerät keine digitalen Ausgänge, sind die entsprechenden Zählermodi nicht gültig. Bei Fehlparametrierung wird eine Diagnosemeldung abgesetzt.

Die Aktivierung der schnellen Zähler erfolgt durch Einstellen des Zählermodus im Parameter "Fast counter" in der Steuerungskonfiguration für das jeweilige E/A-Gerät (siehe auch Kapitel Steuerungskonfiguration / I/O-Bus).

Die Steuerung der/des schnellen Zählers erfolgt über die E/A-Daten im Steuerbyte des Submodules "Fast counter".

9.2 Zählmodi der schnellen Zähler

9.3 Bedienung der schnellen Zähler

9.4 Beispiel für einen schnellen Zähler

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 86 CPUs AC500 / Stand: 08.2005

10 Programmierung und Test

10.1 Die Programmierzugänge der AC500 für den Control Builder

In den AC500-Steuerungen gibt es folgende Schnittstellen, um mit der Außenwelt zu kommunizieren:

Nr. Bezeichnung Schnittstelle Programmierzugang

0 CPU Eigene CPU CPU für Online-Betrieb

1 COM1 Serielle Schnittstelle COM1 ja

2 COM2 Serielle Schnittstelle COM2 ja

3 FBP FBP-Slave-Schnittstelle nein

4 I/O-Bus I/O-Bus nein

1x Linie 0 Interner Koppler mit Kanal 0 ≤ x ≤ 9 abhängig vom Typ

2x Linie 1 Koppler auf Steckplatz 1 mit Kanal 0 ≤ x ≤ 19 abhängig vom Typ

4x Linie 2 Koppler auf Steckplatz 2 mit Kanal 0 ≤ x ≤ 19 abhängig vom Typ

6x Linie 3 Koppler auf Steckplatz 3 mit Kanal 0 ≤ x ≤ 19 abhängig vom Typ

8x Linie 4 Koppler auf Steckplatz 4 mit Kanal 0 ≤ x ≤ 19 abhängig vom Typ

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

31x

2x4x6x8x

4

Kommunikationstreiber:

Für die Programmierung der AC500 stehen folgende Kommunikationstreiber zur Verfügung:

Serial (RS232) Treiber für die serielle Schnittstellen

ABB RS232 Route AC Treiber für die seriellen Schnittstellen mit Routing

TCP/IP Ethernet-Treiber

ABB Tcp/Ip Level 2 AC Ethernet-Treiber mit Routing

ABB Arcnet Route fast AC Treiber für Programmierung über ARCNET mit Routing und einstellbarer Blockgröße

Serial (Modem) Modem-Treiber für Modem an serieller Schnittstelle des PC und SPS

ABB Modem Route AC Serieller Modem-Treiber mit Routing

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 87 CPUs AC500 / Stand: 08.2005

Hinweis: Routing ist ab Control Builder und SPS-Firmware V2.x verfügbar.

Gateway-Einstellung:

Wählen Sie im Control Builder unter "Online/Kommunikationsparameter/Gateway" die Einstellung "Lokal" (siehe auch 3S-Bedienungsanleitung / Die Komponenten im Einzelnen / Online/Kommunikationsparameter bei Gateway-Einsatz):

GW_lokal_D.gif

Für den Ethernet-Treiber "ABB Tcp/Ip Level 2 AC" gilt folgende Gateway-Einstellung:

Verbindung: Tcp/Ip Adresse: localhost Port: 1210

Einstellung der Kommunikationsparameter:

Die Einstellung der Kommunikationsparameter und Adressdaten erfolgt im Control Builder durch Auswahl des entsprechenden Treibers und Eintragen der Daten in die entsprechende Kommunikationsparameter-Maske im Menüpunkt "Online/Kommunikationsparameter".

Nachfolgend werden für die oben genannten Treiber die Einstellungen beschrieben.

10.2 Programmierung über die seriellen Schnittstellen

Im Kapitel "Steuerungskonfiguration" sind die Betriebsarten der seriellen Schnittstellen COM1 und COM2 beschrieben. Standardmäßig sind beide seriellen Schnittstellen COM1 und COM2 als Programmierschnittstelle eingestellt.

In der Installationsbeschreibung finden Sie Hinweise über die Einstellung der seriellen Schnittstellen für die unterschiedlichen PC-Betriebssysteme.

Die Verbindung PC <- -> SPS erfolgt über das Systemkabel TK501.

Die Einstellung der Schnittstellenparameter ist fest und kann nicht verändert werden.

Übertragungsrate: 19200 Baud Paritätsbit: keines Datenbits: 8 Stoppbits: 1 Synchronisation: ohne Motorola Byte order: yes

Für die Programmierung über die seriellen Schnittstellen stehen folgende Treiber zur Verfügung:

- Serial (RS232) - ABB RS232 Route AC

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 88 CPUs AC500 / Stand: 08.2005

10.2.1 Serieller Treiber "Serial (RS232)"

Der serielle Treiber "Serial (RS232)" bietet folgende Möglichkeiten:

o Online-Betrieb der SPS mit dem Control Builder o Online-Betrieb der SPS mit dem Feldbuskonfigurator SYCON.net o OPC-Anbindung mit OPC-Server ab V2.xx o Parallelbetrieb von Control Builder und SYCON.net o Parallelbetrieb von Control Builder und OPC-Server

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

3 1x

2x4x6x8x

4

COM1 oder COM2 COMx

Um einen neuen Gateway-Kanal für den seriellen Treiber anzulegen, wählen Sie "Online/Kommunikationsparameter/Neu", tragen einen Namen für den Kanal ein (z. B. USB->COM4) und wählen den Treiber "Serial RS232". Wählen Sie durch Doppelklick auf den entspechenden Parameter die notwendigen Werte für:

Port: COM-Port im PC Baudrate: 19200 Baud Motorola byteorder: Yes

GW_USB_COM4.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 89 CPUs AC500 / Stand: 08.2005

10.2.2 Serieller Treiber "ABB RS232 Route AC"

Ab V2.x gibt es zusätzlich zum seriellen Treiber den seriellen Routing-Treiber "ABB RS232 Route AC". Dieser Treiber bietet folgende Möglichkeiten:

o Online-Betrieb der SPS mit dem Control Builder o Online-Betrieb der SPS mit dem Feldbuskonfigurator SYCON.net o OPC-Anbindung mit OPC-Server ab V2.xx o Online-Betrieb mit über Ethernet oder ARCNET vernetzten SPSen über die serielle Schnittstelle

(ab Control Builder V2.x) o Parallelbetrieb von Control Builder und SYCON.net o Parallelbetrieb von Control Builder und OPC-Server o Online-Betrieb der AC31-Steuerungen der Serie 90 (07KT9x)

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

3 1x

2x4x6x8x

4

COM1 oder COM2 COMx

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

3 1x

2x4x6x8x

4

Ethernet

Um einen neuen Gateway-Kanal für den seriellen Routing-Treiber anzulegen, wählen Sie "Online/Kommunikationsparameter/Neu", tragen einen Namen für den Kanal ein (z. B. ABB USB->COM2 Route ARC 2) und wählen den Treiber "ABB RS232 Route AC".

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 90 CPUs AC500 / Stand: 08.2005

GW_neu_COM1_Route_ARC_2_D.gif

Für den seriellen Routingtreiber "ABB RS232 Route AC" gilt folgende Kommunikationsparameter-Maske:

GW_KommParam_COM1_Route_ARC_2_D.gif

Parameter Mögliche Werte Bedeutung

Port COMx (PC-abhängig) serielle Schnittstelle des PCs

Baudrate 19200 immer 19200 Baud

Parity No immer keine Parität

Stop bits 1 immer ein Stopp-Bit

Routing levels 0...2 Routingstufen (0 = keine)

Coupler (Level 1) 0, Line 0...Line 4 Koppler für Stufe 1

Channel (Level 1) 0...19 Kanal auf Koppler Stufe 1

Address (Level 1) 0, 0, 0, 0, 0 (max. 5 Bytes) Adresse im Zielkoppler Stufe 1

Coupler (Level 2) 0, Line 0...Line 4 Koppler für Stufe 2

Channel (Level 2) 0...19 Kanal auf Koppler Stufe 2

Address (Level 2) 0, 0, 0, 0, 0 (max. 5 Bytes) Adresse im Zielkoppler Stufe 2

Motorola Byte order yes Auswahl Motorola- oder Intel-Byteorder

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 91 CPUs AC500 / Stand: 08.2005

Soll mit dem seriellen Routing-Treiber direkt auf die angeschlossene CPU zugegriffen werden, so sind alle Routingparameter (ab Routing levels) mit 0 zu belegen.

Hinweis: Routing ist ab Control Builder und SPS-Firmware V2.x verfügbar.

Für die Routingstufen gilt:

Routing levels = 0 kein Routing (kein Eintrag in die Parameter für Level1 und Level 2) Routing levels = 1 einstufiges Routing (Eintrag der Parameter für Level 1) Routing levels = 2 zweistufiges Routing (Eintrag der Parameter für Level 1 und Level 2)

Beispiel:

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

3 1x

2x4x6x8x

4

COM1 oder COM2 COMx

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

3 1x

2x4x6x8x

4

IP: 10.49.88.203

Ethernet

IP: 10.49.88.205

Es soll SPS 2 = IP: 10.49.88.205 über SPS 1/ Externer Ethernet-Koppler auf Steckplatz 1 = IP: 10.49.88.203 programmiert werden. Der PC/COM2 ist mit der seriellen Schnittstelle COM1 der SPS 1 verbunden:

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 92 CPUs AC500 / Stand: 08.2005

Parameter Wert Anmerkung

Port COM2 COM2 des PCs

Baudrate 19200

Parity No

Stop bits 1

Routing levels 1 einstufiges Routen

Coupler (Level 1) Line 1 Koppler auf Steckplatz 1

Channel (Level 1) 0 Kanal 1

Address (Level 1) 10, 49, 88, 205, 0 Teilnehmeradresse Ziel-SPS (Node 2)

Coupler (Level 2) 0 keine 2. Stufe

Channel (Level 2) 0

Address (Level 2) 0, 0, 0, 0, 0

Motorola Byteorder yes Motorola Byteorder

10.3 Programmierung über ARCNET

Hinweis: Der ARCNET-Koppler ist ab Control Builder und SPS-Firmware V2.x verfügbar.

Die Programmierung über ARCNET ist nur mit einem PC mit eingebauter ARCNET-Karte möglich. Die Installation der Karte(n) und Treiber ist im Kapitel Installation / ARCNET-Treiber beschrieben.

Der PC ist bei der Programmierung über ARCNET ein Teilnehmer im ARCNET-Netz.

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

3 1x

2x4x6x8x

4

ARCNET

Die Einstellung der "Sender node", d. h. der ARCNET-Teilnehmeradresse des PC erfolgt als Eintrag in die Datei:

Arcnet_xx.ini mit dem Parameter NodeID1 = 254.

Die Datei Arcnet_xx.ini liegt im Betriebssystem-Verzeichnis des PC (z. B. C:\WINNT für Win2000).

Die Datei Arcnet_xx.ini hat für einen PC mit einer ARCNET-Karte z. B. folgende Einträge:

[ARCNET] DriverAccessName1=FARC ;Default = Farc NodeID1 = 254 ; Default = 254

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 93 CPUs AC500 / Stand: 08.2005

;DriverAccessName2=FARC1 ; Default = Farc1 ;NodeID2 = 253 ; Default = 253

;DriverAccessName3=FARC11 ; Default = Farc11 ;NodeID3 = 252 ; Default = 252

;DriverAccessName4=FARC111 ; Default = Farc111 ;NodeID4 = 251 ; Default = 251

10.3.1 ARCNET-Treiber "ABB Arcnet AC"

Ab LZS V2.x der SPS und Control Builder V2.x steht der Treiber "ABB Arcnet AC" zur Verfügung. Er bietet folgende Möglichkeiten:

o Online-Betrieb der SPS mit dem Control Builder o Online-Betrieb der SPS mit dem SYCON.net o OPC-Anbindung mit OPC-Server ab V2.xx o Parallelbetrieb von Control Builder und SYCON.net o Parallelbetrieb von Control Builder und OPC-Server o Parallebetrieb von Instanzen des Control Builders mit mehreren SPSen o Online-Betrieb der AC31-Steuerungen der Serie 90 (07KT9x)

Um einen neuen Gateway-Kanal für den ARCNET-Routing-Treiber anzulegen, wählen Sie "Online/Kommunikationsparameter/Neu", tragen einen Namen für den Kanal ein (z. B. ARC AC 254 -> 2) und wählen den Treiber "ABB Arcnet AC".

ARCNET_Treiber0.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 94 CPUs AC500 / Stand: 08.2005

Für den ARCNET-Routing-Treiber "ABB Arcnet AC" gilt folgende Kommunikationsparameter-Maske:

ARCNET_Treiber1.gif

Parameter Mögliche Werete Bedeutung

Driver instance FARC DrinerAccessName aus Arcnet_xx.ini

Target node 1...255 ARCNET-Teilnehmeradresse der SPS

Receive Timeout >= 2000 Timeout [ms] für Antwort

Routing levels 0...2 Routing-Stufen (0 = keine)

Coupler (Level 1) 0, Line 0...Line 4 Koppler für Stufe 1

Channel (Level 1) 0...19 Kanal auf Koppler Stufe 1

Address (Level 1) 0, 0, 0, 0, 0 (max. 5 Bytes) Adresse im Zielkoppler Stufe 1

Coupler (Level 2) 0, Line 0...Line 4 Koppler für Stufe 2

Channel (Level 2) 0...19 Kanal auf Koppler Stufe 2

Address (Level 2) 0, 0, 0, 0, 0 (max. 5 Bytes) Adresse im Zielkoppler Stufe 2

Block size 128...226 / 246...480 Anzahl der Nutzdaten

Motorola Byteorder yes/no Motorola- oder Intel-Byteorder

Soll mit dem ARCNET-Routing-Treiber direkt auf die angeschlossene CPU zugegriffen werden, so sind alle Routingparameter (ab Routing levels) mit 0 zu belegen.

Mit dem Parameter "Block size" (128...480) wird die Anzahl der Nutzdaten eines Blockes eingestellt. Standardmäßig ist 480 eingetragen, was der maximalen Blockgröße entspricht. Verboten sind die Werte 227 .. 245.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 95 CPUs AC500 / Stand: 08.2005

Der Parameter "Motorola byteorder" ist für die AC500-Steuerungen auf "Yes" einzustellen.

ARCNET_Treiber1.gif

10.4 Programmierung über Ethernet (TCP/IP)

Die Programmierung über Ethernet ist nur mit einem PC mit eingebauter Ethernet-Karte und installiertem Netzwerk möglich. Die Programmierung kann sowohl über den internen als auch über einen externen Ethernet-Koppler erfolgen.

Programmierung über den internen Ethernet-Koppler:

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

3 1x

2x4x6x8x

4

Ethernet

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 96 CPUs AC500 / Stand: 08.2005

Programmierung über den externen Ethernet-Koppler (im Beispiel Koppler auf Steckplatz 1):

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

3 1x

2x4x6x8x

4

Ethernet

Hinweis: Im Abschnitt "Systemtechnik"=>"Systemtechnik interne Koppler"=>"Der Ethernet-Koppler" finden Sie Hinweise zur Einstellung der IP-Adressen.

Gateway-Einstellung für Ethernet:

Wählen Sie im Control Builder unter "Online/Kommunikationsparameter/Gateway" die Einstellung "Tcp/Ip" (siehe CoDeSys / Kapitel - Die Komponenten im Einzelnen / Online/Kommunikationsparameter bei Gateway-Einsatz):

GW_localhost_D.gif

10.4.1 Ethernet-Treiber "Tcp/Ip"

Zur Programmierung der AC500-Steuerungen mit internem und/oder externem Ethernet-Koppler über Ethernet steht der Treiber "Tcp/Ip" zur Verfügung. Dieser Treiber bietet folgende Möglichkeiten:

o Online-Betrieb der SPS mit dem Control Builder o Online-Betrieb der SPS mit dem SYCON.net o OPC-Anbindung mit OPC-Server ab V2.xx o Parallelbetrieb von Control Builder und SYCON.net o Parallelbetrieb von Control Builder und OPC-Server o Parallebetrieb von Instanzen des Control Builders mit mehreren SPSen

Um einen neuen Gateway-Kanal für die Ethernet-Schnittstelle anzulegen, wählen Sie "Online/Kommunikationsparameter/Neu", tragen einen Namen für den Kanal ein (z. B. ETH 169.254.145.200) und wählen den Treiber "Tcp/Ip".

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 97 CPUs AC500 / Stand: 08.2005

GW_TCP_IP_Konfig.gif

Für den Ethernet-Treiber "ABB Tcp/Ip Level 2 AC" gilt folgende Kommunikationsparameter-Maske:

GW_TCP_IP_KonfigParam.gif

10.4.2 Ethernet-Treiber "ABB Tcp/Ip Level 2 AC"

Zur Programmierung der AC500-Steuerungen mit internem und/oder externem Ethernet-Koppler über Ethernet steht ab Version V2.x der Treiber "ABB Tcp/Ip Level 2 AC" zur Verfügung. Dieser Treiber bietet folgende Möglichkeiten:

o Online-Betrieb der SPS mit dem Control Builder o Online-Betrieb der SPS mit dem SYCON.net o OPC-Anbindung mit OPC-Server ab V2.xx o Parallelbetrieb von Control Builder und SYCON.net o Parallelbetrieb von Control Builder und OPC-Server o Parallebetrieb von Instanzen des Control Builders mit mehreren SPSen o Online-Betrieb der über ARCNET vernetzten SPSen bei einer SPS mit Ethernet- und ARCNET-

Koppler (Routing Ethernet -> ARCNET) ab V2.x o Online-Betrieb der AC31 - Steuerungen der Serie 90 (07KT9x)

Um einen neuen Gateway-Kanal für die Ethernet-Schnittstelle anzulegen, wählen Sie "Online/Kommunikationsparameter/Neu", tragen einen Namen für den Kanal ein (z. B. ETH 169.254.145.200) und wählen den Treiber "ABB Tcp/Ip Level 2 AC".

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 98 CPUs AC500 / Stand: 08.2005

Ethernet_Treiber0.gif

Für den Ethernet-Treiber "ABB Tcp/Ip Level 2 AC" gilt folgende Kommunikationsparameter-Maske:

Ethernet_Treiber1.gif

Parameter Mögliche Werte Bedeutung

Address 0.0.0.0 IP-Adresse oder Hostname der SPS

Port 1200

Timeout (ms) >= 2000 Timeout [ms] für Antwort

Routing levels 0...2 Routingstufen (0 = keine)

Coupler (Level 1) 0, Line 0...Line 4 Koppler für Stufe 1

Channel (Level 1) 0...19 Kanal auf Koppler Stufe 1

Address (Level 1) 0, 0, 0, 0, 0 (max. 5 Bytes) Adresse im Zielkoppler Stufe 1

Coupler (Level 2) 0, Line 0...Line 4 Koppler für Stufe 2

Channel (Level 2) 0...19 Kanal auf Koppler Stufe 2

Address (Level 2) 0, 0, 0, 0, 0 (max. 5 Bytes) Adresse im Zielkoppler Stufe 2

Block size 1430 (128...1430) Bytes pro Telegramm (verboten 227..245)

Motorola byteorder Yes (Yes/No) Motorola- oder Intel-Byteorder (=Yes bei AC500)

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 99 CPUs AC500 / Stand: 08.2005

Soll mit dem Ethernet-Treiber direkt auf die SPS zugegriffen werden, so sind alle Routingparameter (ab Routing levels) mit 0 zu belegen.

Unter "Address" wird die IP-Adresse oder der Hostname der SPS eingetragen. Um Hostnamen verwenden zu können, sind diese in die Datei "Hosts" mit dem Editor einzutragen. Die Datei "Hosts" finden Sie z. B. unter Win2000 unter "WINNT\System32\drivers\etc".

GW_KommParam_TcpIp-Hostedit.gif

In der Kommunikationsparameter-Maske wird dann anstelle der IP-Adresse der symbolische Name eingetragen, im Beispiel "SPS_2" anstelle "169.254.34.38":

GW_KommParam_TcpIp_host_D.gif

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 100 CPUs AC500 / Stand: 08.2005

10.4.3 Ethernet-ARCNET-Routing

Hinweis: Routing ist ab Control Builder und SPS-Firmware V2.x verfügbar.

Bei Steuerungen mit Ethernet- und ARCNET-Kopplern ist es möglich, über die Ethernet-Schnittstelle der SPS die über ARCNET vernetzten SPSen zu programmieren.

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

3 1x

2x4x6x8x

4

Ethernet

DC532DC532CM577CM572CM577CM572 PM581

0

1 2

3 1x

2x4x6x8x

4

IP: 10.49.88.205 IP: 10.49.88.200

ARCNET Node: 2

Für jede über ARCNET angeschlossene SPS ist ein Gateway-Kanal einzurichten. Wählen Sie "Online/Kommunikationsparameter/Neu", tragen einen Namen für den Kanal ein (z. B. TcpIp: SPS1:169.29.44.48 -> ARC_2) und wählen den Treiber "ABB Tcp/Ip Level 2 AC".

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 101 CPUs AC500 / Stand: 08.2005

Für das oben dargestellte Beispiel stellen Sie z. B. folgende Kommunikationsparameter ein:

GW_Route_ETH_ARC_Bsp.gif

Parameter Mögliche Werte Bedeutung

Address 10.49.88.205 IP-Adresse der SPS 1

Port 1200

Timeout (ms) 2000 Timeout [ms] für Antwort

Routing levels 1 einstufiges Routen

Coupler (Level 1) Line 0 Koppler für Stufe 1 (intern ARCNET)

Channel (Level 1) 0 Kanal auf Koppler Stufe 1

Address (Level 1) 2, 0, 0, 0, 0 ARCNET Node der Ziel-SPS (Node 2)

Coupler (Level 2) 0 keine Stufe 2

Channel (Level 2) 0

Address (Level 2) 0, 0, 0, 0, 0

Block size 480 Bytes pro Block: 128...1430

Motorola byteorder Yes

Unter "Coupler (Level 1)" ist der Kopplersteckplatz des ARCNET-Kopplers "Line 0" einzutragen, da der ARCNET-Koppler immer der interne Koppler ist.

Der ARCNET-Koppler hat nur einen Kommunikationskanal. Deshalb ist bei "Channel" immer 0 einzutragen.

Für die Teilnehmeradresse (Node) wird beim ARCNET-Koppler 1 Byte benötigt. Es wird die Adresse (Node=2) der Ziel-SPS in das erste Byte der Adressbytes eingetragen.

Bei der Blockgröße (block size) ist standardmäßig 1430 eingetragen. Wenn auf ARCNET geroutet werden soll (und die Ziel-SPS auf "große ARCNET-Pakete" eingestellt ist), kann die Blockgröße auf 480 Bytes erhöht werden. Verboten sind die Werte 227...245.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 102 CPUs AC500 / Stand: 08.2005

11 Kommunikation mit Modbus RTU

11.1 Protokollbeschreibung

Das Modbus-Protokoll wird weltweit eingesetzt. In den AC500-CPUs ist das MODICON Modbus® RTU-Protokoll integriert.

Zahlreiche Automatisierungsgeräte, z. B. SPS-Anlagen, Anzeigen, Frequenzumrichter oder Überwachungssysteme verfügen standardmäßig oder optional über eine Modbus®-RTU Schnittstelle und können aus diesem Grund problemlos mit den AC500-Zentralen kommunizieren.

Modbus® ist ein Master-Slave-Protokoll. Der Master sendet eine Anforderung an den Slave und empfängt die Antwort des Slaves.

Modbus-Master

In der Betriebsart Modbus-Master wird der Telegrammverkehr mit den Slave(s) über den Funktionsbaustein MODMAST abgewickelt. Der Baustein MODMAST sendet über die eingestellte Schnittstelle die Modbus-Anforderungstelegramme an den Slave und empfängt über die Schnittstelle die Modbus-Antworttelegramme des Slaves.

Bei Modbus on TCP/IP wird der Baustein ETH_MODMAST, bei den seriellen Schnittstellen der Baustein COM_MODMAST eingesetzt (ETH_MODMAST befindet sich in der Ethernet_AC500_Vxx.lib und COM_MODMAST in der Modbus_AC500_Vxx.lib).

Die vom Master übertragenen Modbus®-Blöcke enthalten folgende Informationen:

• die Modbus®-Adresse des abgefragten Slave (1 Byte) • den Funktionscode, der die Anforderung des Masters definiert (1 Byte) • die auszutauschenden Daten (N Byte) • den CRC16-Steuercode (2 Byte)

Modbus-Slave

In der Betriebsart Modbus-Slave wird kein Funktionsbaustein für die Modbus-Kommunikation benötigt. Das Senden und Empfangen von Modbus-Telegrammen erfolgt automatisch.

Nur die folgenden Modbus®-Operationscodes werden von den AC500-CPUs verarbeitet:

Funktionscode

DEZ HEX Beschreibung

01 oder 02 01 oder 02 n Bit lesen

03 oder 04 03 oder 04 n Worte lesen

05 05 ein Bit schreiben

06 06 ein Wort schreiben

07 07 schnelles Lesen des Statusbytes der CPU

15 0F n Bit schreiben

16 10 n Worte schreiben

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 103 CPUs AC500 / Stand: 08.2005

Es gelten folgende Längenbeschränkungen für die zu übertragenden Daten:

Funktionscode Max. Länge

DEZ HEX Seriell Modbus on TCP/IP

01 oder 02 01 oder 02 2000 Bit 255 Bit

03 oder 04 03 oder 04 125 Worte / 62 Doppelworte 100 Worte / 50 Doppelworte

05 05 1 Bit 1 Bit

06 06 1 Wort 1 Wort

07 07 8 Bit 8 Bit

15 0F 1968 Bit 255 Bit

16 10 123 Worte / 61 Doppelworte 100 Worte / 50 Doppelworte

11.2 Modbus RTU mit den seriellen Schnittstellen COM1 und COM2

11.2.1 Modbus-Betriebsarten der seriellen Schnittstellen

Es können beide seriellen Schnittstellen der AC500-CPUs gleichzeitig als Modbus-Schnittstellen betrieben werden. Beide Schnittstellen können sowohl Modbus-Master als auch Modbus-Slave sein.

Die Modbus-Betriebsart und die Schnittstellenparameter einer Schnittstelle werden bei der Steuerungskonfiguration eingestellt (Steuerungskonfiguration/Modbus).

Beschreibung des Modbus® -Protokolls:

Unterstützter Standard EIA RS-232 / RS-485

Anzahl der Anschlussstellen 1 Master max. 1 Slave mit RS-232-Schnittstelle max. 31 Slaves mit RS-485

Protokoll Modbus® (Master/Slave)

Datenübertragungssteuerung CRC16

Datenübertragungsgeschwindigkeit bis zu 19200 Baud

Zeichenkodierung 1 Startbit 8 Datenbits 1 Paritätsbit, gerade oder ungerade (optional) 1 oder 2 Stoppbits

Maximale Leitungslänge auf RS485: 1200 m bei 19200 Baud

11.2.2 Modbus-Kabel für COM1 und COM2

Kabel für Modbus / RS232 auf COM1:

Als Datenübertragungsleitung ist das Kabel TKxxx zu verwenden.

Anschlussplan COMx für Modbus

Kabel für Modbus / RS485 auf COM1:

Anschlussplan COMx für Modbus

Kabel für Modbus / RS232 auf COM2:

Anschlussplan COMx für Modbus

Kabel für Modbus / RS485 auf COM2:

Anschlussplan COMx für Modbus

11.3 Modbus on TCP/IP über Ethernet

Modbus on TCP/IP ist im Kapitel Systemtechnik Koppler / Der Ethernet-Koppler beschrieben.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 104 CPUs AC500 / Stand: 08.2005

11.4 Modbus-Adressen

11.4.1 Adresstabelle für Modbus

Es wird ein Bereich von 128 kB für den Zugriff über Modbus zugelassen, d. h. die Segmente Linie 0 und Linie 1 des adressierbaren Merkerbereiches (%M-Bereich). Damit steht für Modbus der komplette Adressbereich 0000hex bis FFFFhex zur Verfügung.

Die Verfügbarkeit der Segmente ist von der CPU abhängig. Bitte entnehmen Sie die Grösse des %M-Bereiches den Systemdaten der CPUs (siehe Technische Daten der CPUs und Zielsystemeinstellungen).

Auf Eingänge bzw. Ausgänge kann mit Modbus nicht direkt zugegriffen werden.

Die Adresszuordung für Wort- und Doppelwort-Zugriffe erfolgt gemäß nachfolgender Tabelle:

Modbus-Adresse

HEX DEZ Byte BYTE

Bit (byteorientiert) BOOL

Wort WORD

Doppelwort DWORD

Linie 0

%MB0.0 %MX0.0.0...%MX0.0.7 0000 0

%MB0.1 %MX0.1.0...%MX0.1.7 %MW0.0

%MB0.2 %MX0.2.0...%MX0.2.7 0001 1

%MB0.3 %MX0.3.0...%MX0.3.7 %MW0.1

%MD0.0

%MB0.4 %MX0.4.0...%MX0.4.7 0002 2

%MB0.5 %MX0.5.0...%MX0.5.7 %MW0.2

%MB0.6 %MX0.6.0...%MX0.6.7 0003 3

%MB0.7 %MX0.7.0...%MX0.7.7 %MW0.3

%MD0.1

...

%MB0.65532 %MX0.65532.0 ...%MX0.65532.7

7FFE 32766 %MB0.65533 %MX0.65533.0

...%MX0.65533.7

%MW0.32766

%MB0.65534 %MX0.65534.0 ...%MX0.65534.7

7FFF 32767 %MB0.65535 %MX0.65535.0

...%MX0.65535.7

%MW0.32767

%MD0.16383

Linie 1

%MB1.0 %MX1.0.0...%MX1.0.7 8000 32768

%MB1.1 %MX1.1.0...%MX1.1.7 %MW1.0

%MB1.2 %MX1.2.0...%MX1.2.7 8001 32769

%MB1.3 %MX1.3.0...%MX1.3.7 %MW1.1

%MD1.0

%MB1.4 %MX1.4.0...%MX1.4.7 8002 32770

%MB1.5 %MX1.5.0...%MX1.5.7 %MW1.2

%MB1.6 %MX1.6.0...%MX1.6.7 8003 32771

%MB1.7 %MX1.7.0...%MX1.7.7 %MW1.3

%MD1.1

...

%MB1.65532 %MX1.65532.0 ...%MX1.65532.7

FFFE 65534 %MB1.65533 %MX1.65533.0

...%MX1.65533.7

%MW1.32766

%MB1.65534 %MX1.65534.0 ...%MX1.65534.7

FFFF 65535 %MB1.65535 %MX1.65535.0

...%MX1.65535.7

%MW1.32767

%MD1.16383

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 105 CPUs AC500 / Stand: 08.2005

Die Adresszuordung für Bit-Zugriffe erfolgt gemäß nachfolgender Tabelle:

Modbus-Adresse

HEX DEZ

Byte BYTE

Bit (byteorientiert) BOOL

Wort WORD

Doppelwort DWORD

Linie 0

0000 0 %MX0.0.0

0001 1 %MX0.0.1

0002 2 %MX0.0.2

0003 3 %MX0.0.3

0004 4 %MX0.0.4

0005 5 %MX0.0.5

0006 6 %MX0.0.6

0007 7

%MB0.0

%MX0.0.7

0008 8 %MX0.1.0

0009 9 %MX0.1.1

000A 10 %MX0.1.2

000B 11 %MX0.1.3

000C 12 %MX0.1.4

000D 13 %MX0.1.5

000E 14 %MX0.1.6

000F 15

%MB0.1

%MX0.1.7

%MW0.0

0010 16 %MX0.2.0

0011 17 %MX0.2.1

0012 18 %MX0.2.2

0013 19 %MX0.2.3

0014 20 %MX0.2.4

0015 21 %MX0.2.5

0016 22 %MX0.2.6

0017 23

%MB0.2

%MX0.2.7

0018 24 %MX0.3.0

0019 25 %MX0.3.1

001A 26 %MX0.3.2

001B 27 %MX0.3.3

001C 28 %MX0.3.4

001D 29 %MX0.3.5

001E 30 %MX0.3.6

001F 31

%MB0.3

%MX0.3.7

%MW0.1

%MD0.0

0020 32 %MX0.4.0

0021 33 %MX0.4.1

0022 34

%MB0.4

%MX0.4.2

%MW0.2 %MD0.1

... ... ... ... ... ...

0FFF 4095 %MB0.511 %MX0.511.7 %MW0.255 %MD0.127

1000 4096 %MB0.512 %MX0.512.0 %MW0.256 %MD0.128

... ... ... ... ... ...

7FFF 32767 %MB0.4095 %MX0.4095.7 %MW0.2047 %MD0.1023

8000 32768 %MB0.4096 %MX0.4096.0 %MW0.2048 %MD0.1024

... ... ... ... ... ...

FFFF 65535 %MB0.8191 %MX0.8191.7 %MW0.4095 %MD0.2047

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 106 CPUs AC500 / Stand: 08.2005

Berechnung der Bitvariablen aus der Hexadresse:

Formel:

Bitvariable (BOOL) := %MX0.BYTE.BIT

Mit: DEZ Dezimaladresse

BYTE DEZ / 8

BIT DEZ mod 8 (Modulo-Division)

Beispiele:

Hexadresse = 16#2002 DEZ := HEX2DEZ(16#2002) := 8194 BYTE := 8194 / 8 := 1024 BIT := 8194 mod 8 := 2 Bitvariable: %MX0.1024.2

Hexadresse = 16#3016 DEZ := HEX2DEZ(16#3016) := 12310 BYTE := 12310 / 8 := 1538,75 -> 1538 BIT := 12310 mod 8 := 6 Bitvariable: %MX0.1538.6

Hexadresse = 16#55AA DEZ := HEX2DEZ(16#55AA) := 21930 BYTE := 21930 / 8 := 2741,25 -> 2741 BIT := 21930 mod 8 := 2 Bitvariable: %MX0.2741.2

Berechnung der Hexadresse aus der Bitveriablen:

Formel:

Hexadresse := DEZ2HEX( BYTE * 8 + BIT )

Beispiele:

Bitvariable := %MX0.515.4 Hexadresse := DEZ2HEX( 515 * 8 + 4 ) := DEZ2HEX( 4124 ) := 16#101C

Bitvariable := %MX0.3.3 Hexadresse := DEZ2HEX( 3 * 8 + 3 ) := DEZ2HEX( 27 ) := 16#001B

Bitvariable := %MX0.6666.2 Hexadresse := DEZ2HEX( 6666 * 8 + 2 ) := DEZ2HEX( 53330 ) := 16#D052

11.4.2 Besonderheiten für den Zugriff auf die Modbus-Adressen

Besonderheiten für Bitzugriffe:

• Wie aus der Adresstabelle ersichtlich, ist jeder Modbus-Adresse 0000hex .. FFFFhex ein WORD im %M-Bereich zugeordnet.

Bereiche für Lese-/Schreibverbot für den Modbus-Slave:

Wie in der Steuerungskonfiguration beschrieben, ist es möglich, für jedes Segment Linie 0 und Linie 1 je einen Bereich für Lese- bzw. Schreibverbot einzustellen. (siehe Steuerungskonfiguration / Die Einstellung 'COMx - Modbus'). Wird versucht, in den Bereich mit Schreibverbot zu schreiben, bzw. aus dem Bereich mit Leseverbot zu lesen, so wird eine Fehlermeldung generiert.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 107 CPUs AC500 / Stand: 08.2005

Segmentüberschreitung Linie 0 und Linie 1:

Es ist nicht möglich, mit einem Schreib- oder Lesezugriff auf einen Bereich zuzugreifen, der innerhalb beider Segmente Linie 0 und Linie 1 liegt. Bei Segmentüberschreitung wird eine Fehlermeldung generiert.

Beispiel: Lesen von 10 Worten ab Adresse := 7FFEhex Das entspricht den Adressen: 7FFEhex...8007hex mit den Operanden %MW0.32766...%MW1.7. Da hier Linie 0 überschritten wird, wird eine Fehlermeldung generiert. In diesem Fall müssen zwei Telegramme generiert werden: 1. Lesen von 2 Worten ab Adresse := 7FFEhex und 2. Lesen von 8 Worten ab Adresse := 8000hex.

Zulässige Datenbereiche für Lesen/Schreiben des Modbus-Masters:

Ist die AC500 der Modbus-Master, so wird der Datenaustausch mit den Modbus-Slaves über einem MODMAST-Baustein (ETH_MOD_MAST für Modbus on TCP/IP bzw. COM_MOD_MAST für die seriellen Schnittstellen) gesteuert (siehe Bausteine ETH_MODMAST in der Ethernet_AC500_Vxx.lib und COM_MODMAST in der Modbus_AC500_Vxx.lib).

Am Eingang "Data" dieser Bausteine wird über den ADR-Operator die Adresse des Bereiches angegeben, aus welchem beim Lesen die Daten gelesen bzw. in welchem beim Schreiben die Daten abgelegt werden sollen.

Bei der AC500 kann mit dem ADR-Operator auf folgende Bereiche zugegriffen werden:

• Bereich der Eingänge (%I-Bereich)

• Bereich der Ausgänge (%Q-Bereich)

• Bereich der nichtgepufferten Variablen (VAR .. END_VAR bzw. VAR_GLOBAL .. END_VAR)

• Adressierbarer Merkerbereich (%M-Bereich auch eingestellte geschützte Bereiche)

• Bereich der gepufferten Variablen (VAR RETAIN .. END_VAR bzw. VAR_GLOBAL RETAIN .. END_VAR)

11.4.3 Vergleich der Modbus-Adressen für AC500 und AC31/S90

In der nachfolgenden Tabelle sind die Adressen für AC500 und der Vorgängersteuerung AC31 / S90 dargestellt:

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 108 CPUs AC500 / Stand: 08.2005

Adresse HEX

FCT HEX

AC1131-Operand FCT HEX

AC500-Operand

Bit-Zugriffe

0000...0FFF 01, 02 %IX0.0...%IX255.15 01, 02, 05, 07, 0F %MX0.0.0...%MX0.511.7

0000 %IX0.0 %MX0.0.0

0001 %IX0.1 %MX0.0.1

0002 %IX0.2 %MX0.0.2

... ... ...

0010 %IX1.0 %MX0.2.0

... ... ...

0FFF

%IX255.15

%MX0.511.7

1000...1FFF 01, 02, 05, 0F %QX0.0...%QX255.15 01, 02, 05, 07, 0F %MX0.512.0...%MX0.1023.7

1000 %QX0.0 %MX0.512.0

1001 %QX0.1 %MX0.512.1

1002 %QX0.2 %MX0.512.2

... ... ...

1010 %QX1.0 %MX0.514.0

... ... ...

1FFF

%QX255.15

%MX0.1023.7

2000...2FFF 01, 02, 05, 07, 0F %MX0.0...%MX255.15 01, 02, 05, 07, 0F %MX0.1024.0...%MX0.1535.7

2000 %MX0.0 %MX0.1024.0

2001 %MX0.1 %MX0.1024.1

2002 %MX0.2 %MX0.1024.2

... ... ...

2010 %MX1.0 %MX0.1026.0

... ... ...

2FFF

%MX255.15

%MX0.1535.7

3000...3FFF 01, 02, 05, 07, 0F %MX5000.0...%MX5255.15 01, 02, 05, 07, 0F %MX0.1536.0...%MX0.2047.7

3000 %MX5000.0 %MX0.1536.0

3001 %MX5000.1 %MX0.1536.1

3002 %MX5000.2 %MX0.1536.2

... ... ...

3010 %MX5001.0 %MX0.1538.0

... ... ...

3FFF

%MX5255.15

%MX0.2047.7

4000...FFFF Kein Zugriff 01, 02, 05, 07, 0F %MX0.2048.0...%MX0.8191.7

Wort-Zugriffe

0000...0CFF 03, 04 %IW1000.0...%IW1207.15 03, 04, 06, 10 %MW0.0...%MW0.3327

0D00...0FFF 03, 04 Kein Zugriff 03, 04, 06, 10 %MW0.3328...%MW0.4095

1000...1CFF 03, 04, 06, 10 %QW1000.0...%QW1207.15 03, 04, 06, 10 %MW0.4096...%MW0.7423

1D00...1FFF Kein Zugriff 03, 04, 06, 10 %MW0.7424...%MW0.8191

2000...2FFF 03, 04, 06, 10 %MW1000.0...%MW1255.15 03, 04, 06, 10 %MW0.8192...%MW0.12287

3000...359F 03, 04, 06, 10 %MW3000.0...%MW3089.15 03, 04, 06, 10 %MW0.12288...%MW0.13727

35A0...3FFF Kein Zugriff 03, 04, 06, 10 %MW0.13728...%MW0.16383

4000...47FF %MW2000.0.0...%MW2063.15.1Kein Zugriff

03, 04, 06, 10 %MW0.16384...%MW18431

4800...4FFF Kein Zugriff 03, 04, 06, 10 %MW0.18432...%MW0.20479

5000...517F %MW4000.0.0...%MW4023.15.1Kein Zugriff

03, 04, 06, 10 %MW0.20480...%MW0.21247

5180...FFFF Kein Zugriff 03, 04, 06, 10 %MW0.21248...%MW1.32767

Doppelwort-Zugriffe

0000...3FFF Kein Zugriff 03, 04, 06, 10 %MD0.0...%MD0.8191

4000...47FF 03, 04, 06, 10 %MD2000.0...%MD2063.15 03, 04, 06, 10 %MD0.8192...%MD0.9215

4800...4FFF Kein Zugriff 03, 04, 06, 10 %MD0.9216...%MD0.10239

5000...537F 03, 04, 06, 10 %MD4000.0...%MD4023.15 03, 04, 06, 10 %MD0.1240...%MD0.10815

5480...FFFF Kein Zugriff 03, 04, 06, 10 %MD0.10816...%MD1.16383

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 109 CPUs AC500 / Stand: 08.2005

11.5 Modbus-Telegramme

Die abgebildeten Sende- und Empfangstelegramme sind in der SPS nicht sichtbar. Die vollständigen Telegramme können jedoch bei Bedarf über einen seriellen Data Analyser in der Verbindungsleitung zwischen Master und Slave angezeigt werden.

Die Anzahl der Nutzdaten hängt von den Eigenschaften des Masters und des Slaves ab.

In den folgenden Beispielen wird als Slave ein AC500-Modbus-Gerät angenommen. Bei der Verwendung von Fremdgeräten können abweichende Eigenschaften auftreten.

FCT 1 oder 2: Lesen n Bits

Master-Request

Op.-Adresse Slave Anzahl Bits CRC Slave- Adresse

Funktions- code High Low High Low High Low

Slave-Response

CRC Slave- Adresse

Funktions- code Anzahl Bytes ...Daten...

High Low

Modbus-Schnittstelle des Masters: COM1

Master liest von: Slave 1

Daten: %MX0.1026.4 = FALSE; %MX0.1026.5 = TRUE %MX0.1026.6 =FALSE

Quelladresse im Slave: %MX0.1026.4 : 2014HEX = 8212DEZ

Zieladresse im Master: abReadBit : ARRAY[0..2] OF BOOL;

Beispiel:

Die Werte der Merker %MX0.1026.4..%MX0.1026.6 des Slaves werden im Master im ARRAY abReadBool abgelegt.

Modbus-Anfrage des Masters

Op.-Adresse Slave Anzahl Bits CRC Slave- Adresse

Funktions- code High Low High Low High Low

01HEX 01HEX 20HEX 14HEX 00HEX 03HEX 37HEX CFHEX

Modbus-Antwort des Slaves

CRC Slave- Adresse

Funktions- code

Anzahl Bytes Daten High Low

01HEX 01HEX 01HEX 02HEX D0HEX 49HEX

Parametrierung der Bausteineingänge COM_MOD_MAST NB = Anzahl Bits

EN COM SLAVE FCT TIMEOUT ADDR NB DATA

FALSE -> TRUE

1 1 1 Anwendungs- spezifisch

8212 3 ADR (abReadBool[0])

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 110 CPUs AC500 / Stand: 08.2005

FCT 3 oder 4: Lesen n Worte

Master-Request

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low High Low

Slave-Response

CRC Slave- Adresse

Funktions- code

Anzahl Bytes ...Daten... High Low

Modbus-Schnittstelle des Masters: COM1

Master liest von: Slave 1

Daten: %MW0.8196 = 4; %MW0.8197 = 5; %MW0.8198 = 6

Quelladresse im Slave: %MW0.8196 : 2004HEX = 8196DEZ

Zieladresse im Master: awReadWord : ARRAY[0..2] OF WORD;

Beispiel:

Die Werte der Merker-Worte %MW0.8196..%MW0.8198 des Slaves werden im Master im ARRAY awReadWord abgelegt.

Modbus-Anfrage des Masters

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low High Low

01HEX 03HEX 20HEX 04HEX 00HEX 03HEX 4FHEX CAHEX

Modbus-Antwort des Slaves

Daten Daten Daten CRC Slave- Adresse

Funktions- code

Anzahl Bytes High / Low High / Low High / Low High Low

01HEX 03HEX 06HEX 00HEX / 04HEX 00HEX / 05HEX 00HEX / 06HEX 40HEX B6HEX

Parametrierung der Bausteineingänge COM_MOD_MAST NB = Anzahl Worte

EN COM SLAVE FCT TIMEOUT ADDR NB DATA

FALSE -> TRUE

1 1 3 Anwendungs- spezifisch

8196 3 ADR (awReadWord[0])

FCT 3 oder 4: Lesen n Doppelworte

Der Funktionscode "Doppelwort lesen" ist in der Modbus-RTU-Norm nicht definiert. Daher die Zusammensetzung des Doppelwortes aus Low- und High-Word (herstellerspezifisch).

Master-Request

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low High Low

Slave-Response

CRC Slave- Adresse

Funktions- code

Anzahl Bytes ...Daten... High Low

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 111 CPUs AC500 / Stand: 08.2005

Modbus-Schnittstelle des Masters: COM1

Master liest von: Slave 1

Daten: %MD0.8193 = 32DEZ = 00000020HEX; %MD0.8194 = 80000DEZ = 00013880HEX

Quelladresse im Slave: %MD0.8193: 4002HEX = 16386DEZ

Zieladresse im Master: adwReadDWord : ARRAY[0..1] OF DWORD

Beispiel:

Die Werte der Merker-Doppelworte %MD0.8193..%MD0.8194 des Slaves werden im Master im ARRAY adwReadDWord abgelegt.

Modbus-Anfrage des Masters

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low High Low

01HEX 03HEX 40HEX 02HEX 00HEX 04HEX F0HEX 09HEX

Modbus-Antwort des Slaves

Daten Daten Daten Daten CRC Slave- Adresse

Funk- tions- code

Anzahl Bytes High / Low High / Low High / Low High / Low High Low

01HEX 03HEX 08HEX 00HEX / 00HEX 00HEX / 20HEX 00HEX / 01HEX 38HEX / 80HEX 57HEX B0HEX

Parametrierung der Bausteineingänge COM_MOD_MAST NB = Anzahl Worte

EN COM SLAVE FCT TIMEOUT ADDR NB DATA

FALSE -> TRUE

1 1 31 Anwendungs- spezifisch

16386 4 ADR (adwReadDWord[0])

FCT 5: Schreiben 1 Bit

Bei dem Funktionscode "1 Bit Schreiben" wird der Wert des zu schreibenden Bits in einem Wort kodiert.

BIT = TRUE -> Datenwort = FF 00 HEX

BIT = FALSE -> Datenwort = 00 00 HEX

Master-Request

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low High Low

Op.-Adresse Slave Daten CRC Slave-

Adresse Funktions- code High Low High Low High Low

Slave-Response

Op.-Adresse Slave Daten CRC Slave- Adresse

Funktions- code High Low High Low High Low

Modbus-Schnittstelle des Masters: COM1

Master schreibt in: Slave 1

Daten: bBit := TRUE

Quelladresse im Master: bBit : BOOL;

Zieladresse im Slave: %MX0.1026.7 : 2017HEX = 8215DEZ

Beispiel:

Der Wert der BOOL-Variablen bBit des Masters wird im Slave in %MX0.1026.7 abgelegt.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 112 CPUs AC500 / Stand: 08.2005

Modbus-Anfrage des Masters

Op.-Adresse Slave Daten CRC Slave- Adresse

Funktions- code High Low High Low High Low

01HEX 05HEX 20HEX 17HEX FFHEX 00HEX 37HEX FEHEX

Modbus-Antwort des Slaves (Spiegelung)

Op.-Adresse Slave Daten CRC Slave- Adresse

Funktions- code High Low High Low High Low

01HEX 05HEX 20HEX 17HEX FFHEX 00HEX 37HEX FEHEX

Parametrierung der Bausteineingänge COM_MOD_MAST NB = Anzahl Bits

EN COM SLAVE FCT TIMEOUT ADDR NB DATA

FALSE -> TRUE

1 1 5 Anwendungs- spezifisch

8215 1 ADR (bBit)

FCT 6: Schreiben 1 Wort

Master-Request

Op.-Adresse Slave Daten CRC Slave- Adresse

Funktions- code High Low High Low High Low

Slave-Response

Op.-Adresse Slave Daten CRC Slave- Adresse

Funktions- code High Low High Low High Low

Modbus-Schnittstelle des Masters: COM1

Master schreibt in: Slave 1

Daten: wData := 7

Quelladresse im Master: wData : WORD;

Zieladresse im Slave: %MW0.8199 : 2007HEX = 8199DEZ

Beispiel:

Der Wert der Wortvariablen wData des Masters wird im Slave in %MW0.8199 abgelegt.

Modbus-Anfrage des Masters

Op.-Adresse Slave Daten CRC Slave- Adresse

Funktions- code High Low High Low High Low

01HEX 06HEX 20HEX 07HEX 00HEX 07HEX 72HEX 09HEX

Modbus-Antwort des Slaves (Spiegelung)

Op.-Adresse Slave Daten CRC Slave- Adresse

Funktions- code High Low High Low High Low

01HEX 06HEX 20HEX 07HEX 00HEX 07HEX 72HEX 09HEX

Parametrierung der Bausteineingänge COM_MOD_MAST NB = Anzahl Worte

EN COM SLAVE FCT TIMEOUT ADDR NB DATA

FALSE -> TRUE

1 1 6 Anwendungs- spezifisch

8215 1 ADR (wData)

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 113 CPUs AC500 / Stand: 08.2005

FCT 7: Schnelles Lesen Statusbyte der CPU

Master-Request

CRC Slave- Adresse

Funktions- code High Low

Slave-Response

CRC Slave- Adresse

Funktions- code

Datenbyte High Low

Modbus-Schnittstelle des Masters: COM1

Master schreibt in: Slave 1

Daten:

Quelladresse im Slave:

Zieladresse im Slave:

Beispiel:

Die Funktion liefert in Version V1.x immer 0!

Modbus-Anfrage des Masters

CRC Slave- Adresse

Funktions- code High Low

01HEX 07HEX 41HEX E2HEX

Modbus-Antwort des Slaves

CRC Slave- Adresse

Funktions- code

Datenbyte High Low

01HEX 07HEX 00HEX xxHEX xxHEX

Parametrierung der Bausteineingänge COM_MOD_MAST NB = Anzahl Bits

EN COM SLAVE FCT TIMEOUT ADDR NB DATA

FALSE -> TRUE

1 1 7 Anwendungs- spezifisch

0 0 ADR (BoolVar)

Hinweis: Die Funktion 7 liefert in Version V1.x immer den Wert 0 zurück.

FCT 15: Schreiben n Bits

Master-Request

Op.-Adresse Slave Anzahl Bits CRC Slave- Adresse

Funktions- code High Low High Low

Anzahl Bytes

...Daten... High Low

Slave-Response

Op.-Adresse Slave Anzahl Bits CRC Slave- Adresse

Funktions- code High Low High Low High Low

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 114 CPUs AC500 / Stand: 08.2005

Modbus-Schnittstelle des Masters: COM1

Master schreibt in: Slave 1

Daten: abWriteBool[0] := TRUE; abWriteBool[1] := FALSE; abWriteBool[2] := TRUE

Quelladresse im Master: abWriteBool : ARRAY[0..2] OF BOOL;

Zieladresse im Slave: %MX0.1026.1 : 2011HEX = 8209DEZ

Beispiel:

Die Werte der BOOL-Variablen abWriteBool[0]..abWriteBool[2] des Masters werden im Slave in %MX0.1026.1..%MX0.1026.3 abgelegt.

Modbus-Anfrage des Masters

Op.-Adresse Slave Anzahl Bits CRC Slave- Adresse

Funktions- code High Low High Low

Anzahl Bytes

Daten High Low

01HEX 0FHEX 20HEX 11HEX 00HEX 03HEX 01HEX 05HEX B4HEX 37HEX

Modbus-Antwort des Slaves

Op.-Adresse Slave Anzahl Bits CRC Slave- Adresse

Funktions- code High Low High Low High Low

01HEX 0FHEX 20HEX 11HEX 00HEX 03HEX 4EHEX 0FHEX

Parametrierung der Bausteineingänge COM_MOD_MAST NB = Anzahl Bits

EN COM SLAVE FCT TIMEOUT ADDR NB DATA

FALSE -> TRUE

1 1 15 Anwendungs- spezifisch

8209 3 ADR (abWriteBool[0])

FCT 16: Schreiben n Worte

Master-Request

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low

Anzahl Bytes

...Daten... High Low

Slave-Response

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low High Low

Modbus-Schnittstelle des Masters: COM1

Master schreibt in: Slave 1

Daten: awWriteWord[0] := 1; awWriteWord[1] := 2; awWriteWord[2] := 3

Quelladresse im Master: awWriteWord : ARRAY[0..2] OF WORD;

Zieladresse im Slave: %MW0.8193 : 2001HEX = 8193DEZ

Beispiel:

Die Werte der Wortvariablen awWriteWord[0]..awWriteWord[2] des Masters werden im Slave in %MW0.8193..%MW0.8195 abgelegt.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 115 CPUs AC500 / Stand: 08.2005

Modbus-Anfrage des Masters

Op.-Adresse Slave

Anzahl Worte

Daten Daten Daten CRC Slave Adresse

Funktions- code High / Low High / Low

Anzahl Bytes High /

Low High / Low

High / Low

High / Low

01HEX 10HEX 20HEX / 01HEX 00HEX / 03HEX

06HEX 00HEX / 01HEX

00HEX / 02HEX

00HEX / 03HEX

C0HEX / 84HEX

Modbus-Antwort des Slaves

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low High Low

01HEX 10HEX 20HEX 01HEX 00HEX 03HEX DAHEX 08HEX

Parametrierung der Bausteineingänge COM_MOD_MAST NB = Anzahl Worte

EN COM SLAVE FCT TIMEOUT ADDR NB DATA

FALSE -> TRUE

1 1 16 Anwendungs- spezifisch

8193 3 ADR (awWriteWord[0])

FCT 16: Schreiben n Doppelworte

Der Funktionscode "Doppelwort schreiben" ist in der Modbus-RTU-Norm nicht definiert. Daher die Zusammensetzung des Doppelwortes aus Low- und High-Word (herstellerspezifisch).

Master-Request

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low

Anzahl Bytes

...Daten... High Low

Slave-Response

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low High Low

Modbus-Schnittstelle des Masters: COM1

Master schreibt in: Slave 1

Daten: adwWriteDWord[0] := 18DEZ = 00000012HEX; adwWriteDWord[1] := 65561DEZ = 00010019HEX;

Quelladresse im Master: adwWriteDWord : ARRAY[0..1] OF WORD;

Zieladresse im Slave: %MD0.8192 : 4000HEX = 16384DEZ

Beispiel:

Die Werte der Doppelwort-Variablen adwWriteDWord[0].. adwWriteDWord[1] des Masters werden im Slave in %MD0.8192..%MD0.8193 abgelegt.

Modbus-Anfrage des Masters

Op.-Adresse Slave

Anzahl Worte

Anzahl Bytes Daten Daten Daten Daten CRC

Slave- Adr.

Funk- tions- Code High / Low High /

Low High / Low

High / Low

High / Low

High / Low

High / Low

High / Low

01HEX 10HEX 40HEX / 00HEX

00HEX / 04HEX

00HEX / 08HEX

00HEX / 00HEX

00HEX / 12HEX

00HEX / 01HEX

00HEX / 19HEX

60HEX / B3HEX

Modbus-Antwort des Slaves

Op.-Adresse Slave Anzahl Worte CRC Slave- Adresse

Funktions- code High Low High Low High Low

01HEX 10HEX 40HEX 00HEX 00HEX 04HEX DAHEX 0AHEX

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 116 CPUs AC500 / Stand: 08.2005

Parametrierung der Bausteineingänge COM_MOD_MAST NB = Anzahl Worte = 2 x Anzahl Doppelworte

EN COM SLAVE FCT TIMEOUT ADDR NB DATA

FALSE -> TRUE

1 1 16 Anwendungs- spezifisch

16384 4 ADR (adwWriteDWord[0])

Fehlertelegramm

In der Betriebsart Modbus-Master sendet die AC500 nur dann ein Telegramm, wenn die Parameter an den MODMAST-Eingängen logisch richtig sind. Trotzdem kann es vorkommen, dass ein Slave die Anforderung des Masters nicht bearbeiten oder aufgrund von Übertragungsfehlern nicht interpretieren kann. In diesen Fällen sendet der Slave ein Fehlertelegramm an den Master. Zur Kennzeichnung des Fehlertelegramms sendet der Slave als Funktionscode eine logische ODER-Verknüpfung des vom Master empfangenen Funktionscodes mit 80HEX zurück.

Slave-Response

CRC Slave- Adresse

Funktionscode OR 80HEX Fehlercode

High Low

Mögliche Fehlercodes des Slaves

Code Bedeutung

01DEZ Vom Master angeforderte Funktion wird vom Slave nicht unterstützt

02DEZ Ungültige Operandenadresse im Slave

02DEZ Überschreitung des Operandenbereichs

03DEZ Mindestens ein Wert liegt außerhalb des erlaubten Wertebereichs

12DEZ Anzahl der Daten ist größer als der Slave verarbeiten kann

13DEZ Telegramm enthält ungerade Anzahl Worte bei Doppelwortzugriff

10DEZ Längenangaben im Telegramm stimmen nicht überein

11DEZ Typ des Operandenbereichs und Funktion stimmen nicht überein

Beispiel:

Modbus-Anfrage des Masters:

Funktionscode: 01 (Lesen n Bits)

Operanden-Adresse Slave: 4000HEX = 16384DEZ (Bereich für Lesen im Slave gesperrt)

Modbus-Antwort des Slaves:

Funktionscode: 81HEX

Fehlercode: 03

11.6 Funktionsbaustein COM_MOD_MAST

Der Funktionsbaustein wird nur in der Betriebsart Modbus-Master benötigt. Er wickelt die Kommunikation (Senden von Telegrammen an Slaves / Empfangen von Telegrammen von Slaves) ab. Der Baustein kann auf die lokalen Schnittstellen der Steuerung COM1 und COM2 angewendet werden. Für jede Schnittstelle ist eine eigene Instanz des Bausteins zu verwenden.

COM_MOD_MAST ist Bestandteil der Bibliothek Modbus_AC500_V1x.LIB (ab V1.0).

11.7 Beispielprogramm Modbus

AC500 mit COM1 als Modbus-Master und COM2 als Modbus-Slave

Aufgabe: Die Bits %MX0.0.0 .. %MX0.0.7 im Slave (AC500 COM2) sollen mit maximaler Frequenz gelesen und im Master (AC500 COM1) in %MX0.2.0 .. %MX0.2.7 abgelegt werden.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 117 CPUs AC500 / Stand: 08.2005

Hinweis: Da in diesem Beispiel beide seriellen Schnittstellen der CPU gleichzeitig als Modbus-Schnittstellen betrieben werden, steht bei laufendem Anwenderprogramm keine serielle Programmierschnittstelle zur Verfügung. Der Online-Betrieb des Control Builders ist nur über Ethernet oder ARCNET möglich. Alternativ kann das Programm in zwei verschiedene Steuerungen geladen werden, bei denen dann jeweils nur eine serielle Schnittstelle als Modbus-Schnittstelle betrieben wird. In diesem Fall kann der Online-Zugang des Control Builders auch über die jeweils andere serielle Schnittstelle erfolgen.

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 118 CPUs AC500 / Stand: 08.2005

Index Systemtechnik CPUs

%

%M-Bereich AC500 18, 20 (2.4.1, 2.4.3)

%M-Bereich für das Modbus-Protokoll in AC500 19 (2.4.2)

A

AC500 Steuerungskonfiguration 23 (3.1.1)

ADR in AC500 21 (2.5.1)

Adressierbare Merker AC500 18, 20 (2.4.1, 2.4.3)

Adressoperator ADR in AC500 21 (2.5.1)

ARCNET-Treiber der AC500 92 (10.3)

ASCII AC500 31 (3.4.3)

Ausgänge AC500 16 (2.2)

B

Batterie der AC500 84 (8.3)

Bearbeitungszeiten der AC500 53 (4.4.1)

Begriffe AC500 47 (4.1)

C

COMx - ASCII AC500 31 (3.4.3)

COMx - CS31-Bus AC500 35 (3.4.6)

COMx - Decentralized I/O expansion 34 (3.4.5)

COMx - Modbus AC500 33 (3.4.4)

COMx - Online AC500 31 (3.4.2)

CS31-Bus in AC500 35 (3.4.6)

D

Deklaration gepufferter Variablen der AC500 52 (4.3.2)

Deklaration von Konstanten der AC500 52 (4.3.2)

Diagnosesystem der AC500 55 (5.1.1)

Diagnosesystem der AC500 - Aufbau der Fehlernummern 57 (5.2)

Diagnosesystem der AC500 – Bausteine 64 (5.3)

Download AC500 48 (4.1)

E

E/A-Erweiterung (dezentral) AC500 34 (3.4.5)

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 119 CPUs AC500 / Stand: 08.2005

Echtzeituhr der AC500 83 (8.1)

Eingänge AC500 16 (2.2)

Eingänge und Ausgänge der AC500 im Multitasking-System 17 (2.3)

Eingänge, Ausgänge und Merker in AC500 13 (2)

Ethernet-Treiber der AC500 95 (10.4)

Ex- und Import der Steuerungskonfiguration der AC500 23 (3.1.2)

Externer Koppler der AC500 45 (3.6.2)

F

FBP Interface AC500 37 (3.5)

Fehlerkennung im Diagnosesystem der AC500 58 (5.2.2)

Fehlerklassen im Diagnosesystem der AC500 58 (5.2.1)

Fehlernummern im Diagnosesystem der AC500 60 (5.2.3)

Flash der AC500 – Datenablage 82 (7.1)

I

Interner ARCNET-Kopplöer der AC500 42 (3.6.1.2)

Interner Ethernet-Koppler der AC500 40 (3.6.1.1)

Interner Koppler der AC500 40 (3.6.1)

K

Kaltstart AC500 47 (4.1)

Konfiguration der externen Koppler der AC500 45 (3.6.2)

Konfiguration der FBP-Slave-Schnittstelle der AC500 37 (3.5)

Konfiguration der Koppler in AC500 39 (3.6)

Konfiguration der seriellen Schnittstellen der AC500 30 (3.4)

Konfiguration des I/O-Busses der AC500 27 (3.3.1)

Konfiguration des internen ARCNET-Kopplers der AC500 42 (3.6.1.2)

Konfiguration des internen Ethernet-Kopplers der AC500 40 (3.6.1.1)

Konfiguration des internen Kopplers der AC500 40 (3.6.1)

Koppler (extern) der AC500 45 (3.6.2)

Kopplerkonfiguration der AC500 39 (3.6)

M

Merker AC500 18, 20 (2.4.1, 2.4.3)

Modbus AC500 33 (3.4.4)

Modbus RTU in AC500 – Adresstabelle 104 (11.4.1)

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 120 CPUs AC500 / Stand: 08.2005

Modbus RTU in AC500 – Fehlertelegramme 116 (11.5)

Modbus RTU in AC500 – Protokollbeschreibung 102 (11.1)

Modbus RTU in AC500 –Telegramme 109 (11.5)

O

Online AC500 31 (3.4.2)

Online Change AC500 48 (4.1)

P

PLC-Browser-Kommandos der AC500 64 (5.4)

Programmierung der AC500 - Online-Zugänge 86 (10.1)

Pufferung von Daten der AC500 48, 50 (4.1, 4.3.1)

R

Reset (Kalt) AC500 47 (4.1)

Reset (Ursprung) AC500 47 (4.1)

Reset AC500 47 (4.1)

RUN -> STOP AC500 47 (4.1)

S

Schnelle Zähler der AC500 – Übersicht 85 (9.1)

SD-Karte der AC500 – Dateistruktur 68 (6.2.1)

SD-Karte der AC500 – Fehlermeldungen 81 (6.7)

SD-Karte der AC500 – Firmwareupdate 79 (6.6)

SD-Karte der AC500 – Initialisierung 70 (6.2.3)

SD-Karte der AC500 - Laden des Anwenderprogrammes 71 (6.3.2)

SD-Karte der AC500 - PLC-Browser-Kommandos 67 (6.1.2)

SD-Karte der AC500 - Speichern des Anwenderprogrammes 71 (6.3)

SD-Karte der AC500 - Speichern/Laden von gepufferten Daten 79 (6.5)

SD-Karte der AC500 - Speichern/Lesen von Anwenderdaten 72 (6.4)

SD-Karte der AC500 – Übersicht 67 (6.1.1)

Serieller Treiber der AC500 87 (10.2)

START -> STOP AC500 47 (4.1)

Start des Anwenderprogrammes der AC500 49 (4.2)

Steuerungskonfiguration der AC500 23 (3.1.1)

Steuerungskonfiguration der AC500 - CPU-Parameter 25 (3.2)

Steuerungskonfiguration der AC500 – Standardeinstellung 24 (3.1.3)

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 121 CPUs AC500 / Stand: 08.2005

STOP -> RUN AC500 48 (4.1)

STOP -> START AC500 48 (4.1)

T

Taskkonfiguration der AC500 54 (4.5)

U

Uhr der AC500 83 (8.1)

W

Warmstart AC500 47 (4.1)

Z

Zielsystem AC500 6 (1.1)

Zykluszeit der AC500 53 (4.4.3)

____________________________________________________________________________________________________________

G7 AC500-Systemtechnik 122 CPUs AC500 / Stand: 08.2005