Sie sind auf Seite 1von 7

Datenkommunikation ber CANopen mit Wago I/O-750 Controller 837

CANopen mit WAGO-I/O-750


1. Hardware

Das Unternehmen WAGO bietet in der Produktreihe I/O-75X vielseitige Mglichkeiten fr die Kommunikation
ber CANopen an.
Fr das Busklemmensystem I/O-750 gibt es die Kommunikationsmodule:
- Feldbuskoppler fr CANopen
o 750-307
o 750-337
o 750-338
- ECO-Feldbuskoppler fr CANopen
o 750-347
o 750-348
- Programmierbare Feldbus-Controller fr CANopen
o 750-837
o 750-837/020-000
o 750-837/021-000
o 750-838
o 750-838/020-000
o 750-838/021-000
Auch beim System I/O-752 ist eine Vernetzung mit I/O-Module fr CANopen mglich:
o I/O-Modul 752-327
o I/O-Modul 752-827
o I/O-Modul 752-828

Feldbuskoppler bieten eine einfache Anbindung der Busklemmen an den CAN-Bus. Die ECO-Feldbuskoppler
sind fr weniger komplexe Signale und eine erhhte Dezentralisierung geeignet, wohingegen die
programmierbaren Feldbus-Controller einen Programm- und Datenspeicher bieten, um Applikationen ausfhren
zu knnen. Darber hinaus knnen sie das Netzwerkmanagement bernehmen.

Fr die Projektarbeit standen zwei Feldbuscontroller vom Typ 750-837 zur Verfgung.

2. Parametrierung der Hardware

Zur Parametrierung der CAN-Controller WAGO-I/O-750-837 mssen lediglich die Hardware-Adresse und die
Baudrate am Feldbus-Controller eingestellt werden.
Dies geschieht ber den roten DIP-Schalter, welcher neben der CAN-Steckverbindung angebracht ist
(siehe Abb. 1).

Abb. 1: CANopen-Controller 837

2.1. Einstellung der Baudrate

Um die Baudrate einzustellen (Werkseinstellung: 125kB/s) mssen im ausgeschalteten Zustand alle 8 DIP-
Schalter in OFF-Stellung sein. Nach dem Zuschalten der Spannungsversorgung ist der Feldbus-Controller dann
im Konfigurationsmodus. Nun kann mit DIP1 bis DIP4 die Baudrate nach Tabelle eingestellt werden.

Auszge aus der Projektarbeit "Darstellung der Datenkommunikation ber CANopen mit Wago I/O-750-837"
Autoren: Kai Fieber und Ronny Kaufhold FH Schmalkalden 30.01.08 Seite 1
Datenkommunikation ber CANopen mit Wago I/O-750 Controller 837

Die eingestellte Baudrate wird gespeichert, indem der Schalter 8 in ON-Stellung gebracht wird. Der Feldbus-
Controller untersttzt Baudraten von 10kB/s bis 1MB/s. Beim Einstellen der Rate sollte man das verwendete
Buskabel und die Lnge beachten.

2.2. Einstellung der Hardware-Adresse

Nachdem die gewnschte Baudrate eingestellt ist, wird die Spannungsversorgung wieder abgeschaltet. Nun muss
ber denselben DIP-Schalter die Adresse eingestellt werden. Der Controller untersttzt einen Adressbereich von
1 bis 127. DIP1 bis DIP8 reprsentieren dabei die Bits 0 bis 7. Um zum Beispiel die Adresse auf 1 zu setzen,
muss DIP1 in ON-Stellung sein und fr die Adresse 127 muss DIP7 in ON-Stellung sein. Nachdem die Adresse
eingestellt ist, wird die Spannung wieder zugeschaltet. In der Initialisierungsphase bernimmt der Controller
dann die gesetzte Adresse.

3. Bibliotheken und Bausteine fr CoDeSys

3.1. Bibliotheken

Zur Programmierung des CANopen Feldbus-Controller 750-837 steht die Bibliothek CiA405.lib von der Firma
WAGO zur Verfgung. Diese kann im Programmiersystem CoDeSys verwendet werden. Da diese Bibliothek fr
die Anbindung von Feldbuskopplern entwickelt ist, untersttzt sie keine Netwerkvariablen, welche eine
komfortablere Programmierung ermglichen wrden. So kann die Applikation nur auf die Werte der Bus-
klemmen zugreifen, welche auf Adressen im Controller abgebildet werden.
Um Netzwerkvariablen nutzen zu knnen, gibt es eine kostenpflichtige Bibliothek von der Firma 3S-Software.
Diese stand nicht zur Verfgung.

3.2. Bausteine

In diesem Abschnitt werden nur die Bibliotheksbausteine beschrieben, die fr die Applikation erforderlich sind.
Fr ausfhrliche Informationen zur Funktionalitt der Bibliothek CiA405.lib sind die entsprechenden
Handbcher heranzuzuiehen.

NMT_ADDNODE Mit diesem Baustein werden die an den CAN-Bus angeschlossene


Gerte in die interne Netzwerkliste eingetragen. Dies ist notwendig, um
die Guarding-berwachung fr dieses Gerte zu aktivieren und um
Emergency-Nachrichten empfangen zu knnen. Der Parameter NODE
vom Typ BYTE ist die Adresse des Gertes, welches hinzugefgt
werden soll. GUARDTIME vom Typ WORD (in Millisekunden) multi-
pliziert mit LT_FACTOR vom Typ BYTE bestimmen das Timeout,
nachdem im Fehlerfall eine Emergency-Nachricht versendet wird. Wird
ENABLE auf TRUE gesetzt, dann wird die Funktion ausgefhrt.
Anschlieend wird CONFIRM auf TRUE gesetzt und ERROR vom Typ
CAN_FRAME_ERROR zeigt aufgetretene Fehler an.

Auszge aus der Projektarbeit "Darstellung der Datenkommunikation ber CANopen mit Wago I/O-750-837"
Autoren: Kai Fieber und Ronny Kaufhold FH Schmalkalden 30.01.08 Seite 2
Datenkommunikation ber CANopen mit Wago I/O-750 Controller 837

NMT_SLAVE_IN_NW_LIST

Mit diesem Baustein wird berprft, ob nach dem Ausfhren der


Funktion NMT_ADDNODE sich das Gert wirklich in der
internen Netzwerkliste befindet. NODE vom Typ BYTE ist die
Gerteadresse, und CONFIRM wird auf TRUE gesetzt, wenn sich
das Gert in der Liste befindet.

NMT_CHANGE_STATE

Um den Status eines Gertes zu ndern, ist dieser Baustein ntig. In


der Applikation wird dieser verwendet um die Controller in den
Operational-Modus zu versetzen, damit SDOs und PDOs
bertragen werden knnen. NODE ist wieder die Gerteadresse und
STATE vom Typ DEVICE_STATE gibt den Zustand vor, in den
gewechselt werden soll (z.B. SET_OPERATIONAL).

4. Beispielhafte Applikation

4.1. Programmiermglichkeiten nach IEC 61131-3

Die Programmierung der Controller nach IEC 61131-3 erfolgte mit der Software WAGO IO PRO 32 V2.2 , da
es mit neueren Versionen der CoDeSys-Software Kompatibilittsprobleme gab. Die jeweilige Kompatibilitt von
Firmware-Version, Hardware-Version und den Versionen der Targets sowie der EDS-Dateien sind
ausschlaggebend fr den Erfolg! Nach folgende Tabelle zeigt die Mglichkeiten auf.

4.2 Laboraufbau

Fr die beispielhafte Darstellung der Kommunikation ber CANopen dient ein Versuchsaufbau von zwei mit
CAN-Bus verbundenen Trainingsracks mit je einem Controller 750-837 und I/O-Klemmen sowie zwei
angeschlossen Spindelantrieben als Technologiemodell (siehe Praktikum Simatic S7 oder Praktikum CoDeSys).
Davon arbeitet ein Antrieb als Master in dem Sinne, dass er ber das Tastenfeld des Racks direkt im Links-
und Rechtslauf gesteuert werden kann. Der andere Antrieb arbeitet als Slave in Abhngigkeit vom Master-
Antrieb.

4.3. Programmstruktur

In der Beispielapplikation gibt es zwei Betriebsmodi. Diese knnen nach der Initialisierung des Busses und der
Grundstellungsfahrt beider Antriebe mit dem Kippschalter am Master ausgewhlt werden.
Im Modus Synchronfahr fhrt der Slave-Antrieb synchron mit dem Master-Antrieb. Im Modus
Positionierfahrt kann der Master-Antrieb in eine beliebige Position gefahren werden, welche mit dem

Auszge aus der Projektarbeit "Darstellung der Datenkommunikation ber CANopen mit Wago I/O-750-837"
Autoren: Kai Fieber und Ronny Kaufhold FH Schmalkalden 30.01.08 Seite 3
Datenkommunikation ber CANopen mit Wago I/O-750 Controller 837

Lagegeber erfasst wird. Nach 5 Sekunden fhrt der Slave-Antrieb dann in die gleiche Position (siehe
Ablaufplan Abb. 2 und Befehlsgeber Abb. 3).

Abb. 2: Programmablaufplan der Applikation

Befehlsgeber am Rack

LED Verfahren LED Verfahren Taster


nach links nach rechts Start

Steuerpult LED Anlage


eingschaltet

Taster Verfahren Taster Verfahren Positionsfahrt


Umschalter Taster Taster Anlage
nach links nach rechts Anlage ein aus
Synchronfahrt

Abb. 3: Befehlsgeber

Auszge aus der Projektarbeit "Darstellung der Datenkommunikation ber CANopen mit Wago I/O-750-837"
Autoren: Kai Fieber und Ronny Kaufhold FH Schmalkalden 30.01.08 Seite 4
Datenkommunikation ber CANopen mit Wago I/O-750 Controller 837

5. Umsetzung der Applikation

Hinweis: Die erstellten Programmdateien mit Namen


Master-Anrieb.pro und Slave-Antrieb.pro
sowie die Bibliothek cia405.lib knnen hier heruntergeladen werden.
Zu beachten ist, dass vor einem Nachvollziehen der Funktion die Hardware konfiguriert und
erforderliche Bibliotheken in das Projekt eingefgt werden mssen.

Als Programmiersprache wurde AS (Ablaufsprache) gewhlt, um grte bersichtlichkeit des Programms zu


gewhrleisten.
Im nachfolgend erluterten Programm des Slave-Antriebs wurden die CANopen-Kommunikation und die
beiden Betriebsarten umgesetzt.

Im Init-Schritt wird die Initialisierung des CANopen-Busses vorgenommen. Dazu wird der zweite Controller in
die Netzwerkliste eingefgt. Der Controller wird in den Operational-Zustand versetzt, um die PDOs nutzen zu
knnen (Abb. 4).

Die Initialisierung im Programm des Master-Antriebs findet analog statt. Entsprechend ist dort die Knoten-ID
gendert.

Abb. 4: Init-Schritt

Die Variable confirmed dient als Weiterschaltbedingung zum Schritt "AnlageEin".


Im Schritt AnlageEin wird der Ein-Taster des Master-Antriebes abgefragt (Abb. 5).

Abb 5: Programmdetail "Anlage Ein"


Die Adresse %IB512 ist die Startadresse des Prozessabbildes der Busklemmen, welche byteweise organisiert ist.
Das 0. Bit entspricht dem Zustand des Ein-Tasters und das 1. Bit dem Zustand des Aus-Tasters. Mit dem

Auszge aus der Projektarbeit "Darstellung der Datenkommunikation ber CANopen mit Wago I/O-750-837"
Autoren: Kai Fieber und Ronny Kaufhold FH Schmalkalden 30.01.08 Seite 5
Datenkommunikation ber CANopen mit Wago I/O-750 Controller 837

Funktionsblock EXTRACT wird jeweils das n-te Bit eines Bytes abgefragt. Die Reihenfolge der Adressierung
der Busklemmen im Prozessabbild entspricht derselben Reihenfolge wie die physikalische Adressierung.

Hinweis: An dieser Stelle ist zu bemerken, das die Bearbeiter die weniger bliche rogrammierung mit
absoluten Adressen derjenigen mit Variablen wie z.B. Eingangsbyte_0 AT %IB512:BYTE; vorgezogen
haben.
Das mit neueren Versionen bliche Ansprechen einzelner Bits solcher Variablen wie z.B.
Eingangsbyte_0.1 wre im Rahmen dieser Software und Bibliotheken allerdings nicht mglich. Vielmehr
muss zum Selektieren von Bits der Baustein EXTRACT eingesetzt werden.

In der darauf folgenden Transition (Abb. 6) wird der Start-Taster als 4. Bit abgefragt.

Abb 6: Programmdetail "Anlage Start"


Anschlieend fahren beide Antriebe in die Grundstellung (linke Endlage). In der Grundstellung folgt die Abfrage
des Kippschalters, welcher den Modus bestimmt (Abb. 7).

Abb.7: Programmdetail "Moduswahl"

Im Synchron-Modus werden die beiden Taster fr Linkslauf und Rechtslauf des Master-Antriebes abgefragt
und direkt zur Motorsteuerung verwendet (Abb. 8).

Abb. 8: Programmdetail "Synchron-Modus"

Im Modus fr die Positionierfahrt muss der Wert des analogen Lagegebers des Master-Antriebes ermittelt
werden. Da der Analogeingang ein Word umfasst und das Prozessabbild aber nur in Bytes organisiert ist, wird
der Wert des Lagegebers in zwei Byte aufgeteilt. Um den Wert nutzen zu knnen, mssen die Bytes dann wieder
zu einem Word zusammengefasst werden (Abb. 9).

Abb. 9: Programmdetail "Bytes-To-Word"

Auszge aus der Projektarbeit "Darstellung der Datenkommunikation ber CANopen mit Wago I/O-750-837"
Autoren: Kai Fieber und Ronny Kaufhold FH Schmalkalden 30.01.08 Seite 6
Datenkommunikation ber CANopen mit Wago I/O-750 Controller 837

Hierzu wird das hherwertige Byte (%IB515) zweimal mit der Hex-Zahl 10 multipliziert, um zwei Nullen
anzuhngen. Anschlieend wird das niederwertige Byte (%IB514) addiert.
Zum Beispiel:
%IB515 = 16#12
%IB514 = 16#34
16#12 * 16#10 = 16#120
16#120 * 16#10 = 16#1200
16#1200 + 16#34 = 16#1234

Hinweis: Hier ist zu hinterfragen, ob die Anwendung des Schiebebefehls eine elegantere Lsung
ermglichen wrde!

Zum Schluss wird der Zustand des Aus-Tasters abgefragt um die Anlage wieder auszuschalten (Abb. 10).

Abb. 10: Programmdetail "Anlage Aus"

6. Zusammenfassung

Fr die Kommunikation zwischen zwei Controllern 837 ist besonders zu beachten:


- an allen Busteilnehmern die gleiche Baudrate in Abhngigkeit des Kabels und der Buslnge einstellen
- jedem Gert eine im Netzwerk einmalige Adresse zuweisen (Adressraum: 1 bis 127), die Adresse 1
sollte der Netzwerkmanager bekommen
- alle Gerte an den Bus anschlieen
- Abschlusswiderstnde installieren
- die Bibliothek CiA405.lib in das Programm einbinden
- die angeschlossenen Gerte per Bibliotheksbaustein in die Netzwerkliste des Managers eintragen
- alle Gerte in der Applikation in den Operational-Modus setzen
- Wegen der Orientierung der Bibliothek auf Controller-Koppler-Systeme ist der Zugriff auf
Busklemmen nur auf CAN-Gerte mit "niederwertiger" Adressen mglich. Zum Beispiel kann das
Gert mit der Adresse 2 auf die Adresse 3, nicht aber auf die Adresse 1 zugreife

7. Literatur

http://de.wikipedia.org/wiki/Controller_Area_Network
http://www.can-cia.org/
http://www.semiconductors.bosch.de/en/20/can/1-about.asp
http://www.canopensolutions.com/
http://www.feldbusse.de/CanOpen/canopen.htm/
http://www.wago.com/
Handbuch zum Controller 750-837, m083700d.pdf
Handbuch zur Bibliothek CIA405.lib, m912215d.pdf
CANdictionary 3rd edition, Mrz 2006, can_dictionary30.pdf
Praktikum Grundlagen der Automatisierungstechnik, Praktikum_Spindelantrieb.doc

Auszge aus der Projektarbeit "Darstellung der Datenkommunikation ber CANopen mit Wago I/O-750-837"
Autoren: Kai Fieber und Ronny Kaufhold FH Schmalkalden 30.01.08 Seite 7