Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der...

170
Schulungshandbuch 2 R Einführung in die Arbeit mit CAN für CoDeSys ab Version 2.3

Transcript of Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der...

Page 1: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Schulungshandbuch 2

R

Einführung in die Arbeit mit CAN

für CoDeSys ab Version 2.3

Page 2: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Schulungshandbuch 2 ecomatmobile Typ R 360

weitere Informationen finden Sie bei www.ifm-electronic.com

______________________________________________________________________________

Schulungshandbuch 2 Einführung in die Arbeit mit CAN Stand 11/2006

Hinweis zur Gewährleistung

Dieses Handbuch wurde unter Beachtung der größtmöglichen Sorgfalt erstellt. Gleichwohl kannkeine Garantie für die Richtigkeit des Inhalts übernommen werden.

Da sich Fehler trotz intensiver Bemühungen nie vollständig vermeiden lassen, sind wir für Hinweisejederzeit dankbar.

Im übrigen behalten wir uns technische Änderungen der Produkte vor, so dass sich auch soweitAbweichungen vom Inhalt des Handbuches ergeben können.______________________________________________________________________________

Page 3: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

IR

Was in dieser Anleitung stehtSchulungshandbuch 2 .......................................................................11 Was Sie wissen sollten ..............................................................1-1

1.1 Benötigte Vorkenntnisse ...................................................................... 1-11.2 Aufbau der Anleitung ............................................................................ 1-2

So finden Sie sich zurecht .................................................................................................... 1-2

Zum Inhalt ............................................................................................................................... 1-3

Übersicht zur Dokumentation............................................................................................... 1-4

1.3 Einleitung ............................................................................................... 1-5CAN mobil ............................................................................................................................... 1-5

Hardware................................................................................................................................. 1-6

2 CAN..............................................................................................2-12.1 Einführung ............................................................................................. 2-1

Vorgeschichte und Begriffe .................................................................................................. 2-1

Normen, Spezifikationen, Profile.......................................................................................... 2-2

Kommunikation und Fernwartung ....................................................................................... 2-3

2.2 Die physikalische Verbindung ............................................................. 2-42.3 Frames.................................................................................................... 2-7

Struktur ................................................................................................................................... 2-7

Fehlersicherung ..................................................................................................................... 2-9

2.4 Broadcast............................................................................................. 2-102.5 CANopen .............................................................................................. 2-12

Warum CANopen? ............................................................................................................... 2-12

Schichtenmodell .................................................................................................................. 2-13

Kommunikation .................................................................................................................... 2-16

CANopen Netzwerk .............................................................................................................. 2-17

Synchronisation ................................................................................................................... 2-19

NMT........................................................................................................................................ 2-21

Überwachung des Netzwerks ............................................................................................. 2-25

Fehlerbehandlung bei CANopen ........................................................................................ 2-26

Übersicht Objekte und Identifier ........................................................................................ 2-27

3 CAN Praxis I Freies Protokoll ....................................................3-13.1 Kommunikation zweier Steuerungen................................................... 3-1

Page 4: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

II Schulungshandbuch 2 ecomatmobile Typ R 360

Vorbereitung ...........................................................................................................................3-1

Konfiguration..........................................................................................................................3-2

Bibliotheken............................................................................................................................3-4

Die Bausteine..........................................................................................................................3-6

3.2 Programmtest online........................................................................... 3-17Start .......................................................................................................................................3-17

Kommunikation 1 .................................................................................................................3-18

Kontrolle der Kommunikation.............................................................................................3-23

Modifikation 1 .......................................................................................................................3-28

Visualisierungen 1................................................................................................................3-30

Kommunikation 2 .................................................................................................................3-34

Netzwerkvariable ..................................................................................................................3-49

Diagnose ...............................................................................................................................3-58

4 CAN Praxis II CANopen ............................................................. 4-14.1 Kommunikation mit E/A Modul............................................................. 4-1

Vorbereitung der Steuerung .................................................................................................4-1

E/A-Modul................................................................................................................................4-3

4.2 Diagnose .............................................................................................. 4-12CANview und CanMon.........................................................................................................4-12

CanMon und Layer 2 ............................................................................................................4-29

4.3 Fehlerbehandlung................................................................................ 4-31Fehler im System..................................................................................................................4-31

Fehlerdiagnose.....................................................................................................................4-32

4.4 Beispiel Modell Fräse .......................................................................... 4-33Aufgabenstellung.................................................................................................................4-33

Programmstruktur................................................................................................................4-34

Adressierung ........................................................................................................................4-35

Konfiguration........................................................................................................................4-36

Programm .............................................................................................................................4-38

5 Übersicht LED-Anzeigen ........................................................... 5-15.1 Steuerung............................................................................................... 5-15.2 E/A-Module............................................................................................. 5-3

CR2013 ....................................................................................................................................5-3

5.3 Spezielle Module.................................................................................... 5-4

Page 5: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

IIIR

CR2101 (Neigungssensor 2 Achsen) ................................................................................... 5-4

6 Anhang ........................................................................................6-16.1 Glossar ................................................................................................... 6-16.2 Grundbegriffe und Konzepte von CoDeSys........................................ 6-26.3 Kurzanleitung CoDeSys........................................................................ 6-4

Wozu?...................................................................................................................................... 6-4

Konfigurationen ..................................................................................................................... 6-6

Verknüpfungen..................................................................................................................... 6-10

6.4 Buttons................................................................................................. 6-12Dateifunktionen .................................................................................................................... 6-12

Online-Funktionen ............................................................................................................... 6-13

Allgemeine Editierfunktionen ............................................................................................. 6-14

Editierfunktionen für AS...................................................................................................... 6-14

Editierfunktionen für KOP................................................................................................... 6-15

Editierfunktionen für FUP.................................................................................................... 6-16

Funktionen für die Traceaufzeichnung.............................................................................. 6-17

Funktionen für die Visualisierung ...................................................................................... 6-18

7 Index ............................................................................................7-1

Page 6: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht
Page 7: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

1-1R

1 Was Sie wissen sollten

In diesem Kapitel wird Ihnen ein Überblick über folgende Punkte gegeben:

Welche Vorkenntnisse sind notwendig, um mit dieser Anleitung arbeiten zukönnen?

Wie ist diese Anleitung aufgebaut?

Wie finden Sie sich in der Anleitung zurecht?

Welche Informationen Sie in dieser Anleitung finden.

Wozu diesesHandbuch?

Jeder Anwender kennt das Problem: neue Software und neue Hardware. Manstößt auf viele unbekannte Punkte, die am Anfang viel Zeit und damit Geldkosten.

Für wen? Dieses Handbuch ist zur Einführung und zum Lernen für Anwender des Steue-rungssystem ecomat mobile vorgesehen. Dieses System wurde speziell für dieAnforderungen im mobilen Einsatz konzipiert. Damit gelangt man zwangsläufigzum Thema CAN, weil sich dieses Bussystem quasi zum Standard für mobileAnwendungen bei Steuerungssystemen entwickelt hat (siehe 1-5 ff).

Wenn häufiger mit dem System gearbeitet wird, dann gibt es Arbeitsschritte, diesich immer wiederholen. Man beschäftigt sich nicht mehr damit, wie ein CAN-Funktionsbaustein aus einer Bibliothek eingebunden wird oder wie Variable de-klariert werden sondern konzentriert sich auf den zu steuernden Prozess.

Das vorliegende Handbuch ist zur Einführung gedacht und beschreibt deshalbsehr ausführlich, Schritt für Schritt, das Vorgehen bei der Programmerstellungund den Umgang mit dem CAN-Bus. Es hat zum Ziel, sich überflüssig zu ma-chen

1.1 Benötigte VorkenntnisseDieses Schulungshandbuch richtet sich an Personen, die über Kenntnisse derSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowieder Software CoDeSys verfügen.

Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht auch noch ausführlichauf die Grundlagen von CoDeSys , der Software zur Programmierung der Steu-erung eingegangen werden. Es muss also vorausgesetzt werden, dass schonErfahrungen mit der Programmiersoftware vorliegen und die Grundbegriffe be-kannt sind. Wer schon Erfahrungen mit einer Software gemäß IEC 61131-3 hat,dem sollte es auch nicht schwer fallen, mit dem Handbuch zu arbeiten. Einigekurze Informationen dazu stehen im Anhang.

Mit dem Handbuch zum Starterset oder dem Schulungshandbuch 1 lassen sichdie Vorkenntnisse wieder auffrischen.

Page 8: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Aufbau der Anleitung

1-2 Schulungshandbuch 2 ecomatmobile Typ R 360

Es kann ebenfalls nicht ausführlich auf die Grundlagen von Bus-Systemen all-gemein und CAN im besonderen eingegangen werden. Dazu muss auf Literaturverwiesen werden. Eine kurze Übersicht mit ausgewählten Themen, die bei derProgrammierung von ecomat-Systemen von Bedeutung sind, folgt in 2. Weiter-gehende Informationen sind auch bei www.can-cia.org erhältlich.

Es sind Kenntnisse über Zahlensysteme, speziell das Hexadezimalsystem, er-forderlich. Wer schon Erfahrungen in der SPS-Programmierung hat, für dendürfte das nichts neues sein.

1.2 Aufbau der AnleitungDieses Handbuch ist eine Lernanleitung für den Einsteiger. Mit zunehmenderErfahrung können immer mehr Zwischenschritte übersprungen werden.

So finden Sie sich zurechtUm Ihnen die Arbeit mit diesem Handbuch etwas einfacher zu machen, habenwir einige Hilfen für Sie eingebaut.

Um gezielt zu einem bestimmten Thema zu gelangen, benutzen Sie bitte dasInhaltsverzeichnis dieses Handbuchs.

Mit dem Stichwortverzeichnis gelangen Sie ebenfalls schnell zu einem gesuch-ten Begriff.

Am Anfang eines Kapitels geben wir Ihnen eine kurze Übersicht über den Inhaltdes Kapitels.

Kopfzeilen In der Kopfzeile jeder rechten Seite finden Sie den Titel des aktuellen Kapitels.Auf jeder linken Seite steht die aktuelle Überschrift der 2. Ordnung.

Fußzeilen In der Fußzeile jeder Seite finden Sie die kapitelbezogene Seitenzahl..

selektivesLesen

In der Randspalte finden Sie Anmerkungen, die Ihnen das Finden bestimmterAbschnitte erleichtern.

Dort finden Sie auch Piktogramme und Markierungen, deren Bedeutung nach-folgend erläutert werden soll.

Page 9: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Was Sie wissen sollten

1-3R

Achtung Abschnitte, die mit diesem Piktogramm gekennzeichnet sind, enthalten sicher-heitsrelevante Informationen. Lesen Sie diese Abschnitte bitte besonders auf-merksam.

DerHinweispfeil

Hier werden Ihnen wichtige Hinweise gegeben, die Ihnen beim richtigen Um-gang mit dem ecomat mobile helfen sollen.

'Projekt''Optionen'

Auf diese Weise wird beschrieben, unter welchem Menüpunkt bestimmte Funk-tionen zu finden sind.

Eingaben, die so abgetippt werden können, wie sie im Text stehen, werdendurch eine andere Schriftart gekennzeichnet.

Das Recyclingsymbol zeigt an, dass die Informationen nicht nur für das ThemaCAN von Bedeutung sondern auch in ganz anderen Zusammenhängen nützlichsind. Das sind z. B. Hinweise für eine übersichtliche Programmstruktur, Tippsund Tricks für die Programmierung usw.

Abschnitte, die gegebenenfalls übersprungen werden können, z. B. weil dieseSchritte nur einmalig ausgeführt werden müssen, sind durch Pfeile am linkenRand für Anfang und Ende gekennzeichnet.

Links Es ist etwas mühsam, ein Handbuch in Dateiform, am Monitor, durchzuarbei-ten. Zu Beginn wird meist die ausgedruckte Form bevorzugt. Wenn man aberschon etwas vertraut damit ist, und z. B. nur etwas nachschlagen möchte, dannerleichtern die Links die Navigation im Dokument. Durch einen Klick auf denLink (z. B. siehe Abbildung 121 oder siehe Anhang) gelangt man sofort an dieentsprechende Stelle. Auf die übliche Weise, durch Klick auf (zurück), ge-langt man wieder auf die vorherige Position.

[CiA] Bei Informationen oder Grafiken, die einer bestimmten Quelle entnommen wur-den, ist die Quelle in eckigen Klammern angegeben. Wie oben erwähnt, sindInformationen, die von CiA stammen, auch unter www.can-cia.org zu finden.

Zum Inhalt

Diese kurze Übersicht soll bei der Arbeit mit diesem Handbuch helfen.

Was Sie wissensollten

wozu (Zielsetzung), Voraussetzungen, Hardware, Inhaltsübersicht, Schreib-weise

CAN Kurzübersicht

CANopen Beispiel zum Verständnis des Konzepts von CANopen

CAN Praxis Beispiele zum Aufbau von Systemen aus Steuerungen, E/A-Modulen und wei-teren Komponenten

Page 10: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Aufbau der Anleitung

1-4 Schulungshandbuch 2 ecomatmobile Typ R 360

Anhang Glossar: wichtige Begriffe und Abkürzungen

Kurzbeschreibung von ecolog 100plus ("Kochbuch")

Buttons: häufig benutzte Funktionen können über Buttons in der Funktionsleisteaufgerufen werden.. Das geht schneller als die Suche in Untermenüs.

Index zum Nachschlagen von Stichworten

Übersicht zur DokumentationDas System ecomat mobile besteht aus einer Familie von Steuerungen, diesich durch ihre Hardwareeigenschaften unterscheiden. Um sich mit dem Kon-zept des R360 und dessen Programmierung vertraut zu machen, hat sich dasStarterset bewährt. Um damit arbeiten zu können, genügt das Starterset Hand-buch (neben der Software von der Installations-CD und der Hardware). Fürweitergehende Informationen stehen noch zusätzliche Unterlagen zur Verfü-gung.

Kurzbeschreibung des Startersets

Handbuch zur Programmerstellung mit ecolog 100plus

Softwarebeschreibung

(ist als PDF-Datei auf der Installations-CD gespeichert)

Systemhandbuch ecomat 100 Typ R360

Technische Beschreibung, hardwarespezifische Funktionsblöcke

(ist als PDF-Datei auf der Installations-CD gespeichert)

Katalog

Übersicht der Geräte mit Datenblättern

Montage- und Installationshinweise

hardwarespezifisch, werden mit dem Gerät ausgeliefert

Schulungshandbuch

Einführung Schritt für Schritt

www.ifm-electronic.com

Jedes Printmedium wie dieses Handbuch ist früher oder später veraltet; wennman sich das Tempo des technischen Wandels vor Augen hält, eher früher.Das gilt natürlich auch für Hard- und Software. Den jeweils aktuellen Standfinden Sie an der links angegebenen Adresse im Internet. In der Regel stehendort Updates der Software und die aktuelle Version der Dokumentation zumHerunterladen bereit.

Page 11: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Was Sie wissen sollten

1-5R

1.3 Einleitung

CAN mobilBussysteme Der Vorteil, den Bussysteme gegenüber aufwendiger Parallelverdrahtung mit

umfangreichen Kabelbäumen bieten, hat dazu geführt, dass sie in derAutomatisierungstechnik in immer größerem Maße eingesetzt werden. Das wirdhier nicht weiter ausgeführt. Natürlich sind sie auch für den mobilen Bereichinteressant. Man braucht dabei nicht nur an erhöhten Komfort im PKW zudenken. In Spezialfahrzeugen müssen ganz unterschiedliche Prozessegesteuert werden, siehe unten.

Fahrzeug Im Fahrzeug werden immer mehr elektronische Bausteine eingesetzt. Das sollnur kurz an Beispielen illustriert werden:

EDC elektronische Dieseleinspritzung

ASR Antischlupfregelung

MSR Drehmomentregelung

Retarder Dauerbremse ohne Fadingeffekt

ABS Antiblockiersystem

Damit werden steigende Ansprüche an Wirtschaftlichkeit, Sicherheit und Kom-fort befriedigt. Der Platz des Fahrers wird dabei zur audiovisuellen Kommando-zentrale.

Mobil Die Anforderungen an ein Bussystem im Fahrzeug sind aber anders, eher här-ter, als bei einer Anwendung z. B. in einer Fabrikhalle mit einigermaßen kon-trolliertem Klima. Das spricht gerade dafür, CAN, das ja speziell für Fahrzeugekonzipiert wurde, auch für die Vernetzung weiterer Komponenten, die auf Fahr-zeugen eingesetzt werden, zu verwenden. Dieses System ist also schon diesenspeziellen Anforderungen angepasst. Ein weiterer Vorteil ist, dassInformationen aus der Fahrzeugsteuerung bei der mobilen Maschinensteuerungganz einfach, ohne weitere Umsetzung, verwendet werden können. Es ist z. B.sinnvoll, bei einer mobilen Anlage für Tiefbohrungen abzufragen, ob dieBremsen angezogen sind (Fahrzeugsteuerung), bevor die Lage über einenNeigungssensor abgefragt und der Bohrer in Betrieb genommen wird. DerFahrzeughersteller muss dazu dokumentieren, wie diese Information (undandere, z. B. Motortemperatur) zugänglich sind.

Damit unterschiedliche Komponenten zuverlässig und störungsfrei kommunizie-ren können, ist eine gewisse Standardisierung notwendig. Für Nutzfahrzeugegibt es z. B. die SAE J1939 (siehe Seite 2-2).

Zur Veranschaulichung sollen hier kurz einige Beispiele aufgeführt werden, woüberall die SPS ecomat 100 Typ R360 der ifm electronic, die auch, wegen ihrerspezifischen Eigenschaften, als Mobilsteuerung bezeichnet werden kann, alsCAN-Systeme im Einsatz sind.

Personenwagen

Busse im ÖPNV

Page 12: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Einleitung

1-6 Schulungshandbuch 2 ecomatmobile Typ R 360

LKW

Forstmaschinen

Passagierschiffen und Fähren

Landwirtschaftliche Systeme

Eisenbahn

Maschinensteuerung (mobil)

Medizintechnik

Motorsport Audi R8 3facher Gewinner des 24-Stundenrennen von Le Mans, max. Ge-schwindigkeit 340 km/h ausgerüstet mit C167 Mikrokontrollern für das Motor-management über CAN

Der Einsatz im Fahrzeug legt es nahe, CAN auch in zugehörigen stationärenInstallationen zu verwenden. So sind z. B. auch Leitstellen der Feuerwehr mitCAN vernetzt. Auch Logistikzentren sind schon mit CAN ausgestattet. Antriebe,darunter Gas-Ottomotore, Dieselmotore, gibt es nicht nur mobil sondern auchstationär, z. B. in Kraftwerken.

Nicht nur mobil! Obwohl CAN seinen Ursprung im mobilen Bereich hat, gibt es keinen Grundseine Anwendung darauf zu beschränken. Es gibt schon unterschiedliche An-wendungen in der industriellen Automatisierungstechnik, z. B. bei Werkzeug-maschinen, Aufzügen, Verpackungsmaschinen, Handhabungsautomaten (Ro-botern) usw.

Hardware

Zu beachten: die verschiedenen Ausführungen der Steuerungen ecomat 100Typ R360 (z. B. CR0015, CR0016, CR0501, CR2500) unterscheiden sich durchunterschiedliche Hardware-Konfigurationen. Für die Programmiersoftware be-deutet das:

sie muss der Hardware angepasst werden Der Vorgang wird im Program-mier- bzw. im Systemhandbuch beschrieben.

eventuell muss in Beispielprogrammen z. B. die Adresse von Ein- oderAusgängen geändert werden

Eine Kurzbeschreibung des Vorgangs findet sich im Anhang

Es wäre viel zu umständlich, für jeden Typ eine Einführung in die Software zuverfassen. Daher wird hier als Beispiel der Umgang mit der Steuerung:

CR0020 beschrieben.

Bei der Arbeit mit einer anderen Ausführung muss das natürlich beim Nachvoll-ziehen der Beispiele berücksichtigt werden. So muss z. B. ein anderes Unter-verzeichnis eingestellt und andere Bibliotheken geladen werden. Da die Typen-bezeichnung, z. B. CR0501, aber auch bei der Bezeichnung der Verzeichnisseund Dateien verwendet wird, z. B Unterverzeichnis CR0501 usw., sollte daskeine Probleme bereiten. Um den folgenden Text übersichtlicher zu halten, wirdnicht jeweils extra darauf hingewiesen.

Page 13: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Was Sie wissen sollten

1-7R

Wenn z. B. mit dem Starterset, der Steuerung CR2500, gearbeitet wird, so kannin den folgenden Beispielen praktisch überall 0020 ersetzt werden durch 2500.Ein Unterschied besteht nur darin, dass beim Starterset einige Schritte über-sprungen werden können. Bei diesem wurden schon einige Einstellungen vor-genommen, um den Start zu erleichtern, z. B. ist das Betriebssystem bereitsgeladen. Es schadet natürlich nicht, wenn man als Übung das Betriebssystemnoch einmal lädt.

Page 14: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht
Page 15: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

2-1R

2 CANIn diesem Kapitel wird eine kurze Übersicht zum Thema CAN gegeben. Wersich schon etwas auskennt oder wer gleich praktisch arbeiten möchte, kann di-rekt zum nächsten Kapitel springen. Die Beispiele dort lassen sich direkt an derSteuerung nachvollziehen. Wenn dabei Verständnisfragen auftauchen, dannkann zum Kapitel 2 zurückgeblättert werden.

2.1 Einführung

Vorgeschichte und BegriffeWas bedeutetCAN?

CAN Controller Area Network

Wie ist CANentstanden?Anfang derachtziger Jahre

Bosch entwickelt ein Bussystem zur Vernetzung von Motorelektronik, Getriebe,Bremssteuerung und Armaturenbrett im KFZ.

1989 Die ersten CAN-ICs werden von Intel und Philips produziert.

März 1992 Gründung der CAN in Automation CiA Nutzerorganisation, mehr als 320 Mit-glieder (ifm seit 1999, die aktuelle Mitgliederzahl ist bei CiA zu erfahren).

1993 erscheint ISO11898; seit 1995 DIN ISO 11898 mit dem Titel: "Road vehicles -Interchange of digital information; CAN for high-speed communication"

Es wird die Verbindungsschicht und die Übertragungsschicht im Sinne des ISO-OSI Referenzmodelles beschrieben.

Was ist CAN? Serieller, asynchroner 2-Draht-Bus in Form einer Stromschleife

Übertragungsraten bis 1MBit / s

Multi-master-fähig

Priorisierung der einzelnen Nachrichten, Hammingdistanz 6

"Broad cast" und "remote request" Nachrichtenübertragung

Umfangreiche Übertragungsfehlererkennung

Standard Bus-System in mobilen Applikationen

CAN undCANopen

Die physikalischen Eigenschaften, siehe 2.2, sind nicht spezifisch für CAN.Auch andere Bussysteme, z. B. DeviceNet, beruhen auf der gleichen Physik.Spezifisch ist das Protokoll. Darin liegt auch der Unterschied zwischen CANund CANopen. Wie weiter unten noch ausführlicher beschrieben wird (siehe2.5.2), gibt es zwei Alternativen:

Page 16: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Einführung

2-2 Schulungshandbuch 2 ecomatmobile Typ R 360

viele Freiheiten für den Anwender (CAN Layer 2, auch als freies Protokollbezeichnet, hier muss praktisch die gesamte Konfigurierung selbst durch-geführt werden) oder mehr

feste Spezifikationen (CANopen, ermöglicht z. B. Plug and Play).

Normen, Spezifikationen, ProfileAuf Seite 1-3 wurde schon darauf hingewiesen, dass dieses Handbuch sich anden Anwender des Steuerungssystems ecomat mobile richtet. Der Anwenderwird es nicht mit sämtlichen unten aufgeführten Normen zu tun haben. Erbraucht sie natürlich auch nicht alle zu kennen. Jeder kann sich in diesem Ka-pitel den Abschnitt heraussuchen, der für ihn interessant ist und den Rest über-springen. Auch wenn man dieses Kapitel nur überfliegt, dann kann man docheinen Eindruck über die bemerkenswerte Entwicklung des CAN-Systems undseinen Umfang gewinnen. Die Normen werden auch nicht vollständig sondernmit Beispielen beschrieben.

Normen Um eindeutige Regelungen für die Protokolle festzuschreiben, wurden nebender Grundnorm diverse Normen und Spezifikationen geschaffen.

ISO 11898 (Grundlage)

CANopen (prEN50325; Teil 4)

DeviceNet (prEN50325; Teil 2)

CAL

SDS

CAN Kingdom

J1939

CANopen, DeviceNet und Smart Distributed Systems definieren z. B. für diephysikalische Schicht die Anschlussbelegung von Steckverbindern. Einige Pro-filfamilien definieren sogar im Detail die zu verwendenden Kabel.

SAE J2284 Die relativ offenen Aussagen der ISO 11898, speziell was die physikalischeSchicht betrifft, wurden in der

SAE J2284

um die Definition weiterer Werte ergänzt. Diese Norm wird in der Automobilin-dustrie der USA für das Motormanagement angewendet. Festlegungen sind z.B.:

Datenrate = 500 kBit/s

Maximale Anzahl der Geräte = 16

Maximale Leitungslänge = 40 m

Maximale Länge von Stichleitungen = 1 m

Maximaler Abstand zwischen 2 Knoten = 40 m (inkl. Stichleitungen)

Leitung = Zweidraht, verdrillt, ungeschirmt

Page 17: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-3R

J 1939 Diese Norm wurde für Nutzfahrzeuge entwickelt. Auch hier setzen die Spezifi-kationen auf ISO 11898 auf.

Datenrate = 250 kBits/s

Maximale Anzahl der Geräte = 30 (Knoten)

Leitung = dreiadrig mit CAN_H, CAN_L und Abschirmung (J 1939/01)

In Bau- und landwirtschaftlichen Fahrzeugen ist nach J 11898/02 eine zusätzli-che Leitung für die Versorgungsspannung vorgesehen. Die Werte für maximaleLänge und Stichleitungen ist wie bei SAE J2284.

ISO 11519-2 Diese Norm wurde zunächst für Anwendungen in der Karosserie-Elektronikentwickelt. Da hier die Anforderungen nicht so hoch sind, wird sie auch alsLowspeed-CAN Norm bezeichnet.

Datenrate = 125 kBits/s

Maximale Anzahl der Geräte = 20 (Knoten)

Durch spezielle Pegel besteht die Möglichkeit der Übertragung über nur eineBusleitung bei Ausfall der anderen. Abschlusswiderstand und spezielle Topolo-gie sind nicht festgelegt.

ISO 11992-1 Diese Norm, die z. B. für Anwendungen mit Ankopplung eines Anhängers ge-dacht ist, beschreibt ein System, in dem nur zwei Leitungen benötigt werden.

SAE J2411 Für Anwendungen im Pkw wird an einem System mit nur einer Datenleitunggearbeitet, um die Verdrahtungskosten weiter zu senken.

Geräteprofile Hersteller von Geräten für die Automatisierung haben ein Interesse daran, dassihre Produkte ohne größeren Aufwand in CAN-Netzwerke eingebunden werdenkönnen. Die Nutzerorganisation CiA koordiniert solche Interessen, indem Ge-räteprofile definiert werden, die es u. a. dem Anwender erleichtern, diese Ge-räte einzusetzen und zu warten. Diese Profile können hier nicht ausführlichbeschrieben werden, dazu muss auf www.can-cia.de verwiesen werden. Einigewerden kurz vorgestellt.

CiA DSP-401 CANopen Geräteprofil für digitale und analoge Ein- und Ausgabegeräte.

CiA DSP-402 CANopen Geräteprofil für elektrische Antriebe.

CiA DSP-404 CANopen Geräteprofil für Auswertung und Regelung analoger Werte.

CiA DSP-406 CANopen Geräteprofil für Encoder.

EDS Die Dokumentation zu einem speziellen Gerät wird in Form einer Datei (EDS =Electronic Data Sheet) erstellt.

Kommunikation und Fernwartung

Speziell bei mobilen Anwendungen (aber nicht nur bei diesen) gewinnt dieFernwartung an Interesse. Dazu gehört z. B. die Diagnose von Fehlerzuständenoder die vorbeugende Warnung vor möglichen Fehlern durch Verschleiß. Daslässt sich auf verschiedenen Wegen realisieren.

Page 18: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Die physikalische Verbindung

2-4 Schulungshandbuch 2 ecomatmobile Typ R 360

ISDN Ein ISDN-CAN Gateway steht zur Verfügung.

PC Ein vernetzter PC mit CAN-Interface gehört auch zu dieser Gruppe. Dabei gibtes schon unterschiedliche Lösungen.

CAN und VME Es wurden schon Vernetzungen von Einheiten, die über den VMEbus gesteuertwerden, mit CAN realisiert.

2.2 Die physikalische VerbindungKnoten Die Teilnehmer am Bus werden bei CAN als Knoten (Nodes)bezeichnet. Die

Ankopplung geschieht über den CAN-Chip, der entsprechend der weitenVerbreitung von CAN in großen Stückzahlen gefertigt wird. Jeder Hersteller vonGeräten für die Automatisierung kann diese damit auf einfache und kosten-günstige Weise anschlussfähig machen. Über die Eigenschaften der Knotenfolgen unten weitere Informationen.

Tx, Rx Damit werden die Kanäle für das Senden (Transmit) und Empfangen (Receive)bezeichnet.

2-Draht-Leitung als Übertragungsmedium

Abschlußwiderstand anden Leitungsenden!

Knoten A Knoten B

120 Ohm120 Ohm

Wellenwiderstand 120 Ohm

Abbildung 1: CAN-Übertragung

Die Datenübertragung geschieht über eine 2-Draht-Leitung. Eine wichtige Regelist zu beachten:

120 Ω Die Leitung benötigt einen Abschlusswiderstand von 120 Ω.

Achtung!

Es gehört zu den häufigsten Fehlern bei der Installation eines neuen Systems,den Abschlusswiderstand zu vergessen. Auch bei der Wartung des Systems, z.B. Austausch einer Leitung wegen Leitungsbruch, kann es passieren, dass derWiderstand entfernt und nicht wieder angeschlossen wird. Wer mit der Wartungsolcher Systeme zu tun hat, sollte immer einige 120 Ω Widerstände mit sichführen. In der Regel wird die Kommunikation zusammenbrechen. In Sonderfäl-len kann es vorkommen, dass die Kommunikation mit hohem Störpegel undzeitweiligen Aussetzern weiterläuft. Auch in einem solchem Fall lohnt es sichalso, die Abschlusswiderstände zu kontrollieren.

Page 19: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-5R

Wohin gehörtderWiderstand?

In der Praxis sind natürlich selten die Teilnehmer entlang einer geraden Linieaufgereiht. Es wird z. B. Abzweige geben. An welcher Stelle die Widerständeangebracht werden, kann nicht immer eindeutig bestimmt werden. Im Zwei-felsfall muss etwas experimentiert werden. Solche Fragen entstehen natürlichnur bei einem neu installierten System. Für die Wartung sollte aber darauf ge-achtet werden, dass die Lage der Widerstände deutlich markiert und einfachaufzufinden ist, damit sie bei Bedarf leicht ersetzt werden können.

WeitereLeitungen

Zur Versorgung der Teilnehmer mit 24 V werden in der Regel zwei weitere opti-onale Leitungen im Kabel geführt, CAN_V+ und GND (Erdung) der 24 V. Wei-tere optionale Leitungen sind z. B., GND_CAN oder Abschirmung. Ein CAN-Kabel wird also meist aus mindestens vier Leitungen bestehen. Die Pin-Bele-gung bei Steckverbindern, z. B. 9pol. Sub-D, ist festgelegt, damit es keine Kon-flikte beim Anschluss unterschiedlicher Geräte von unterschiedlichen Herstel-lern gibt.

Pegel Durch differentielle Spannungspegel wird eine optimale Störsicherheit erreicht.Einstreuungen auf das Kabel wirken in der Regel gleich auf beide Signalleitun-gen und werden durch die bewährte Methode der Differenzbildung eliminiert.

CAN_L

CAN_H

recessive dominant recessive

3,5V

1,5 V

DifferentiellePegel sorgen fürisichere Übertragung

Abbildung 2: CAN-Übertragung Pegel

Page 20: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Die physikalische Verbindung

2-6 Schulungshandbuch 2 ecomatmobile Typ R 360

Grenzwerte Die folgende Tabelle zeigt die Grenzwerte der Pegel. Im Normalfall brauchtman die Pegel nicht zu kontrollieren, das kann nur bei Störungen nützlich sein.

Spannungspegel nach ISO11898

recessive dominant

min max min max

VCAN_H 2,0V 3,0V 2,75V 4,5V

VCAN_L 2,0V 3,0V 0,5V 2,25V

VDiff_Tx -0,5V 0,05V 1,5V 3,0V

VDiff_Rx -1,0V 0,5V 0,9V 5,0V

Abbildung 3: Pegel als Tabelle

Länge derLeitung

Mit CAN können ohne weitere Komponenten Entfernungen von bis zu 3000 müberbrückt werden. Um eine sichere Übertragung zu gewährleisten muss beigrößeren Entfernungen die Datenrate reduziert werde. Die folgende Tabellezeigt Werte dafür.

Zusammenhang zwischen BitRate und Buslänge

BitRate 1000 kBit/s Buslänge max. 40 m

500 kBit/s 100 m

250 kBit/s 250 m

125 kBit/s 500 m

100 kBit/s 600 m

50 kBit/s 1200 m

20 kBit/s 3000 m

Abbildung 4: Länge und Bitrate

CAN ist von der Konzeption her sehr flexibel. Die Eigenschaften eines Systemshängen von vielen Einflussgrößen ab. Zur Tabelle von Abbildung 4 müsste maneigentlich zusätzlich angeben, welche Transceiver-Bausteine benutzt werden.Ohne Angaben darüber sind die Werte eher als Richtwerte aufzufassen.

Länge undTopologie

Die Werte von Abbildung 4 gelten für den Idealfall der Linie. Falls statt desseneine Sternstruktur mit drei Linien erforderlich wäre, dann sollte z. B. bei 100 mjeder dieser drei Strahlen nicht länger als 33 m sein. Bei einer solchen Strukturkann es von Vorteil sein, an jedem Ende einen Abschlusswiderstand von 180 Ωanzubringen.

Page 21: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-7R

Repeater Sowohl um die Leitungslänge, bzw. die Bitrate, zu erhöhen als auch um eineverbesserte Stabilität bei Abweichungen von der Linienstruktur zu erzielen, istdie Verwendung von Repeatern von Nutzen.

Datenrate Die Datenrate wird bei der Konfiguration des Systems eingestellt. Sie muss füralle Teilnehmer gleich sein. Die Default-Einstellung bei Komponenten der ifmelectronic ist 125 kB/s.

Leitungsquer-schnitte

Wie oben bei Abbildung 4, lassen sich auch für die Leitungsquerschnitte Richt-werte angeben.

Knotenanzahl 32 64 100Buslänge

100 m 0,25 mm2 0,25 mm2 0,25 mm2

250 m 0,34 mm2 0,5 mm2 0,5 mm2

500 m 0,75 mm2 0,75 mm2 1,0 mm2

Abbildung 5: Empfohlene Leitungsquerschnitte

Alternativen Spezielle Eigenschaften der Physik der Übertragung, z. B. Eindraht-Kommuni-kation in SAE J2411-1 wurden schon auf Seite 2-2 erwähnt. Hier sollen nochzwei weitere Alternativen kurz angesprochen werden, die für spezielle Anwen-dungen interessant sind, bzw. in Zukunft an Bedeutung gewinnen.

Lichtwellenleiter Die Nachrichtenübertragung über Lichtwellenleiter (z. B. Glasfibern) wird zurZeit noch hauptsächlich als Mittel verwendet, um dem Einfluss extremer elekt-romagnetischer Störpegel entgegenzuwirken. Der Aufwand ist noch relativhoch. In Zukunft kann diese Technik auch interessant werden, wenn damit grö-ßere Entfernungen überbrückt werden können.

Signale aufVersorgungs-leitungen

Diese Möglichkeit, auch unter der Bezeichnung Powerline bekannt, wurdeschon erfolgreich untersucht.

2.3 Frames

StrukturWas in anderen Bussystemen auch als Telegramm bezeichnet wird, heißt beiCAN Frame (Rahmen).

Jede CAN-Nachricht wird in einem Frame (Rahmen) übertragen. Er besteht ausdem Identifier, ID, und den Daten (Länge 0...8 Byte)

CAN-Frame Identifier Data 0...8 Byte

Zu der Bedeutung und den Eigenschaften speziell des Identifiers folgen untenweitere Informationen. Zunächst sollen sie kurz zusammengefasst werden.

Page 22: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Frames

2-8 Schulungshandbuch 2 ecomatmobile Typ R 360

Jede CAN-Nachricht hat ihren eigenen Identifier

Jede CAN - Meldung wird in einem CAN- Frame übertragen

Jede CAN - Meldung hat einen eigenen Identifier

CAN 2.0 A 11Bit Identifier ( 2048 unterschiedliche Meldungen ; Länge max.130 Bit.

(CAN 2.0 B 29Bit Identifier ( 536.870.912 unterschiedliche Meldungen;Länge max. 154 Bit.)

CAN - Meldungen können zu jedem Zeitpunkt gesendet (Transmitted Tx)oder empfangen (Received Rx), erfolgen (siehe Abbildung 1). Jede CAN-Nachricht kann gezielt angefordert werden (Remote Transmission RequestRTR).

CAN - Meldungen werden zum selben Zeitpunkt von allen Teilnehmern(Knoten) empfangen. Der Teilnehmer selbst entscheidet anhand des Identi-fiers, ob die Meldung für ihn relevant ist .

Der Zahlenwert des Identifier bestimmt die Priorität auf dem Bus: kleinerWert → Hohe Priorität.

Die folgende Abbildung 6 zeigt den Aufbau eines Frame im Detail. Damit wirdder Anwender bei seiner täglichen Arbeit nicht in Berührung kommen. Sie hilftaber beim Verständnis der Hintergründe speziell zur Datensicherheit.

Start Bit

11 Bit Identifier

RTR-Bit; Low = Tx; High = RTR

IDE-Bit; Low = 11 Bit Id.; High = 29 Bit Id.

reserved

4 Bit; length of data

0 ... 8 Byte Data

15 Bit CRC

Delimiter

2 Bit ACC; acknowledgement of the frame by at least 1 node

7 Bit EOF;marking of end of file

>= 3 Bit IFS; time between two CAN messages

CAN -message; High = recessive; Low = dominant,max. 130 bit

Abbildung 6: CAN-Frame

Die folgende Abbildung zeigt Beispiele.

Page 23: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-9R

Zeit ID Wert Bemerkung

1020 200 0C 1F 00 00 00 00 00 00 Analogeingang 1

12000 100 FF FF Alle Geräte stoppen

2341 212 0A CC 00 00 00 00 00 00 Druck Gerät 2

4447 213 0B 11 00 00 00 00 00 00 Sensor 2

Abbildung 7: Beispiele für CAN-Frames

FehlersicherungÜbertragungs-sicherungMonitoring Der Sender einer Nachricht vergleicht das Bit auf dem Bus mit dem gesendeten

Bit. Bei Ungleichheit außerhalb des Arbitrierungsfeldes (siehe 2.4) → Fehler

Bit-Stuffing Es sind mehr als 5 gleiche Bits in Folge gelesen worden → Fehler

CRC Die gelesene CRC-Prüfsumme stimmt nicht mit der errechneten Prüfsummeüberein → Fehler

Format Das CRC-Begrenzungsbit oder die 7 Bit EOF wurden nicht als High gelesen →Fehler

ACC Der Sender einer Nachricht liest im ACC-Slot kein Low. Kein Busteilnehmer hatdie Nachricht richtig empfangen → Fehler

Fehlermanage-ment

1. Einer oder mehrere Busteilnehmer erkennen einen Fehler

2. Jeder Teilnehmer der einen Fehler erkannt hat sendet 6 gleiche Bits inFolge ( "Error Frame") gefolgt von 8 recessiv Begrenzungsbits und verletztsomit die Stuffing-Regel.

3. Die ursprüngliche Nachricht wird für alle Busteilnehmer inklusive des Sen-ders fehlerhaft und deshalb verworfen.

4. Die Nachricht wird erneut komplett gesendet.

Wie funktioniertdas?

Jeder Busteilnehmer unterstützt einen Zähler für Sende(Tx)Fehler und Emp-fangs(Rx)Fehler. Je nach Zählerstand befindet sich ein Busteilnehmer in einemvon drei Fehlerstati:

Error Active Tx und Rx Zählerstand = 127; Error Frame besteht aus 6 dominanten Bits undzerstört somit jede Nachricht.

Error Passive 128 = Tx oder Rx Zählerstand = 255 und Tx Zählerstand = 255; Error Framebesteht aus 6 rezessiven Bits. Eine fehlerhaft gelesene Nachricht wird nichtwiederholt.

Bus Off Tx Zählerstand > 255; Der Teilnehmer zieht sich vom Bus zurück. Dieser Zu-stand kann nur durch die Applikation verlassen werden.

Page 24: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Broadcast

2-10 Schulungshandbuch 2 ecomatmobile Typ R 360

Bei einem Empfangsfehler wird der Rx Zähler um 1 incrementiert. Bei einemEmpfangsfehler innerhalb eines Error Frames wird der Rx Zähler um 8 incre-mentiert. Bei einem Sendefehler wird der Tx Zähler um 8 incrementiert.

Mit jedem erfolgreichen Senden bzw. Empfangen wird der entsprechende Zäh-ler um 1 decrementiert.

Der Sinn dahinter ist, dass ein fehlerhafter Teilnehmer nicht die ganze Kommu-nikation lahm legen können soll.

Restfehlerwahr-scheinlickeit

Das Auftreten eines Fehlers ist bei jedem technischen Vorgang nichts außer-gewöhnliches. Viel wichtiger ist es zu wissen, ob der Fehler überhaupt ent-deckt wird. Die Wahrscheinlichkeit dafür kann nur unter bestimmten Annahmenabgeschätzt werden. Ein Beispiel: in einem CAN-Netz mit einer Baudrate von500 kBit/s tritt alle 0,7 s ein Bitfehler auf. Das Netz ist an 365 Tagen im Jahr fürjeweils 8 Stunden in Betrieb. Dann dauert es ca. 1000 Jahre bis ein Fehler nichterkannt wird.

DoppelteNachrichten

Wenn ein Fehler von einem Knoten erkannt wurde, dann ist es zwar unwahr-scheinlich aber nicht unmöglich, dass andere Teilnehmer die Nachricht korrektempfangen haben. Wird nun auf Grund der Fehlermeldung die Nachricht erneutgesendet, dann können also Teilnehmer die Sendung zweimal erhalten.

2.4 BroadcastUm das Verfahren bei CAN deutlich zu machen, wird zunächst beschrieben,wie es bei CAN nicht abläuft.

Abgrenzung Bei manchen Bussystemen verläuft die Kommunikation wie folgt:

Ein Teilnehmer sendet eine Nachricht, die mit einer (eindeutigen) Adresseversehen ist.

Der Adressat empfängt die Nachricht und verfährt entsprechend dem In-halt. Z. B. ein E/A-Modul, das ist ein Teilnehmer zur Ankopplung binärerEingänge.(Sensoren) und binärer Ausgänge an den Bus, schaltet die Aus-gänge und/oder meldet die Zustände der Eingänge zurück. Bei einem Sin-gle Master System wird für diese Rückmeldung keine Adresse benötigt.

CAN In Abbildung 8 wird das Broadcast-Verfahren beschrieben. Station 2 sendeteine Nachricht.

Page 25: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-11R

CPU

check ID

messagereceived

sendmessage

CPU

ID Data

CPU

check ID

messagereceived

CPU

check ID

messagereceived

CAN-BusID Data

Dat

a

Dat

a

Dat

a

CAN Station 1 CAN Station 2 CAN Station 3 CAN Station 4

Abbildung 8: Broadcast-Verfahren

Broadcast mitIdentifier

Bei CAN ist jede Nachricht, wie in 2.3 beschrieben, mit einem Identifier verse-hen. Jeder Teilnehmer prüft anhand des Identifier, ob diese Nachricht für ihnrelevant ist. Das ist vergleichbar mit einem Radiosender (Rundfunk - Broad-cast). Das Verfahren wird als Akzeptanzfilterung bezeichnet. Das kann auch mitdem Beispiel Rundfunk erläutert werden. Wenn der Verkehrsfunk einen Stauauf der Autobahn XY meldet, dann ist im Prinzip jedem Verkehrsteilnehmerklar, ob diese Meldung für ihn von Bedeutung ist.

Das hat den Vorteil der Vereinfachung. Sollen z. B. bei 10 Modulen die Aus-gänge zurückgesetzt werden, dann ist beim Broadcast nur eine Nachricht erfor-derlich. Beim oben beschriebenen Verfahren wären dafür 10 Nachrichten erfor-derlich. Man ist also sehr flexibel und hat viele Möglichkeiten. Andererseits isteine etwas aufwendigere Konfiguration der Teilnehmer erforderlich. Im Beispielder E/A-Module müssen diese die Information speichern, welche Nachrichten,das heißt welche Identifier, für sie relevant sind. Diese Konfiguration muss abernur einmal vorgenommen werden.

Multimaster Da jeder Teilnehmer senden darf, ist CAN von vornherein als multimaster-fähigausgelegt.

ID Es gibt 2048 Identifier (siehe 2.3, bei 11 Bit). Genauer gesagt, kann der Identi-fier einen Wert zwischen 1 und 2048 haben.

Reservierte IDs Im ecomat R360 sind die Identifier 220 bis 255 für besondere Zwecke reser-viert. Sie können also nicht verwendet werden.

Priorität Der Identifier enthält außerdem eine Information über die Priorität der Sendung.Die Codierung ist ganz einfach: das Frame mit dem niedrigsten Identifier hat diehöchste Priorität.

So flexibel man ein System damit an die Anforderungen der Anwendung an-passen kann, um so eher ergeben sich natürlich auch Fehlermöglichkeiten. Beider Planung des Systems ist also sorgfältig auf eindeutige Vergabe der Identi-fier zu achten.

Page 26: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CANopen

2-12 Schulungshandbuch 2 ecomatmobile Typ R 360

Arbitrierung Wenn ein Teilnehmer (Knoten) eine Nachricht (Frame) senden will, dann musser warten bis der Bus frei ist. Für den Fall, dass zwei Teilnehmer (fast)gleichzeitig beginnen zu senden, muss eindeutig entschieden werden, welcherdie höhere Priorität hat. Dafür wird der Begriff Arbitrierung (von Arbiter =Schiedsrichter) verwendet. Da der Anwender von CAN von diesemMechanismus normalerweise nichts sieht, soll er hier auch nicht detaillierterklärt werden. In der Praxis kann die Auswirkung auf das Zeitverhalten vonBedeutung sein. Falls z. B. laufend Nachrichten mit hoher Priorität gesendetwerden, dann hat ein Teilnehmer, der eine Nachricht mit niedriger Prioritätsenden will, unter Umständen lange zu warten, bis er an der Reihe ist.

Echtzeit Bei diesem Begriff muss in der Regel genau nachgefragt werden, was er ei-gentlich in dem betreffenden Zusammenhang bedeutet. Hier kann das auch nurmit einigen weiteren Informationen genauer beantwortet werden. Der Hinweissoll genügen, dass man "näher" an Echtzeitverhalten herankommt, wenn mandafür sorgt, dass Nachrichten mit hoher Priorität nur einmal in einemgegebenen Zeitraum gesendet werden können.

2.5 CANopen

Warum CANopen?Die Kommunikation, z. B. zwischen zwei Steuerungen, kann beim R360 im An-wenderprogramm durch die beiden Funktionsbausteine CAN1_TRANSMIT undCAN1_RECEIVE realisiert werden, siehe 3.

Freies Protokoll Bei komplexeren Systemen, in denen z. B. auch Komponenten verschiedenerHersteller vernetzt werden ist dieses sogenannte freie Protokoll etwas mühsamin der Handhabung. Jedes Detail muss sorgfältig geprüft werden; ggf. sindKonfigurationen vorzunehmen. Überwachungsfunktionen, z. B. auf Vorhanden-sein und Betriebsbereitschaft von Komponenten, müssen selbst programmiertwerden.

Die Verwendung eines speziellen Protokolls vereinfacht die Handhabung. EineReihe von vordefinierten Funktionsbausteinen kann verwendet werden. Man er-kennt sie an der Abkürzung COP (CANopen Protokoll) im Namen. Unterschied-liche Komponenten sind ohne größeren Aufwand so zu parametrieren, dass sieproblemlos miteinander kommunizieren. Diese und weitere Gründe sind in einerkurzen Übersicht zusammengefasst.

Einheitliches Protokoll

Der Anwender kann auf die CANopen-Komponenten unterschiedlicher Her-steller zugreifen

In einer CANopen Gerätefamilie sind die Daten einheitlich organisiert (Ob-jektverzeichnis)

Kommunikations- und Gerätefehler können ohne großen Programmierauf-wand erkannt werden.

Page 27: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-13R

SchichtenmodellReferenzmodell Um Bussysteme verschiedenster Art vergleichen, einheitlich beschreiben und

einer Normung unterwerfen zu können, wurde das ISO-OSI Referenzmodellentworfen (siehe 2.1).

Kommunikationsobjekte

Übertragung

Verbindung

Vermittlung

Transport

Sitzung

Darstellung

Anwendung7

2

3

4

5

6

1 Übertragung

Verbindung

Vermittlung

Transport

Sitzung

Darstellung

Anwendung

Bit

Rahmen undDatensicherung

Übertragungsmedium

Knoten A Knoten B

Abbildung 9: Schichtenmodell allgemein

Abbildung 9 zeigt die Schichten ganz allgemein. Bei CANopen findet die Kom-munikation praktisch in jeder Schicht statt. Man kann auch sagen: CANopen istein CAN basierendes Schicht 7 Netzwerk - Protokoll (siehe 2.1).

Page 28: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CANopen

2-14 Schulungshandbuch 2 ecomatmobile Typ R 360

Übertragung

Verbindung

7

2

3

4

5

6

1 Übertragung

Verbindung

Bit

Rahmen undDatensicherung

Übertragungsmedium

Knoten A Knoten B

Abbildung 10: Schichtenmodell Layer 2

Bei der Kommunikation mit offenem Protokoll verläuft die Kommunikation in derzweiten Schicht, Abbildung 10.

Layer Anstatt Schicht wird auch häufig direkt die englische Bezeichnung Layer alsFachausdruck verwendet. Eine Kommunikation in Layer 2 bedeutet demnacheine Kommunikation mit freiem Protokoll.

Die Kommunikation in den verschiedenen Schichten wird durch die Protokoll-schicht beschrieben.

Abbildung 11 stellt einen Ausschnitt mit Ergänzungen aus Abbildung 9 dar.Damit soll die Zuordnung der Bezeichnungen COB, Frame und CAN_L, CAN_Hzu den Schichten verdeutlicht werden. Der Begriff COB wird anschließend er-klärt.

Normen Das CAN-Protokoll, das der Ebene 2 entspricht, ist international genormt:

ISO 11898 und

ISO 11519-2

Page 29: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-15R

Sendendes

Gerät

CANopen

Application

Layer

CAN Data

Link Layer

CAN Physical

Layer

Communication

Object (COB)

CANopen

Application

Layer

CAN Data

Link Layer

CAN Physical

Layer

CAN Frame CAN Frame

CAN_HCAN_L CAN_L

Abbildung 11: Protokollschicht [CiA]

CommunicationObject COB

dazu gehören:

Process Data Object (PDO)

Service Data Object (SDO)

Special Function Objects:

Synchronization Object (SYNC)

Time Stamp Object (wird bei den hier behandelten Komponenten nichtverwendet)

Emergency Object (EMCY)

Network Management Objects:

NMT Message

Node Guarding Object

Hier sollen jetzt nicht der Reihe nach alle Begriffe ausführlich erläutert werden.Das würde den Grundlagenteil unnötig verlängern. Im weiteren Text, speziellbeim praktischen Teil, siehe 3.2, folgen weitere Informationen dort wo sie erfor-derlich sind. Ein Verzeichnis der Abkürzungen ist im Anhang unter Glossar zufinden. Es folgen Kurzbeschreibungen.

Page 30: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CANopen

2-16 Schulungshandbuch 2 ecomatmobile Typ R 360

Prozessdaten-objekte PDO

Übertragung von Prozessdaten ereignisgesteuert oder synchronisiert. Quelleund Ziel für jeden PDO-Kanal sind frei konfigurierbar. Prozessdaten werden ineinem CAN_Rahmen ohne Protokolloverhead übertragen. Multi - Master Bezie-hung

Servicedaten-objekte SDO

Bestätigter Dienst zur Parametrierung der einzelnen Netzwerkknoten. Client -Server Beziehung

Netzwerkman-agement NMT

Start / Stop der Netzwerkknoten; Knotenüberwachung; Synchronisation; Feh-lermeldungen Master-Slave Beziehung

KommunikationDie Kommunikation unter CANopen kann ähnlich wie in Abbildung 8 dargestelltwerden.

CPU

ID prüfen

ID RX PDO

Nachrichtsenden

CPU

ID TX PDO

CPU CPU

CAN-Bus ID PDO 8 Byte

Dat

en

Dat

en

Dat

en

ID RX PDO ID RX PDO

CANopen Slave 1Node ID1

CANopen Slave 2Node ID2

CANopen Slave 3

Node ID3

ID prüfenID prüfen

Überwachung desSystems CANopen

MasterNode ID30

Abbildung 12: CANopen Broadcast

PDO Speziell auf das PDO bezogen kann man den Zusammenhang wie in Abbildung13 darstellen.

Page 31: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-17R

PDO Consumer PDO Consumer

PDO Consumer PDO Consumer

PDO Consumer

PDO Consumer

PDO Producer

PDO Producer

ID Data

PDO

Abbildung 13: Process Data Object [CiA]

CANopen NetzwerkAnforderungen Bevor auf weitere Einzelheiten eingegangen wird, sollen kurz die wesentlichen

Anforderungen an ein Netzwerk zusammengefasst werden.

Prozessdatenaustausch; zyklisch und ereignisgesteuert mit möglichst wenigProtokolloverhead und auf direktem Weg.

Einstellung von Geräte- und Kommunikationsparameter mit Bestätigung

Netzwerksteuerung; Start/Stop, BootUp

Überwachung der Netzwerkteilnehmer

Erweiterungsmöglichkeit; Austauschbarkeit der Knoten; "Plug and Play"

Knoten Die Teilnehmer heißen Knoten. In CANopen ist ihre Struktur festgelegt. Diemaximale Anzahl beträgt 128.

Abbildung 14: Struktur eines CANopen Knotens

Page 32: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CANopen

2-18 Schulungshandbuch 2 ecomatmobile Typ R 360

Objektverzeich-nis OBV

Datenschnittstelle zwischen Bus und Gerätefunktion.

Liste aller für das Gerät relevanten Parameter und Prozessdaten.

Zugriff erfolgt über Index und Subindex

Netzwerkman-agement NMT

(siehe 2.5.6) Bereitstellung von administrativen Diensten:

Start/Stop

Synchronisation

Knotenüberwachung

Das NMT orientiert sich an den Knoten. Es hat eine Master-Slave Struktur. EinKnoten muss Masterfunktionalität besitzen. Alle anderen sind dann Slaves.Abbildung 15 zeigt ein Beispiel.

Knoten 1

Knoten 2

Knoten 3

Knoten 4 Knoten 5

Alle Knoten müssen aufeine gemeinsame Bit-Rate eingestellt sein.

CANopen definiert eineListe mit 8 Bit-Raten von

10 kBit bis 1000 kBit.

NMT Master NMT Slave

NMT Slaves

Steuerungen

E / A Module

Abbildung 15: CANopen Netzwerkmanagement

OBV Das wohl wichtigste am Knoten ist das Objektverzeichnis. Es enthält Objekte,die auf wohldefinierte Weise über das Netzwerk zugänglich sind. Abbildung 16verdeutlicht das Schema der Anordnung.

Page 33: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-19R

Daten Typen

reserviert

Kommunikationsparameter

HerstellerspezifischeGeräteparameter / -daten

Parameter und Daten nachCANopen Gerätespezifikation

reserviert

Index 0001 ... 009F hex

Index 00A0 ... 0FFF hex

Index 1000 ... 1FFF hex

Index 2000 ... 5FFF hex

Index 6000 ... 9FFF hex

Index A000 ... FFFF hex

Abbildung 16: CANopen Objektverzeichnis

Index Jeder Eintrag im Objektverzeichnis wird über einen Index angesprochen (16Bit)

Subindex Jeder Eintrag kann bis zu 256 Untereinträge beinhalten, die über einen Subin-dex angesprochen werden (8 Bit). Unter dem Subindex 1 ist z. B. die Hersteller-ID zu finden.

SynchronisationSystemkon-figuration

Dass jeder Teilnehmer jederzeit senden kann, macht CAN zwar sehr flexibel,kann aber auch etwas unübersichtlich sein. Es vermindert die Buslast, wennDaten nur dann gesendet werden, wenn sie benötigt werden. Bei einem kom-plexen System ist es andererseits fehlerträchtig, wenn für jeden Teilnehmerfestgelegt werden muss, wann und von welchem anderen Teilnehmer er Infor-mationen anfordern muss. Dabei kann leicht etwas vergessen werden. Das gilterst recht bei späteren Modifikationen am System durch einen anderen Bear-beiter.

Bei CAN wird das Verfahren der Synchronisation verwendet. In 0 wird an denpraktischen Beispielen deutlich, was damit gemeint ist. Der folgende Text isteher für Spezialisten interessant. Die Punkte haben bei seltenen GrenzfällenBedeutung. Wer es nicht so genau zu wissen braucht, kann dieses Kapitel auchüberspringen.

Polling Bei anderen gängigen Bussystemen wird häufig ein Verfahren angewendet, daszyklisches Polling genannt wird (oder eines, das ähnlich funktioniert). Ein Mas-ter spricht dabei der Reihe nach alle Teilnehmer an. Das hat den Vorteil, dassjeder Teilnehmer in einem festen Zeitraum (Zykluszeit) kommuniziert. Das Ver-halten des Systems ist dabei eindeutig (deterministisch).

Page 34: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CANopen

2-20 Schulungshandbuch 2 ecomatmobile Typ R 360

Reaktionszeit Als Reaktionszeit, z. B. bei Steuerungssystemen, wird die Zeit bezeichnet, diebenötigt wird, um von einem Eingang auf einen Ausgang (beides binär) durch-zuschalten. Beim Polling werden dazu im ungünstigsten Fall zwei Zyklen benö-tigt: ein Zyklus, um den geänderten Zustand am Eingang zu erkennen und einweiterer Zyklus, um den Zustand des Ausgangs zu ändern. Damit ist die Zyk-luszeit der Kommunikation gemeint. Dazu kommt natürlich noch die Zeit derVerarbeitung in der Steuerung, egal welches Verfahren bei der Kommunikationverwendet wird.

Synchronisa-tion

Bei CANopen gibt es das Verfahren der Synchronisation. Die Synchronisationmacht die Kommunikation übersichtlicher. Das Zeitverhalten ist dabei zwarnicht streng deterministisch. Die Kommunikation läuft aber viel regelmäßigerab. Es wird in einem festen Abstand ein Synchronisationsobjekt (SYNC) gesen-det. Dieser Abstand ist hier die Zykluszeit. Als weiterer Parameter lässt sich dieLänge des synchronen Fensters festlegen (in Abbildung 18 gestrichelt darge-stellt). Sie gibt an, in welchem Zeitraum nach einem Sync alle (synchronen)PDOs gesendet sein müssen. Der Programmierer legt fest, was geschehensoll, falls diese Zeit überschritten wird. Ist das Fenster genauso lang wie dieZykluszeit, dann entspricht das weitgehend dem zyklischen Polling. Es wärenicht sinnvoll, das Fenster länger als die Zykluszeit zu machen.

In der Praxis wird kaum einmal ausgewertet, ob ein synchrones PDO außerhalbdes Fensters liegt. Dafür sind verschiedene Ursachen möglich, speziell asyn-chrone PDOs, siehe unten.

Sync SyncSync Sync Sync Sync

Synchron

FensterlängeSynchron-Zeit

Hex ID 80

Synch_Time in FBCOP_MSTR_MAIN

setzenDaten (PDO)

Zeit

Abbildung 17: Synchron und asynchron 1 [CiA]

asynchron Bei CANopen lassen sich beide Methoden, das starre, dafür mehr deterministi-sche Verhalten bei der Synchronisation, ähnlich wie beim zyklischen Polling,und die Flexibilität, z. B. Schnelligkeit beim asynchronen Senden, miteinanderverbinden. Dabei muss in Kauf genommen werden, dass die Zykluszeit nichtmehr fest ist. Wird ein asynchrones PDO gesendet, verschieben sich alle syn-chronen um dessen Länge, siehe Abbildung 18. Dort ist zu erkennen, dass so-gar zwei Effekte möglich sind:

1. fallen ein oder mehrere asynchrone PDOs in das Fenster, können syn-chrone PDOs nach hinten aus dem Fenster geschoben werden

Page 35: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-21R

2. asynchrone PDOs verlängern, wie gesagt, die Zykluszeit

Bei jedem Teilnehmer kann festgelegt werden, welches PDO synchron oderasynchron ist und das sogar jeweils für Senden und Empfangen. Ist also z. B.ein synchron gesendetes PDO beim Empfänger als ereignisgesteuert eingetra-gen, dann kann dieser sofort darauf reagieren (siehe Abbildung 19).

Asynchroner PDO

Synchroner PDO

Zeit

Sync SyncSyncSyncSyncSync

Ereignis

Abbildung 18: Synchron und asynchron 2 [CiA]

Synch-Objekte

RxPDO; synchempfangen

RxPDO; synchin OBV

RxPDO; asynchempfangen

RxPDO; asynchin OBV

TxPDO; synchin OBV

TxPDO; synchsenden

TxPDO; asynchin OBV

TxPDO; asynchsenden

Zeit

Applikation Applikation Applikation Applikation

Abbildung 19: Synchron und asynchron 3

NMTIn diesem Kapitel soll der Ablauf beim Netzwerkmanagement etwas ausführli-cher beschrieben werden.

Page 36: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CANopen

2-22 Schulungshandbuch 2 ecomatmobile Typ R 360

Reset Application

Reset Communication

Initialisation

Pre-Operational

Operational

Stopped

Abbildung 20: NMT schematisch

Pre-Operational Es werden keine Prozessdaten übertragen. Der Zugriff auf das Objektverzeich-nis ist möglich, d. h. SDO/(NMT) möglich.

Operational Alle Kommunikationsobjekte sind aktiv, d. h. PDO/ SDO / (NMT) /EMC/ NodeGuarding /Synch Objekte möglich.

Stopped Es werden keine Prozessdaten übertragen. Ein Zugriff auf das Objektverzeich-nis ist nicht möglich. Der Knoten (nicht die Steuerung) reagiert nur auf NMT-Objekte.

Das Diagramm, z. B. Abbildung 21, zeigt den Ablauf bei einem minimalenCANopen Gerät. Nach dem Einschalten der Versorgungsspannung geht dasGerät in den Zustand Initialisierung und danach Pre-Operational. Hier reagiertdas Gerät nur auf SDOs. Mit dem entsprechenden NMT kann schließlich derÜbergang in Operational und damit die Übertragung von PDOs bewirkt werden.Im Zustand Stopped (oder Prepeared), der auch über ein NMT erreicht wird,nimmt das Gerät nicht an der Kommunikation mit PDOs und SDOs teil. DieserZustand wird beim ecomat 100 Typ R360 nicht unterstützt.

Page 37: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-23R

Reset Application

Reset Communication

Initialisation

Pre-Operational

Operational

Stopped

Power ON

1

2

3

4

7

6

5

89

10

11

14

13

12

NMT-Kommandos

• 3, 6 Enter Operational

• 4, 5 Enter Pre- Operational

• 7, 8 Stop

• 9, 10, 11 Reset Application

• 12, 13, 14 Reset Communication

Alle Kommandos können auf das gesamteNetz gleichzeitig oder auf einzelne Knotenselektiv angewendet werden.

Abbildung 21: Abläufe bei NMT

Struktur Um das Netzwerkmanagement effektiv, das heißt schnell und übersichtlich, zugestalten wird die Struktur als Master-Slave ausgelegt. Es darf nur einen (alssolchen konfigurierten) Master geben. Die anderen Teilnehmer sind Slaves. Siewerden über ihre Node-ID identifiziert. Zulässig sind Werte zwischen 1 und 127.Der Wert 0 gilt für alle Teilnehmer (Broadcast, siehe 2.4).

ecomat mobile Bei den Steuerungen ecomat mobile werden die verschiedenen Zustände amGerät angezeigt, siehe auch Abbildung 22.

Page 38: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CANopen

2-24 Schulungshandbuch 2 ecomatmobile Typ R 360

Initialisierung

Pre-Operational

Operational

Power ON

Blinkfrequenz der LED

Langsam: 0.5 Hz

Schnell: 2 Hz

Nur Konfiguration

Datenaustausch

Abbildung 22: Statusanzeige

Abbildung 22 ist eine vereinfachte Version von Abbildung 21 mit einem Zusatz,der die Anzeige des Zustands beschreibt. Die Anzeige bezieht sich auf dieSteuerung. Die LEDs bei den Knoten werden z. B. auf Seite 4-3 ff beschrieben.

Zustandsma-schine

Was im Schema von Abbildung 21 oder Abbildung 22 beschrieben ist, wird alsZustandsmaschine des Geräts bezeichnet. Der Übergang in den Zustand Pre-Operational geschieht bei allen Geräten automatisch. Dieser Übergang wirddem NMT-Master als Bootup-Nachricht gemeldet. Der Übergang von den Re-set-Zuständen (siehe Abbildung 21) in die Initialisierung geschieht ebenfallsautomatisch.

Der Übergang in den Zustand Operational kann nur vom Master durch einStart_Remote_Node-Telegramm (3, 6 in Abbildung 21) bewirkt werden. Damitkönnen gezielt, über die Node-ID, einzelne Teilnehmer angesprochen werden.Das Broadcast-Verfahren (siehe 2.4) kann ebenfalls verwendet werden. Wirddas Start_Remote_Node-Telegramm mit der Node-ID "0" gesendet, werden alleTeilnehmer aktiviert.

Abbildung 23 zeigt eine Übersicht der NMT-Telegramme zur Kontrolle der Ge-rätezustände.

Page 39: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-25R

NMT Master NMT Slaves(s)

CS Node-ID

Byte 0 Byte 1

COB-ID = 0

indication

indication

indication

(0=all nodes)

1=1h Start_Remote_Node

2=2h Stop_Remote_Node

128=80h Enter_Pre-Operational_State

129=81h Reset_Node

130=82h Reset Communication

CS: Command Specifier

Abbildung 23: NMT Module Control Services [CiA]

Überwachung des NetzwerksCANopen Wie oben erwähnt, ist es einer der Gründe dafür CANopen einzusetzen, dass

viele Funktionen, hier zur Überwachung, schon vordefiniert sind.

3 Funktionen Die drei Funktionen zur zyklischen Geräteüberwachung des CANopen NMTwerden im folgenden kurz beschrieben.

Node Guarding Überwachung der NMT-Slaves durch den NMT-Master

Der NMT-Master fordert zyklisch von den NMT-Slaves deren CANopen Statusan. Wird diese Anforderung nicht innerhalb der "Life Time" beantwortet, erfolgteine Meldung an die Applikation.

Life Guarding Überwachung des NMT-Masters durch die NMT-Slaves

Die NMT-Slaves erwarten diese Abfrage. Bleibt sie für mehr als die "Life Time"aus, erfolgt eine Meldung an die Applikation.

Die "Life Time" errechnet sich aus der "Guard Time" multipliziert mit dem "LifeTime Factor". Guard Time und Lifetime Factor sind Einträge im Objektverzeich-nis und können über das Netz verändert werden.

Idx 100C SIdx 0 Guard Time in ms Bereich 0 ... 65535

Idx 100D SIdx 0 Life Time Factor Bereich 0 ... 255

Wird für die Guard Time der Wert 0 eingetragen, ist die Überwachungsfunktionausgeschaltet.

Beiden Funktionen gemeinsam ist die Kommunikation über Remote Request.Das dritte Verfahren kommt ohne diese aus.

Heartbeat Lebenszeichenmeldung

Zyklische Meldung der Geräte an einen oder mehrere Teilnehmer (auch zur ge-genseitigen Überwachung).

Eine der beiden Methoden, Guarding oder Heartbeat, muss implementiert sein.Heartbeat ist vorteilhaft, da es flexibler einsetzbar ist und nur ein Telegramm

Page 40: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CANopen

2-26 Schulungshandbuch 2 ecomatmobile Typ R 360

versendet wird, was eine geringere Buslast bedeutet. Nicht alle Geräte bietendie Option der Auswahl, da Heartbeat erst später definiert wurde.

Fehlermeldung anApplikation des

NMT-MasterAnforderungvon Master

Antwort vonSlave

GuardtimeMaster

Guardtime xLifetimefactor

Guardtime x LifetimefactorSlave

Fehlermeldung anApplikation des

NMT-Slave

Abbildung 24: Node und Life Guarding

Fehlerbehandlung bei CANopenNeben der allgemeinen Fehlerbehandlung, siehe 2-9, gibt es auch hier beiCANopen schon vordefinierte Abläufe. Davon sollen kurz einige Aspekte be-leuchtet werden.

Man kann bei den Fehlermöglichkeiten zwei Schwerpunkte sehen:

Kommunikationsfehler und

Gerätefehler

In der Praxis ist es nicht immer einfach, diese zu unterscheiden.

EMCY Jeder erkannte Fehler führt bei einem CANopen Gerät zur Aussendung einerEmergency Message. Diese enthält Informationen über den Fehler.

EMCY-Objekt

Idx 1001 00

Idx 1003 01

Idx 1014 00

OBV

ID Daten

„Error Field “; hält alle momentan anstehenden Fehler

„Error Register“

Identifier des EMCY-Objektes

• Die Applikation trägt einen anstehendenFehler in das „Error Register“ und in das„Error Field“ ein.

• Bei jedem neuen Eintrag wird einEMCY-Objekt gesendet.

• Ein nicht mehr anstehender Fehler wirdaus dem „Error-Field gelöscht. Sind alleFehler gelöscht, wird ein „EMCY-Null“gesendet.

Abbildung 25: EMCY und OBV

Page 41: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN

2-27R

Identifier Der Default-Identifier ist 128 + Node-ID. Damit ist die Priorität vergleichsweisehoch.

Fehlercode Für den Fehlercode gibt es eine Liste von vordefinierten Fehlern. Danebenwerden gerätespezifische Codes verwendet.

Beispiele für allgemeine Fehlercodes in CANopen

Code Bedeutung

00XX Ein Fehler wurde zurückgesetzt, bzw. es liegt kein weiterer Fehler an

10XX allgemeiner Fehler

20XX Stromfehler

30XX Spannungsfehler

50XX Hardwarefehler

Beispiele für Fehlercodes bei einem Antrieb

2100 Stromfehler (am Geräteeingang)

2110 Kurzschluss/Erdschluss

2120 Erdschluss

2121 Erdschluss Leiter L1

Abbildung 26: Fehlercodes

Übersicht Objekte und IdentifierZu Wartungszwecken kann es interessant sein, die Kommunikation auf demBus zu verfolgen. Die folgenden Tabellen sollen dabei helfen, die Nachrichtenzu verstehen.

Objekt CAN - Identifier Daten

Enter OPERATIONAL 000 h; fix 01 h | Node ID *

Enter PREOP 000 h; fix 80 h | Node ID *

Enter STOP 000 h; fix 02 h | Node ID *

Reset Node 000 h; fix 81 h | Node ID *

Reset Communication 000 h; fix 82 h | Node ID *

* Node ID = 0 gesamtes Netz

Synch 080 h; parametrierbar keine

Node Guard 700 h + NodeID; parametrierbar RTR Status des Knoten4 h = STOP5 h = OPERATIONAL7F h = PREOPBit 7 = Toggle-Bit

Page 42: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CANopen

2-28 Schulungshandbuch 2 ecomatmobile Typ R 360

Objekt CAN - Identifier Daten

Tx PDO 1 180 h + NodeID; parametrierbar Idx 1800 entsp.PDO-Map; Idx 1A00

Rx PDO 1 200 h + NodeID; parametrierbar Idx 1400 entsp.PDO-Map; Idx 1A00

Tx PDO 2 280 h + NodeID; parametrierbar Idx 1801 entsp.PDO-Map; Idx 1A00

Rx PDO 2 300 h + NodeID; parametrierbar Idx 1401 entsp.PDO-Map; Idx 1A00

Für die ersten 2 Tx bzw. Rx PDOs sind die oben aufgeführten Voreinstellungender CAN-Identifier entsprechend des "pre-defined connection set" vorgesehen.Jeder CANopen-Knoten kann weitere PDOs unterstützen. Die CAN-Identifier fürdiese PDOs sind dann geräte- bzw. anlagenspezifisch zu vergeben.

Objekt CAN - Identifier Daten

SDO 1 request 580 h + NodeID; fix Idx 1200 OBV-Idx; Inhalt / Anforderung

SDO 1 response 600 h + NodeID; fix Idx 1200 OBV-Idx; Inhalt / Bestätigung

Jeder CANopen-Knoten muss mindestens ein Server-SDO unterstützen. Fürdieses SDO gilt die obige Regel zur Vergabe der CAN-Identifier. Ein CANopen-Knoten kann weitere Server-SDO unterstützen, um z.B. mehreren fremdenKnoten gleichzeitig die Möglichkeit zu geben auf das eigene OBV zuzugreifen.Ferner kann jeder Knoten auch Client-SDO eingerichtet haben, um z. B. aufOBVs fremder Knoten zuzugreifen. Die CAN-Identifier für diese zusätzlichenSDO sind parametrierbar ab OBV-Idx 1201 bzw. 1280.

Page 43: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

3-1R

3 CAN Praxis I Freies ProtokollIm System ecomat mobile wird Bezug auf die ISO 11898 genommen. Anderebei der ifm erhältliche Komponenten wie E/A-Module, Neigungssensoren, Dis-plays usw. oder auch mehrere Steuerungen werden mit CAN vernetzt. Das wirdim folgenden an Beispielen beschrieben. Daneben kann es vorkommen, dassWerte aus dem Motormanagement, z. B. nach SAE J1939, benötigt werden.So sollen etwa Hydraulikaggregate nur in Betrieb genommen werden können,wenn eine Mindestdrehzahl des Motors erreicht wurde (um den sicheren Be-trieb eines Kompressors zu gewährleisten). Die Einbeziehung solcher Informa-tionen wird später beschrieben.

3.1 Kommunikation zweier Steuerungen

VorbereitungIn 2.1 und Seite 2-12 wurde der Unterschied zwischen dem freien Protokoll undCANopen schon beschrieben. Als Einstieg in die Anwendung von CAN soll dieKommunikation zwischen zwei Steuerungen mit dem freien Protokoll an einemBeispiel beschrieben werden (für CANopen siehe 0).

Dazu ist folgendes vorzubereiten:

2 Steuerungen ecomat 100 Typ R360

Spannungsversorgung für die Steuerungen

Simulatorboxen für jede Steuerung

Federklemmenboxen für die Verbindung der Steuerungen über die CAN-Schnittstelle

PCs

Diese Punkte sollen noch kurz erläutert und präzisiert werden.

Steuerungen Es gibt verschiedene Hardwareversionen. Im Starterset (EC2074) ist die Ver-sion CR2500. Hier in diesem Handbuch beziehen sich die Beispiele aufCR0020. Wenn andere Versionen verwendet werden, z. B. CR0200, dannmuss beim Nachvollziehen der Beispiele überall CR0020 durch CR0200 ersetztwerden. Das betrifft Dateinamen, z. B. den der Steuerungskonfiguration. Es istauch möglich, die Kommunikation mit unterschiedlichen Versionen aufzubauen,z. B. eine CR0200 mit einer CR0020 zu verbinden.

Spannungs-versorgung

Diese ist im Starterset enthalten. Bei anderen Versionen ist für eine Span-nungsversorgung nach Datenblatt zu sorgen.

Page 44: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation zweier Steuerungen

3-2 Schulungshandbuch 2 ecomatmobile Typ R 360

Simulator Im Starterset ist die kleine Simulatorbox schon fertig angeschlossen, sieheAbbildung 47. Bei Verwendung des großen Simulators (EC2014) sind die An-schlüsse nach Datenblatt zu verbinden.

Federklemmen-boxen

Zur Verbindung von Steuerungen werden zunächst Federklemmenboxen ver-wendet, um flexible Testmöglichkeiten zu haben. Im Prinzip würde ein 5-poligesKabel mit 2 Steckern genügen. Dann gäbe es aber keine Möglichkeit von au-ßen die Kommunikation zu verfolgen. Bei der Verbindung anderer Versionen,die unterschiedlich je nach Hardwareversion und Simulator ausgeführt seinkann, sollte in jedem Fall ein T-Stück verwendet werden, um den Anschlussvon Diagnosegeräten für die Kommunikation, z. B. CANview oder CAN-Analy-ser, zu ermöglichen.

PCs Am einfachsten und praktischsten ist es, zwei PCs zu verwenden, so dass manbei beiden Steuerungen gleichzeitig online gehen kann. Es ist auch möglich,nur etwas umständlicher, mit einem PC zu arbeiten, falls kein zweiter zur Ver-fügung steht. Es muss dann jeweils eine andere Datei geöffnet und die Kabelumgesteckt werden. Ein Schnittstellenumschalter ist dann nützlich. Es wirdvorausgesetzt, dass CoDeSys vom Starterset oder als Vollversion zur Verfü-gung steht.

In 1.1 wurde schon darauf hingewiesen, welche Vorkenntnisse notwendig sindund wie diese, falls erforderlich, wieder aufgefrischt werden können.

KonfigurationCoDeSysVersion

Die Screenshots wurden zum größten Teil der Version 2.3 von CoDeSys ent-nommen. Falls Sie mit einer älteren oder neueren Version arbeiten, dann kanneventuell das Aussehen der Fenster und die Bezeichnung und Anordnung derMenüpunkte etwas unterschiedlich sein. Am Prinzip ändert das aber nichts. AlsSprache wurde meist FUP verwendet. Mit etwas Erfahrung sollte es Ihnen leichtfallen, sich daran zu gewöhnen oder auch Modifikationen vorzunehmen, z. B.wenn Sie eine andere Sprache als FUP vorziehen.

Ablauf Zu Beginn soll noch einmal kurz daran erinnert werden, wie die Vorgehens-weise ist (eigentlich wird ja Programmiererfahrung vorausgesetzt). FolgendeSchritte sollen schon erfolgreich abgeschlossen sein (wem das nicht mehr ganzgeläufig ist, der sollte diese Schritte mit Hilfe des Anhangs 0 rekapitulieren):

ein neues Projekt wurde geöffnet

das Zielsystem wurde ausgewählt

der Baustein PLC_PRG wurde als FUP eingefügt

das Verzeichnis für die Konfigurationsdateien wurde eingetragen

die Steuerungskonfiguration wurde angepasst

ein neuer Baustein wurde mit dem Namen CANStep1 als (PRG-FUP) ein-gefügt

Page 45: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

Vorlage

Die meisten dieser Schritte müssen ja nur einmal zu Beginn durchgeführt wer-den. Wenn mit der gleichen Hardware weitergearbeitet wird, dann erspart mansich diese Arbeit, indem ein bestehendes Projekt als Vorlage verwendet wird.Auch falls vorher ohne CAN gearbeitet wurde, dann sind es nur noch wenigeSchritte, um die Vorlage umzukonfigurieren.

Steuerungskon-figuration fürCAN Netzwerke

Wie gesagt, wird hier nicht die ganze Konfiguration gezeigt. Daher wird voraus-gesetzt, dass die Steuerung selbst schon in der Steuerungskonfiguration ein-getragen ist (Abbildung 27). Nur die Einstellungen bei der Steuerungskonfigu-ration (der 5. Punkt oben), die für CAN zusätzlich benötigt werden, sollen imfolgenden kurz gezeigt werden.

CAN Layer 2 Es soll noch einmal daran erinnert werden, dass es um die Kommunikation aufLayer 2 geht. Die Konfiguration für die Kommunikation über CANopen wird imAnschluss gezeigt, siehe 0.

Um die Kommunikation zu konfigurieren, wird über 'Einfügen' 'Unterelementanhängen' 'CR0020, CANopen Master...' angeklickt.

Abbildung 27: Steuerungskonfiguration Unterelement Master

Ein neues Fenster öffnet sich, in dem die Konfiguration vorgenommen wird.

angehängtesUnterelement

Default-Baud-rate

Defaulteinstel-lung aktiviert

muss deakti-viert werden

3-3R

Abbildung 28: Steuerungskonfiguration CANopen Master

Page 46: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation zweier Steuerungen

3-4 Schulungshandbuch 2 ecomatmobile Typ R 360

CANdeaktivieren

Es erscheint zunächst verwunderlich, dass CAN deaktiviert werden soll. Das istaber leicht zu verstehen, wenn man berücksichtigt, dass es sich um die Aktivie-rung der Kommunikation mit CANopen handelt. Die Kommunikation über Layer2 ist allein schon durch das Anhängen des Unterelements aktiviert. Die beidenHaken in Abbildung 28 sind also zu entfernen.

Wenn mit CANopen gearbeitet wird, siehe 0, dann werden die Haken wiedergesetzt und weitere Einstellungen werden vorgenommen.

Baudrate

Die Default-Baudrate in Abbildung 28 braucht im allgemeinen nicht geändert zuwerden. Bei relativ großen Leitungslängen sollte sie reduziert werden, sieheAbbildung 4. Bei extrem zeitkritischen Vorgängen kann sie auch erhöht werden(bei kleineren Längen). Dabei steigt aber die Anfälligkeit gegen Störungen.

Bei Projekten aus früheren Versionen von CoDeSys, z. B. 2.1, wurde die Konfi-guration der Baudrate noch durch einen Funktionsblock vorgenommen. Dieserist hier nicht mehr erforderlich.

Nachdem die Steuerungskonfiguration fertig ist, werden noch kurz die Zielsys-temeinstellungen, und zwar die Netzfunktionen, kontrolliert. Hier müssen Netz-variablen unterstützt werden (Abbildung 29).

Abbildung 29: Zielsystem Einstellungen Netzfunktionen

BibliothekenBibliotheks-verwalter

Ein Blick auf den Bibliotheksverwalter zeigt, dass zunächst nur die Standard-bibliothek eingefügt ist. Die hardwarespezifische Bibliothek muss noch einge-fügt werden (das sollte auch schon bekannt sein).

warum nichtautomatisch?

Eine der Eigenschaften der Version 2.3 ist, dass viel mehr Schritte als vorherautomatisiert werden. Wir werden gleich sehen, dass auch Bibliothekenautomatisch eingefügt werden. Diese hier muss aber noch manuell eingefügtwerden. Das hat den Sinn, die Arbeit mit unterschiedlichen Versionen desBetriebssystems zu ermöglichen.

Page 47: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-5R

Abbildung 30: Bibliotheksverwalter 1

Die folgende Abbildung 31 zeigt die eingefügte Bibliothek. Dort wird nur die Bib-liotheksliste, also ein Ausschnitt von Abbildung 30, gezeigt.

Abbildung 31: Bibliotheksverwalter 2

Es ist zu sehen, dass es sich um die Bibliothek für die CR0020 in der Version030002 handelt.

Util.lib Bei der Arbeit mit CAN wird auch häufig die Bibliothek 'Util.lib' verwendet. Sieist im Verzeichnis 'C:\Programme\ifm electronic\CoDeSys V2.3\Library' zufinden.

überflüssigeBibliotheken

Falls versehentlich eine nicht benötigte Bibliothek eingebunden wurde, brauchtman sich nicht unbedingt zu kümmern. Bibliotheken können auch leicht im Bib-liotheksverwalter entfernt werden. Dabei sollte man aber genau Bescheid wis-sen, was benötigt wird.

Fehler Variablenicht deklariert

Eine Bibliothek vergrößert zunächst nur etwas die Programmdatei. Da derenGröße selten ein Problem darstellt, braucht man nicht unbedingt darauf zuachten. Etwas mehr Probleme kann es bereiten, wenn in der Bibliothek Sys-temvariablen verwendet werden, die nicht konfiguriert oder von einer anderenBibliothek erzeugt wurden. Dann erscheint beim Übersetzen eine zunächstüberraschende Fehlermeldung, dass Variable nicht deklariert wurden, die beider Editierung des Programms überhaupt nicht verwendet wurden. Wenn sieinterne Variable in einer Bibliotheksfunktion sind, findet man sie nicht. Der glei-che Effekt kann sich ergeben, wenn eine benötigte Bibliothek versehentlichentfernt wurde.

Die Einbindung der 'Util.lib' ist aber problemlos.

Page 48: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation zweier Steuerungen

3-6 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 32: Bibliotheksverwalter 3

Jetzt wird zur Demonstration schon einmal der Menüpunkt 'Projekt' 'AllesÜbersetzen' angeklickt. Im Meldungsfenster erscheint eine Fehlermeldung, diezu erwarten war. Bekanntlich sind ganz leere Bausteine nicht zulässig. Der ein-zige Baustein, der bisher eingefügt wurde ist das leere HauptprogrammPLC_PRG. Interessanter ist aber jetzt der Bibliotheksverwalter.

Abbildung 33: Bibliotheksverwalter 4

eingefügteBibliotheken

In der Bibliotheksliste im Bibliotheksverwalter erscheinen mehrere zusätzlicheBibliotheken. Sie werden beim Kompilieren automatisch eingebunden. Welchedavon benötigt werden, folgt aus der Konfiguration. Den Dateinamen ist zuentnehmen, dass es sich um Bibliotheken handelt, die für die Kommunikationmit CAN benötigt werden.

Die Bausteine

Zunächst soll daran erinnert werden, dass über 'Projekt' Objekt' 'Einfügen...'ein neuer Programmbaustein, CANStep1, eingefügt werden sollte. In diesenwerden dann die einzelnen Verknüpfungen eingetragen.

2 Steuerungen Im Beispiel (im ganzen Kapitel 3) sollen 2 Steuerungen miteinander kommu-nizieren.. Dann können die Programme in beiden Steuerungen nicht identischsein. Wenn z. B. die erste Steuerung sendet, dann empfängt die zweite undumgekehrt. Das wird durch unterschiedliche Funktionsblöcke realisiert. BeimNachvollziehen der Beispiele im folgenden Text ist also genau zu beachten, obdie Bausteine für die Steuerung 1 oder 2 bestimmt sind. Natürlich soll dieKommunikation nicht nur in einer Richtung ablaufen. Nur im ersten Schritt solldie Steuerung 1 senden und 2 empfangen. Die Zuordnung von 1 und 2 zu denSteuerungen ist dabei beliebig (bitte beachten: der FunktionsblockCAN2_RECEIVE bezieht sich nicht auf den Teilnehmer 2 sondern auf die 2.Schnittstelle, CAN 2, über die viele Hardwareversionen verfügen).

Page 49: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-7R

Steuerung 1 Die nächsten Schritte beziehen sich also auf die Steuerung 1. Wenn der Pro-grammbaustein, der mit dem Senden zusammenhängt, komplett ist und in dieSteuerung 1 geladen ist, dann wird der Baustein für das Empfangen beschrie-ben, der in die Steuerung 2 geladen wird.

Gruppenarbeit Wenn dieses Schulungshandbuch zur Gruppenarbeit genutzt wird, dann ist essinnvoll, dass die erste Gruppe den Programmbaustein 'Senden' und die zweiteGruppe 'Empfangen' editiert und jeweils in Steuerung 1 oder 2 lädt. Der Testder Kommunikation wird auf Seite 3-17 ff beschrieben.

CAN1_TRANS-MIT

Zuerst wird der Baustein, der das Senden (Steuerung 1) bewirkt, beschrieben(CAN1 bedeutet Schnittstelle 1, nicht Steuerung 1).

'Einfügen''Baustein'

Über 'Einfügen' 'Baustein' oder über den Button wird ein Baustein einge-fügt. Der Defaultbaustein (UND-Operator) wird durch den Funktionsblock fürdas Senden (engl. Transmit) ersetzt. F2 öffnet ein Auswahlfenster.

Abbildung 34: Funktionsblock Senden in Eingabehilfe

Nach Bestätigung mit erscheint der eingefügte Funktionsblock im Edi-torfenster des Bausteins.

Abbildung 35: Funktionsblock CAN1_TRANSMIT

Eingaben Die Zeichen ??? stehen für Eingabefelder. Die Eingaben im Beispiel sollen kurzbeschrieben werden.

Name Der Name ist frei zu vergeben unter Beachtung der üblichen Regeln (keineBlanks, Sonderzeichen usw., siehe Programmierhandbuch). Als Beispiel wurde'Senden1an2' gewählt.

Name

Identifier

Länge

Werte

aktiv

Page 50: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation zweier Steuerungen

3-8 Schulungshandbuch 2 ecomatmobile Typ R 360

Eingänge

Identifier Der Identifier wird hexadezimal als '16#64' eingegeben. Der Empfänger erkenntdaran, dass die Sendung für ihn bestimmt ist (siehe CAN_RECEIVE, Abbildung43, weiter unten und 2.4). Dezimal ist dieser Wert 100. Er kann zwar ziemlichwillkürlich gewählt werden. Dieser Wert hat sich aber als günstig erwiesen, ummögliche Konflikte mit reservierten oder anderweitig genutzten Identifiern zuvermeiden.

Länge Damit ist die Größe des Datenfeldes gemeint. Durch die Zuweisung von 8 wirdsie auf 8 Byte festgelegt.

Werte Die Variable 'Wertsatz1' muss demnach als Array von 8 Bytes deklariert wer-den. (Abbildung 36). Bei der Deklaration wurden die Felder des Arrays mit will-kürlichen Werten initialisiert, um beim Programmtest erkennen zu können, dassder Wertesatz übertragen wurde.

aktiv Der Funktionsblock wird abgearbeitet, wenn die Boolsche Variable 'Freigabe'TRUE ist. Was sinnvolle Bedingungen dafür sein können, wird weiter untengezeigt.

Ausgang

Sendung erfolgt Der Ausgang 'RESULT' muss nicht verwendet werden. Im Beispiel wird er je-doch ausgewertet. Die Variable 'gesendet' wird auf TRUE gesetzt, wenn derFunktionsbaustein abgearbeitet wurde.

DeklarationArray

Ein Array wird nicht automatisch deklariert. Die Deklaration muss direkt im ent-sprechenden Fenster editiert werden. Die Syntax ist in allen Details genau zubeachten, z. B. genau 2 Punkte zwischen 0 und 7 in Abbildung 36.

Abbildung 36: CAN1_TRANSMIT bearbeitet

Page 51: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-9R

RESULT

Das Bit RESULT bezieht sich nur auf die Bearbeitung des Funktionsbausteinsin der Software. Ob die Daten physikalisch auf den Bus gegeben wurden, mussauf anderen Wegen kontrolliert werden (siehe Seite 3-23 ff).

Variablentypen

Wer im Laufe der Zeit eine ganze Reihe von Bausteinen verwendet, dem wirdmöglicherweise nicht mehr jede Bezeichnung geläufig sein. Manche Bezeich-nungen kommen immer wieder vor, z. B. 'ENABLE'. Wie aber z. B. die Variablefür den Eingang 'DATA' zu deklarieren ist, nämlich als Array von Bytes, daskann schon einmal vergessen werden. Sehr rasch und einfach findet man sol-che Informationen, wenn in 'Fenster' 'Bibliotheksverwaltung' der entspre-chende Funktionsblock, hier 'CAN1_TRANSMIT', markiert wird. Abbildung 37zeigt Ausschnitte daraus. Ausführlichere Informationen sind im Systemhand-buch oder der Onlinehilfe zu finden.

bitte beachten!

Reichliche Kommentare, wie z. B. in Abbildung 36, sind eine große Erleichte-rung zum Verständnis der Programmschritte. Das ist besonders wichtig, wenn,wie häufig der Fall, nicht ständig programmiert wird, sondern erst wieder beinach Wochen erstmaligem Auftreten einer Störung der Ablauf im Programmnachvollzogen werden muss. Das gleiche gilt z. B. auch, wenn das Programmspäter, durch einen anderen Programmierer, modifiziert werden soll.

Abbildung 37: CAN1_TRANSMIT in Bibliothek

Freigabe Es sollen noch die Freigabe der Sendung gesteuert werden. Dazu wird ein Ein-gang auf dem Simulator verwendet.

Abbildung 38: Freigabe der Sendung über Schalter

Der Variablen wird bei der Deklaration der Eingang %IX0.0 zugeordnet. Dannkann manuell, über den entsprechenden Schalter am Simulator, der Sender"ein-" bzw. "ausgeschaltet" werden.

Page 52: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation zweier Steuerungen

3-10 Schulungshandbuch 2 ecomatmobile Typ R 360

Es erscheint zunächst aufwendig, dafür ein eigenes Netzwerk einzufügen. Dadie Freigabe aber noch modifiziert wird und noch andere Bedingungen dazu-kommen, bleibt so das Programm übersichtlicher.

Daten Mit dem Programmbaustein aus Abbildung 36 wird bei jeder Freigabe ein Satzvon gleichen Werten gesendet. Bei der ersten Sendung kann beim Empfängerkontrolliert werden, ob die Daten empfangen wurden. Wird aber erneut gesen-det, dann wird keine Veränderung zu erkennen sein. Als Beispiel (Abbildung39) wird einfach das Bit 'gesendet' über einen Zähler ausgewertet. Dieser zähltalso die Anzahl der Sendungen.

Abbildung 39: Zähler Anzahl Sendungen 1 an 2

Die Ein- und Ausgänge des Funktionsblocks 'Anz_Sendungen', eine Instanzvon 'CTU' (aufwärts zählen), werden kurz beschrieben.

gesendet Auf den Eingang für die zu zählenden Impulse 'CU' wird das Merkerbit ge-schaltet, das die erfolgreiche Abarbeitung des Funktionsblocks 'Senden1an2'signalisiert, siehe Abbildung 36.

Ruecksetzen Als Bedingung für den 'RESET'-Eingang des Zählers wird ein Merkerbit ver-wendet, das z. B. über die Funktion 'Online' 'Werte schreiben' oder über eineVisualisierung gesetzt wird.

'PV' Für das Beispiel hat ein Sollwert 'PV' für die Anzahl der Sendungen keinenSinn. Der Eingang wird nicht belegt.

'Q' Der Ausgang wird im Beispiel ebenfalls nicht benötigt. Er braucht auch nichtbelegt zu werden. Der Zähler hat also die Funktion eines reinen Anzeigezäh-lers.

' Zaktuell ' Die Zuordnung einer Merkerwortadresse zum Istwert 'CV' ist eigentlich auchnicht erforderlich. Sie wird hier nur deshalb vorgenommen, weil dann im Online-Betrieb der Wert, also der aktuelle Zählerstand, einfach direkt abgelesen wer-den kann.

Der Funktionsbaustein in Abbildung 39 zählt nun die Anzahl der Sendungen.Das Ziel dabei war, bei jeder Sendung jeweils einen anderen Wert zu senden,um den Empfang kontrollieren zu können. Dazu muss der Zählwert noch auf einFeld des gesendeten Wertsatzes übertragen werden.

Abbildung 40: Zählwert übertragen

Page 53: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-11R

Der Zählwert 'Zaktuell' ist als WORD deklariert (siehe Abbildung 34), daszweite Feld im Array 'Wertsatz1[1]' dagegen als BYTE (siehe Abbildung 36).Daher wird der Wert nicht direkt übertragen sondern es wird dabei eine Typ-konvertierung vorgenommen, siehe Abbildung 40.

Datentypen

Es ist eine häufige Fehlerquelle, dass unterschiedliche Datentypen ohne Kon-vertierung miteinander verknüpft werden. Die Datentypen sind meistens, wieauch hier im Beispiel, nicht willkürlich bei der Deklaration gewählt worden son-dern sind im Funktionsbaustein aus der Bibliothek definiert. Um welche Typenes sich handelt, lässt sich wie am Beispiel von Abbildung 37 feststellen.

Ein anderes Beispiel ist die Visualisierung. Sie ist ein mächtiges Hilfsmittel u. a.zur Diagnose und Wartung. Soll z. B ein Analogwert dargestellt werden, dannkann das Konvertierungen und Umrechnungen erfordern, z. B. durch zusätzli-che Netzwerke im Programm, um den Wert als Messgröße darzustellen. Wirdein PDM verwendet, dann lässt sich die Aufgabe an dieses übertragen. Das hatden Vorteil, dass die Steuerung davon entlastet wird.

Minimalpro-gramm

Das kleine Beispielprogramm soll nur seinen Zweck erfüllen, die Kommunika-tion über CAN zu veranschaulichen. Es lässt sich sicherlich weiter optimieren.Zwei Punkte sollen nur kurz angemerkt werden.

Überlauf 'Wertsatz[1]' ist ein Byte. Übersteigt also der Zählwert 256, dann beginnt eswieder von vorn mit dem Wert 0. Dieser Überlauf wird nicht abgefangen.

aktueller Wert Das Bit 'gesendet' wird erst nach erfolgreicher Bearbeitung des Funktionsbau-steins 'Senden1an2' gesetzt. Das heißt, der Zähler kann erst nach der Sen-dung um eins weiter zählen. Der als 'Wertsatz[1]' übertragene Wert ist also umeins kleiner als der tatsächliche Wert.

Wer mag, kann ja als Übungsaufgabe diese kleinen Schönheitsfehler beheben.

nichtvergessen!

Die Funktionsblöcke wurden in den Programmbaustein 'CANStep1' eingefügt.Dieser Baustein muss noch in 'PLC_PRG' eingefügt werden, damit er bearbei-tet wird (siehe Kurzanleitung im Anhang 0). Diese wenigen Netzwerke mit ihrenFunktionsblöcken sind noch recht übersichtlich. Man hätte sie auch direkt in dasHauptprogramm 'PLC_PRG' setzen können. Nur wird es bei einer üblichenAnwendung ja nicht bei so wenigen Netzwerken bleiben, so dass, wegen derbesseren Übersicht, die Aufteilung in Programmbausteine vorzuziehen ist.

Übersicht

Folgende Programmstruktur ist wäre auch übersichtlich:

Alle Funktionsblöcke zur Kommunikation mit CAN werden in einem separatenProgrammbaustein, z. B. mit Namen 'Kommunikation' zusammengefasst. Fürdie Erstellung des eigentlichen Programms, das den Ablauf steuert, spielt esdann keine Rolle, ob die Variablen über CAN oder von einem physikalischenEingang der Steuerung kommen.

Page 54: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation zweier Steuerungen

3-12 Schulungshandbuch 2 ecomatmobile Typ R 360

Sichern

Natürlich sollte auch daran gedacht werden, das Projekt schon während derErstellung regelmäßig zu sichern. Beim erstmaligen Speichern öffnet sich au-tomatisch das Fenster 'Speichern unter...'. Jetzt kann ein Name vergebenwerden. Um das Nachvollziehen des Beispiels zu einem späteren Zeitpunkt zuerleichtern, ist es sinnvoll z. B. die Zeichen S1 (für Steuerung 1) als Bestandteildes Namens zu verwenden, entsprechend S2 für Steuerung 2. Ein Name wie z.B. Test17 ist wenig aussagekräftig. Zur besseren Übersicht ist es auch zuempfehlen in die Projektinformation Daten und Kommentare einzutragen. Unter'Projekt' 'Optionen...' 'Lesen & Speichern' lässt sich durch einen Haken imFeld 'Projektinformation verlangen' bewirken, dass sich beim erstmaligenSpeichern automatisch das Fenster dafür öffnet. Später kann es unter 'Projekt''Projektinformation...' für weitere Modifikationen oder zur Kontrolle erneutgeöffnet werden.

ProgrammtestSteuerung 1

Damit ist der erste Programmbaustein fertig. Er bewirkt das Senden veränderli-cher Werte durch die erste Steuerung auf den Bus. Er kann schon in die Steue-rung 1 geladen und getestet werden. Dieser Test wird auf Seite 3-17 beschrie-ben.

Programmbau-stein

In diesem Kapitel wird zum Einstieg das Vorgehen ausführlicher beschrieben.Deshalb folgt hier auch noch einmal der komplette Baustein CANStep1 alsAbbildung 41. Damit kann kontrolliert werden, ob alles richtig eingegebenwurde. In den nächsten Kapiteln wird die Darstellung nicht mehr so ausführlichsein sonst würde dieses Handbuch viel zu ausführlich werden.

'Projekt''Dokumentie-ren'

Über diesen Menüpunkt wurde Abbildung 41 erzeugt. So ähnlich würde einAusdruck aussehen, der mit diesem Menüpunkt erzeugt wurde. In 'Datei' 'Ein-stellungen Dokumentation...' kann das Format der Dokumentation bearbeitetwerden. Eine ausführlichere Beschreibung ist im Programmierhanddbuch zufinden.

Page 55: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-13R

CANStep1 (PRG-FUP)0001 PROGRAM CANStep10002 VAR0003 Senden1an2: CAN1_TRANSMIT; (*Funktionsblock Senden Steuerung 1 an Steuerung 2*)0004 (*auf Kanal 1, CAN1, Layer 2*)0005 Wertsatz1: ARRAY[0..7] OF BYTE:=1,2,3,4,5,6,7,8; (*gesendeter Satz von 8 Bytes*)0006 Freigabe: BOOL; (*Freigabe für Sendung*)0007 gesendet: BOOL; (*Sendeoperation ausgeführt*)0008 Anz_Sendungen1an2: CTU; (*Anzahl Sendungen von Steuerun 1 an 2*)0009 Ruecksetzen: BOOL; (*Rücksetzen des Zählers auf 0*)0010 Zaktuell: WORD; (*aktueller Zählwert Anzahl Sendungen*)0011 Freigabe_S AT %IX0.0: BOOL; (*Freigabe über Schalter*)0012 END_VAR0001

FreigabeFreigabe_S

0002

gesendetCAN1_TRANSMIT

Senden1an2

IDDLCDATAENABLE

RESULT16#648

Wertsatz1Freigabe

Senden von Seuerung 1 an 2freigegeben über 'Freigabe'

0003

CTUAnz_Sendungen1an2

CURESETPV

QCV Zaktuell

gesendetRuecksetzen

Zähler für Anzahl Sendungen von 1 an 2

0004

Wertsatz1[1]WORD_TO_BYTE

Zaktuell

Konvertierung des Datentyps

Abbildung 41: Programmbaustein CANStep1 (Senden)

bitte beachten!

Abbildung 41 gibt nur den jetzt aktuellen Stand wieder. Wie sich noch zeigenwird, muss das Programm ergänzt werden (Seite 3-28).

Steuerung 2 Es folgt die Beschreibung der Programmbausteine für das Empfangen (Steue-rung 2). Der Ablauf ist ganz ähnlich, daher wird nicht noch einmal jeder ein-zelne Schritt ausführlich beschrieben. Steuerung 2 sollte soweit vorbereitetsein, wie schon zu Anfang dieses Kapitels, Seite 3-1 ff., für Steuerung 1 be-schrieben wurde.

Konfiguration Bei der Konfiguration gibt es keinen Unterschied zwischen Steuerung 1 und 2.Die Schritte, die auf den Seiten 3-2 bis 3-6 beschrieben wurden, können direktübernommen werden. Falls Steuerung 2 ein anderer Typ ist, muss das entspre-chend berücksichtigt werden.

Falls nur ein PC zur Verfügung steht, auf dem die Programme für beide Steue-rungen erstellt werden, kann man sich Arbeit sparen, weil es einfach ist, Netz-werke oder Bausteine von einem Projekt in ein anderes zu übernehmen. DieBeispiele aus diesem Handbuch lassen sich also als Vorlage für weitere Pro-jekte verwenden. Die Kenntnisse darüber, welche Anpassungen dabei eventuell

Page 56: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation zweier Steuerungen

3-1

vorgenommen werden müssen, werden vorausgesetzt. Eine kurze Beschrei-bung, wie dabei vorzugehen ist, steht in der Kurzanleitung im Anhang 0.

Das Programm der Steuerung 2 unterscheidet sich natürlich von dem ausSteuerung 1. Das erste Netzwerk entfällt, weil normalerweise das Empfangennicht freigegeben wird. Empfangsbereitschaft sollte immer bestehen. Im erstenNetzwerk steht jetzt der Funktionsblock für das Empfangen.

CAN1_RECEIVE Der Funktionsblock hat nach dem Einfügen (siehe Abbildung 42) folgendesAussehen:

Eingab

Name

Eingän

Aktiv

Buffer lö

Identifie

Ausgän

Werte

Länge

n. v.

Werte

Länge

nicht verwendet

Anzahl Werte im Buffer

Buffer Überlauf

l

Id

Name

aktiv

Bufferöschen

entifier

4 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 42: Funktionsblock CAN1_RECEIVE

Eine Kurzinformation zum Funktionsbaustein ist wieder in der Bibliothek zu fin-den, siehe Abbildung 37.

en Die Zeichen ??? stehen wieder für Eingabefelder. Die Eingaben im Beispielwerden kurz beschrieben.

Der Name ist frei zu vergeben unter Beachtung der üblichen Regeln (keineBlanks, Sonderzeichen usw., siehe Programmierhandbuch). Als Beispiel wurde'Empfangen2von1' gewählt.

ge

Über diesen Eingang muss einmal, am besten direkt bei Programmstart, derFunktionsblock initialisiert werden. Wie das gemacht wird, ist in Abbildung 43 zusehen.

schen Auf die Löschung wird hier im Beispiel verzichtet.

r Der Identifier wird hexadezimal als 16#64 eingegeben. Der Empfänger erkenntdaran, dass die Sendung für ihn bestimmt ist (siehe CAN_TRANSMIT,Abbildung 36 weiter oben und 2.4).

ge

Hier wird eine Variable zugewiesen, die mit den übertragenen Werten belegtwird. Die Variable Wertsatz2, die in Steuerung 2 empfangenen Werte, mussdemnach wie Wertesatz1 in Steuerung 1 als Array von 8 Bytes deklariert wer-den. (Abbildung 36). Hier kann dann geprüft werden, ob der Wertesatz übertra-gen wurde.

Hier kann geprüft werden, welche Datenlänge übertragen wurde, im Beispiel istder Wert 8.

Der Ausgang RTR wird nicht verwendet, er wird freigelassen.

Page 57: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-15R

Anzahl Werte imBuffer

Die Kommunikation über CAN verläuft unabhängig vom Programmzyklus derSteuerung 2. Daher ist es möglich, dass mehrere Wertesätze empfangen wer-den, bevor der Funktionsbaustein 'Empfangen2von1' abgearbeitet wird. Überdie Variable 'Anzahl_S' (siehe Abbildung 43) kann abgefragt werden, ob z. B.dieser Wert >1 ist.

Buffer Überlauf Wenn dieses Bit gesetzt ist, dann ist schon mindestens ein Wertesatz verlorengegangen. Normalerweise sollte das nicht geschehen. In der Praxis sollte die-ses Bit ausgewertet werden, im Beispiel wurde das weggelassen.

Abbildung 43: CAN1_RECEIVE bearbeitet

AnzahlempfangenerSendungen

Bei Steuerung 1 wurde die Anzahl der Sendungen gezählt. In Steuerung 2 istes interessant, die Anzahl der empfangenen Sendungen zu zählen. Ein Beispieldazu zeigt Abbildung 44.

Abbildung 44: Zähler empfangene Sendungen

Ausgenutzt wurde dabei, dass sich im Normalfall (höchstens) ein Wertesatz imBuffer befindet. Ansonsten hat der Zähler ähnliche Eigenschaften wie oben,siehe Abbildung 39 und Erläuterungen dazu. Wie meistens gibt es auch hiermehrere mögliche Wege, um zu diesem Ergebnis zu kommen, z. B. über eineAddition. Im Beispiel von Abbildung 44 wird nicht ausgewertet, ob sich mehr alsein Wertesatz im Buffer befindet.

Praxis

Bei einem "richtigen" Anwendungsprogramm müssen Fälle wie Überlauf desBuffers, siehe Abbildung 43, oder mehrere Datensätze im Buffer überwacht undso behandelt werden, dass keine Nachrichten verloren gehen. Damit das ersteeinfache Beispiel nicht unübersichtlich wird, ist hier darauf verzichtet worden.

Page 58: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation zweier Steuerungen

3-16 Schulungshandbuch 2 ecomatmobile Typ R 360

nicht vergessen

Das Initialisierungsbit muss noch zurückgesetzt werden, siehe Abbildung 45. Eswurde ja zu Beginn des ersten Zyklus auf TRUE gesetzt. Wenn es auf diesemZustand bleibt, dann würde der Baustein von Abbildung 43 ständig neu initiali-siert. Ein Empfang wäre wahrscheinlich gar nicht möglich.

Das Bit Init

Weil es häufig vorkommt, dass Funktionsblöcke einmal (und nur einmal!) initia-lisiert werden müssen, soll noch einmal kurz zusammengefasst werden (vgl.Abbildung 45):

1. Das Bit wird schon bei der Deklaration auf TRUE initialisiert.

2. Es wird selbst verwendet, um z. B. Funktionsblöcke zu initialisieren.

3. Am Ende des Bausteins wird es wieder zurückgesetzt.

Wartezeit

Es geht dabei nicht nur um die Abarbeitung einer Anweisung. Es werden Hard-wareeigenschaften eingestellt, hier z. B. wird der Chip, der für die Kommunika-tion mit CAN zuständig ist, betriebsbereit geschaltet.

Wenn in einem Netzwerk viele Teilnehmer initialisiert werden, dann kann es beieinem sehr schnell gehen, beim anderen etwas länger dauern. Falls dann einbereits initialisierter Teilnehmer einen anderen, bei dem der Vorgang noch nichtabgeschlossen ist, anspricht, dann kann es zu unerwünschten Alarm- oderFehlermeldungen kommen, weil dieser nicht antwortet. Manche der entspre-chenden Bausteine haben Ausgänge, ähnlich wie 'RESULT' in Abbildung 35oder Abbildung 36. Diese können dann als Bedingung für das Starten derKommunikation verwendet werden.

Eine weitere Möglichkeit besteht darin, eine Zeitstufe für ca. 2 oder 3 s einzu-bauen, damit alle Teilnehmer initialisiert werden können. Das ist dann sozusa-gen die Zeit, die benötigt wird, um das System zu booten.

fertig Das Beispielprogramm für die Steuerung 2 ist damit vorläufig fertig editiert. Eskann in die Steuerung geladen und getestet werden. Das wird ebenfalls aufSeite 3-17 ff. beschrieben. Zum Abschluss dieses Kapitels wird in Abbildung 45der komplette Programmbaustein für Steuerung 2 gezeigt (vgl. Abbildung 41).

Page 59: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-17R

CANStep1 (PRG-FUP)0001 PROGRAM CANStep10002 VAR0003 Empfangen2von1: CAN1_RECEIVE; (*Funktionsblock EmpfangenSteuerung 2 von Steuerung 1*)0004 (*auf Kanal 1, CAN1, Layer 2*)0005 Init: BOOL := TRUE; (*Initialisierung des FB*)0006 Wertsatz2: ARRAY[0..7] OF BYTE; (*empfangener Satz von 8 Bytes*)0007 Anzahl_S: BYTE; (*Anzahl der Nachrichten im Speicher*)0008 Ueberlauf: BOOL; (*Überlauf des Speichers, Nachrichrten sind verloren gegangen*)0009 Anz_Empf2von1: CTU; (*Anzahl der empfangenen Sendungen Steuerung 2 von 1*)0010 RuecksetzenE: BOOL; (*Rücksetzen des Zählers der empfangenen Sendungen auf 0*)0011 aktuell_empf: WORD; (*aktueller Zählwert der empfangenen Sendungen*)0012 END_VAR0001

Wertsatz2CAN1_RECEIVEEmpfangen2von1

CONFIGCLEARID

DATADLCRTR

AVAILABLEOVERFLOW

Anzahl_SUeberlauf

InitFALSE16#64

Empfangen Steuerung 2 von 1

0002

CTUAnz_Empf2von1

CURESETPV

QCV aktuell_empfRuecksetzenE

GTAnzahl_S

0

Zähler Anzahl empfangene Sendungen Steuerung 2 von 1(mehrere Werte schnell hintereinander werden nur einfach gezählt)

0003

InitFALSE

Rücksetzen des Initialisierungsbits am Ende des ersten Zyklus

Abbildung 45: Programmbaustein CANStep1 (Empfangen)

3.2 Programmtest online

StartZunächst soll geprüft werden, ob die Programmsyntax stimmt. Das geschiehtautomatisch beim Laden der Programme in die Steuerungen.

Steuerung 1 Begonnen wird mit Steuerung 1.

Einloggen Das Projekt für das Senden wird geöffnet und über den Menüpunkt 'Online''Einloggen' oder wird das Laden des Programms in die Steuerung 1 ('Onli-ne' 'Simulation' nicht aktiv!) vorbereitet.

Nach dem Einloggen erscheint die Meldung:

Page 60: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-18 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 46: Meldung Programm laden

Nach der Bestätigung mit wird das Programm geladen.

nicht vergessen

Nach dem Laden muss das Programm noch gestartet werden. Der aktuelleStand der Variablen kann im geöffneten Baustein CANStep1 überprüft werden.Über wird das Programm gestartet. In der Statuszeile unten steht

.

Erfahrung

Da Erfahrungen mit dem System vorausgesetzt wurden (siehe 1.1), wird hiernicht mehr beschrieben, was zu tun ist, wenn die Kommunikation mit der Steue-rung nicht in Gang kommt (Stichwort Schnittstellenparameter prüfen).

Die grüne LED an der Steuerung blinkt mit 2 Hz. Damit wird angezeigt, dass dieSteuerung im Zustand RUN ist und die Kommunikation über CAN aktiv (OPE-RATIONAL) ist.

Steuerung 2 Entsprechend wird auch noch das Programm für die Steuerung 2 geladen.Auch hier wird beim Einloggen eine Syntaxprüfung durchgeführt. Beim Emp-fänger ändert sich so lange nichts, bis er tatsächlich Daten erhält. Wenn diesesProgramm läuft, kann die Kommunikation getestet werden.

Kommunikation 1Hardware Um diesen Test ohne Modifikationen nachzuvollziehen, sind zwei Steuerungen,

z. B. Startersets, erforderlich. Weiter oben, siehe Seite 3-1, wurde erwähnt,dass die Kommunikation zwischen unterschiedlichen Versionen, z. B. einerCR0020 und einer CR2500 genauso abläuft wie zwischen zwei CR2500. Wenneine andere Version verwendet wird, dann sind zwei Punkte zu beachten.

Software

Es ist darauf zu achten, dass jeweils die entsprechenden Bibliotheken undSteuerungskonfigurationen eingebunden werden. Falls vorhanden, muss auchdas Relais angesteuert werden (was es mit dem Relais auf sich hat, wird hiernicht weiter beschrieben; Informationen sind im Datenblatt der entsprechendenVersion zu finden).

Verdrahtung

Der Vorteil bei der Verwendung eines zweiten Startersets liegt u. a. darin, dasshier die Verbindungen schon fertig zum Anschließen herausgeführt sind. Überdie Steckverbindung kann rasch und einfach z. B. das Federklemmenmodulangeschlossen werden. Bei einem anderen Typ, z. B. CR0020 muss noch z. B.ein konfektionierter Stecker, z. B. EC2086, besorgt werden, um dann mit Hilfedes Datenblatts die Verbindung herzustellen. Dem Datenblatt von CR0020 istals Beispiel zu entnehmen, dass CAN1H am Pin 14 der Steuerung liegt.

Page 61: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-19R

Achtung

Fehler in der Verdrahtung können zu Kurzschlüssen und Schäden an denSteuerungen führen.

Im folgenden wird nur noch die Verbindung zweier Startersets beschrieben. BeiVerwendung einer anderen Steuerung geschieht der Anschluss, wie oben be-schrieben, über die entsprechenden Pins, bzw. die entsprechenden Adern desSteckerkabels. Darauf wird nicht mehr extra hingewiesen.

Verbindung Nun werden die beiden Steuerungen, 1 und 2, über CAN verbunden, um dieKommunikation zu ermöglichen.

RS232D-SUB (9-polig)

24 V DCSteckverbinder (2-polig)

CAN-Bus 1Kabeldose (5-polig)

I/O-Simulatorbox

CAN-Bus 2Kabeldose (5-polig)

Schritt B

Abbildung 47: Anschluss Starterset

Zur Verbindung werden Federklemmenboxen (EC2032, siehe Abbildung 48)verwendet. Sie werden beim Starterset an die mit CAN 1 beschriftete Buchseder Steuerung (siehe Abbildung 47) angeschlossen.

Abbildung 48:Federklemmenbox

Page 62: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-20 Schulungshandbuch 2 ecomatmobile Typ R 360

Federklemmen-box

Das ist ein vielseitig verwendbares Hilfsmittel zum Testen der Kommunikation.Es ist unter der Artikel-Nummer EC2032 erhältlich. Hier soll es jetzt dazu die-nen, die Verbindungen herzustellen und später auch, siehe z. B. Seite 3-23 ff,ein Diagnosegerät an den Bus anzuschließen.

Die beiden Federklemmenboxen werden durch ein Kabel verbunden. Dabeisollen zwei Fälle unterschieden werden:

1 Netzteil Ein Standardnetzteil genügt natürlich für beide Steuerungen. Sogar dasSteckernetzteil des Startersets kann verwendet werden.

bitte beachten

Das Netzteil im Starterset ist für den Betrieb einer Steuerung mit etwas Peri-pherie ausgelegt. Auch der CAN-Analyser, siehe unten, kann noch darausversorgt werden. Obwohl das ursprünglich nicht vorgesehen war, ist das Netz-teil sogar leistungsfähig genug, um zwei Steuerungen zu versorgen, siehe dasBlockschaltbild in Abbildung 49.

Abbildung 49: Verbindung 2 Steuerungen 1 Netzteil

2 Netzteile Wenn jedoch die zweite Steuerung auch durch ihr eigenes Netzteil versorgtwird, dann sollten die VBB-Klemmen besser nicht verbunden werden, sieheAbbildung 50.

GND CANH CANLVBB

GND VBB CANH CANL GNDC

CAN1

Steuerung 1

Steckernetzteil

CAN1

Steuerung 2

GNDC

Page 63: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-21R

Abbildung 50: Verbindung 2 Steuerungen 2 Netzteile

Ein "richtiges", ein übliches Standardnetzteil, sollte ja für beide Steuerungengenügen. Falls doch zwei Netzteile verwendet werden, dann ist vorher zu prü-fen, ob sie parallel geschaltet werden dürfen. Wenn ja, dann kann die Verbin-dung nach Abbildung 49, wenn nein nach Abbildung 50 hergestellt werden.

Im Prinzip würden allein die Verbindungen zwischen jeweils den beiden Klem-men CANL und CANH ausreichen.

Ablauf Nachdem die elektrische Verbindung, wie oben beschrieben, hergestellt wurde,können die Programme gestartet werden. Der Ablauf ist:

Es wird eingeloggt.

Es wird geprüft, ob das Programm für das Senden in Steuerung 1, bzw. fürdas Empfangen in Steuerung 2 geladen ist. Falls nicht, wird es nachgeholt.

Die Programme werden gestartet.

Mit dem ersten Schalter (Freigabe) am Simulator der Steuerung 1 werdenSendevorgänge ausgelöst.

Durch Betrachtung der Zählerstände, bzw. des Wertesatzes wird kontrol-liert, ob die Kommunikation korrekt abläuft

Jetzt wird deutlich, dass ein PC für jede Steuerung besser ist als einer fürbeide. Mit zwei PCs können die Schritte simultan ausgeführt werden. Mit nureinem PC ist das nur nacheinander möglich.

GND CANH CANL GNDCVBB

GND VBB CANH CANL GNDC

CAN1

Steuerung 2

CAN1

Steuerung 1

Steckernetzteil

Steckernetzteil

Page 64: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-22 Schulungshandbuch 2 ecomatmobile Typ R 360

Steuerung 1 Zunächst wird auf die Steuerung 1 eingegangen, die Frames versendet. Steue-rung 2, die empfängt, wird gleich, weiter unten, besprochen. Wenn man also beiSteuerung 1 eingeloggt ist und das Programm gestartet hat, dann sieht 'Wert-satz1' z. B. so aus wie in Abbildung 51. Die aktuellen Werte der einzelnen Fel-der des Arrays werden im Online-Betrieb im Deklarationsfenster angezeigt,wenn auf das '+' neben 'Wertsatz1' geklickt wird.

Freigabe Mit diesem Bit als Bedingung wird der Funktionsbaustein Senden abgearbeitet.Ihm wurde 'Freigabe_S' zugewiesen, was als Eingang deklariert und dem ers-ten Schalter am Simulator zugeordnet wurde (siehe Abbildung 41). Wird jetztder Schalter betätigt, dann scheint alles korrekt abzulaufen.

Senden Der Zählwert für die Anzahl der Sendungen, bzw. 'Wertsatz[1]' wird bei jederBetätigung des Schalters. um 1 erhöht.

Abbildung 51: Sendevorgänge

Steuerung 2 Genau wie bei Steuerung 1 wird mit dem entsprechenden Programm, siehe z.B. Abbildung 45, in die Steuerung 2 eingeloggt und das Programm gestartet.

Empfangen Bei genauerer Betrachtung des Funktionsblocks CAN1_RECEIVE, fällt auf,dass das Bit 'Ueberlauf' den Zustand TRUE hat (siehe Abbildung 43). 'An-zahl_S' steht auf 8.

Abbildung 52: Überlauf beim Empfangen

Wie ist das zu erklären?

Zyklus Dazu muss daran erinnert werden, dass das Programm zyklisch abgearbeitetwird. Bei diesem kleinen Programm ist die Zykluszeit nur kurz. In jedem Zykluswird, solange die Bedingung erfüllt ist, erneut gesendet. Es wird also in jedemProgrammzyklus ein Sendevorgang angestoßen.

Kommunikation Die Anzeige bedeutet also, dass Daten verloren gehen können. Man muss sichdie Frage stellen: ist das alles oder bedeutet das ein Problem für die Kommuni-kation? Es ist leicht einzusehen, dass das nicht der Normalfall bei derKommunikation über CAN sein kann. Ein Sender, der ununterbrochen Framesauf den Bus sendet, kann die gesamte Kommunikation lahm legen. Imfolgenden wird gezeigt, wie die Richtigkeit dieser Überlegung nachgewiesenwerden kann.

Daraus lässt sich zunächst eine wichtige Konsequenz ziehen:

Durch Klick auf '+' lassensich alle Werte anzeigen

Page 65: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-23R

Achtung

Beim Aufbau oder der Überprüfung eines CAN-Netzwerks, sollte unbedingt einDiagnosetool für den Bus verwendet werden..

Oben wurde schon darauf hingewiesen, dass z. B. allein durch die Abarbeitungdes Funktionsblocks für das Senden noch nicht sicher gestellt ist, dass die Da-ten tatsächlich über den Bus laufen (siehe Seite 3-9). Hier kommen offenbar zuviele Daten.

Kontrolle der KommunikationCAN-Analyser Noch einmal: Im Online-Modus von CoDeSys lassen sich viele Informationen

über das Verhalten der Steuerung und ihrer Peripherie ermitteln. Das genügtaber nicht, zu erkennen, was sich genau auf dem Bus abspielt. Dazu werdenandere Hilfsmittel benötigt. Hier wird zunächst der CAN-Analyser, Artikel-Num-mer EC2036, beschrieben. Das ist ein einfaches handheld Gerät, das zumÜberwachen und Testen der Kommunikation, z. B. auch zur Wartung, einge-setzt wird. Es hat die Einschränkung, dass damit nur Frames vom Typ A (11-BitIdentifier, siehe 2.3) gelesen werden können. Andere Möglichkeiten, das nochmächtigere Tool CANview, werden weiter unten gezeigt.

Abbildung 53: CAN-Analyser

Page 66: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-24 Schulungshandbuch 2 ecomatmobile Typ R 360

Anschluss Der CAN-Analyser hat einen 9-poligen SubD-Stecker. Das CAN-Kommunikati-onskabel EC2034 hat eine SubD-Buchse. Das andere Ende ist offen. DieAdern, die dort austreten, werden an die Federklemmenbox EC2032 ange-schlossen. Die Belegung der Adern kann seiner Beschriftung oder dem Daten-blatt entnommen werden.

Abbildung 54: CAN-Kommunikationskabel

Anschluss-schema

Das folgende Schema soll den Anschluss verdeutlichen.

Abbildung 55: Anschluss CAN-Analyser

Die Verbindung zur anderen Steuerung, vgl. Abbildung 49 oder Abbildung 50,wurde hier zur besseren Übersicht weggelassen. Es sieht vielleicht nicht so gutaus, wenn zwei Aderenden zusammen in einer Federklemme sitzen. Es handeltsich ja auch um einen Testaufbau.

Damit ist die Verbindung hergestellt. Die Arbeit mit dem CAN-Analyser kannbeginnen (siehe Hauptmenü unten).

grgnwhbn

GN CANH CANL GNDCVBB

CAN- Analyser EC2036

Page 67: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-25R

Funktionsum-fang

Zum CAN-Analyser gibt es natürlich eine ausführliche Anleitung. Sie liegt demGerät bei oder ist bei ifm im Internet zu finden. Dort ist jeder Menüpunkt imDetail beschrieben. Es wird empfohlen, sich damit ausführlicher zu beschäfti-gen, um das Gerät optimal und effektiv einzusetzen. Die im folgenden be-schriebenen Schritte sind sozusagen nur die Grundfunktionen.

Hauptmenü Beim oben beschriebenen Anschluss wird der CAN-Analyser über das Buska-bel mit Strom versorgt. Wird also die Steuerung eingeschaltet, dann leuchtetauch das Display auf (Hinweise, z. B. zur Anpassung des Kontrasts usw., sindin der Anleitung zu finden).

Beim Start erscheint das Hauptmenü:

F1 CANopen Main

F2 Node Config.

F3 Layer-2 Main

F4 Baud: 125kBps

Abbildung 56: CAN-Analyser Hauptmenü

Es zeigt die über die 4 ersten Funktionstasten erreichbaren Untermenüs.

Baudrate Als erstes lohnt es sich bei jeder Untersuchung, die Baudrate zu kontrollieren.In Abbildung 56 ist die zuletzt eingestellte oder gefundene Baudrate zu sehen.Durch Betätigen von F4 gelangt man in das Menü der Baudraten.

F1 1M F5 100k

F2 500k F6 50k

F3 250k F7 20k

F4 125k F8 AUTO

Abbildung 57:CAN-Analyser Menü Baudraten

Hier lassen sich mit den Funktionstasten Baudraten einstellen. Zu Diagnose-zwecken ist es aber interessanter einfach einmal die Baudraten scannen zulassen. Das geschieht über die Funktionstaste F8. Normalerweise ist kurzzeitigdie Meldung zu sehen, dass die Baudrate getestet wird. Dann springt die An-zeige zurück ins Hauptmenü (Abbildung 56).

Baudrate nichtgefunden

Wenn auf der Anzeige zu sehen ist, dass der CAN-Analyser Schritt für Schrittalle Baudraten durchfährt, dann findet offenbar keine normale Kommunikationstatt. Das ist ein Hinweis auf einen Hardwarefehler, z. B. Kabelbruch oder feh-lender Abschlusswiderstand. Das ist deshalb der erste und einfachste Test desBus-Netzwerks

Page 68: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-26 Schulungshandbuch 2 ecomatmobile Typ R 360

Auto Baudrate:

----------------

Trying Baudrate:

XXXkBps

Abbildung 58: CAN-Analyser Baudrate scannen

XXX in Abbildung 58 steht für die ständig wechselnde Anzeige der jeweils aktu-ellen Baudrate. Wenn das Gerät also in dieser Anzeige stehen bleibt, dannsollte am besten gleich mit der Suche nach dem Hardwarefehler begonnenwerden. Falls doch noch einmal ins Hauptmenü zurückgeschaltet werden soll,dann kann das mit der ESC-Taste erreicht werden.

Layer-2 Wenn alles richtig verbunden und die Baudrate richtig eingestellt wurde(Abbildung 28), dann sollte, wie oben beschrieben, wieder das Hauptmenüangezeigt werden (Abbildung 56). Dieses aktuell beschriebene Beispiel soll dieArbeit mit dem freien Protokoll erklären. Wie bei den Grundlagen (Seite 2-13 ff)erwähnt wurde, fällt dieses auch unter den Begriff Layer 2: Damit erklärt sichauch die Bedeutung der Funktionstaste F3, siehe Abbildung 56, die als nächs-tes betätigt wird. Damit öffnet sich folgendes Untermenü:

F1 Send Telegram

F2 Show Data

F3 Trace

F4 Bus-Statistic

Abbildung 59: CAN-Analyser Menü Layer-2

Bus-Statistic Die ersten drei Menüpunkte sollen zunächst nicht weiter beachtet werden. In-formationen dazu sind in der Anleitung zu finden. Hier soll jetzt gleich weiter indie Bus-Statistic verzweigt werden. Auf dieser Stufe öffnet sich ein weiteresUntermenü:

Bus-Statistics:

F1 Selective

F2 All Frames

Abbildung 60: CAN-Analyser Bus-Statistics

Hier wird jetzt einfach mit F2 zur Anzeige der generellen Bus-Statistic gewech-selt.

Page 69: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-27R

Fr/s Tot.

Data : Ø Ø

Error: Ø Ø

Busld: Ø % Ø %

Abbildung 61: CAN-Analyser Anzeige Bus-Statistics

Stop Falls hier etwas anderes stehen sollte, dann wird zunächst in den Zustand vonAbbildung 61 gewechselt, damit das weitere Vorgehen Schritt für Schritt nach-vollzogen werden kann. Dazu wird:

1. die Programmbearbeitung durch Klick auf gestoppt,

2. am CAN-Analyser die ESC- und der F2-Taste betätigt.

Für Schritt 1 wird vorausgesetzt, dass die Steuerung 1 über die RS232 onlineist (eingeloggt), dass CoDeSys läuft, und dass das Programm für die Steuerung1 geöffnet ist.

Start Durch Klick auf wird die Programmbearbeitung gestartet. Zunächst ändertsich nichts an der Anzeige (Abbildung 61). Die blinkende LED an der Steuerungzeigt, dass die Kommunikation aktiv ist.

Freigabe Jetzt wird der Freigabeschalter an der Simulatorbox (siehe Abbildung 47) betä-tigt (%IX0.0, siehe z. B. Abbildung 41). Um besser beobachten zu können, wirdder Schalter in die untere (rastende) Position gebracht.

Anzeige Jetzt ist zu sehen, dass sehr viele Frames über den Bus laufen (Zeile Data,Spalte Fr/s). Der Wert bei der Buslast ist extrem hoch.

Fr/s Tot.

Data : 912 Ovfl

Error: Ø Ø

Busld: 81 % 79 %

Abbildung 62: CAN-Analyser Werte 1

Die Werte von Abbildung 62 sind als Beispiele zu betrachten. Kleinere Unter-schiede sind möglich. Im Prinzip müsste aber die Anzeige ähnlich aussehen.Der CAN-Analyser speichert empfangene Daten. In der Spalte Tot. ist zu se-hen, dass dieser Speicher durch das dauernde Senden übergelaufen ist. DurchBetätigen der Tasten ESC und F2 lässt sich der Überlauf erneut beobachten.

Buslast Der Wert von 81 % zeigt, dass der Bus überlastet ist. Erfahrungsgemäß solltedie Buslast bei normaler Kommunikation, auch über CANopen und bei vielenTeilnehmern, 30 % nicht deutlich übersteigen. Bei höheren Buslasten wird dasEchtzeitverhalten (siehe die Anmerkung auf Seite 2-12) ungünstiger. Speziellbei CANopen ist damit zu rechnen, dass wichtige Informationen (EMCY, sieheSeite 2-26 ff) nur mit Verzögerung ausgewertet werden können.

Page 70: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-28 Schulungshandbuch 2 ecomatmobile Typ R 360

Eine geringe Anzahl von Error Frames kann darauf hinweisen, dass der Störpe-gel in der Umgebung recht hoch ist. Eine hohe Anzahl ist ebenfalls ein Hinweisauf ein Hardwareproblem, das zuerst beseitigt werden muss.

Die Überlegung von oben, dass dauerndes Senden die Kommunikation stört,konnte also mit Hilfe des CAN-Analysers bestätigt werden.

Diagnose Auch wenn es auf den ersten Blick so scheint, als wäre alles in Ordnung - manmuss schon ziemlich genau und gezielt hinsehen, um den Überlauf zu bemer-ken – so sollte man es sich zur Regel machen, die Kommunikation mit einemgeeigneten Diagnosetool zu kontrollieren. Das gilt speziell bei der Inbetrieb-nahme eines neuen Systems und bei der Ermittlung der Ursache von Betriebs-störungen.

Hier wurde nur der CAN-Analyser als Beispiel genommen. Ein noch universelle-res Tool, CANview, wird auf Seite 4-12 ff gezeigt. Nachdem der Fehler erkanntwurde, soll er beseitigt werden.

Modifikation 1Abhilfe Um zu erreichen, dass nicht ständig sondern jeweils nur einmal gesendet wird,

bietet es sich an, nicht den Signalzustand des Schalters sondern den Signal-wechsel (z. B. von FALSE auf TRUE) als Bedingung für das Senden zu ver-wenden. Dazu wird das Netzwerk von Abbildung 38 modifiziert.

Abbildung 63: Freigabe mit Flanke

Projektinfo

Solche Änderungen, bzw. deren Anlass und Zielsetzung, sollten unbedingt inder Projektinformation (im Menü 'Projekt') dokumentiert werden. Das erleichtertdie Übersicht z. B. bei weiteren Modifikationen.

R_TRIG

Diese Modifikation des Programm ist ein weiterer Beleg für die Nützlichkeit derFlankenerkennung. In vielen Fällen macht sie die Situation eindeutig. Man ver-meidet durch ihren Einsatz viele Fehler.

Test Das modifizierte Programm kann nun getestet werden. Wenn alles richtig ein-getragen wurde, sollte sich jetzt das gewünschte Verhalten zeigen. Das kann inCoDeSys und mit dem CAN-Analyser überprüft werden. Dort wird jetzt die mi-nimale Buslast von unter 0,5 % angezeigt. Der Zählwert der gesendeten Fra-mes, der Wert der Variablen aktuell, stimmt mit dem Wert in Zeile Data undSpalte Tot. überein, siehe Abbildung 64, im Beispiel der Wert 7.

Page 71: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-29R

Fr/s Tot.

Data : Ø 7

Error: Ø Ø

Busld: Ø %< Ø.5%

Abbildung 64: CAN-Analyser Werte 2

Grundzustand Falls sich diese beiden Werte unterscheiden sollten, dann gelangt man auffolgende Weise zum Grundzustand (Wert 0):

Eine neue Anzeige starten:

ESC und F2 auf dem Analyser

Den Zähler auf 0 setzen und von vorne beginnen

Das Bit manuell auf TRUE (über Werte schreiben) und (nicht vergessen!) wie-der auf FALSE setzen.

Jetzt laufen die beiden Anzeigen "synchron".

Anzeige derTelegramme

Von den vielen interessanten Möglichkeiten, die der CAN-Analyser bietet, sollhier noch kurz eine weitere gezeigt werden. Von der Anzeige von Abbildung 64gelangt man mit der ESC-Taste, bzw. vom Startmenü mit F3 in das Menü, dasin Abbildung 65 gezeigt wird. Mit F3 gelangt man dann in ein weiteres Unter-menü, in dem u. a. Einstellungen zur Aufzeichnung von Telegrammen (Frames)vorgenommen werden.

F1 Trigger: AUTO

F2 RecTele: ØØØ7

F3 _Start, *Stop

F4 Send Buffer

Abbildung 65: Traceaufzeichnung

Mit F3 wird der *, der den aktuellen Zustand anzeigt, von 'Stop' nach 'Start'übertragen. Die Traceaufzeichnung ist dann aktiv. Durch Betätigung der Frei-gabetaste wird die Sendung von Telegrammen bewirkt. Dann wird die Auf-zeichnung durch erneutes Betätigen von F3 gestoppt. Der * geht wieder zu'Stop'. Die Anzeige sieht dann aus, wie in Abbildung 65. Wird jetzt F2 betätigt,dann öffnet sich eine Auswahl.

Read Buffer

F1 Selective

F2 All Telegrams

Abbildung 66: Traceauswahl

Wählt man einfach mit F2 alle aus, werden die Telegramme angezeigt.

Page 72: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-30 Schulungshandbuch 2 ecomatmobile Typ R 360

Ø64 Ø1 Ø6 Ø3 Ø4

Ø5 Ø6 Ø7 Ø8

End of Rec. Tel.

----------------

Abbildung 67: Anzeige Trace

Man erkennt zu Beginn den Identifier 64, siehe z. B. Abbildung 36. Dort ist auchzu sehen, dass die Felder des Arrays Wertsatz1 mit 1, 2, 3, 4, 5, 6, 7, 8 initiali-siert wurden. Diese Werte finden sich in Abbildung 67 wieder. Nur im zweitenFeld, Wertesatz[1], steht Ø6. Das ist das Feld, auf das die Anzahl der Sende-vorgänge übertragen wurde. Wie oben erläutert wurde (auf Seite 3-11) ist derWert 6 und nicht 7. Mit den Tasten und kann in den Telegrammen ge-scrollt werden.

Das soll jetzt als Beispiel für den CAN-Analyser genügen. Eine komplette Über-sicht zum CAN-Analyser ist in seinem Handbuch zu finden, das mit dem Gerätgeliefert wird

Noch ein kurzer Blick in das Deklarationsfenster des Bausteins für das Senden(Steuerung 1):

Abbildung 68: Sendungen 1

Abbildung 68 zeigt die Daten nach 7 Sendungen. Die Kommunikation wurdeauch schon mit dem CAN-Analyser überwacht. Falls hier ein anderer Wertsteht, z. B. weil der CAN-Analyser erst später aufgeschaltet wurde, dann istnach der Beschreibung unter Grundzustand (Seite 3-29) zu verfahren.

Visualisierungen 1Steuerung 1 Das manuelle Rücksetzen des Zählers und das Öffnen des Arrays Wertsatz1

mag etwas umständlich vorkommen. Zur einfachen Kontrolle der Werte und desRücksetzens des Zählers ist eine Visualisierung gut geeignet. Folgende Ele-mente können z. B. definiert werden:

Abbildung 69: Visualisierung 1

Für dieses Handbuch wird ja, wie gesagt, Erfahrung mit CoDeSys vorausge-setzt. Daher kann jetzt auch nicht ausführlich auf das Thema Visualisierung

Page 73: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-31R

eingegangen werden. Es folgen nur einige kurze Tipps und Hinweise dazu.Ausführlichere Informationen sind im Programmierhandbuch oder in der Online-Hilfe zu finden. Ganz kurz:

Im linken Fenster Register 'Visualisierungen' anklicken.

In 'Projekt' 'Objekt' 'Einfügen...' wählen und die neue Visualisierung be-nennen.

Elemente Die Bestandteile der Visualisierung heißen Elemente. In Abbildung 69 sind un-terschiedliche Elemente zu sehen.

Text Diese Elemente sind einfach zu definieren. Abbildung 63 zeigt ein Beispiel.

Abbildung 70: Visualisierung Textelement

Als Form wurde Rechteck gewählt. Die anderen Kategorien bis auf Farbenbrauchen nicht bearbeitet zu werden. Im Beispiel wurde unter 'Farbe' 'KeineFarbe innen' und 'Keine Rahmenfarbe' gewählt.

Variable Hier sind zwei Einstellungen wesentlich:

Abbildung 71: Visualisierung Variable

%s ist der Platzhalter für den Wert der Variablen. Die Variable wird unter 'Vari-ablen' 'Textausgabe' zugewiesen.

Die Schreibweise ist penibel zu beachten. Es genügt nicht der Name Zaktuellallein. Zuerst kommt der Name des Bausteins, dann, durch einen Punkt ge-trennt, der Variabelenname. Auch bei dieser Eingabe hilft die Taste F2.

Button Besonders interessant ist der Button Zähler Send Reset in Abbildung 69. Hierist folgende Einstellung wesentlich:

Page 74: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-32 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 72: Visualisierung Variable tasten

Beachten Sie bitte bei der Schreibweise den Hinweis zu Abbildung 71.

Der Merker 'Ruecksetzen' wird als Bedingung beim Rücksetzeingang desZählers der Anzahl der Sendevorgänge verwendet (siehe Abbildung 41). Bisherkonnte er nur z. B. in der Liste der Deklarationen auf TRUE gesetzt werden.Dann musste dieser Zustand mit 'Online' 'Werte schreiben' in die Steuerungübertragen werden. Anschließend musste er nach diesem Muster wieder aufFALSE gesetzt werden. In der Visualisierung lässt sich das, wie beschrieben,viel einfacher und eleganter erreichen ('Werte tasten' ist hier besser als 'Wertetoggeln', sonst müsste der Button zwei Mal angeklickt werden).

Dieses Beispiel zeigt, wie über die Visualisierung direkt Werte verändert unddamit in den Ablauf des Prozesses eingegriffen werden kann. Es lohnt sich alsofür die Inbetriebnahme oder spätere Wartungen Visualisierungen zu erstellen,die solche Möglichkeiten bieten.

Senden überVisualisierung

Dieser wichtige Punkt soll an einem weiteren Beispiel erläutert werden. ZuTestzwecken soll in der Visualisierung ein weiterer Button eingefügt werden,der es ermöglicht darin einen Sendevorgang auszulösen genauso wie über denSchalter 'Freigabe'.

Abbildung 73: Visualisierung Senden

In das Netzwerk mit dem Funktionsblock CAN_TRANSMIT, siehe Abbildung 63wird eine weitere Verknüpfung eingefügt.

Abbildung 74: CAN_TRANSMIT mit OR

Wenn das Merkerbit 'Freigabe_V' (für Freigabe der Sendung über die Visuali-sierung) deklariert wurde und das modifizierte Programm übersetzt wurde, dannlässt sich dieses Bit genauso wie in Abbildung 72 im Fenster 'Element konfi-gurieren' über F2 eintragen. Nachdem die Änderung gespeichert wurde, kanneingeloggt werden. Nach dem Start des Programms sollte beobachtet werdenkönnen, dass ein Klick auf den Button die Anzahl der Sendungen um 1 erhöht.

Page 75: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-33R

Dieses Beispiel zeigt also noch einmal (wie das vorangehende), welche effekti-ven Testmöglichkeiten die Visualisierung bietet.

Anzeige Bit Um in der Visualisierung auch erkennen zu können, ob der Schalter 'Frei-gabe_S' betätigt wurde, wird ein weiteres Element als "Anzeige-LED" einge-fügt.

Abbildung 75: Visualisierung manuelles Senden

Dieses Element wird so konfiguriert, dass es seine Farbe ändert, wenn sich derZustand von %IX0.0 ändert (bei sehr kurzen Impulsen kann das nicht zu sehensein).

Anzeige Byte Zum vorläufigen Abschluss des Themas Visualisierung soll noch ein Beispielgezeigt werden, wie der komplette Wertesatz1 dargestellt werden kann:

Abbildung 76: Darstellung Wertsatz1

In Abbildung 76 steht im zweiten Feld, für die Variable 'Wertsatz1[1]', derZählwert, im Beispiel 7. Definiert sind die Elemente wie oben, siehe Abbildung69 bis Abbildung 71.

Steuerung 2 Jetzt soll noch kurz die Steuerung 2 betrachtet werden. Auch hier kann, ähnlichwie in Abbildung 68, online im Deklarationsfenster verfolgt werden, wie sich derZustand der Werte in den Feldern des Arrays Wertesatz2 ändert (sieheAbbildung 45).

Vor der ersten Sendung sind alle Werte 0. Danach erscheinen die vordefinier-ten Werte 1...7 mit Ausnahme des 2. Feldes.

Der Inhalt des 2. Feldes, 'Wertsatz2[1]', erhöht sich bei jeder Sendung um 1.

Visualisierung Auch in Steuerung 2 ist es einfach und übersichtlich, mit der Visualisierung zuarbeiten. Was dabei zu tun ist, das wurde oben schon beschrieben. Hier sollennur noch Beispiele gezeigt werden.

Abbildung 77: Wertsatz2 Grundzustand

Abbildung 78: Wertsatz2 Beispiel

Entsprechend Abbildung 76 wurden die Felder des Array 'Wertsatz2' darge-stellt.

Page 76: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-34 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 79: Visualisierung 2

Entsprechend Abbildung 69 kann hier in Abbildung 79 die Anzahl der empfan-genen Sendungen abgelesen werden und der Zählwert mit dem Button 'ZählerEmpf Reset' wieder auf 0 gesetzt werden.

Damit wurde nun die Kommunikation zweier Steuerungen über das freie Proto-koll realisiert.

Kommunikation 2Bevor zu CANopen übergegangen wird, sollen die Programme von Seite 3-18 ffnoch etwas ergänzt werden. Damit soll

verdeutlicht werden, dass beim freien Protokoll mehr Details der Abläufeselbst programmiert werden müssen, für die es bei CANopen vordefinierteFunktionen gibt und

Beispiele zur Programmierung vorgestellt werden, die auch in anderen Zu-sammenhängen nützlich sind.

Im wesentlichen sollen zwei Punkte dazukommen:

symmetrisches Senden und Empfangen und

zeitgesteuertes Senden

Besonders wenn der Umgang mit CAN in Gruppenarbeit geübt wird, dann hatdie Gruppe, die an der Steuerung arbeitet, die Frames empfängt, wenig zu tun.Damit die Aufgabe etwas interessanter und auch realistischer wird, soll nunauch die zweite Steuerung senden und die erste empfangen. Bei einem multi-masterfähigen System wie CAN können die beiden Steuerungen als gleichbe-rechtigte Teilnehmer behandelt werden. Damit nicht immer nur die gleichenDaten gesendet werden, sollen sie, ähnlich wie auf Seite 3-11, verändert wer-den.

Wenn das Handbuch bis hier durchgearbeitet wurde, dann sollten schon dieProgramme in Steuerung 1 und 2 korrekt laufen. Hier soll nur kurz daran erin-nert werden, dass Änderungen an einem fehlerfreien Programm immer gefähr-lich sind. Es empfiehlt sich die bisherigen Programme unter neuem Namen, derz. B. die Versionsnummer oder das Datum enthält, abzuspeichern, damit we-nigstens die korrekte Version erhalten bleibt.

Bezeichnungen Zuerst soll die Bedeutung der Bezeichnungen, der Namen der Variablen, deut-lich gemacht werden. Das ist hier natürlich nur als Beispiel zu sehen. JederAnwender kann eigene Bezeichnungen verwenden. Hier soll nur klar werden,dass es wichtig ist, sich einmal festzulegen und sich dann konsequent daran zuhalten, besonders wenn mehrere Programmierer beteiligt sind.

Wertsatz1 So wurde auf Seite 3-8 das Array in Steuerung 1 genannt, dessen Felder diegesendeten Werte enthalten. Entsprechend soll auch in Steuerung 2 das Array

Page 77: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-35R

der gesendeten Werte heißen.

Wertsatz2 Das war bisher die Bezeichnung für die in Steuerung 2 empfangenen Werte.Entsprechend wird so auch in Steuerung 1 das Array für die empfangenenWerte bezeichnet.

SendenSteuerung 2

Mit diesen Bezeichnungen können die Netzwerke 1-4, siehe Abbildung 41, ausdem Programm für die Steuerung 1 in das für Steuerung 2 übernommen wer-den. Wie Teile eines Projekts in ein anderes eingefügt werden können, das istin der Kurzanleitung im Anhang unter dem Stichwort Arbeit sparen beschrieben.Ein Hinweis: es versteht sich von selbst, dass natürlich nicht nur Netzwerkesondern auch Deklarationen übernommen werden müssen. Falls das verges-sen wurde, gibt es Fehlermeldungen beim ersten Übersetzen.

Zu beachten ist noch, dass Abbildung 41 nur den Anfangszustand zeigt. DieAnsteuerung des ENABLE-Eingangs (Bit 'Freigabe_S') musste modifiziert wer-den. Die verbesserte Version des Netzwerks 1 zeigt Abbildung 74. Diese Ver-sion sollte also in das Programm für Steuerung 2 übernommen werden. Wenndamit eingeloggt, das Programm geladen und gestartet wurde, dann ist auchSteuerung 2 bereit zu senden wie Steuerung 1.

EmpfangenSteuerung 1

Hier können die Netzwerke 2-3 (und Deklarationen!), siehe Abbildung 45, ausdem Programm für Steuerung 2 in das für Steuerung 1 übernommen werden.Modifikationen sind nicht erforderlich.

Identifier Hier können die Netzwerke 2-3 (und Deklarationen!), siehe Abbildung 45, ausdem Programm für Steuerung 2 in das für Steuerung 1 übernommen werden.Modifikationen sind nicht erforderlich.

Die einzige Modifikation, die vorgenommen werden sollte, betrifft den Identifier.

Oben wurde für das Senden (aus Steuerung 1) und das Empfangen (in Steue-rung 2) der Identifier 16#64 verwendet. Nun soll ja das Beispiel so ergänzt wer-den, dass auch Steuerung 2 senden und Steuerung 1 empfangen kann. DieserVorgang soll unabhängig von der Kommunikation in der anderen Richtung ab-laufen. Daher sollte hier auch ein anderer Identifier verwendet werden, z. B.16#65, um mögliche Konflikte zu vermeiden.

Visualisierungergänzen

Um die Kommunikation besser verfolgen zu können, lohnt es sich, die Visuali-sierung in Steuerung 1 um Felder für die empfangenen Werte und die vonSteuerung 2 um Felder für die gesendeten Werte zu ergänzen (siehe Abbildung76) sowie um Buttons zum Rücksetzen der Zähler. Im Ergebnis sehen die Vi-sualisierungen für beide Steuerungen praktisch gleich aus (siehe Abbildung76). Diese Ergänzung bedeutet keinen großen Aufwand, wenn die üblichenEditierwerkzeuge (z. B. Kopieren und Einfügen) verwendet werden. Dazu nurein Tipp: Elemente einer Visualisierung lassen sich am einfachsten über dieZwischenablage kopieren.

Page 78: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-36 Schulungshandbuch 2 ecomatmobile Typ R 360

Programm-struktur

Bei diesem einfachen Beispiel lohnt es sich nicht, viel Zeit zur Planung der Pro-grammstruktur aufzuwenden. Man könnte z. B. separate Bausteine für Sendenund Empfangen verwenden. In diesem Fall müsste aber beachtet werden, dassVariable, die in mehreren Bausteinen verwendet werden, global deklariert seinmüssen. In einem realen Projekt werden die Programmbausteine entsprechendden realen Erfordernissen strukturiert. Es wird dann z. B. einen Baustein 'Mate-rialtransport' und einen 'Materialbearbeitung' geben. Je nach Komplexitätdes Vorgangs würden diese wiederum in Unterbausteine aufgeteilt werden. ImBeispiel wird aber auf eine Aufteilung verzichtet.

Damit sind die Vorbereitungen für symmetrisches Senden und Empfangenschon abgeschlossen. Es folgen als Ergänzung noch Beispiele für den Pro-grammaufbau, die nicht nur im Zusammenhang mit CAN interessant sind.

Optimierung 1

Oben wurde schon gesagt, dass die Programme als Beispiele zu sehen sind.Es sollen aber keine schlechten Beispiele sein. Deshalb werden sie jetzt ineinem Punkt optimiert. Es betrifft die Typkonvertierung von Abbildung 40. DieNotwendigkeit der Konvertierung wurde oben erläutert. Es ist aber überflüssig,diese Konvertierung in jedem Programmzyklus von neuem durchzuführen. Dasverlängert unnötig die Zykluszeit. Es genügt, sie jeweils nur einmal, nämlichwenn sich der Zählwert ändert, abzuarbeiten. Das kann z. B. einfach über eineSprunganweisung realisiert werden, siehe Abbildung 80

Abbildung 80: Sprunganweisung 1

Bei diesem kurzen Programm ist die Auswirkung kaum feststellbar. Bei realenAnwendungen kann sich aber eine solche Optimierung schon lohnen. Generellkann man davon ausgehen, dass Bit-Operationen, z. B. logische Verknüpfun-gen, die geringste Auswirkung auf die Zykluszeit haben. Werden aber Bytesoder Worte bearbeitet, z. B. mit arithmetischen Operationen, dann sollte eherauf Optimierung geachtet werden.

Page 79: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-37R

Rückmeldung Im ersten Schritt, 1 Sender und 1 Empfänger, konnte nur indirekt, durch Beo-bachtung der Zustände der Daten in den Steuerungen, z. B. über die Visualisie-rung, oder durch Überwachung des Busses, z. B. mit dem CAN-Analyser, fest-gestellt werden, ob die Kommunikation korrekt abläuft. Jetzt, nachdem beideSteuerungen senden und empfangen, lässt sich auch direkt, z. B. über eineRückmeldung der Steuerung 2, in Steuerung 1 kontrollieren, ob die Daten rich-tig empfangen wurden. Als Beispiel wird die Anzahl der Sendungen in denempfangenen Daten, 'Wertsatz2[1]', einfach in die zu sendenden Daten, in'Wertsatz1[2]', übertragen.

Abbildung 81: Wert übertragen

Das lässt sich aber nur auf diese Weise schreiben, wenn ein einziger Pro-grammbaustein für Senden und Empfangen verwendet wird. Wenn zwei sepa-rate Bausteine verwendet werden, sollte die Programmstruktur noch etwas ge-nauer betrachtet werden.

Wer kein Problem damit hat, übersichtliche und für jeden verständliche Pro-gramme zu schreiben, der kann gleich bei Optimierung 1 weiterlesen.

BausteineSenden undEmpfangenseparat

Wie ist die Programmstruktur in dem Falle, dass zwei separate Bausteine ver-wendet werden?

Weil diese Struktur für viele ein Thema ist, soll das nicht nur als eine Übungs-aufgabe gestellt werden, sondern es werden auch einige kurze Hinweise dazugegeben. Dazu soll kurz an Vor- und Nachteile der lokalen Deklarationen erin-nert werden

lokal + Der aktuelle Zustand, bzw. seine Änderungen, von lokalen Variablen kann imOnlinebetrieb direkt im Deklarationsfenster verfolgt werden.

lokal - Falls die Variable in mehreren Bausteinen vorkommt, muss sie in jedem davondeklariert werden. Das dauert länger und macht das Programm unübersichtlich.

Falls die Variable aber global deklariert ist, dann muss man im Onlinebetrieb einweiteres Fenster öffnen, um ihr Verhalten beobachten zu können.

Watchliste Zu einer weiteren Möglichkeit soll hier das Stichwort Watchliste genügen.

global Hier sollen als weiteres Beispiel Hilfsvariable verwendet werden. Für jede Vari-able, die in beiden Bausteinen für Senden und Empfangen vorkommt, wird eineglobale Variable deklariert. Das ist zwar auch keine optimale Lösung, weil et-was verschwenderisch mit den Ressourcen (Adressen im Programm- und Ar-beitsspeicher) umgegangen wird. Andererseits fällt das nur bei sehr umfangrei-chen Programmdateien und Datenfeldern ins Gewicht.

Die einzige Variable, die in beiden Bausteinen vorkommt (siehe Rückmeldung,Seite 3-37), ist 'Wertsatz2[1]'. Ihr Wert ist im empfangenen Datensatz enthal-

Page 80: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-38 Schulungshandbuch 2 ecomatmobile Typ R 360

ten. Im Baustein für das Empfangen wird er daher einer globalen Variablen,'Wertsatz2_1' zugewiesen.

Abbildung 82: Zuweisung zu globaler Variablen

Das Senden geschieht nun im Beispiel in einem anderen Funktionsbaustein. Indiesem ist die Variable 'Wertsatz2_1' nicht bekannt, daher muss die Zuweisungvon Abbildung 81 modifiziert werden. Mit der Variablen aus Abbildung 82 ergibtsich:

Abbildung 83: Übertragung des empfangenen Wertes

Durch den Empfang dieser Rückmeldung kann also kontrolliert werden, ob derzuvor gesendete Wert auch angekommen ist.

Übertragungs-sicherheit

Ähnliche Funktionen sind in der Nachrichtentechnik allgemein üblich, nicht nurbei CAN. Auch bei CAN wurde schon darauf hingewiesen, dass die reine Abar-beitung des Funktionsblocks für das Senden noch keine Garantie bietet, dassdie Information wirklich über den Bus gelaufen ist, vgl. Seite 3-23 ff. Ein Über-wachungstool, wie z. B. das dort beschriebene, ist aber in der Regel nicht stän-dig am Bus. Wenn man sich also vergewissern möchte, dass die Sendung an-gekommen ist, dann kann man die Information zurücksenden lassen und mitder zuvor gesendeten vergleichen. Solche Mittel sollten aber nur eingesetztwerden, wenn es erforderlich ist, weil sich dadurch die Buslast erhöht.

Bei dieser einfachen Übertragung (Abbildung 83) lohnt sich kaum die Optimie-rung, die oben (siehe Abbildung 80) beschrieben wurde. Das folgendende Bei-spiel jedoch ist typisch für Programmabläufe, die optimiert werden sollten.

Es kann, wie oben beschrieben, zu Kontrollzwecken interessant sein, denempfangenen Wert zurückzusenden. Häufig wird aber auch dieser Wert zuerstbearbeitet. Ein veränderter Wert wird dann zurückgeliefert. Als Beispiel soll eineArt Offset, hier ein fester Wert 12, zu 'Wertsatz2[1]' addiert werden. Bei ande-ren Anwendungen könnte es z. B. auch ein Umrechnungsfaktor sein, mit demder Wert multipliziert wird.

Page 81: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-39R

Optimierung 2

Es ist, wie im Beispiel oben, überflüssig, dass diese Operation in jedem Zyklusvon neuem durchgeführt wird. Es ist sinnvoller, das nur einmal zu tun, und zwardann, wenn sich der Wert ändert. Diese Überlegung ist unabhängig davon, obder Wert über CAN kommuniziert wird oder z. B. als Messsignal an einemAnalogeingang liegt

Übung 1

In diesem Zusammenhang ist auch die Frage interessant: wie blende ich perSoftware kleine Schwankungen des Messwertes aus? Da dieses Thema auchnicht direkt mit dem Thema CAN zusammenhängt, kann darauf hier aus Platz-gründen nicht auch noch eingegangen werden. Wer möchte, kann sich daranals Übung versuchen.

Wie kann diese Optimierung realisiert werden? Es geht also darum, einen Im-puls zu erzeugen, wenn sich die Variable ändert, der nur eine Zykluszeit dauert.Einen Impuls, der eine Signaländerung anzeigt, wird von einer Flankenauswer-tung, den Standardfunktionsblöcken R_TRIG oder F_TRIG, geliefert. Ein Bei-spiel ist in Abbildung 63 zu sehen. Da dieses Bit, das nur für einen Programm-zyklus auf TRUE steht, als Bedingung für CAN_TRANSMIT verwendet wird,steht auch das Bit 'gesendet' nur für einen Zyklus auf TRUE. Das wurde beimBeispiel der ersten Optimierung (Abbildung 80) verwendet. Diese Standard-funktionsblöcke sind aber nur auf Variable vom Typ BOOL, also auf Bits, an-wendbar. Für andere Typen muss dieses Signal selbst erzeugt werden. Die fol-gende Abbildung 84 zeigt ein einfaches Beispiel dafür, wie ermittelt werdenkann, ob sich eine Variable vom Typ BYTE oder WORD ändert.

Abbildung 84: Sprunganweisung 2

Page 82: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-40 Schulungshandbuch 2 ecomatmobile Typ R 360

Es geht also darum, den empfangenen Wert der Variablen 'Wertsatz2[1]' zu-rückzusenden, bzw. modifiziert zurückzusenden. Da diese Variable im Bausteinfür das Empfangen lokal deklariert ist, muss sie dort auf die globale Variable'Wertsatz2_1' übertragen werden, damit sie auch im Baustein für das Sendenbekannt ist.

Zur Optimierung wurde hier mit NE (not equal) ihre Veränderung ausgewertet.Wenn die Richtung auch ausgewertet werden soll, dann kann mit LT (less than)oder GT (greater than) verglichen werden. Auf ähnliche Weise kann die Ände-rung eines Bits ausgewertet werden. Als Sprungziel wurde wieder, wie inAbbildung 80, ein leeres Netzwerk eingefügt. Der geänderte Wert wird auf'Wertsatz1[0]' übertragen. Nach der nächsten Sendung kann er in der anderenSteuerung verwendet werden. Damit sind die Beispiele zur Optimierung derZykluszeit abgeschlossen.

Sprache

Die Beispiele von Abbildung 80 und Abbildung 84 mögen vielleicht etwas um-ständlich erscheinen. Programmierer, die Erfahrungen mit Hochsprachen ha-ben, halten nicht viel von Sprüngen. Diese können zu unübersichtlichen Pro-grammstrukturen führen. Aber in FUP ist das kaum anders zu lösen. In ST da-gegen lässt sich leicht eine Fallunterscheidung programmieren. Dazu wird dieAnweisung IF ...THEN...ELSE... oder CASE... verwendet. Da der FUP abersonst für alle Beispiele gut geeignet und die verbreitetste Sprache ist, werdendiese bedingten Anweisungen auch in FUP programmiert.

zeitgesteuertesSenden

Auf Seite 3-18 ff wurde das ereignisgesteuerte Senden vorgestellt. Als Beispielwurde als Ereignis der Signalwechsel von FALSE auf TRUE am Eingang%IX0.0 gewählt (siehe Abbildung 63). Als weiteres Beispiel wurde das Auslö-sen eines Sendevorgangs zu Testzwecken über die Visualisierung gezeigt(Abbildung 74). Nun soll zusätzlich der Sendevorgang in einem einstellbarenzeitlichen Rhythmus ausgelöst werden

selbstdefinier-terFunktionsblock

Weil ein solcher Taktgeber auch in anderen Programmteilen, immer wenn einAblauf getaktet stattfinden soll, gute Dienste leistet, lohnt es sich, dafür einenFunktionsblock zu definieren. Wer damit schon Erfahrung hat, der kann sichdarauf beschränken, die Beschreibung im Anschluss an Abbildung 85 kurzdurchzusehen. Wem das Definieren von Funktionsblöcken nicht so geläufig ist,der sollte es nach diesem Beispiel einmal probieren. Danach sollte deutlichgeworden sein:

wie wird es gemacht und

wozu ist es gut?

Page 83: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-41R

Abbildung 85: Funktionsblock Takt

Die Bedeutung der Deklaration von Variablen als VAR_INPUT undVAR_OUTPUT wird in der Abbildung 86 deutlich werden. Was geschieht imNetzwerk?

Nehmen wir an, der Zustand des Merkers Taktsignal sei FALSE. Dann ist dieBedingung für den Zeitablauf erfüllt. Die Zeit läuft bis der Sollwert Taktzeit er-reicht ist. Dann wird der Ausgang Taktsignal auf TRUE gesetzt. Im nächstenZyklus ist die Bedingung nicht mehr erfüllt, der Ausgang wird wieder auf FALSEund der Zeitistwert Taktgeber.ET auf 0 gesetzt. Wiederum im nächsten Zyklusist die Bedingung wieder erfüllt und die Zeit läuft erneut ab. Der Taktgeber lie-fert also einen Impuls, der genau einen Zyklus dauert. Das entspricht einerFlankenerkennung, diese wird also gespart. Wird der Merker als Bedingung fürCAN_TRANSMIT verwendet, dann ist Dauersenden in jedem Zyklus nicht mög-lich (außer die Taktzeit wäre 0).

Dieser Funktionsblock, genauer gesagt eine Instanz davon, kann nun für dasSenden verwendet werden. Damit das beim Programmtest noch besser zuverfolgen ist, wird das taktgesteuerte Senden noch von einem weiteren Ein-gang, 'Freigabe_A' (A für automatisch), abhängig gemacht.

Abbildung 86: CAN_TRANSMIT mit Zeitsteuerung

Abbildung 86 zeigt das Netzwerk für das Senden in Steuerung 1. Das entspre-chende Netzwerk in Steuerung 2 sieht genau gleich aus.

Page 84: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-42 Schulungshandbuch 2 ecomatmobile Typ R 360

definierterFunktionsblockTakt

Das Einfügen der zusätzlichen AND- und OR-Operatoren sowie die Deklarationvon 'Freigabe_A' sollte geläufig sein. Dieser Eingang wurde einer Adressezugewiesen, die auch über die Simulatorbox anzusprechen ist. Der Taktgeberwird in das Netzwerk eingefügt über 'Einfügen' 'Funktionsblock' oder denentsprechenden Button (siehe 0). Mit F2 öffnet sich das Auswahlfenster'Eingabehilfe', in dem 'Definierte Funktionsblöcke' markiert wird. Die Aus-wahl fällt dann nicht schwer, weil bisher überhaupt erst ein Funktionsblockselbst definiert wurde, siehe Abbildung 85. Jetzt wird deutlich, warum 'Taktzeit'und 'Taktsignal' als VAR_INPUT bzw. VAR_OUTPUT definiert wurden. In derDefinition sind sie sozusagen Platzhalter für die Variablen, die zugewiesenwerden, wenn eine Instanz gebildet wird. Bei der Variablen 'Sendepause' mussbeachtet werden, dass sie als Variable vom Typ TIME deklariert und dass derVorgabewert korrekt geschrieben wird (mit t#). Diese Variable wird sozusagenvon außen an den Funktionsblock geliefert (als VAR_INPUT) und dieser liefertden Zustand des Bits 'Taktsignal' nach außen (als VAR_OUTPUT). Wäre dieVariable 'Sendepause' dagegen eine innere Variable des Funktionsblocks(einfach nur VAR), dann hätte man auf sie von außen keinen Zugriff.

Online-Test Oben wurden verschiedene Ergänzungen im Projekt beschrieben, darunterauch die der Visualisierung. Mit dieser Visualisierung soll jetzt der Online-Testverfolgt werden.

Im folgenden wird das Projekt noch einmal komplett, mit allen Modifikationengezeigt. Ein Unterschied zu Abbildung 41 und Abbildung 45 besteht darin, dassjetzt die Projekte in den beiden Steuerungen symmetrisch aufgebaut sind.Beide Steuerungen senden und empfangen.

Page 85: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-43R

CANStep1 (PRG-FUP)0001 PROGRAM CANStep10002 VAR0003 Senden1an2: CAN1_TRANSMIT; (*Funktionsblock Senden Steuerung 1 an Steuerung 2*)0004 (*auf Kanal 1, CAN1, Layer 2*)0005 Wertsatz1: ARRAY[0..7] OF BYTE:=1,2,3,4,5,6,7,8; (*gesendeter Satz von 8 Bytes*)0006 Freigabe: BOOL; (*Freigabe für Sendung*)0007 gesendet: BOOL; (*Sendeoperation ausgeführt*)0008 Anz_Sendungen1an2: CTU; (*Anzahl Sendungen von Steuerun 1 an 2*)0009 Ruecksetzen: BOOL; (*Rücksetzen des Zählers auf 0*)0010 Zaktuell: WORD; (*aktueller Zählwert Anzahl Sendungen*)0011 Freigabe_S AT %IX0.0: BOOL; (*Freigabe über Schalter*)0012 PFlankS1: R_TRIG; (*Positive Flanke Freigabe Sender 1*)0013 Freigabe_V: BOOL;0014 Wert_alt: BYTE; (*Wert vom vorigen Zyklus*)0015 Aenderung: BOOL; (*liefert Flankenimpuls bei Änderung*)0016 Sendetakt: Takt; (*Instanz des selbst definierten FB Takt*)0017 Sendepause: TIME := t#10s; (*Länge des Intervalls zwischen zwei Sendungen*)0018 Freigabe_A AT %IX0.1: BOOL; (*Freigabe automatisches (zeitgesteuertes) Senden*)0019 END_VAR0001

FreigabeORR_TRIG

PFlankS1

CLK QOR

Freigabe_SFreigabe_V

AND

Freigabe_A

TaktSendetakt

Taktzeit TaktsignalSendepause

Senden wird freigegeben über positive Flanke (Signalwechselvon FALSE auf TRUE) am Eingang Freigabe_S oder über Visualisierung oder Takt

0002

gesendetCAN1_TRANSMIT

Senden1an2

IDDLCDATAENABLE

RESULT16#648

Wertsatz1Freigabe

Senden von Seuerung 1 an 2freigegeben über 'Freigabe'

0003

CTUAnz_Sendungen1an2

CURESETPV

QCV Zaktuell

gesendetRuecksetzen

Zähler für Anzahl Sendungen von 1 an 2

0004

ueberkonvgesendet

nur ausführen, wenn gesendet wurde,sonst überspringen

Abbildung 87: Beispielprojekt für Steuerung 1 Teil 1

Es soll kurz rekapituliert werden, was damit bewirkt wird:

Ein Impuls an einem Eingang (Schalter) bewirkt eine Sendung.

Ein Klick auf einen Button in der Visualisierung bewirkt eine Sendung.

Der Taktgeber bewirkt eine Sendung alle 10 s (initialisierter Wert, kann ver-ändert werden), wenn ein weiterer Eingang auf TRUE steht.

Die Sendungen werden gezählt (Netzwerk 3).

Page 86: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-44 Schulungshandbuch 2 ecomatmobile Typ R 360

0005

Wertsatz1[1]WORD_TO_BYTE

Zaktuell

Konvertierung des Datentyps

0006

TRUE

ueberkonvSprungziel

0007

AenderungNE

Wertsatz2_1Wert_alt

Dieses und nächstes Netzwerk liefern zusammen Flankenimpulsfalls Vergleich mit vorigem Wert NE ergibt, dann Impuls

0008

Wert_altWertsatz2_1

Reihenfolge der Netzwerke beachten!

0009

ueber_addAenderung

nur ausführen bei Änderung, sonst überspringen

0010

Wertsatz1[2]Wertsatz2_1

Übertragung des empfangenen Wertes inein Feld des zu sendenden Arrays

0011

Wertsatz1[0]ADD

Wertsatz2_112

z. B. Offset addieren und übertragen

0012

TRUE

ueber_addSprungziel

Abbildung 88: Beispielprojekt für Steuerung 1 Teil 2

Um veränderliche Werte zu übertragen wird der Zählwert konvertiert undeinem zu sendenden Wert zugewiesen (Netzwerk 5). Das geschieht nur beieiner Sendung.

Auf einen empfangenen Wert soll ebenfalls reagiert werden.

Der empfangene Wert wird auf Änderungen überprüft (Netzwerk 7 und 8).

Nur bei einer Änderung wird der empfangene Wert ebenfalls einem zu sen-dendem Wert zugewiesen (Netzwerk 10). Außerdem wird er bearbeitet, hierwird als Beispiel ein fester Offsetwert dazu addiert (Netzwerk 11). Das Er-gebnis wird auch gesendet.

In der Visualisierung werden die interessierenden Zustände der Variablen an-gezeigt. Die folgenden Abbildungen zeigen Beispiele.

Page 87: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-45R

Steuerung 1 Zunächst wird das Verhalten der Steuerung 1 beim Programmstart beschrie-ben.

Anfangszu-stand

Nach dem Einloggen und Laden des ergänzten Programms sollte die Visuali-sierung etwa wie in Abbildung 89 aussehen:

Abbildung 89: Kommunikation zweier Steuerungen 1

Die Felder des zu sendenden Wertesatzes sind mit den initialisierten Wertenbelegt, siehe Abbildung 36.

Start Nach dem Start des Programms ändert sich noch nichts.

1. Sendung Nach dem erstmaligen Senden ergibt sich folgender Zustand:

Abbildung 90: Kommunikation zweier Steuerungen 2

Im Feld Wertesatz1[1] ändert sich der Wert von 2 auf 1.Das ist der Wert für dieAnzahl der Sendungen, der auch weiter links oben, siehe Abbildung 80, ange-zeigt wird. Er wurde in Netzwerk 5 (das mittlere in Abbildung 80) in den Satz derzu sendenden Werte übertragen.

Steuerung 2 Bei diesem Stand soll jetzt die Steuerung 2 beschrieben werden. Da mit denvorgenommenen Ergänzungen beide Steuerungen senden und empfangen,sollte die Visualisierung (bis auf gestalterische Freiheiten) für beide Steuerun-gen gleich aussehen. Nach dem Einloggen und Laden des Programms solltealso die Visualisierung wie in Abbildung 89 aussehen.

Start Der Anfangszustand sollte sich bei Steuerung 2 genauso wenig ändern wie beiSteuerung 1, nachdem das Programm gestartet wurde. Vor der ersten Sendunghaben also beide Steuerungen den gleichen Zustand. Nachdem die erste Sen-dung von Steuerung 1 erfolgt ist, ändert sich einiges bei Steuerung 2.

Page 88: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-46 Schulungshandbuch 2 ecomatmobile Typ R 360

2

1

3 4

Abbildung 91: Kommunikation zweier Steuerungen 3

Die Markierungen werden weiter unten erläutert.

Schritt fürSchritt

Um die folgenden Erläuterungen nachvollziehen zu können, sollten genau diegleichen Werte angezeigt werden.

Falls andere Werte angezeigt werden, dann wurden wahrscheinlich vorherschon Informationen ausgetauscht. Um den Zustand von Abbildung 91 zu re-konstruieren, genügt es nicht, z. B. über die entsprechenden Buttons die Zählerauf 0 zu setzen. Der ganze Ablauf muss sozusagen von der Grundstellung ausbeginnen. Um es noch einmal zusammenzufassen:

Die Programme werden in Steuerung 1 bzw. 2 geladen

So wie die Beispiele aufgebaut sind, ist das der einfachste und zuverlässigsteWeg, den bei der Deklaration initialisierten Variablen erneut ihren Initialisie-rungswert zuzuweisen. Das manuell zu tun ist aufwendig und fehlerträchtig.Das Einloggen allein genügt hier auch nicht, denn die Abfrage, ob das neueProgramm geladen werden soll, erscheint nur, falls die Programmdatei geän-dert wurde. Es ist ja auch meist erwünscht, dass nach dem Einloggen nicht dieAnfangswerte sondern die gerade aktuellen Werte betrachtet werden können.Hier muss also das Laden separat angestoßen werden. Der Befehl 'Laden' istim Menü 'Online' zu finden. In der Praxis gibt es auch gelegentlich die Anforde-rung, die Anfangswerte oder Default-Werte auf Knopfdruck, z. B. um eine Fehl-bedienung rückgängig zu machen, oder nach einem Ausfall der Betriebsspan-nung, wieder herzustellen. Das wird auch als "factory reset" bezeichnet. AusPlatzgründen wird hier nicht weiter darauf eingegangen. Es kann hier nur alsinteressante Übungsaufgabe empfohlen werden.

Alternativ geht hier auch der "harte" Reset. Die Steuerungen werden aus- undwieder eingeschaltet.

Dann erfolgt der nächste Schritt:

In Steuerung 1 wird eine Sendung ausgelöst

Wie oben beschrieben, kann das zeitgesteuert, über die Visualisierung oderden Eingang %IX0.0 geschehen.

Jetzt sollte der Zustand von Abbildung 91 (für Steuerung 2) erreicht wordensein. Die einzelnen Werte sollen kurz erläutert werden.

Page 89: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-47R

1

2

3

4

1 In Abbildung 91 ist links im Kasten in der zweiten Zeile zu erkennen, dass eineSendung empfangen wurde.

Wertesatzempfangen

In der Zeile 'empfangene Werte' werden die Daten des 'Wertsatz2' eingetra-gen. Das sind genau die Werte, die in Steuerung 1 als 'Wertsatz1' zum Sendenbereit standen, siehe Abbildung 89. Wie in dieser Abbildung stand vorher indieser Zeile in jedem Feld der Wert 0.

14 Im ersten Feld der Zeile 'gesendete Werte' steht der Wert 14 (siehe Abbildung91). Im Beispielprogramm wird ja simuliert, wie ein gesendeter Wert "ausge-wertet", bzw. "umgerechnet" wird. Dazu wurde im Netzwerk 11 ein fester ("Off-set-") Wert von 12 zum Wert im 2. Feld von 'Wertsatz2', nämlich Wertesatz2[1]= 2, addiert. Bedingung dafür war, dass eine Änderung von Wertesatz2[1] er-kannt wurde. Das ist also offenbar wie geplant abgelaufen.

2 Der empfangene Wert für Wertsatz1[1] wurde in das 3. Feld der zu sendendenWerte, nämlich Wertsatz1[2], übertragen. Das sollte die Möglichkeit illustrieren,wie in der Steuerung 1 geprüft werden kann, ob Steuerung 2 den korrektenWert empfangen hat, sobald von Steuerung 2 auch eine Sendung ausgegan-gen ist (siehe oben den Punkt Übertragungssicherheit, Seite 3-38).

Bevor die Steuerung 2 sendet, sollen zunächst noch drei Sendungen von Steu-erung 1 erfolgen. Es ist eine gute Übung, zu überlegen, wie dann die Werteaussehen. Dazu muss die folgende Abbildung 92 abgedeckt werden. Ein Blickauf Abbildung 90 hilft bei der Überlegung.

Abbildung 92: Kommunikation zweier Steuerungen 4

Nun soll noch ein Blick auf den jetzt aktuellen Zustand der Werte in Steuerung 1geworfen werden.

Abbildung 93: Kommunikation zweier Steuerungen 5

Es ist zu sehen, dass insgesamt 4 Sendungen erfolgt sind. Die Werte 0 in derzweiten Zeile, 'Wertesatz empfangen' zeigen, dass Steuerung 2 bisher nicht ge-sendet hat.

Zum Abschluss wird noch gezeigt, wie die Werte aussehen, wenn von Steue-rung 2 eine Sendung ausgegangen ist.

Page 90: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-48 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 94: Kommunikation zweier Steuerungen 6

Es ist eine weitere Übungsaufgabe, zu erklären, wie diese Werte zustandekommen.

Jetzt können noch weitere Möglichkeiten getestet werden, z. B. das zeitgesteu-erte Senden. Es wurde im Beispielprogramm über den Eingang %IX0.1 freige-geben, siehe Abbildung 86. Zur besseren Übersicht sollte das erst nur bei einerSteuerung geschehen, bevor dann beide zeitgesteuert senden.

Es ist auch informativ, den Ablauf mit dem CAN-Analyser zu verfolgen. Er istdazu parallel an eine der Federklemmboxen anzuschließen, siehe Abbildung 55und Abbildung 49 (oder Abbildung 50). Es sieht vielleicht nicht schön aus, wennzwei Kabel in die selbe Federklemme eingeführt werden, aber es handelt sich jaauch um einen Testaufbau.

T-Abzweig

Bei einem "richtigen" Projekt empfiehlt es sich zu Diagnosezwecken die Mög-lichkeit einzuplanen, einen Abzweig, eine T-Verbindung, einsetzen zu können,um z. B. mit einem CAN-Analyser die Kommunikation bei bestehender Verbin-dung überprüfen zu können.:

Netzwerk

Das Beispiel zeigt, dass der Test der Kommunikation deutlich mehr und andereÜberlegungen erfordert, als ein "einfacher" Programmtest. Es empfiehlt sichsehr, nur Teilprozesse zu testen, weil es schnell unübersichtlich wird, wennviele Ereignisse gleichzeitig stattfinden. Auch wer schon Erfahrungen in derProgrammierung von SPS hat, wird es möglicherweise verwirrend finden, sichhier in die Bezeichnungen wie Steuerung 1, Steuerung 2, Wertsatz1, Wertsatz2hineinzudenken. Wenn aber mit CAN gearbeitet werden soll, dann ist es unum-gänglich, sich damit ausführlicher zu beschäftigen. Wenn die Beispiele Schrittfür Schritt nachvollzogen und verstanden werden, dann hilft das dabei, eineVorstellung von der Kommunikation zu erwerben.

Page 91: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-49R

CAN

Im Rückblick fällt auf, dass die meisten Erläuterungen in diesem Kapitel 3.2 dieProgrammiertechnik oder Programmstruktur betrafen. Die Diagnose einesSystems, z. B. mit dem CAN-Analyser, hat auch noch einigen Raum bean-sprucht. Die Funktionsblöcke, die die eigentliche Kommunikation bewirken,wurden vergleichsweise kurz auf Seite 3-2 ff abgehandelt. Die FunktionsblöckeCAN1_TRANSMIT und CAN1_RECEIVE genügen für die Kommunikation. Wiesie eingesetzt werden, ist durch die Anwendung bedingt. Jetzt ist leicht zu er-kennen, dass die Kommunikation als solche nicht besonders schwierig ist. DieFunktionsblöcke genügen auch in jedem anderen Programm dafür (auf Layer 2,mit dem freien Protokoll). Wenn erst die Hardware, die elektrischen Anschlüsse,der Abschlusswiderstand,... korrekt installiert sind, besteht die Arbeit im we-sentlichen darin, die Anforderungen der Anwendung in ein Programm umzuset-zen.

NetzwerkvariableIm folgenden soll eine Alternative zu der bisher beschriebenen Vorgehensweisegezeigt werden. Die Bezeichnung "Netzwerkvariable " wird in der Software nichtkonsistent benutzt. Manchmal wird sie auch kurz als "Netzvariable" bezeichnet.Die Konfiguration von Netzvariablen ist für ecomat mobile ab Softwareversion2.3 möglich. In den folgenden Beispielen ist zu erkennen, dass diese einerseitsdie Arbeit mit den am meisten verwendeten Optionen, z. B. zeitgesteuertesSenden, erleichtert und vereinfacht. Andererseits ist man nicht ganz so flexibelwie mit den Funktionsblöcken CAN1_TRANSMIT und CAN1_RECEIVE.

Steuerung 1 Wie zuvor soll als Beispiel die Kommunikation zwischen 2 Steuerungen gezeigtwerden. Hier wird jetzt auch nicht das Beispiel Schritt für Schritt aufgebaut, z. B.1. Steuerung sendet nur, 2. Steuerung empfängt nur, sondern vor allem dieModifikationen, die beim Einsatz von Netzvariablen erforderlich sind. Welchedas sind und warum sie erforderlich sind, wird unten beschrieben.

Wer noch weniger Programmiererfahrung hat, für den ist es eine gute Übung,das folgende Beispiel Schritt für Schritt neu aufzubauen.

Hier wird, wie gesagt, das vorangehende Beispiel (siehe Abbildung 87 undAbbildung 88) modifiziert. Dazu ist es am einfachsten, das Projekt zu kopieren,bzw. mit 'Speichern unter...' eine neue Version des schon erstellten Beispiel-programms zu erzeugen.

Neu

Es soll kurz daran erinnert werden, dass, ebenfalls ab Version 2.3, unter 'Datei'der neue Menüpunkt 'Neu aus Vorlage...' zur Verfügung steht. Damit wird eineKopie eines erstellten Projekts mit dem Namen 'Unbenannt' geöffnet.

Wer die Aufgabe hat, öfter unterschiedliche Hardwareversionen zu konfigurie-ren, für den ist auch die Übungsaufgabe interessant, ein Projekt ganz neu an-zulegen und zu konfigurieren.

Wie auch immer vorgegangen wird; im folgenden soll davon ausgegangen wer-den, dass ein neues Projekt mit der Konfiguration des zuvor erstellten Beispielszur Verfügung steht. Dann werden Netzvariablen konfiguriert.

Page 92: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-50 Schulungshandbuch 2 ecomatmobile

Im linken unteren Bereich des Fensters wird das Register 'Ressourcen',, angeklickt.

Dort wird der Eintrag 'Globale Variablen' markiert.

Mit 'Projekt' 'Objekt' 'Einfügen...' wird ein neues Objekt, in diesem Falleine globale Variable, eingefügt. Es öffnet sich das 'Eigenschaften'-Fens-ter.

Abbildung 95: Netzvariablen Eigenschaften 1

Ein Name wird vergeben.

Abbildung 96: Netzvariable Name

Name

Gerade bei Netzvariablen ist ein aussagekräftiger Name beHier wird im Namen deutlich gemacht, wo die Variable, bzw. driert wird und was damit geschieht, dass sie nämlich von derSteuerung 2 gesendet wird. Außerdem soll die '1' am Ende ddass dafür der Identifier 1 verwendet wird (siehe auch Abbildun

Der Button 'Netzwerkverbindung hinzufügen', siehe Abangeklickt. Das Fenster erweitert sich.

n

Namenvergebe

Klick!

Typ R 360

sonders wichtig.eren Wert, gene- Steuerung 1 anarauf hinweisen,g 103).

bildung 95, wird

Page 93: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

B

I

R

Haken aktivlassen!

Senden be-deutetSchreiben

R

Abbildung 97: Netzvariablen Eigenschaften 2

Im erweiterten Fenster wird die Option 'Variablen packen' akmit wird bewirkt, dass alle zugeordneten Variablen in ein einpackt werden.

uslast

Im anderen Falle würde jede einzelne Variable in einem eigesendet. Speziell bei Bits, Variablen vom Typ BOOL, z. B. binädas wenig effektiv und erhöht die Buslast unnötig.

dentifier

Man muss hier sorgfältig darauf achten, wieviele Variable voversendet werden. Ist das Frame gefüllt (Option 'Variablendann wird automatisch ein neues Frame mit einem um 1 ererzeugt. Falls dieser Identifier schon für ein anderes Framekommt es zu Konflikten. Ist die Option 'Variablen packen' nicerst recht zu beachten, dass jedes Frame einen eigenen Identif

equest

Diese Option ist nur sinnvoll, wenn der Teilnehmer das RTRmission Request) unterstützt. Das ist hier nicht der Fall. DaFunktionen sowohl beim Senden als auch beim Empfangen nic

Die Option 'Schreiben' (für Senden) wird aktiviert. 'LesenNun sind mehr Optionen aktivierbar.

nicht aktivschalten!

3-51

tiv gelassen. Da-ziges Frame ge-

nen Frame ver-re Eingänge, ist

n welchem Typ packen' aktiv),höhten Identifier vorgesehen ist,ht aktiv, dann istier erhält.

(Remote Trans-her werden die

ht aktiviert.

' wird deaktiviert.

Page 94: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-52 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 98: Konfigurierte Netzvariable 1

Damit ist eine Netzwerkvariable für die Sendungen von Steuerung 1 an 2 defi-niert. Jetzt wird noch eine für das Empfangen hinzugefügt.

Abbildung 99: Konfigurierte Netzvariable 2

Beim Senden wurde die Option 'Schreiben' gewählt, entsprechen ist die Option'Lesen' für das Empfangen.

Die Beispielprojekte von oben, vgl. Abbildung 87 und Abbildung 88 werden nunentsprechend modifiziert.

Wie oben unter

Netzwerkvariable, Seite 3-49, angemerkt, wird das Programm einfacher. Eswerden weniger Netzwerke benötigt.

Andererseits ist man nicht mehr so flexibel. Es ist z. B. nicht mehr so einfach,die Sendungen zu zählen.

Das bedeutet, dass das Beispielprojekt nicht einfach reproduziert werden kann,indem überflüssige Bausteine, z. B. CAN1_TRANSMIT und CAN1_RECEIVEweggelassen und Adressen, bzw. Namen der Variablen angepasst werden. Essind auch an der Wirkungsweise des Projekts sinnvolle Modifikationen vorzu-nehmen.

Als Beispiel werden über den Taktgeber, siehe Abbildung 85, zusätzliche Sen-dungen veranlasst. Das wird dadurch ermöglicht, dass die Option 'Übertragungbei Änderung' aktiviert wurde, siehe Abbildung 98. Diese zusätzlichen Sen-dungen werden gezählt. Dazu werden die Impulse des Taktgebers verwendet.

Page 95: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-53R

Nur wenn ein Impuls erfolgt, ändert sich der Zählwert. Nur dann wird er auf eineNetzvariable übertragen, siehe Abbildung 100. Diese wird als globale Variabledeklariert in dem Fenster, das sich bei Doppelklick auf den entsprechendenEintrag der Ressourcen öffnet, siehe Abbildung 103. Die lokalen Deklarationensollten sich von selbst erklären und wurden in der Abbildung weggelassen.

Abbildung 100: Netzvariable 1 für das Senden

Die Werte für die anderen Netzvariablen, die auch für das Senden deklariertwurden, siehe Abbildung 103, werden aus einem empfangenen Wert gebildet.Auch dabei ist es sinnvoll, nur zu reagieren, wenn sich der Wert geändert hat.Die Methode dabei bleibt gleich (siehe Abbildung 84), nur die Variabelennamenmüssen angepasst werden.

Abbildung 101: Überwachung auf Änderung

Wenn eine Änderung festgestellt wurde, d. h. wenn ein geänderter Wert emp-fangen wurde, dann wird dieser Wert selbst und ein "umgerechneter" Wert (12addiert) auch gesendet.

Page 96: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-54 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 102: Zu sendende Werte

Die Bedeutung von 'Aenderung' ist in Abbildung 101 zu erkennen.

Wie oben, auf Seite 3-50, schon betont wurde, ist bei den Deklarationen derNetzvariablen; ein deutlicher Name besonders wichtig. Z. B 'Wert_1an2_1' sollbedeuten, dass dies der 1. Wert ist, der von Steuerung 1 an Steuerung 2 ge-sendet wird.

Abbildung 103: Deklaration der Netzvariablen für das Senden

Da man sich nicht mehr unbedingt um die Variablentypen kümmern muss wur-den die Variablen einfach direkt als WORD deklariert. Die Konvertierung aufden Typ BYTE entfällt. Beim Senden wird der Wert automatisch auf 2 BYTEaufgeteilt und beim Empfangen wieder zu einem WORD zusammengesetzt.

Framelänge undDaten

Es ist zu beachten, dass ein Frame maximal 8 BYTE an Daten enthalten kann.Auf Seite 3-51, wurde unter Identifier darauf hingewiesen, dass neue Framesmit neuen Identifiern erzeugt werden, falls mehr als 8 BYTES gesendet werden.Da hier, wie zuvor, der Identifier 2 für den Datensatz, der von Steuerung 2 anSteuerung 1 geschickt wird, käme es in diesem Fall zu Konflikten. Es werdenim Beispiel 3 Variable vom Typ WORD gesendet. Das sind aber 6 BYTE. Dazugenügt ein Frame.

Wie die anderen Variablen verwendet werden, das wurde oben erklärt, vgl.Abbildung 102. Dazu wurde ein empfangener Wert verwendet. Der Programm-baustein für das Empfangen wird auch noch modifiziert. Wenn es nur darumginge, Werte zu empfangen, dann wäre dieser Baustein Überflüssig. DasEmpfangen ist damit schon erledigt, dass die zweite Netzvariable mit der Option'Lesen' konfiguriert wurde, siehe Abbildung 99. Hier werden als Beispiel nur die

Page 97: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-55R

empfangenen Werte gezählt. Genauer gesagt, wird auch hier nicht einfach dieAnzahl der Sendungen, sondern die Anzahl der Sendungen mit verändertemInhalt einer Variablen gezählt. Dazu wird wie in Abbildung 101 die "Flankener-kennung" für Variable vom Typ WORD verwendet.

Abbildung 104: Änderung beim empfangenen Wert

Wie auch in Abbildung 84 wird der empfangene Wert auf Änderungen überprüft.

Schließlich wird noch die Visualisierung angepasst. Es ist relativ aufwendig, dievorhandene Visualisierung zu modifizieren, daher wird am besten eine neueangelegt, z. B. wie in Abbildung 107.

Steuerung 2 Die Anpassung des Projektes für die Steuerung 2 wird nicht mehr im Detailgezeigt. Die beiden Projekte sind wieder symmetrisch angelegt. Es ist nur dar-auf zu achten, dass z. B. überall, wo im Projekt für Steuerung 1 im Variabelen-namen steht '...1an2...', muss im anderen Projekt stehen '...2an1...' und umge-kehrt.

Die Konfigurationen, entsprechend Abbildung 98 und Abbildung 99 müssenauch entsprechend angepasst werden.

Abbildung 105: Konfigurierte Netzvariable 1 (Steuerung 2)

Abbildung 106: Konfigurierte Netzvariable 2 (Steuerung 2)

Onlinetest Wenn nun die beiden Projekte fertig bearbeitet sind, können sie wieder in dieSteuerungen geladen werden.

Was die Projekte bewirken sollen, wird wieder kurz zusammengefasst.

Page 98: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-56 Schulungshandbuch 2 ecomatmobile Typ R 360

Durch die Konfiguration der Netzvariablen, Abbildung 98 und Abbildung 106wird eine Sendung alle 10 s bewirkt.

Der Taktgeber bewirkt eine zusätzliche Sendung alle 10 s (initialisierterWert, kann verändert werden), wenn ein Eingang auf TRUE steht(Abbildung 100).

Diese Sendungen werden gezählt.

Um veränderliche Werte zu übertragen wird der Zählwert einem zu senden-den Wert zugewiesen. Das geschieht nur bei einer Sendung.

Auf einen empfangenen Wert soll ebenfalls reagiert werden.

Der empfangene Wert wird auf Änderungen überprüft (Abbildung 101).

Nur bei einer Änderung wird der empfangene Wert ebenfalls einem zu sen-dendem Wert zugewiesen. Außerdem wird er bearbeitet, hier wird als Bei-spiel ein fester Offsetwert dazu addiert. Das Ergebnis wird auch gesendet(Abbildung 102).

In der Visualisierung werden die interessierenden Zustände der Variablen an-gezeigt. Die folgenden Abbildungen zeigen Beispiele.

Zunächst wird nur das Senden über Taktgeber der Steuerung 1 aktiviert (überden Eingang 'Freigabe_A').

Abbildung 107: Kommunikation zweier Steuerungen 7

Über den Taktgeber der Steuerung 2 wird noch nichts gesendet. Daher stehtdie Anzahl der empfangenen Werte noch auf 0. Trotzdem wurden offenbarWerte empfangen. Diese wurden über den konfigurierten Datenaustausch(siehe Abbildung 106) gesendet und deshalb nicht gezählt.

Als nächstes wird das Freigabebit von Steuerung 1 wieder auf FALSE gestelltund das von Steuerung 2 auf TRUE.

Page 99: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis I Freies Protokoll

3-57R

Abbildung 108:Kommunikation zweier Steuerungen 8

Schließlich werden über die Taktgeber beider Steuerungen noch einige Framesgesendet.

Abbildung 109: Kommunikation zweier Steuerungen 9

Die Erklärungen, welche Daten warum in welchem Feld stehen, sei dem Leserals Übungsaufgabe überlassen. Dazu wird auf Abbildung 98 bis Abbildung 106verwiesen.

Sinn Man kann sich natürlich fragen, welchen Sinn, welche praktische Anwendungdie Beispiele haben. Vordergründig war die Idee, veränderliche Werte durcheine Art Simulation zu erzeugen, damit dynamische Vorgänge zu beobachtensind. Der Hintergrund besteht darin, dass mit diesen Beispielen ein Grundver-ständnis für Kommunikationssysteme vermittelt werden soll. Damit sollte esleicht fallen, konkrete Applikationen zu lösen.

Nach dem (hoffentlich!) erfolgreichen Online-Test der Programme soll damit dieArbeit mit dem freien Protokoll beendet werden. Die vorangehenden Beispielesollten einen ersten Eindruck vermitteln, wie mit CAN gearbeitet wird und wel-che Freiheiten der Anwender hat. Im Kapitel 0 werden Beispiele für CANopenbeschrieben.

Page 100: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Programmtest online

3-58 Schulungshandbuch 2 ecomatmobile Typ R 360

DiagnoseDieser Testtaufbau (nach Abbildung 49 oder Abbildung 50) sollte, wenn mög-lich, noch nicht abgebaut werden. Wenn die Tests erfolgreich verlaufen sind,muss auch die Kommunikation ohne größere Probleme ablaufen. Sie soll abertrotzdem überprüft werden.

Es ist dringend zu empfehlen, die Anwendung von Diagnosetools im Vorfeld zuüben. Wenn erst einmal im Betrieb ein Fehler auftritt, herrscht meistens einbeträchtlicher Zeitdruck. Wenn man sich dann erst mit den Tools befasst, dannist der Zeitverlust, der so entsteht, besonders unangenehm.

CAN-Analyser Die Verwendung dieses Tools wurde schon auf Seite 3-23 ff beschrieben. Da-her wird hier nicht noch einmal ausführlich darauf eingegangen. Es können imPrinzip alle Schritte wiederholt werden. Zusätzlich zu den dort beschriebenenTests, ist es jetzt auch interessant, die Frames direkt anzusehen.

Mit F3 wird das Menü CAN Layer 2 geöffnet (Abbildung 59). Dort wird wiedermit F3 das Menü 'Trace' geöffnet. Dort steht:

F1 Trigger: AUTO

F2 RecTele: 0000

F3 _Start, *Stop

F4 Send Buffer

Abbildung 110: Frames im CAN-Analyser

Durch erneutes Betätigen von F3 springt der * von Stop auf Start. Jetzt wirdaufgezeichnet. Da nicht viele Frames versendet werden, muss man etwaswarten (wer die Schritte von oben noch einmal durchlaufen hat, der sollte gese-hen haben, dass die Buslast sehr gering ist). Im Feld rechts neben F2 ist abzu-lesen, wieviele Frames aufgezeichnet wurden. Um sie anzusehen wird F2 betä-tigt und mit erneutem F2 werden alle Telegramme ('All Telegrams') ausge-wählt.

Die Interpretation der Anzeige soll eine Übungsaufgabe sein. Nur zwei Tipps:

die Identifier sind besonders leicht zu erkennen

die Daten sind hexadezimal codiert.

Mit Hilfe des Datenblatts und der Anleitung ist es leicht, sich mit allen Möglich-keiten des CAN-Analysers vertraut zu machen.

CANview Ein zweites, noch vielseitigeres Tool, CANview, wird unten besprochen, sieheSeite 4-12 ff.

Damit das CANview beim aktuellen Versuchsaufbau verwendet werden kann,sollte dieser nicht unbedingt komplett abgebaut werden.

Wer sich gleich mit CANview beschäftigen möchte, der kann auf Seite 4-12weiterlesen und das Kapitel über CANopen vorläufig überspringen. Wie dortbeschrieben, ist CANview, anders als der CAN-Analyser, nicht unmittelbareinsatzbereit. Es müssen noch Treiber und Software installiert und konfiguriertwerden.

Page 101: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

4-1R

4 CAN Praxis II CANopen

4.1 Kommunikation mit E/A ModulWie oben beschrieben wurde, ist es vergleichsweise bequem, mit CANopen zuarbeiten, weil ein Programm, das u. a. die Kommunikation und ihre Überwa-chung steuert, schnell aus Bibliotheksbausteinen zusammengesetzt werdenkann. Was das speziell im Vergleich mit der Arbeit mit dem freien Protokoll(Layer 2) bedeutet wird an den folgenden Beispielen klar werden.

Vorbereitung der SteuerungBeispielCR2013

Ein typischer Fall für die Anwendung von CANopen ist die Einbindung einesModuls mit Ein- und Ausgängen. Die Einzelheiten dazu werden als erstes Bei-spiel im nächsten Kapitel beschrieben.

Hier soll es zunächst um die Vorbereitung der Steuerung gehen. Dazu wird kurzan die Grundlagen erinnert.

Auf den Seiten 2-21 ff wurde der allgemeine Ablauf beim Start eines CANopen-Systems schon erläutert. Hier soll zuerst noch einmal kurz daran erinnert wer-den. Abbildung 111 zeigt schematisch den Ablauf. Diese Aktionen laufen imHintergrund ab.

Cop_Mstr_Boot

EnableNO_NodeGuardtimeLifetime

DoneSet booting Reset booting

SetstartedCop_Mstr_Main

EnableNo_NodeSynch_TimeAuto_Op.Reset_Guard.

NMT_Set_operationalEnable

Node

Abbildung 111: CANopen System starten

Zuerst wird auf die Konfiguration eingegangen, die sich etwas unterscheidetvon der in 3. In dieser Konfiguration werden die Parameter für den Prozessnach Abbildung 111 festgelegt. Auf den Seiten 4-10 ff wird die Anwendung inProgrammbausteinen beschrieben. In den betreffenden Kapiteln wird jeweilsnäher darauf eingegangen, was an zusätzlicher Hardware benötigt wird.

Es folgen noch einige kurze Vorbemerkungen.

Page 102: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation mit E/A Modul

4-2 Schulungshandbuch 2 ecomatmobile Typ R 360

Vorlage

Da die Konfiguration immer gleich verläuft, kann man die folgenden Beispieleals "Muster" übernehmen und erst einmal, ohne viel überlegen zu müssen,übernehmen. Was dann noch nötig ist, um diese Beispiele einem konkretenProjekt anzupassen, d. h. z. B. welche Parameter eventuell geändert werdenmüssen, das wird bei den jeweiligen Beispielen im folgenden Text erläutert undweiter unten zusammengefasst.

Programm-struktur

Die Strukturierung eines Programms durch Programmbausteine ist die Grund-voraussetzung für verständliche, übersichtliche, "pflegeleichte" Programme.Eine zeitgemäße Software nach IEC 61131-3 unterstützt diese Struktur. Es gibtnatürlich meistens viele Wege, um zum Ziel zu kommen. Es mag vielleicht beider Programmerstellung etwas mehr Aufwand bedeuten und dem Programmie-rer umständlich erscheinen, sich um eine durchsichtige Strukturierung zu be-mühen (außerdem soll daran erinnert werden, dass es nützlich ist, reichlichKommentare zu schreiben!). Dieser Aufwand wird aber bei weitem aufgewogen,sobald Wartungsarbeiten notwendig werden oder das Programm modifiziertwerden soll. Ein Aspekt dabei ist, dass das Programm nicht nur von einer Per-son verstanden werden muss.

Die Strukturen in den nächsten Kapiteln sind nicht die einzig möglichen oderbesten. Es sind Beispiele.

Vom Hauptprogramm PLC_PGRG werden weitere Bausteine aufgerufen.Diese, ggf. mit Unterbausteinen, steuern den Prozess. Man erkennt gar nichtohne weiteres, dass mit CANopen gearbeitet wird. Ohne den Einsatz von CANwürden diese Bausteine ganz ähnlich aussehen.

Steuerungs-konfiguration

Es wird davon ausgegangen, dass bekannt ist, wie ein neues Projekt angelegtwird. Wem das nicht so geläufig ist, der sollte sich das einführende Schulungs-handbuch vornehmen oder in der Kurzanleitung im Anhang 6.3 nachsehen.

Ein neues Projekt wird angelegt.

Zu Beginn ist das Vorgehen genauso wie auf Seite 3-2 ff.

Abbildung 112: Steuerungskonfiguration

Hier wird das Unterelement 'CR0020, CANopen Master...' angehängt, sieheAbbildung 28. Jetzt werden aber die Defaulteinstellungen übernommen. DieHaken werden nicht wie in Abbildung 28 entfernt. Es werden noch zusätzlicheCANfunktionalitäten, z. B. die Unterstützung von DSP301, aktiviert. Darauf wirdjetzt nicht genauer eingegangen.

Page 103: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-3R

HeartbeatMaster

Auf Seite 2-25 wurde erklärt was das ist. Hier soll nur darauf hingewiesen wer-den, dass diese Möglichkeit natürlich nur genutzt werden kann, wenn die Hard-ware sie unterstützt. Informationen dazu sind im Datenblatt der entsprechendenSteuerung zu finden.

Die Node-Id (des Masters) wird auf 30 gesetzt.

Abbildung 113: CANopen Konfiguration

Damit ist die Konfiguration des Masters abgeschlossen.

Jetzt lohnt sich noch kein Online-Test, weil außer dem Master kein weitererTeilnehmer angesprochen werden kann. Das ist erst im nächsten Kapitel inter-essant.

Die eingetragenen Werte sind Erfahrungswerte.

Node ID Es macht die Projekte übersichtlicher, wenn man sich auch bei der Festlegungder Node-IDs an ein gewisses Schema hält. Als Beispiel wurde hier die Node-ID 30 gewählt, weil es darunter noch genug Node-IDs z. B. für Module, siehedas nächste Kapitel, gibt.

Zyklus undFenster

Der Eintrag im Feld 'Com Cycle...' bedeutet, dass alle 0,2 ms ein Sync-Objekt,siehe Abbildung 17 , gesendet wird. Die Breite des Fensters sollte kleiner sein.Ein guter Wer wäre auch noch 0,1 ms (100 000 µs). Bei zeitkritischen Vorgän-gen wählt man die Zeit noch kürzer. Damit erhöht sich aber die Buslast.

E/A-ModulAls erstes Beispiel für die Einbindung eines Knotens soll das EA-Modul CR2013behandelt werden. Bei der Einführung in die Programmierung mit CoDeSys(siehe Startersethandbuch oder Schulungshandbuch) wird als erstes Beispielein einfacher UND-Operator behandelt. Im Beispiel soll es jetzt darum gehen,zwei Eingänge des Moduls zu verknüpfen und damit einen Ausgang zu schalten(siehe Seite 4-7). Der folgenden Beschreibung, wie dabei vorzugehen ist, lässtsich leicht entnehmen, welche Modifikationen für eine beliebige Anwendungerforderlich sind. Die Grundkonfiguration verläuft dann immer gleich.

Page 104: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation mit E/A Modul

4-4 Schulungshandbuch 2 ecomatmobile Typ R 360

Demo-Programme

Für viele Standardkomponenten gibt es Demo-Programme. Sie werden laufenderweitert und ergänzt. Sie sind auf der Software-CD oder, besser und aktueller,bei ifm im Internet zu finden. Hier wird auch ein Demo-Programm für dasCR2013 zu finden sein.

Steuerungs-konfiguration

Bei geöffnetem Fenster zur Steuerungskonfiguration, siehe Abbildung 113, wirdüber 'Einfügen' (oder Klick mit der rechten Maustaste auf 'CR0020, CANopenMaster') mit 'Unterelement anhängen' ein Auswahlfenster geöffnet.

Abbildung 114: Auswahl Unterelement

Hier wird der Eintrag für CR2013 markiert. Nach Klick auf die Markierung er-scheint das neue Unterelement.

Page 105: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-5R

Abbildung 115: Unterelement CR2013

Hier werden jetzt Einträge vorgenommen, die das Verhalten im CAN-Netzwerkdefinieren.

OptionalesGerät

Ein Aktivieren oder Deaktivieren dieser Option (Abbildung 115) hat wesentlicheAuswirkungen auf das Verhalten des Systems im Fehlerfall.

Der Anwender muss hier sorgfältig überlegen, welche Reaktion hier sinnvollund notwendig ist. Zum Verständnis muss man sich den Ablauf, der auf S 2-21ff oder in Abbildung 111 beschrieben ist, erinnern.

Wenn der Knoten ausgefallen ist, z. B. durch Kabelbruch, dann fällt die Reak-tion darauf ganz unterschiedlich aus.

'Optionales Gerät' ist nicht aktiviert

Dann gelangt das System beim Booten nicht in den Zustand 'operational'. Eswerden keine PDOs ausgetauscht. Der Fehler führt zum Stillstand der Anlage.Der Bediener der Anlage kann keine Informationen über die Art des Fehlers, z.B. über ein Display erhalten. Er ist auf Fachpersonal, auf den Servicetechniker,angewiesen. In diesem Zustand ist man also optimal gegen Manipulationen ab-gesichert. Diese Option wird gewählt, wenn aus Gründen der Betriebssicherheitdie Anlage erst nach Prüfung durch einen Fachmann wieder anlaufen soll.

'Optionales Gerät' ist aktiviert

In diesem Fall führt der Ausfall des Knotens nicht zum Stillstand. Es werdenFehlerflags generiert. Fehlermeldungen können vom Programm ausgewertet

Bitte beachten!

Page 106: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation mit E/A Modul

4-6 Schulungshandbuch 2 ecomatmobile Typ R 360

und am Display angezeigt .werden. Dabei liegt es dann ganz in der Hand desProgrammierers, wie die Reaktion des Systems ausfällt.

Einerseits kann der Bediener der Anlage selbstständig den Fehler suchen undggf. beheben.

Andererseits können dabei gefährliche Situationen auftreten, die nicht vorher-gesehen wurden.

Die Entscheidung (Aktivieren oder nicht?) muss also speziell unter dem Aspektder Betriebssicherheit getroffen werden.

Abbildung 116: Eingetragene CAN Parameter

Abbildung 116 ist ein Ausschnitt aus Abbildung 115. Die ersten beiden Einträgesorgen dafür, dass die geänderten Parameter wirksam werden. Genau genom-men wäre das nur für die erste Initialisierung erforderlich. Es schadet abernichts, wenn die Komponenten bei einem Systemstart neu initialisiert werden.

Nodeguarding Auf Seite 2-25 wurde diese Funktion zur Überwachung des Netzwerks be-schrieben. Im Intervall von 1 s wird der Knoten (das CR2013) vom Master an-gesprochen. Erfolgt nach dreimaliger Aufforderung keine Antwort, dann wirdvon einem Fehler, z. B. Drahtbruch, ausgegangen.

Im eigentlichen Steuerungsprogramm wird in einem geeigneten Baustein fest-gelegt, was in einem solchen Fall geschehen soll.

Damit ist die Konfiguration vorläufig abgeschlossen. Bei einer praktischen An-wendung sollen natürlich Daten ausgetauscht und verarbeitet werden.

Page 107: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-7R

Praxis Dazu wird ein weiterer Baustein definiert, der nur eine elementare Verknüpfungenthält, um zu demonstrieren, dass das System auch funktioniert, sieheAbbildung 121. Er wird einfach Beisp_1 genannt. Diesem Baustein ist gar nichtanzusehen, dass es sich nicht um Ein- oder Ausgänge der CPU sondern umsolche des Moduls, das über CANopen eingebunden ist, handelt. Es werdenlediglich die Bits für die Ein- und Ausgänge bei der Deklaration nicht den physi-kalischen Adressen zugeordnet. Zur Veranschaulichung wird von einem Bei-spiel, siehe Abbildung 117, ausgegangen.

Aufgaben-stellung

Zwei Eingänge des Moduls sollen mit logisch UND verknüpft werden. Mit demErgebnis der Verknüpfung soll ein Ausgang angesteuert werden.

Als anschauliches Beispiel soll eine Befüllungsanlage überwacht werden. WennMaterial und Deckel (Inputs) vorhanden sind, soll eine grüne Lampe leuchten.

Abbildung 117: Aufgabenstellung

An das Modul werden dazu zwei binäre Sensoren angeschlossen, die Ein-gangssignale erzeugen. Z. B. dem Datenblatt des CR2013 ist zu entnehmen,dass die mit 1, 3, 5, 7 bezeichneten Kanäle (obere Reihe in Abbildung 122) alsbinäre Eingänge und die mit 2, 4, 6, 8 bezeichneten (untere Reihe in Abbildung122) als binäre Ausgänge verwendet werden können (siehe auch das An-schlussschema in Abbildung 123).

Wenn die Ein- und Ausgänge des Moduls in einem Programmbaustein ver-knüpft werden sollen, dann müssen sie natürlich auch deklariert werden. Dazuwerden im Fenster Steuerungskonfiguration das '+' neben dem Eintrag desUnterelements für das CR2013 angeklickt. Es ist zu sehen, dass die Ein- undAusgänge als 'CAN-Output' bzw. 'CAN-Input' bezeichnet werden. Mit einemKlick auf die entsprechenden '+'-Zeichen lassen sich auch diese Einträge öff-nen.

Page 108: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation mit E/A Modul

4-8 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 118: CAN-Kanäle beim CR2013

Variablen

Den 'binary outputs' bzw. 'binary inputs' können direkt im Fenster vonAbbildung 118 Namen zugeordnet werden. Diese sind dann als globale Vari-able deklariert. Hier wurde einfach BIs und BOs gewählt.

Ein Klick auf das Wort 'AT' öffnet das Feld, in das die Namen eingetragen wer-den können.

Abbildung 119: Deklaration der CAN IOs

Das sind aber Variable vom Typ USINT (das entspricht praktisch einem Byte).Als nächster Schritt müssen also die Bit-Informationen herausgezogen werden.Das geschieht nicht mehr bei der Konfiguration sondern in einem Programm-baustein. Dabei sind Bausteine aus einer Bibliothek nützlich.

Page 109: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-9R

Bibliotheken Ein Blick auf den Bibliotheksverwalter zeigt, dass zumindest die Bibliothek'standard.lib' eingebunden wurde. Die gerätespezifische Bibliothek, hier'ifm_CR0020_V030002.lib', muss dazu geladen werden. Falls das vergessenwurde, ist jetzt eine passende Gelegenheit dazu. Außerdem erscheinen einigeCAN-spezifische Bibliotheken, die automatisch beim Übersetzen des konfigu-rierten Projekts eingebunden werden.

Jetzt sollte noch die Bibliothek 'Util.lib' eingebunden werden. Sie ist im Unter-verzeichnis 'Library' von 'CoDeSysV2.3' zu finden.

In dieser Bibliothek finden sich die Funktion, bzw. der Funktionsblock, die dafürsorgen, dass die binären Informationen über das byteorientierte CAN-Netzwerkrichtig übertragen werden.

Abbildung 120: Unpack und Pack

Die nicht genutzten Ausgänge des Funktionsblocks 'Unpack' können frei blei-ben. Dagegen sind nicht genutzten Eingänge der Funktion 'Pack' mit FALSE zubelegen.

Funktion undFunktionsblock

An diesem Beispiel wird die Bedeutung, bzw. der Unterschied, der Bausteinedeutlich. Ein Funktionsblock kann mehrere Ausgänge haben. Es wird jeweilseine Instanz davon aufgerufen. Eine Funktion hat nur einen Ausgang. Sie wirddirekt unter ihrem Namen aufgerufen.

Für die folgende Verknüpfung könnte z. B. auch einfach die Variable 'BIs_1.B0'verwendet werden. Damit das Programm aber übersichtlich und verständlichbleibt, ist die Verwendung der Hilfsvariablen (Merker) z. B. 'Deckel' besser.Damit wird auch deutlich, dass bei der eigentlichen Programmierung des Pro-

Page 110: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kommunikation mit E/A Modul

4-10 Schulungshandbuch 2 ecomatmobile Typ R 360

zesses gar nicht mehr darauf geachtet werden muss, ob es sich z. B. um einenphysikalischen Eingang der CPU oder einen Eingang am Modul handelt.

Programm-struktur

Hier wurden die Blöcke direkt in den Programmbaustein eingefügt. Da im Bei-spiel nur ein Modul vorhanden ist, braucht man sich wegen der Übersichtlichkeitnoch keine Gedanken zu machen. Ähnlich würde man auch vorgehen, wenn z.B. mehrere Module mit unterschiedlichen Ein- oder Ausgangssignalen, z. B.Analogeingänge oder PWM-Ausgänge, vorhanden wären.

Wenn dagegen 10 Module in gleicher Weise für binäre Ein- und Ausgänge ver-wendet werden, dann lohnt es sich, selbst einen Funktionsblock für diese Um-setzung zu definieren, vgl. Seite 3-40. Dieser wird dann für jedes Modul aufge-rufen. Damit die Hilfsvariablen im ganzen Projekt zur Verfügung stehen, solltensie dann global deklariert werden.

Nach all diesen Vorbereitungen muss jetzt nur noch die Verknüpfung ergänztwerden. Bei einem realen Projekt würde jetzt der Hauptteil der Arbeit beginnen.Die ganzen Vorbereitungen, die hier, besonders wenn man es zum ersten Malmacht, vielleicht etwas aufwendig und umständlich erscheinen mögen, müssenja nur einmal getroffen werden. In neuen Projekten lässt sich dann viel Arbeitsparen, weil vieles einfach übernommen werden kann. Eventuelle Modifikatio-nen sollten dann wenig Mühe bereiten.

Die Verknüpfung ist rasch hinzugefügt.

Abbildung 121: Und-Verknüpfung

Der Baustein muss noch in PLC_PRG eingefügt werden. Dann kann praktischgetestet werden, ob 'Lampe_gruen' TRUE wird, wenn beide Eingänge 'Materi-al' und 'Deckel' auf TRUE sind.

Hardware Um das Beispiel direkt nachzuvollziehen, werden, wie Seite 3-1 ff beschrieben,folgende Komponenten benötigt:

Steuerung (hier im Beispiel CR0020)

Simulator EC2014

Spannungsversorgung (entfällt bei Verwendung eines Startersets EC2074)

Zusätzlich

Federklemmenbox EC2032

EA-Modul (CR2013, siehe Abbildung 122)

Abschlusswiderstand (120 Ω, siehe 2.2)

Bei Verwendung anderer Komponenten muss das Beispielprogramm entspre-chend angepasst werden. Was das im Detail bedeutet, wurde auf den Seiten 3-1 ff erklärt.

Page 111: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

Stop

LEDrot

LEDgrün

R

Abbildung 122: EA-Modul CR2013

An die Steuerung, im Beispiel CR0020, wird wieder die FederklemEC2032 angeschlossen (siehe Abbildung 48). An diese wird daCR2013 und der Abschlusswiderstand angeschlossen (Abbildung 123)

Abbildung 123: Anschlussschema CR2013

An die Eingänge 1 und 3 werden Sensoren, z. B. induktive oder kapasitionssensoren (Steckergeräte mit Verbindungskabel) angeschlossenlen die Signale liefern, die im Programm, im Baustein Beisp_1, verarbden.

In der folgenden Beschreibung wird davon ausgegangen, dass die Szunächst im Zustand STOP ist. Es ist zu empfehlen, gerade in einer Tedie Steuerung unbedingt vor dem Ausloggen in diesen Zustand zu vDamit wird ein ungewolltes Anlaufen vermieden, wenn die Steuerung nung gelegt wird. Das kann unabsehbare Folgen haben, falls schonangesteuert werden.

Wenn das Netzteil angeschlossen wird, leuchtet zunächst die grüne LEAbbildung 122. Sie signalisiert, dass sich das Modul im Standbbefindet. Die gelben LEDs auf der Input-Seite leuchten auf, w

bk

2

4

6

8

1

3

5

7

CR2013

gnbuwhrd

GN CANH CANL GNDCVBB

CAN1

Steuerung

Netzteil

120 Ω

LEDsOutputs

LEDsInputs

4-11

menboxs Modul

zitive Po-. Sie sol-eitet wer-

teuerungstphase,

ersetzen.an Span- Antriebe

D, siehey-Modusenn der

Page 112: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Diagnose

4-12 Schulungshandbuch 2 ecomatmobile Typ R 360

betreffende Sensor ein Objekt erkennt. Das Modul erkennt also schon dasSignal. Im Standby-Modus wird es aber noch nicht weitergeleitet.

Wird nun das Programm gestartet, die Steuerung also in Zustand RUN versetzt,dann beginnt nach einer kurzen Pause (bedingt durch die Initialisierungsphase)die grüne LED (siehe Abbildung 122) zu blinken. Damit wird signalisiert, dassdas Modul aktiv ist im CANopen-Status OPERATIONAL. Die rote LED solltenicht leuchten, denn das wäre ein Signal für einen Kommunikationsfehler.

Jetzt können Eingangssignale erzeugt werden. Durch die Verknüpfungen imProgramm (siehe Abbildung 121) werden die Ausgänge angesteuert. Dabei fälltauf, dass die gelben LEDs auf der Output-Seite nicht ständig leuchten, wenndie entsprechende Bedingung in Beisp_1, siehe Abbildung 121, erfüllt ist. Siezeigen durch ihr Blinken einen Fehlerfall an. Hier liegt der Fall vor, dass keineLast angeschlossen ist. Die Bedeutung der Zustände der LEDs ist imGerätehandbuch beschrieben.

Durch diesen (hoffentlich erfolgreichen!) Test ist nachgewiesen, dass die Steue-rung mit dem Modul kommuniziert und das Programm den gewünschten Zweckerfüllt.

Anpassung

Wenn mehrere Module im Einsatz sind, dann ist das Beispielprogramm ganzeinfach anzupassen. Für Module, die wie im Beispiel konfiguriert werden sollen,muss in der Konfiguration jeweils ein neues Unterelement angehängt werden..Für Module, die anders konfiguriert werden, müssen die Variablen anders de-klariert werden..

Nicht abbauen!

Der oben beschriebene Versuchsaufbau (siehe Abbildung 123) sollte erst ein-mal beibehalten werden, wenn als nächstes die Diagnose mit CANview undCanMon auf dem Programm steht.

4.2 Diagnose

CANview und CanMonMonitoring Die Fehlersuche, bei Wartung oder Programmerstellung, ist beim Einsatz von

CAN eine komplexere Aufgabe als bei einer parallel verdrahteten Steuerung.Nach dem Einloggen in die Steuerung kann die Programmstruktur, die Pro-grammlogik natürlich wie bei einer SPS ohne Busverbindung geprüft werden.Wenn CAN-Programmbausteine eingesetzt werden, dann kann geprüft werden,ob diese korrekt abgearbeitet werden. Man erkennt aber nicht direkt, ob dieSignale wirklich ausgesendet, empfangen, im Empfänger, z. B. einem E/A-Mo-dul identifiziert und bearbeitet werden. Um den Datenverkehr auf dem Bus zuprüfen, auch als Monitoring bezeichnet, gibt es spezielle Hilfsmittel.

Page 113: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-13R

Vorteil Falls das als Nachteil empfunden wird, dann sollte man sich auf der anderenSeite die Vorteile vor Augen halten. Falls sich z. B. bei einer Standard-SPS einLeitungsbruch zwischen Ausgang und Aktuator ereignet, dann kann dieserFehler nicht ohne zusätzliche Maßnahmen erkannt werden. Bei dem ModulCR2013 gibt es diese Möglichkeit, wie unten genauer beschrieben wird. Es isterst recht einfach, eine Unterbrechung der Busleitung zu lokalisieren. Manbraucht nur festzustellen, welche Nodes noch am Datenaustausch teilnehmen,bzw. welche nicht, dann kann im Plan der Anlage sofort der Ort der Unterbre-chung gefunden werden.

CAN-Analyser Auf Seite 3-23 ff., wurde dieses Diagnosewerkzeug, EC2036, schon beschrie-ben. hier wird nur der Vollständigkeit halber daran erinnert.

CANview CANview USB, EC2071, ist ein aktives CAN-Interface für den Anschluss einesCAN-Feldbussystems an eine USB-Schnittstelle (z.B. PC Interface).

Haupteinsatz findet CANview USB insbesondere in der mobilen Diagnose undProgrammierung sowie im Vor-Ort-Service.

Daneben gibt es auch noch die Version CANview RS232, EC2070. Auf diesewird hier nicht eingegangen

Abbildung 102: Abbildung 124: CANview USB mit Patchkabel

Was machtCANview?

Etwas vereinfacht und anschaulich ausgedrückt, sorgt CANview dafür, dass derPC, der sonst als Programmiergerät benutzt wird, an der Kommunikation überCAN teilnehmen kann.

Zuerst werden seine Hardwareeigenschaften angegeben. Dann folgt die Be-schreibung der Software. Dazu gehört der VCI-Treiber (Virtual CAN Interface),der diese Kommunikation ermöglicht. Damit "tut der PC als ob" er ein CAN-Teilnehmer wäre.

Eigenschaften:Leistungsdatenim Überblick

Je nach Konfiguration kann das Interface sowohl Standard-Nachrichten (11-Bit-Identifier) als auch Extended-Nachrichten (29-Bit-Identifier) senden und emp-fangen.

Die CAN-Übertragungsrate ist nach CiA-Norm frei wählbar, vgl. Abbildung 4.

CANview ist durch die galvanisch getrennte USB-Schnittstelle sicher einsetz-bar.

Die Spannungsversorgung erfolgt über die USB-Schnittstelle.

Page 114: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Diagnose

4-14 Schulungshandbuch 2 ecomatmobile Typ R 360

CANview stellt die Kommunikation über einen virtuellen COM-Port her.

Der virtuelle COM-Port bietet den Vorteil, dass alle typischen Steuerbefehle fürserielle Schnittstellen unterstützt werden, jedoch keine Einschränkung bezüg-lich der Übertragungsgeschwindigkeit vorliegt.

CANview kann mit folgenden ifm Softwarepaketen genutzt werden:

ecolog 100plus ab Version 2.1 (Programmiersoftware)

CoDeSys ab Version 2.3 (Programmiersoftware)

Downloader (Download-Tool für Steuerungssystem R360)

CanMon (ifm CAN-Monitor)

CANcom Software- und Tools (Kommunikationssoftware für das CAN/GSM-Modem)

Über eine separat erhältliche Konfigurationssoftware können bei speziellenAnforderungen weitere Geräteparameter eingestellt werden (für Diagnose- undTestzwecke oder für EMV-kritische Anwendungen z.B. die Flankensteilheit desCAN-Transceivers).

Hardwareseitig wird die automatische Erkennung der CAN-Bus Übertragungs-rate unterstützt.

In CANview ist ein schaltbarer CAN-Bus Abschlusswiderstand integriert, derüber die Software ein- oder ausgeschaltet werden kann.

Die Versorgungsspannung sowie die statische Pegel der CAN-Signale sind mitdem A/D-Wandler des Mikrocontrollers messbar.

WichtigeHinweise für dieVerwendungvon CANview

Die Kabellänge zwischen CANview und der USB-Schnittstelle des PCs darfmax. 3 m betragen.

Die Spannungsversorgung erfolgt über die USB-Schnittstelle. Es ist zu be-achten, dass diese ausreichend Strom zur Verfügung stellt. Im ungünstigs-ten Fall wird sonst ein Start des CANviews verhindert.

Die Signale an den CAN-Anschlussklemmen CAN-Low und CAN-Highmüssen mit den Signalen an den CAN-Anschlussklemmen derangeschlossenen Geräte übereinstimmen.

GND des 9-poligen CAN-Steckverbinders muss mit dem GND des CAN-Busses verbunden sein.

CANviewInbetriebnahme

Die Inbetriebnahme erfolgt durch Anschließen der CAN- und der USB-Verbin-dung. Die Stromversorgung erfolgt ebenfalls durch die USB-Verbindung.

SoftwareTreiber

Die Inbetriebnahme erfolgt durch Anschließen der CAN- und der USB-Verbin-dung. Die Stromversorgung erfolgt ebenfalls durch die USB-Verbindung.

Wird CANview USB das erste mal mit dem PC verbunden, erscheint eine Dia-logbox des Installationsassistenten für die Treiberinstallation (siehe nachfolgend"Software - CANview USB- und VCI-Treiber installieren"). Anschließend ist dasGerät betriebsbereit.

Page 115: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-15R

USB- und VCI-Treiber

Es werden zwei Treiber benötigt. Auf der PC-Seite (Verbindung mit dem Patch-Kabel) soll ja die USB-Schnittstelle angesprochen werden. Auf der Steuerungs-seite erfolgt die Verbindung z. B. über ein spezielles Kabel, EC2034, sieheAbbildung 54. Auf dieser Seite soll sich das CANview wie ein CAN-Teilnehmerverhalten.

Treiberinstallieren

CANview USB benötigt neben dem VCI-Treiber (Datenschnittstelle zwischenAnwendungssoftware und Gerät) noch einen speziellen USB-Treiber. DieserUSB-Treiber ist abhängig vom Betriebssystem des PCs. Mit diesem Treiberwird ein "virtueller COM-Port", d.h. eine weitere künstliche serielle Schnittstelleauf dem PC zur Verfügung gestellt. Die notwendiger Treiber werden Ihnen aufeiner Installations-CD zur Verfügung gestellt. Alternativ kann der benötigteTreiber auch über das Internet abgerufen werden: www.ifm-electronic.com un-ter 'Service' 'Download'.

Der USB-Treiber muss nur bei der Erstinbetriebnahme installiert werden. Sollzu einem späteren Zeitpunkt ein Treiber-Update erfolgen, muss der bereitsinstallierte Treiber vorher deinstalliert werden (siehe "Deinstallation der Soft-ware und des Treibers", unten).

USB-Treiber-installation

1. Verbinden Sie CANview über das beiliegende USB-Kabel mit einer freienUSB-Schnittstelle und starten Sie Windows. Windows erkennt das neueUSB-Gerät und blendet die erste Dialogbox des Installationsassistentenein.

2. Wählen Sie den Button 'Weiter' und im darauf folgenden Dialogfeld dieAuswahl 'nach bestem Treiber suchen (empfohlen)'.

3. Erfolgt die Installation über die beigelegte CD, wählen Sie in der drittenDialogbox die Auswahl 'CD-Laufwerk'. Liegt der Treiber in einem Festplat-tenverzeichnis (z.B. nach einem Internet-Download) müssen Sie die un-terste Möglichkeit auswählen und den Speicherort direkt eingeben oderüber die Browser-Funktion auswählen. Nur wenn der Installationsassistenteine gültige Treiberdatei gefunden hat, kann man über den Button 'Weiter'zur nächsten Dialogbox wechseln, in der noch einmal der gewählte Treiberangezeigt wird.

4. Betätigen Sie zur Installation des angezeigten Treibers den Button 'Weiter'.Mit dem 'Beenden'-Button wird die Installation abgeschlossen.

Nachdem CANview das erste USB-Kommando empfangen hat (Initialisierungabgeschlossen), leuchtet die USB-LED statisch.

Page 116: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Diagnose

4-16 Schulungshandbuch 2 ecomatmobile Typ R 360

Virtuellen COM-Port festlegen

Das Installationsprogramm wählt für den Treiber automatisch den nächstenfreien COM-Port aus (z.B. COM 5). Möchte man diese Einstellung ändern, z.B.bei Konflikten mit anderen Programmen, kann man dies über den WindowsGeräte-Manager vornehmen:

1. Öffnen Sie hierzu über das Startmenü die 'Systemsteuerung' und darüberden 'Geräte-Manager'.

2. Wählen Sie im Zweig 'Anschlüsse (COM und LPT)' den Eintrag 'CAN-view- USB' mit einem Doppelklick.

3. Klicken Sie in der darauf erscheinenden Dialogbox auf den Reiter 'An-schlusseinstellungen'.

4. Wählen Sie den Button 'Erweitert...'. Es öffnet sich ein Fenster, in dem Sieu.a. den COM-Port neu festlegen können (z.B. COM3).

5. Bestätigen Sie die neue Einstellung mit 'Ok'. Im Geräte-Manager wird derneue COM-Port hinter dem Treibernamen angezeigt.

COM-Port

Bitte beachten: Wählen Sie keinen COM-Port, der bereits von einem anderenGerät genutzt wird. COM1 und COM2 sind in den meisten Computern durch dieHardware-Schnittstellen belegt.

Diese Einstellung muss gelegentlich bei der Arbeit mit dem Projekt angepasstwerden. Wird ein Notebook verwendet und wird es manchmal mit und manch-mal ohne Docking Station benutzt, dann ist damit zu rechnen, dass je nachdieser Hardware-Konfiguration, ein unterschiedlicher COM-Port verwendet wird.

Fehlermeldung Ist ein falscher COM-Port eingestellt, erhält man statt Abbildung 136 die fol-gende Fehlermeldung:

Abbildung 125: Fehlermeldung bei falschem COM-Port

Während die Konfiguration des COM-Ports in der Systemsteuerung des PCsstattfindet, ist der VCI-Treiber ein Bestandteil der gelieferten Software.

Page 117: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-17R

VCI-Treiber-installation undEinstellungen

1. Legen Sie die ifm CD 'Software, tools and documentation' ein. WählenSie nach dem Autostart der CD unter 'ecolog tools' 'CANview Configura-tor (E)' aus und starten Sie die Installation. Sollte die Autostartfunktion Ih-res CD-Laufwerkes nicht aktiviert sein, starten Sie den Windows Explorerund öffnen Sie die Dateistruktur der CD. Öffnen Sie 'CANview_cd' und dortdas Verzeichnis 'ifm_can_interface_configurator'. Starten Sie das Setup-Programm und folgenden Sie den Anweisungen. Nach der Installation be-findet sich im Startmenü der neue Eintrag "ifm electronic Software / VCIConfigurator".

2. Öffnen Sie das Programm und wählen Sie den Button 'Use ifm VCI Emula-tion', Abbildung 126.

3. Klicken Sie, je nach Gerät, auf einen Reiter, in diesem Falle 'CANviewUSB'.

4. Bestimmen Sie den von Ihnen festgelegten COM-Port (z.B. COM5). Wel-cher Port nutzbar ist, kann in der Systemsteuerung ermittelt werden (sieheoben).

5. Wählen Sie im Menü 'VCI Device ID' (Geräteidentifier) einen Eintrag, dermit der Angabe in Ihrer Zielsoftware (ecolog 100plus, CANmon oder Down-loader) übereinstimmt.

Mit Klick auf 'Write ini file' wird die Konfiguration gespeichert, Abbildung 127.

Abbildung 126: VCI Configurator Programmstart

Page 118: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Diagnose

4-18 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 127:VCI Configurator mit Einträgen

Es ist möglich zwischen dem CANview VCI-Treiber und einem ggf. installiertenVCI-Treiber einer anderen CAN-Schnittstelle umzuschalten. Diese Funktion er-möglicht eine gleichzeitige Treiberinstallation jedoch nicht den gleichzeitigenBetrieb der CAN-Schnittstellen.

CANviewbetreiben

Außer den genannten Einstellungen müssen in der verwendeten Zielsoftware(ecolog 100plus, CanMon, etc.) folgende Parameter eingestellt werden:

Kommunikation über CAN

CAN-Übertragungsrate (Voreinstellung 125 kBit/s)

CAN-Interface (Geräteidentifier) in Übereinstimmung mit dem VCI-Configu-rator.

Nach dem Starten der Kommunikation wird CANview mit den vorher festgeleg-ten Parametern initialisiert und ist für den Datenaustausch zwischen USB undCAN bereit.

Falls einmal mit dieser Version nicht mehr gearbeitet werden soll, dann muss,um eventuelle Konflikte durch den Zugriff anderer Programme zu vermeiden,deinstalliert werden.

Page 119: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-19R

Deinstallationdes USB-Treibers

1. Trennen Sie das USB-Verbindungskabel zwischen CANview und dem PC.

2. Öffnen Sie über das Startmenü die 'Systemsteuerung' und die Funktion'Software'.

3. Wählen sie den Eintrag 'ifm electronic USB Drivers' und klicken Sie an-schließend den Button 'Ändern/Entfernen'.

4. Klicken Sie nachfolgend auf 'Weiter' um die Deinstallation abzuschließenoder auf 'Abbruch' falls Sie den Vorgang abbrechen möchten.

Deinstallationder VCI-Software

Die Deinstallation erfolgt unter Menü 'Start' 'Einstellungen' 'Systemsteue-rung' 'Software' 'ifm VCI-Interface'.

Diagnose-LEDs Bei der Kommunikation über die CAN- und die USB-Schnittstelle zeigen dieLEDs folgende Funktionen an:

LED Zustand Bedeutung

CAN AUS

EIN

blinkend ca. 20 Hz (synchron mit ERROR)

Es werden keine Daten gesendet

CAN-Kommunikation aktiv

Fehler CAN

ERROR AUS

blinkend ca. 20 Hz

Normal-Mode (keine Fehler)

Fehler USB oder CAN

ON AUS

EIN

blinkend

Keine Versorgungsspannung

Normal-Mode

CANview wartet auf Initialisierung

durch PC-Treiber

USB AUS

EIN

blinkend ca. 20 Hz (synchron mit ERROR)

USB Kommunikation inaktiv

USB Kommunikation aktiv

Fehler USB-Schnittstelle

USB-LED Nachdem das erste USB-Kommando vom CANview empfangen wurde, leuchtetdie USB-LED statisch. Die Initialisierung über die PC-Schnittstelle dauert ca.3 s.

weitereHardware

Um das CANview praktisch einzusetzen, werden neben den auf Seite 4-3 ffbeschriebenen Hardware-Komponenten, siehe Abbildung 123, noch weiterebenötigt. Sie sind im folgenden aufgelistet.

CANview, EC2071 mit USB-Kabel (im Lieferumfang)

CAN-Kommunikationskabel, EC2034

Page 120: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Diagnose

4-20 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 128: CAN-Kommunikationskabel

was istCanMon?

CanMon ist ein Monitorprogramm von ifm electronic gmbh zur Überwachungdes CAN-Busses.

Die Funktionen im Überblick:

Unterstützt alle VCI-Karten und die PCI03-Karte, siehe www.ixxat.de

Speicherung und Zurückladen von aufgezeichneten CAN-Telegrammen

Speichern unter Die aufgezeichneten Can-Telegramme können in eine Datei geschrieben wer-den. Die Datei-Erweiterung heißt '.CAN'. Die Telegramme werden "pur", d.h.ohne Kommentierung usw. gespeichert.

Laden Die gespeicherten Telegramme werden zurückgelesen. Sie werden beim Lesengenauso behandelt, wie beim Monitoren auf der Can-Leitung. D.h., dass auchbeim Zurückladen beliebige Profile zur Anwendung kommen können.

Profil Wenn die Anzeige im Profil-Modus aktiviert ist, können bestimmte Telegrammefarbig und kommentiert angezeigt werden.

Profile werden im Menü 'Profile parameter' eingegeben.

Selbst erstellte Profile können abgespeichert werden.

CanMon merkt sich bei Programmende das zuletzt geladene Profil-File und lädtes automatisch bei Programmstart wieder neu.

Abbildung 129: CanMon Profil-Eigenschaften

Page 121: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-21R

Mit diesem Profileintrag werden alle Telegramme mit Identifier im Bereich 701 -77F (Hex) grün dargestellt. Der Kommentar besteht aus dem festen Teil 'Guar-ding node' und dem variablen Teil '[id - 1792]'.

Die Ausgabe wird dann für den Identifier 701 so aussehen: Guarding node 1

Man beachte, dass im Kommentar alle Werte dezimal eingegeben werdenmüssen, und auch dezimal angezeigt werden.

Für den Formel-Parser des variablen Kommentar-Anteils gelten folgende Be-dingungen:

Arithmetikzeichen: + - * / ( )

Funktionen: INT() liefert den vorzeichenbehafteten Integerwert des Argu-ments. Beispiel: INT(65535) ergibt -1

Alle Zahlenwerte müssen dezimal eingegeben werden und werden dezimalangezeigt.

Platzhalter für Identifier und Datenbytes: id d0 d1 d2 d3 d4 d5 d6 d7

Fliesskommaarithmetik erlaubt, dabei Anzeige mit 2 Nachkommastellen.

Negative Operanden in Klammern. Beispiel: (-5)

Verschiedene Anzeigen des Can-Datenstromes sind möglich.

Queue-Modus Die empfangenen Can-Telegramme werden nacheinander aufgelistet. Maximal30000 Telegramme können gespeichert werden. Ältere Telegramme werdenverworfen. Im Stop-Modus kann durch den Speicher gescrollt werden. Ein Zeit-stempel der Nachricht wird angezeigt.

Buffer-Modus Die empfangenen Can-Telegramme werden geordnet nach Identifiern ange-zeigt. Eine neue Nachricht überschreibt die Daten der früheren Nachricht, wennder Identifier identisch ist. Die Anzahl der Telegramme mit gleichem Identifierwird angezeigt.

Profil-Modus Entspricht dem Queue-Modus, jedoch zusätzlich mit farbiger und kommentierterDarstellung.

Je nach Anwendung können verschiedene Profile definiert werden.

Verschiedenen Identifier-Bereichen können Farben und Kommentare zugeord-net werden.

Der Datenstrom wird dadurch besser lesbar.

Trace-Modus Die Anzeige erfolgt grafisch, ähnlich dem eines 4-Kanal-Oszilloskops.

Buslast-Modus Die Anzeige erfolgt grafisch, ähnlich dem eines 4-Kanal-Oszilloskops.

Ausdruck von aufgezeichneten CAN-Telegrammen

Page 122: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Diagnose

4-22 Schulungshandbuch 2 ecomatmobile Typ R 360

Drucken deraktuellen Seite

Es werden die Telegramme gedruckt, die gerade im Queue-Fenster sichtbarsind.

Drucken alleraufgezeichneterNachrichten

Maximal 30000 (!) Zeilen werden gedruckt.

Optional kann auch in eine Datei "gedruckt" werden. Die .TXT-Datei kann dannweiterbearbeitet werden. TXT-Dateien können auch zurückgelesen werden.

Der Ausdruck selbst erfolgt entweder im Queue-Modus oder Profil-Modus, jenachdem welcher Modus gerade aktiviert ist.

Anzeige in Queue-Modus (30000 Telegramme)

Buffer-Modus (1000 Telegramme)

Trace-Modus (grafische, bis zu 4-kanalige Darstellung)oder

Buslast-Modus (grafische, bis zu 4-kanalige Darstellung)

Farbige und kommentierte Anzeige mittels editierbarem Profil

Feste Profile für CANopen- und 3S Protokolle. Weitere Profile sind möglich

Feste Profile Wird als Kommentar #<profilname> eingegeben, so werden fest hinterlegteProfile verwendet.

Beispiel: #COP Kommentierung gemäss des CANopen-Protokolls.

Beispiel: #3S Kommentierung des Download- und Debugprotokolls zwischen PC und Steuerung.

Beispiel: #CAN_COM Kommentierung gemäss des Protokolls für CR3100

Beispiel: #ASCII Kommentierung des Dateninhalts als ASCII-Zeichen

Beispiel: #J1939 Kommentierung gemäss des J1939-Protokolls

3S Protokolle Das Protokoll der Fa. 3S wird für die Kommunikation zwischen Steuerung undPC verwendet.

Weitere Profile können auf Anfrage implementiert werden.

Trigger-Modus auf bestimmten Identifier und / oder bestimmten Dateninhalt

Trigger Die Triggerfunktion erlaubt das Warten auf ein bestimmtes Can-Telegramm.Erst wenn dieses empfangen wird, wird die Aufzeichnung begonnen.

Abbildung 130: Trigger in CanMon

Page 123: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-23R

In diesem Beispiel lautet die Triggerbedingung: Der Identifier muss den Wert 0und die ersten 2 Datenbytes die Werte 01 bzw. 00 haben. (UND-Bedingung)

Es wurde hier also auf den Startbefehl des CANopen-Masters getriggert.

Nicht relevante Dateninhalte werden in der Triggermaske mit 'XX' gekennzeich-net.

Suchmöglichkeit nach bestimmtem Identifier und / oder bestimmtem Da-teninhalt

Suchen Die Such-Funktion erlaubt das Suchen nach bestimmten Can-Telegrammen ineiner bereits erfolgten Aufzeichnung.

Das gefundene Telegramm wird zuoberst in der Liste angezeigt.

Wiederholtes Suchen nach weiteren Telegrammen ist möglich. Die Startpositiondes Suchens ist immer zuoberst im aktuell angezeigten Queue-Ausschnitt.

Abbildung 131: Suchen in CanMon

In diesem Beispiel wurde nach dem Identifier 0 und den ersten beiden Daten-bytes 81 bzw. 02 gesucht.

Im CANopen-Sinne wurde also nach dem Reset des Knotens 2 gesucht.

Nicht relevante Dateninhalte werden in der Suchmaske mit 'XX' gekennzeich-net.

Einstellbarer Akzeptanzfilter

Akzeptanzfilterfür PCI03-Karte

Die Such-Funktion erlaubt das Suchen nach bestimmten Can-Telegrammen ineiner bereits erfolgten Aufzeichnung.

Abbildung 132: Akzeptanzfilter in CanMon 1

In diesem Beispiel werden alle Identifier empfangen.

Page 124: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Diagnose

4-24 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 133: Akzeptanzfilter in CanMon 2

In diesem Beispiel werden nur die Identifier 100 - 1FF empfangen.

Man beachte, dass die PCI03-Karte eine 8-Bit breite Akzeptanzfilterung besitzt.Die Filterung wirkt sich auf die Identifierbits 3 bis 11, also die 8 höherwertigenBits aus.

Die Maske arbeitet invers: Die relevanten Bits werden mit '0' markiert.

Mit Code = 0 und Maske = FF wird alles empfangen.

Senden von Telegrammen.

Speicherung der gesendeten Telegramme zur Wiederverwendung

Transmit Senden von Telegrammen

Gesendete Telegramme werden in eine Liste eingetragen und können wieder-verwendet werden.

Die Liste wird bei Programmende automatisch abgespeichert und beim Neu-start wieder geladen.

Einzelne Einträge können gelöscht werden. Es kann aber auch die ganze Listegelöscht werden.

Tastenfunktionen

Tasten-funktionen

F1 Hilfe

F2 Start

F3 Stop

F4 Löschen

F5 Laden

F6 Speichern

F7 Drucken der aktuellen Seite

F8 Alles drucken

F9 Trigger

F10 Suchen

F11 Senden

F12 Ende

Ändern der Queue-Anzeige über Cursor-Steuertasten.

Es ist zu sehen, dass CanMon ist ein wichtiges Hilfsmittel bei der Programmer-stellung, beim Debugging, bei der Fehlersuche und bei der Wartung ist.

Page 125: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-25R

Wenn es noch nicht von der CD installiert wurde, muss das jetzt nachgeholtwerden. Es werden nicht alle ausführlich beschriebenen Funktionen von Can-Mon beschrieben. Hier geht es um die Basisfunktionalität.

1. CanMon wird gestartet.

2. Im Menü Schnittstelle unter CAN Board Type die Einstellung des VCI Con-figurator, siehe Abbildung 127, auswählen. Die übrigen Einstellungen wer-den im Normalfall nicht geändert. Die Einstellung Standard unter Protocolbedeutet 11-Bit Identifier.

Abbildung 134: Menüpunkt Schnittstelle in CanMon

Abbildung 135: Konfiguration der Schnittstelle im CanMon

3. Aufzeichnung Starten mit Klick auf (Abbildung 136)

Page 126: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Diagnose

4-26 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 136: Aufzeichnung in CanMon

Die Abbildung 136 zeigt die Standardanzeige. Über 'Anzeige' 'Profil' lässt sicheine andere Darstellung wählen, siehe Abbildung 137. Im Anschluss an dieseAbbildung wird beschrieben, wie die angezeigten Informationen ausgewertetkönnen.

Page 127: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

Anze

Hexa

Zahl

1

2

3

4

6

5

7

4-27R

Abbildung 137: Anzeige Profil in CanMon

ige Im folgenden wird die Bedeutung der Anzeigen erläutert. Es gibt viele Optionen,die Art der Darstellung zu modifizieren. Wer häufig mit dem Programm arbeitet,wird die Darstellung so modifizieren, dass er die ihn interessierenden Informati-onen rasch und einfach übersehen kann. Es lohnt sich, sich schon im Vorfeldmit dem Programm vertraut zu machen. Damit wird dann die Fehlersuche be-schleunigt und vereinfacht.

dezimal Die Angaben hier sind alle im Hexadezimalsystem. Wer mit CAN-Systemenarbeitet, für den sind Kenntnisse über Zahlensysteme unerlässlich (natürlichsind sie auch noch in anderen Zusammenhängen nützlich). Darauf kann hiernicht weiter eingegangen werden. Informationen sind z. B. bei wikipedia zufinden.

ensystem Bei der Arbeit mit der Dokumentation zu den Komponenten eines CAN-Sys-tems ist sorgfältig darauf zu achten, welches Zahlensystem verwendet wird. Esgibt leider keine einheitliche Regelung dafür. Es kann z. B. vorkommen, dass inder Dokumentation ein Identifier dezimal angegeben wird. Er erscheint aberdann hier (aber nicht nur hier) als hexadezimale Zahl. Die Angabe der Zeiten inder ersten Spalte ist auch dezimal. Eine Zeitangabe in den Daten (Spalten 0-7)ist dagegen auch hexadezimal.

Weil es sich hier um ein CANopen-System handelt, sind die Identifier nicht ganzwillkürlich gewählt. Es ist ja der Vorteil von CANopen, dass es hier viel mehr

Page 128: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Diagnose

Spezifikationen gibt. Wenn die Zusammenhänge einmal verstanden wurden,dann lässt sich praktisch jedes System verstehen.

Schreibweise Im folgenden Text werden Hexadezimalzahlen durch ein tiefgestelltes H ge-kennzeichnet. Ziffern ohne Zusatzbezeichnung sind Dezimalzahlen. Es ist dannz. B.

10H = 16.Spalten Durch die Überschrift erklärt sich die Bedeutung praktisch von selbst.

Spalten Durch die Überschriften erklären sich die Bedeutungen praktisch von selbst.

Zeit

Die Zeiten beim Empfang der Frames werden in ms angegeben. Man erkennt z.B., dass die Zeitspanne zwischen zwei Sync-Objekten ca. 100 ms beträgt. Sowurde hier das System konfiguriert.

Id

Hier wird der Identifier angegeben. Die verschiedenen Werte werden untennoch weiter erläutert. Man erkennt z. B., dass das Sync-Objekt den Identifier 80hat. Die Bedeutung der Identifier kann z. B. dem Gerätehandbuch für dasCR2013 entnommen werden.

0-7

Hier finden sich die Daten. Ein CAN-Frame enthält ja 8 Bytes Daten, vgl. 2.3.

Kommentar

Diese Spalte ist eine große Hilfe bei der Übersicht der Frames.

Hier ist ein Sync-Objekt. Wozu es verwendet wird, das auf Seite 2-19 ff erläu-tert. Der Identifier ist immer 80, wovon man sich leicht überzeugt, wenn man die

1 weiteren, in regelmäßigen Abständen folgenden, Sync-Objekte betrachtet.

2 ist, wie daneben auch 3, 4 und 6 ein PDO (siehe Seite 2-16). Der Identifier201 ergibt sich aus 200H + Node Id. Der Wert 200 kann im Datenblatt des

2 CR2013 unter Rec (für received) PDO1 gefunden werden. Die Node Id desModuls wurde auf 1 gesetzt, siehe Abbildung 98. Der Inhalt des Frames in derSpalte 0, nämlich 03, hat folgende Bedeutung. Das Modul CR2013 hat maximal4 binäre Ausgänge. Sie sind beschriftet mit 2, 4, 6 und 8. Das hilft bei derHardwaredokumentation. Intern werden sie nach der in der Digitaltechnik übli-chen Zählweise (mit 0 beginnend) durchnummeriert. Der Zustand, der demersten Ausgang zugewiesen wird, steht im ersten Bit, der des zweiten im zwei-ten usw. Hier sind offenbar die ersten beiden Ausgänge auf TRUE gesetzt wor-den. Es ist ja 3 = 1 * 20 + 1 * 21.

Der Identifier setzt sich hier zusammen aus 280 + Node Id, siehe Datenblattdes CR2013 unter Trans (für transmitted) PDO2.

3

4-28 Schulungshandbuch 2 ecomatmobile Typ R 360

Page 129: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

Diese Objekte dienen zur Überwachung (Guarding) des Node. Z. B. inAbbildung 116 ist zu sehen, dass der Parameter GUARDTIME auf 1000 ms

4 5 gesetzt wurde. Der zeitliche Abstand, der in der ersten Spalte abgelesen wer-den kann entspricht etwa diesem Wert. Es ist zu erkennen, dass der Inhalt inSpalte 0 zwischen 05 und 85 toggelt. Damit wird sichergestellt, dass kein Guar-ding-Objekt verloren gegangen ist. Der Identifier 701 setzt sich wieder zusam-men aus 700 + Node Id, siehe Datenblatt des CR2013.

Diese Objekte haben die Identifier 180 + Node Id. Dieser gehört zu TransPDO1. Es ist zu erkennen, dass zuerst der zweite Eingang (2 = 1 * 21) und an-

6 schließend, kurze Zeit später, zusätzlich der erste Eingang seinen Zustand aufTRUE geändert hat (vgl. Punkt 2 oben). Die Defaulteigenschaft der binäre Ein-gänge ist zyklisch synchron (siehe Abbildung 94), damit auch jeder kurze Im-puls verarbeitet wird. Deshalb werden hier zwei Frames hintereinander gesen-det.

Das ist eine Fehlermeldung (Emergency) des Node 1. Oben, Seite 4-11, wurdeschon auf die blinkende LED am Ausgangskanal hingewiesen. Das Modul hat

7

4-29R

den Fehler "keine Last am Ausgang" erkannt. Es ist ja der Vorteil eines Bus-systems wie CAN, dass solche Fehler nicht mühsam gesucht sondern einfachzentral erfasst und, z. B. über eine Textmeldung an das Bedienungspersonalausgegeben werden können.

CanMon und Layer 2Das vorangehende Beispiel zeigt die Daten auf dem Bus bei der Kommunika-tion mit CANopen zwischen der Steuerung und einem I/O-Modul. Mit CANviewwerden aber alle Daten aufgezeichnet. Die Verwendung von CANopen ist nichtVoraussetzung. Als Beispiel wird gezeigt, welche Daten bei der Kommunikationzweier Steuerungen aufgezeichnet werden.

Zur Erinnerung, wenn CANview und CANmon einmal installiert und konfiguriertwurden (Seiten 4-16 ff), dann ist die Vorbereitung erst einmal abgeschlossen.Beim nächsten Einsatz von CANview muss das Gerät nur an CAN und an denPC angeschlossen werden.

Die Kommunikation zweier Steuerungen auf Layer 2 wurde auf den Seiten 3-6bis 3-16 und in 3.2 ausführlich beschrieben. Zum Reproduzieren der Anzeigevon Abbildung 138, sollte der Zustand, der z. B in Abbildung 109 dargestelltwurde, bestehen.

Entweder man springt direkt von Seite 3-57 hierher. Dann muss aber zu-nächst CANview vorbereitet werden, was auf den vorangehenden Seiten,speziell beim Thema VCI-Konfigurator, beschrieben wurde.

Oder man beschäftigt sich speziell mit dem Thema Diagnose. Dann solltees auch keine große Mühe bereiten, diesen Zustand herzustellen. Es wirddavon ausgegangen, dass die Hardware zu Verfügung steht. Zwei Steue-rungen sind wie in Abbildung 49 oder Abbildung 50 miteinander verbunden.Die Kommunikation wird, wie in Abbildung 95 ff gezeigt wurde, aktiviert.

Page 130: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Diagnose

4-30 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 138: Anzeige in CanMon 1

Hier wurden Frames aufgezeichnet, die

durch die Konfiguration ständig gesendet wurden (siehe z. B. Abbildung 98)und

durch den Taktgeber im Programm zusätzlich erzeugt wurden (siehe z. B.Abbildung 86 und Seite 3-52 ff).

In Abbildung 107 bis Abbildung 109 wurden Beispiele gezeigt, in denen Infor-mationen aus der Visualisierung ausgelesen wurden.

Abbildung 139: Kommunikation zweier Steuerungen 10

Page 131: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-31R

Abbildung 139 zeigt die Visualisierung zu dem Zustand, der in Abbildung 138dargestellt ist. Es ist eine gute Übung, zu versuchen, die jeweils entsprechen-den Daten in diesen beiden Abbildungen zu identifizieren.

4.3 Fehlerbehandlung

Fehler im SystemBei Netzwerken im mobilen oder industriellen Einsatz, ist eine zuverlässigeÜberwachung des Systems eine unbedingte Notwendigkeit. Daher gehören zujedem Bussystem, natürlich auch zu CAN, eine Reihe von Mechanismen, dieunter dem Begriff Fehlermanagement zusammengefasst werden (vgl. Seite 2-9).

Was sollpassieren?

Hier soll kurz diskutiert werden, welche Fehler auftreten und was getan werdenkann. Das Auftreten von Fehlern lässt sich ja nicht ausschließen. Es kommtentscheidend darauf an, dass der Fehler erkannt wird. Die Reaktion auf denFehler ist zum Teil festgelegt; zum Teil liegt es in der Verantwortung des Pro-jekteurs zu entscheiden, was die angemessene Reaktion ist.

Z. B. zieht sich ein Teilnehmer vom Bus zurück, Status Bus Off, wenn eine be-stimmte Anzahl von Fehlern erkannt wird. Das ist vom Projekteur nicht zu be-einflussen. Der Projekteur muss aber dann entscheiden, was geschehen soll.

Neustart

Das System ist erst nach einer neuen Initialisierung (z. Aus- und, nach einerkleinen Pause, Einschalten der Versorgungsspannung) im ursprünglichen Zu-stand, oder:

Rückkehr zum Normalzustand durch die Applikation.

Der Anwender muss z. B. entscheiden, was geschehen soll, wenn ein E/A-Mo-dul ausgefallen ist (siehe dazu auch Seite 4-5).

Stopp

Wenn dieser Ausfall zu gefährlichen Situationen führen kann, dann muss durchdas Programm der Steuerung dafür gesorgt werden, dass das System in einensicheren Zustand übergeht, dass z. B. die Ausgänge abgeschaltet werden, oder

eingeschränkte Funktion

Wenn bestimmte Prozesse noch sicher ablaufen können, auch wenn ein be-stimmtes Modul ausgefallen ist, dann können diese durch geeignete Maßnah-men im Anwendungsprogramm aktiv bleiben. Das wäre z. B. denkbar bei einemWerkzeugwechsel oder einem kurzzeitig extrem erhöhten Störpegel oder einemWackelkontakt...

Es kommt eben auf die Applikation an, ob in einem solchen Fall ein Stillstandder Anlage in Kauf genommen werden muss oder nicht.

Page 132: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Fehlerbehandlung

4-32 Schulungshandbuch 2 ecomatmobile Typ R 360

Was kannpassieren?

Jeder Anwender kennt Fehler, die ja auch bei der klassischen Parallelverdrah-tung zu einer Schützsteuerung oder einer elektronischen Steuerung gesche-hen. Sie unterscheiden sich dadurch, ob sie selten oder häufig auftreten. Hiersoll kurz eine andere Einteilung angesprochen werden

Hardwarefehler Diese treten in der Praxis am häufigsten auf. Hier kommen meist mechanischeUrsachen in Frage, z. B.:

- Ein Modul wird beschädigt, weil etwas darauf fällt

- Kabelbruch

- fehlender Abschlusswiderstand, etwa nach Arbeiten am Schaltschrank

Seltener treten Fehler der Komponenten auf, z. B. der Ausfall eines Kommuni-kationschips.

Vorteil

Es soll festgehalten werden dass darin einer der Vorteile bei der Verwendungeines Bussystems liegt. Bei der klassischen Verdrahtung lässt sich nicht ohneweiteres ein Unterschied zwischen Signalzustand 0 und Kabelbruch feststellen.

Übertragungs-fehler

Andererseits können hier auch Fehler auftreten, die es bei Parallelverdrahtungnicht gibt. Im Prinzip gehören auch die Hardwarefehler in diese Gruppe. Eskann nicht einfach unterschieden werden, ob z. B. die Kommunikation mit ei-nem E/A-Modul wegen Kabelbruch oder wegen eines hohen Störpegels unter-brochen ist. Solch ein hoher Störpegel, genauer gesagt über die Leitung einge-streute Störungen, wäre eine weitere Ursache für Übertragungsfehler.

Um solche Fehler zu erkennen, gibt es diverse Prüfbits und Prüfsummen. Dadiese Überprüfung aber im Hintergrund abläuft, muss sich der Anwender nichtmit allen Details beschäftigen, er kann sich darauf konzentrieren, Fehlerzu-stände auszuwerten und eine entsprechende Reaktion zu veranlassen.

FehlerdiagnoseDie Fehlerbehandlung soll jetzt an einem praktischen Beispiel beschriebenwerden. Dazu wird wieder der Aufbau von Abbildung 123 verwendet. Das Bei-spielprogramm, dessen Bausteine und Deklarationen von Abbildung 119 bisAbbildung 121 gezeigt wurden, soll wieder in die Steuerung geladen werden.Falls Sie zwischendurch nichts geändert haben, können Sie also sofort weiter-machen.

In Abbildung 116 wurde gezeigt, wie die Überwachungsparameter beim Node-guarding eingestellt werden. Im Beispiel wurde eine Guard Time von 1 s (1000ms) eingestellt. Der Life Time Faktor wurde auf 3 gesetzt. Das bedeutet z. B.,dass nach 3 s festgestellt wird, ob der Knoten ausgefallen ist.

Vergewissern Sie sich, dass in der Konfiguration des Moduls 'Optionales Ge-rät' aktiviert ist (siehe Seite 4-5).

Page 133: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-33R

Baustelle

Dieser Abschnitt ist noch in Arbeit.

4.4 Beispiel Modell Fräse

AufgabenstellungBei Schulungen der ifm electronic steht ein Funktionsmodell "Fräse" zur Verfü-gung. Ähnliche Modelle werden bei der einführenden Schulung verwendet, beider das Thema CAN noch nicht ausführlich behandelt wird (siehe Schulungs-handbuch 1). Die dabei verwendeten Modelle, Bohrmaschine mit Schieber, Ro-boter, sind parallel verdrahtet.

Wenn diese Unterlagen zum Selbststudium verwendet werden, dann kann die-ser Abschnitt übersprungen werden. Es geht dann weiter auf Seite 5-1. Es kannaber auch von Interesse sein, einige Schritte als Beispiel für die Einbindungzweier Module nachzuvollziehen, sozusagen als "Trockenübung".

Abbildung 140: Modell Fräse

Page 134: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Beispiel Modell Fräse

4-34 Schulungshandbuch 2 ecomatmobile Typ R 360

Die Fräse ist nicht parallel verdrahtet. Die Eingänge und Ausgänge der Fräsesind über CAN-Module CR2013 mit der Steuerung verbunden. Mit der Fräsewird also erst im Zusammenhang mit CAN gearbeitet.

Der Ablauf ist ganz ähnlich wie beim Bohrer.

Förderband Das Werkstück wird von einem Förderband antransportiert.

Fräse Wenn das Werkstück in der Bearbeitungsposition angekommen ist, wird dasBand gestoppt. Der Antrieb des Werkzeugs wird gestartet. Der Fräskopf fährtabwärts. Das Werkstück wird (symbolisch) gefräst. Nach 3s fährt der Fräskopfwieder aufwärts.

Werkzeug-wechsel

Der wesentliche Unterschied zum Bohrer besteht darin, dass nach der Bear-beitung mit dem ersten Werkzeug, nachdem der Fräskopf wieder hochgefahrenist, das Werkstück noch nicht weitertransportiert wird. Der Antrieb der Fräsewird gestoppt. Dann wird der Antrieb des Werkzeugwechsels gestartet. DerPositionsschalter meldet, dass das nächste Werkzeug in Position ist. Dann wirdmit diesem noch ein Bearbeitungsgang gestartet, ebenso mit dem dritten Werk-zeug.

Förderband Dann läuft das Band wieder an und transportiert das Werkstück weiter zu einerRutsche. Schließlich meldet die Lichtschranke am Ende des Förderbandes derFräse, dass die Bearbeitung abgeschlossen ist und das Werkstück entnommenwerden kann.

ProgrammstrukturIn diesem Handbuch ist CAN das Thema (vgl. Seite 1-3). Es werden daher hiernur einige kurze Hinweise zur Programmierung gegeben. Im Schulungshand-buch 1 finden sich ausführlichere Beschreibungen.

Sprache FUP Auch hier werden die Beispiele in der Sprache FUP vorgestellt.

PLC_PRG

Im Hauptprogramm sollen zur besseren Übersicht nur einige Initialisierungen (z.B. das Relais) editiert werden. Ansonsten werden vom Hauptprogramm Bau-steine aufgerufen, die (evtl. mit weitern Unterbausteinen, den Ablauf im Detailsteuern.

Förderband

Das Förderband startet zweimal und stoppt zweimal. Es ist in FUP eine un-übersichtliche Struktur, wenn folgende Bausteine verwendet werden:

Baustein Band (Antransport)

Baustein Fräsen

Baustein Band (Abtransport)

Ein solcher Aufbau wäre in AS angemessen. In FUP genügt eine einfache logi-sche ODER-Verknüpfung, um das Band zweimal zu starten, bzw. zu stoppen.Dann genügt auch ein einziger Baustein für das Band.

Page 135: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-35R

Kommunikation Es empfiehlt sich auch, vgl. Seite 4-10, die Bausteine, mit denen die Kommuni-kation gesteuert wird, separat zu definieren. In den Bausteinen, mit denen derAblauf gesteuert wird, braucht man ja z. B. den Eingangsvariablen gar nichtanzusehen, ob die Information über ihren Zustand von einem physikalischenEingang der Steuerung oder über den CAN-Bus als Netzwerkvariable von ei-nem Modul kommt. Entsprechend verhält es sich mit den Ausgängen.

Zeitverhalten Der einzige Unterschied besteht darin, dass für das Zeitverhalten der physikali-schen Ein- und Ausgänge der Steuerung die Zykluszeit maßgebend ist. Für dieNetzwerkvariablen ist das die SYNC-Zeit. Bei zeitkritischen Vorgängen mussalso ggf. die SYNC-Zeit reduziert werden.

AdressierungHardware Als Hardware wird verwendet:

CR0020 als Steuerung (wie bei den anderen Modellen)

CR2013 Zwei Module nehmen die Signale der Sensoren an und schalten die Antriebe.

Von der Steuerung wird kein Ausgang oder Eingang verwendet, es sei denn,der Starttaster soll eingebunden werden.

Starttaster Dieser ist ein kapazitiver Sensor und hat die physikalische Adresse '%IX0.7'.Die anderen Sensoren und Ausgänge sind an die Module angeschlossen.

Modul 1 Bezeichnung Kanal

Eingänge(Sensoren)

Werkstück am Bandende 1

Werkstück in Fräsposition 3

Fräskopf unten 5

Fräskopf oben 7

Ausgänge(Antriebe)

Fräskopf abwärts fahren 2

Fräskopf aufwärts fahren 4

Werkzeug wechseln (nach links drehen) 6

Werkzeug wechseln (nach rechts drehen) 8

Page 136: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Beispiel Modell Fräse

4-36 Schulungshandbuch 2 ecomatmobile Typ R 360

Modul 2 Bezeichnung Kanal

Eingänge(Sensoren)

Werkzeug in Arbeitsposition 1

Ausgänge(Antriebe)

Werkzeug Antrieb 2

Förderband Fräse 4

KonfigurationWiederholung Die Hardware ist praktisch die gleiche wie in Kapitel 4.1. Damit wird auch

wieder deutlich, dass es genügt, sich einmal um eine komplette Konfigurationzu bemühen. Es scheint vielleicht zu Beginn alles sehr komplex zu sein, aberes zeigt sich wie hier, dass sich vieles wiederholt.

Eine Möglichkeit wäre jetzt, das Projekt von 4.1 als Vorlage zu nehmen und andie neue Anwendung anzupassen. Es ist aber auch eine gute Übung, einfachein neues Projekt anzulegen. Das wird hier nicht mehr Schritt für Schrittbeschrieben (das ist hoffentlich nicht mehr nötig!). Im Folgenden werdenhauptsächlich die Unterschiede angesprochen.

Die Steuerungskonfiguration ( Abbildung 112), speziell die Konfiguration desMasters ( Abbildung 113), kann genauso vorgenommen werden. Evtl. kanndie 'Com. Cycle Period' etwas kürzer eingestellt werden.

Der wesentliche Unterschied besteht darin, dass jetzt zwei Moduleeingebunden werden.

Abbildung 141: Konfiguration für 2 Module

Page 137: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-37R

Die Einstellungen können wieder von Abbildung 116 übernommen werden. Esist nur zu beachten, dass das erste Modul die 'Node ID' 1 bekommt und daszweite die 2. Entsprechend werden die binary outputs als BOs_1 bzw. BOs_2deklariert ( Abbildung 119). Ebenso wird mit den binary inputs verfahren. Ummit den binären Variablen arbeiten zu können, werden wieder derFunktionsblock PACK bzw. die Funktion UNPACK eingesetzt. Damit kann alles,was hier mit der Kommunikation über CAN zusammenhängt in einemFunktionsbaustein zusammengefasst werden. Er erhält z. B. den NamenPack_Unpack. Die Zuordnung kann den Tabellen auf Seite 4-35 entnommenwerden.

Die Abbildung 142 zeigt einen Ausschnitt ( auch Abbildung 120).

Abbildung 142: Baustein Pack_Unpack

Die Variablen wurden global deklariert, damit sie im gesamten Projekt bekanntsind. Die Namen sind natürlich auch Beispiele.

Abbildung 143: Deklarationen

Zusätzlich zu den Eingängen und Ausgängen der Module wurden auch Merkerdeklariert, die bei der Steuerung des Ablaufs gute Dienste leisten.

Page 138: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Beispiel Modell Fräse

4-38 Schulungshandbuch 2 ecomatmobile Typ R 360

WerkBandEnd

Die Negation (Invertierung) in Abbildung 142 hat den Hintergrund, dass bei derLichtschranke im Modell eine Hellschaltung (Zustand TRUE, wenn kein Objektim Strahlengang) verwendet wurde. Die Bedingung "Werkstück befindet sicham Ende des Förderbands" ist also dann erfüllt, wenn das Bit den ZustandFALSE hat. Das erleichtert es, die Bedingung im Programm zu verqwenden.

Diese Variablen können nun, wie gesagt, in den Bausteinen zur Steuerung desAblaufs verwendet werden. Damit wird noch einmal deutlich, dass bei derErstellung des Projekts zwei Teile unterschieden werden können. Alles, was dieKommunikation betrifft, wird im Baustein Pack_Unpack erledigt (und in derSteuerungskonfiguration). Für die restlichen Programmbausteine spielt es keineRolle, ob es sich um physikalische Ein/Ausgänge der Steuerung oder derModule handelt.

ProgrammWie im Schulungshandbuch 1 wird hier keine Musterlösung gezeigt. Es gibt jaauch nicht eine einzige und beste Lösung. Hier wurde oben noch einmal kurzauf einige Punkte eingegangen, die im Zusammenhang mit CAN von Bedeu-tung sind. Es musste auch gar nicht mehr jeder einzelne Schritt beschriebenwerden, weil der Aufbau eines CAN-Netzwerks mit Steuerung und Modul schonauf den Seiten 4-3 ff ausführlich gezeigt wurde. Hier kommt lediglich einweiteres Modul dazu. Das Hauptprogramm sieht z. B. so aus:

Abbildung 144: Bespiel PLC_PRG für Fräse

Page 139: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

CAN Praxis II CANopen

4-39R

Relais

Da in diesem Beispiel kein physikalischer Ausgang der Steuerung verwendetwird, ist es eigentlich nicht erforderlich, das Relais einzubinden. Dieser Fall wirdaber in der Praxis eher selten vorkommen. Man vermeidet es, das Relais zuvergessen, wenn man es sich zur Gewohnheit macht, es in jedem Falleinzuschalten, wenn es vorhanden ist.

Die Umsetzung der Hinweise zur Programmstrukturauf Seite 4-34 wird demLeser überlassen.

Ein Beispiel dazu soll genügen. Es illustriert den Hinweis auf Seite 4-34 zumFörderband:

Abbildung 145: Beispiel Förderband

Das Vorgehen bei einer übersichtlichen Strukturierung des Programms wurdeim Schulungshandbuch 1 ausführlich beschrieben. Hier wird jetzt nicht weiterdarauf eingegangen.

Zum Abschluss soll noch ein Blick auf den Aufrufbaum erfolgen. Es wirdzunächst überraschen, dass er viel komplexer aussieht als vielleicht erwartetwurde.

Page 140: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Beispiel Modell Fräse

4-40 Schulungshandbuch 2 ecomatmobile Typ R 360

CANOPENWRITEMSG_FB CAN_WRITE

SYSCALLBACKREGISTER

CAN_SETPOINTERTABLE

CANOPENNODE.NODERESET CANOPENWRITEMSG_FB CAN_WRIT

TON

CANOPENSENDSDO CANOPENWRITE

MGRFINDRECME

CANOPENSEND

CANOPENSEND

CANOPENNODE.SETNODESTATUS

CANOPENPDO_RX MGRFINDNEWESTRECMESSAGE

IECBYTECMP

IECBYTECOPY

PACK_UNPACK UNPACK

PACK

BANDFRAES

FRAESE R_TRIG

FRAESKOPF TON

Abbildung 146: Aufrufbaum bei CAN

Die Abbildung 146 zeigt nur einen kleinen Ausschnitt. Der Aufrufbaum ist nochviel umfangreicher. Hier lässt sich erkennen, dass die gesamte Kommunikationüber CAN im Hintergrund abläuft. Bei der eigentlichen Anwendung ist davonnichts zu sehen. Das würde ja auch nur verwirren. Der Anwender möchte sichauf seine Applikation konzentrieren und sicht nicht unbedingt in die Theorie vonCAN in aller Ausführlichkeit vertiefen. Deshalb wird hier dieser Aufrufbaum auchnicht genauer erklärt.

Page 141: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

5-1R

5 Übersicht LED-AnzeigenIn diesem Kapitel soll kurz die Bedeutung der LED-Anzeigen bei verschiedenenKnoten eines CAN-Netzwerks zusammengefasst werden. Damit soll die War-tung von CAN-Systemen erleichtert werden.

5.1 SteuerungCR0020 Dieser Typ wird als Beispiel vorgestellt. Bei anderen Typen stimmt das Verhal-

ten der LEDs weitgehend überein. Bei Vorversionen gibt es kleine Unter-schiede, die aber nicht irritieren sollten.

Betriebs-zustände

Nach Anlegen der Versorgungsspannung kann sich das Steuerungsmodul ineinem von fünf möglichen Betriebszuständen befinden:

Reset Dieser Zustand wird nach jedem Power-On-Reset durchlaufen. Das Betriebs-system wird initialisiert. Verschiedene Checks werden durchgeführt. Dieser nurtemporäre Zustand wird vom Run-Zustand abgelöst.

Die LED leuchtet kurzzeitig orange.

(rot vor Betriebssystem CRXXXX_G)

Run Dieser Zustand wird erreicht:

Aus dem Reset-Zustand (Autostart)

Aus dem Stop-Zustand durch das Run-Kommando

(Voraussetzung: Test-Betrieb)

Die LED blinkt grün oder blinkt rot (RUN mit Fehler).

Stop Dieser Zustand wird erreicht:

Aus dem Reset-Zustand, wenn kein Programm geladen ist.

Aus dem Run-Zustand, indem über die Schnittstelle das Stop-Kommandogegeben wird.

Voraussetzung: Test-Betrieb

Die LED leuchtet konstant grün oder rot (Stop mit Fehler).

Fatal Error In diesen Zustand fällt die Steuerung, wenn ein nicht tolerierbarer Fehler fest-gestellt wurde. Dieser Zustand kann nur durch einen Reset verlassen werden.

Die LED leuchtet rot.

(ist AUS vor Betriebssystem CRXXXX_G)

Page 142: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Steuerung

5-2 Schulungshandbuch 2 ecomatmobile Typ R 360

KeinBetriebssystem

Es wurde kein Betriebssystem geladen, die Steuerung befindet sich im Bootla-der. Vor dem Laden der Applikationssoftware muss ein Betriebssystemdown-load durchgeführt werden.

Die LED blinkt grün (schnell).

Diese Betriebszustände werden also durch die integrierte Status-LED ange-zeigt.

LED-Farbe Blinkfrequenz Beschreibung

LED aus konstant aus Fatal Error, keine Betriebsspannung

5 Hz Kein Betriebssystem geladen

0,5 Hz Run, CANopen: PREOPERATIONAL

2,0 Hz Run, CANopen: OPERATIONAL

grün

konstant ein Stop, CANopen: PREPARED

0,5 Hz Run m. Fehler (CANopen: PREOPERATIONAL)

2,0 Hz Run m. Fehler (CANopen: OPERATIONAL)rot

konstant ein Reset-Checks oder Stop mit Fehler

Orange kurzzeitig ein Initialisierung oder Reset Checks

Die Betriebszustände STOP und RUN können vom Programmiersystem geän-dert werden.

Beim ClassicController bzw. ExtendedController kann die Status-LED auchdurch das Anwenderprogramm gesetzt werden. Dazu kann den Systemvariab-len LED (LED-Farbe Puls) und LED_X (LED-Farbe Pause) aus der Daten-struktur LED_COLOR (LED-Farbe) eine Farbkonstante zugewiesen werden.Der Systemvariablen LED_MODE muss zusätzlich eine Blinkfrequenz aus derDatenstruktur LED_MODES zugewiesen werden.

Zulässige Farben:

LED_GREEN, LED_BLUE, LED_RED, LED_WHITE,

LED_MAGENTA, LED_CYAN, LED_YELLOW

LED_BLACK (LED aus)

Zulässige Blinkmodi:

LED_2HZ, LED_1HZ, LED_05HZ, LED_0HZ (Frequenz 0 Hz)

Fehler

Im Fehlerfall wird die LED-Farbe ROT durch das Betriebssystem gesetzt. Dahersollte diese Farbe nicht durch die Applikation genutzt werden.

Beim SmartController, CabinetController und bei der Steuerung CS0015 kannnur die Blinkfrequenz (LED_MODES) der Status-LED durch das Anwenderpro-gramm verändert werden.

Werden die Farben und Blinkmodi durch das Anwenderprogramm geändert, giltdie obige Tabelle nicht mehr.

Page 143: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Übersicht LED-Anzeigen

5-3R

5.2 E/A-Module

CR2013Betriebsanzeigen

LED-Farbe Zustand Beschreibung

AUS keine Versorgungsspannung

Modul im Stand by-Modus

EIN CANopen-Status: PREOPERATIONAL / PREPARED

Ausgänge = AUS; Eingangszustände werden nicht übertragen

blinkend Modul aktiv

2 Hz CANopen-Status: OPERATIONAL

grün

Ausgänge werden aktualisiert, Eingangszustände übertragen

AUS Kommunikation ok

Kommunikation gestört

EIN - NodeGuard-Fehler (wenn NodeGuarding aktiviert ist)

rot

- keine Synch-Objekte (wenn Synch-Überwachung aktiviert ist)

- CANopen-Schnittstelle defekt

gelb IN EIN Eingang ist EIN

Binärer Ausgang: Ausgang ist angesteuert / EINEIN

Analoger Ausgang: PWM-Sollwert ist größer 1%

gelb OUT Ausgangstreiber signalisiert Fehler:

blinkend - Kurzschluss / Überlast / keine Last (im Grenzfall Laststrom <900mA)

1 Hz - Übertemperatur / Unterspannung / Überspannung

Die LED-Funktion kann gesperrt werden (siehe OBV, Index 2002)

Page 144: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Spezielle Module

5-4 Schulungshandbuch 2 ecomatmobile Typ R 360

5.3 Spezielle Module

CR2101 (Neigungssensor 2 Achsen)

LED-Farbe Zustand Beschreibung

AUS keine Versorgungsspannung

Sensor im Stand by-Modus

EIN CANopen-Status: PREOPERATIONAL / PREPARED

Winkelwerte werden nicht übertragen

blinkend Sensor aktiv

2 Hz CANopen-Status: OPERATIONAL

grün

Winkelwerte werden übertragen

AUS Kommunikation ok

Kommunikation gestört

Winkelwerte werden nicht übertragenrotEIN

- NodeGuard-Fehler (wenn NodeGuarding aktiviert ist)

- keine Sync-Objekte (wenn Sync-Überwachung aktiviert ist)

Page 145: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

6-1R

6 Anhang

6.1 GlossarACK Acknowledgement

Quittierung eines empfangenen Frames

CAN_L bus line dominant low

CAN_H bus line dominant high

COB Communication Object

CRC Cyclic Redundadancy Check

Mechanismus zur Fehlererkennung mittels Prüfbits

DCF Device Description File

EDS Electronic Data Sheet (→ DCF)

EMCY Emergency Objects (gehören zu Special Function Objects)

ID Identifier Base-ID 11 Bit StandardCAN (Version 2.0A)

ID-Extension 18 Bit ExtendedCAN (Version 2.0B)

ISO International Standards Organisation

NMT Network Management Objects

Initialisierung, Fehlerüberwachung und Kontrolle des Zustands vonTeilnehmern

NRZ Non Return to Zero

Codierung zur Fehlererkennung (Bit-stuffing)

PDO Process Data Objects

enthalten die eigentlichen Nutzdaten

OSI Open Systems Interconnection

RTR Remote Transmission Request (→ SRR)

Anforderung einer Sendung (enthält keine Daten)

SDO Service Data Objects

vermitteln Lese- und Schreibzugriffe

SRR Substitute Remote Request

SRR Bit entspricht RTR Bit bei Extended ID

SYNC Synchronisierung (gehören zu Special Function Objects)

TSO Time Stamp Objects (gehören zu Special Function Objects)

Page 146: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Grundbegriffe und Konzepte von CoDeSys

6-2 Schulungshandbuch 2 ecomatmobile Typ R 360

6.2 Grundbegriffe und Konzepte vonCoDeSys

Was istCoDeSys?

CoDeSys ist eine komplette Entwicklungsumgebung für Ihre Steuerung derFamilie ecomat mobile.

CoDeSys ist ein einfach zu beherrschendes Werkzeug zur Erstellung von Steu-erungsprogrammen nach IEC-61131-3.

Was ist IEC-61131-3?

IEC-61131-3 ist ein internationaler Standard für die Erstellung von Steuerungs-programmen. Hierbei ist es wichtig zu wissen, dass ausschließlich die Pro-grammiersprache standardisiert wurde, nicht die Programmieroberfläche(Fensteraufbau, Darstellung von Werten im Online-Betrieb, Datenspeicherungusw.). Die Programmiersprachen von CoDeSys entsprechen diesem Standard.

Was ist einProjekt?

In CoDeSys ist ein Projekt die Zusammenfassung von Komponenten. DieseKomponenten lösen eine gegebene Steuerungsaufgabe (z.B. Ablaufsteuerungeines Gerätes, Signalvorverarbeitung für einen Anlagenteil, ...).

Welche Haupt-komponentenenthält einCoDeSysProjekt?

Die Hauptkomponenten eines CoDeSys Projektes sind:

Bausteine (ausführbares Programm)

Strukturen (Daten-Organisation)

Visualisierungen

Konfigurationen (Steuerungskonfiguration, CAN-Parameter)

Welche Pro-grammier-sprachen sindverfügbar?

CoDeSys unterstützt die Programmiersprachen:

KOP (Kontaktplan)

AWL (Anweisungsliste)

FUP (Funktionsplan)

AS (Ablaufsprache )

ST (strukturierter Text)

CFC (freigraphischer Funktionsplaneditor)

Wie wird einProjektdefiniert?

Die Definition eines Projektes umfasst:

Die Hardwarekonfiguration

- Ein-/Ausgangsfestlegungen, CAN-Parameter

Die Erstellung der Komponenten

- Bausteine

- Strukturen

- Visualisierungen

Wie teste ichmein Projekt?

Der wahre Test eines Projektes ist sicherlich nur die Inbetriebnahme der ei-gentlichen Anlage. Andererseits hat sich der Simulationsmodus von CoDeSysals eine sehr wertvolle Möglichkeit der Programm-Überprüfung herausgestellt.

Page 147: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Anhang

6-3R

Was ist der Si-mulations-modus?

Der Simulationsmodus bildet den Programmablauf der Steuerung im PC nach(Simulation). Mit einer derartigen Überprüfungsmöglichkeit ohne Steuerungs-system und ohne Anlage können Fehler bereits im Büro "ausgebügelt" werden.Dies spart Zeit und Nerven. Dieser Effekt kann noch gesteigert werden, wenndie simulierte Anlage durch entsprechende Visualisierungsbilder dargestelltwird.

Die Nutzung der Simulation in Verbindung mit den vielseitigen Debug-Funktio-nen (Fehlersuche - Funktionen) in CoDeSys erlaubt es Ihnen, einen komplettenProgrammtest einfach und effizient durchzuführen.

Welche Debug-Funktionen hatCoDeSys?

Die in CoDeSys realisierten Debug-Funktionen sind:

Forcen (schreiben) von E/As und Variablen

Definition von Watch-Fenstern zur Datendarstellung

Setzen von Breakpoints im Simulationsmodus (Stoppen des Pro-grammablaufes)

Abarbeitung von Programmen

- als Einzelzyklus

- von Breakpoint zu Breakpoint im Simulationsmodus

Sampling Trace (Diagramm von Variablen als Funktion der Zeit)

Und die Doku-mentation?

Das gesamte Projekt kann zu jedem Zeitpunkt komplett oder auch teilweisedokumentiert oder auch in eine Textdatei exportiert werden.

Quintessenz Diese Übersicht zeigt, dass CoDeSys als komplette Entwicklungsumgebung fürIhre ecomat mobile Steuerung sogar über die Funktionalitäten einer herkömmli-chen Programmieroberfläche hinausgeht.

Page 148: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kurzanleitung CoDeSys

6-4 Schulungshandbuch 2 ecomatmobile Typ R 360

6.3 Kurzanleitung CoDeSys

Wozu?Hier sollen kurz und knapp die wesentlichen Schritte bei der Arbeit an einemProjekt (Programm) beschrieben werden, speziell für Anwender, die:

Erfahrung in SPS-Programmierung haben, aber CoDeSys noch nicht ken-nen oder die

vor einiger Zeit mit CoDeSys gearbeitet haben und ihre Kenntnisse auffri-schen wollen.

Ausführlichere Beschreibungen und Erläuterungen sind im Schulungshandbuch1 "Einführung..." zu finden.

beispielhaft Damit soll nicht gesagt werden, dass die im folgenden beschriebene Vorge-hensweise besonders vorbildlich ist. Es soll nur kurz darauf hingewiesen wer-den, dass es bei vielen Schritten mehrere Alternativen gibt. Die folgende Be-schreibung ist also als Beispiel dafür zu sehen, wie häufig vorgegangen wird.Umfassende Übersichten dazu sind im Programmier- und Gerätehandbuch zufinden, siehe Seite 1-4.

Installation

Zwei Hinweise zur Erinnerung:

Es erleichtert den Austausch von Projekten, die auf verschiedenen Rech-nern erstellt wurden, wenn die Default-Einstellungen, speziell die Verzeich-nispfade, übernommen werden

Neben dem Programmpaket CoDeSys sollte auf jeden Fall noch derDownloader installiert werden.

Start Es wird vorausgesetzt, dass CoDeSys installiert ist. Durch Klick auf das Iconwird es gestartet.

Page 149: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Anhang

6-5R

Abbildung 114: Abbildung 147: Programmstart

Der erste Schritt ist normalerweise::

Öffnen eines existierenden (oder Start eines neuen) Projektes

graue Menüs

Wenn kein Projekt geöffnet ist, sind die meisten Menüpunkte zunächst nochnicht aktiv, was an der grauen Darstellung zu erkennen ist. Um sie zu aktivie-ren, muss zuerst ein Projekt geöffnet werden. Das geschieht über den Menü-punkt 'Datei' 'Neu' oder den entsprechenden Button (eine Übersicht zu denButtons ist weiter unten zu finden).

Voreingestellt ist die Option, beim Programmstart das zuletzt bearbeitete Pro-jekt zu öffnen. Das lässt sich unter 'Projekt' 'Optionen' 'Laden & Speichern'ändern, falls gewünscht.

Page 150: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kurzanleitung CoDeSys

6-6 Schulungshandbuch 2 ecomatmobile Typ R 360

KonfigurationenVorlage

Die folgenden umfangreichen Voreinstellungen müssen nur ein Mal vorgenom-men werden, wenn immer mit der selben Hardwarekonfiguration gearbeitetwird. Dann lohnt es sich, ein leeres Projekt als Vorlage anzulegen, in dem alleEinstellungen schon vorgenommen sind. Mit 'Speichern unter...' erhält mandaraus ein Projekt, in dem sofort, ohne weitere Vorbereitung, gearbeitet werdenkann. Alternativ lässt sich auch ein bestehendes Projekt über 'Datei' 'Neu ausVorlage...' direkt unter dem Namen 'Unbenannt' öffnen. Wenn die Konfigura-tion stimmt, dann muss nur das eigentliche Programm modifiziert werden.

Wenn ein solches Projekt schon zur Verfügung steht (oder wenn mit dem Star-terset gearbeitet wird, lassen sich die folgenden Schritte überspringen.

Start einesneuenProjektes

Um ein neues Projekt zu starten, wählen Sie bitte die den Menüpunkt 'Datei''Neu' oder klicken alternativ auf den Button .

In der obersten Zeile steht dann: 'CoDeSys - (Unbenannt)*'

Der Name kann beim Speichern vergeben werden.

Nach dem Öffnen eines neuen Projekts öffnen sich automatisch zwei Fenster.

Zielsystem Zuerst wird das Zielsystem festgelegt. Hier wird der Gerätetyp ausgewählt, mitdem gearbeitet werden soll.

Abbildung 148: Zielsystem Controller

Als Beispiel wird CR0020 gewählt.

nicht gefunden Was ist zu tun, wenn die Artikelnummer nicht im Auswahlfenster erscheint?

Das wird nur bei neuer Hardware vorkommen. Dann wird die entsprechendeDatei von der ifm electronic angefordert oder aus dem Internet geladen undnachinstalliert.

Targetnachinstallieren

Die Konfigurationsdateien müssen mit dem eigenständigen Programm 'Install-Target.exe' ( im Programmpaket CoDeSys enthalten) nachinstalliert werden.Einfaches Kopieren genügt nicht.

PLC_PRG Dann wird der Baustein PLC_PRG eingefügt.

Es öffnet sich automatisch das Fenster: 'Projekt' 'Objekt' 'Einfügen...' mit demvorgegebenen Namen.

Page 151: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Anhang

6-7R

Abbildung 149: PLC_PRG

Namen

Es soll noch einmal ausdrücklich darauf hingewiesen werden:

Der Name dieses Bausteins darf nicht geändert werden!

Objekt einfügen

Zur besseren Übersicht sollte nicht alles in PLC_PRG programmiert werden.Man sollte sich daher angewöhnen, hier ein neues Objekt, einen neuen Pro-grammbaustein einzufügen. Dieser wird dann in PLC_PRG eingefügt. Dortkönnen natürlich auch allgemeine Netzwerke stehen, z. B. das Setzen des RE-LAIS.

Verzeichnisse Nun wird der Suchpfad für die Konfiguration eingetragen.

Das geschieht über die Menüpunkte: 'Projekt' 'Optionen' 'Verzeichnisse' inder Zeile 'Konfigurationsdateien' im Bereich 'Projekt'.

Abbildung 150: Verzeichnisse einstellen

Hier wurde sich wieder auf das Beispiel CR0020 bezogen.

Bibliotheken Nun wird der Suchpfad für die Konfiguration eingetragen.

Über den Menüpunkt 'Fenster' 'Bibliotheksverwaltung' oder über den Reiter'Ressourcen' wird ein Fenster geöffnet, in dem links oben Standardeinträge zusehen sind.

Über 'Einfügen' 'Weitere Bibliothek' können zusätzliche Einträge vorgenom-men werden.

Abbildung 151: Bibliotheksverwalter

Abbildung 151 zeigt die eingefügte hardwarespezifische Bibliothek'ifm_CR0020VXXXXXX.lib'.

Version

Dabei ist zu beachten, dass die Versionsnummern aller Konfigurationsdateienund z. B. auch des Betriebssystems übereinstimmen.

Page 152: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kurzanleitung CoDeSys

6-8 Schulungshandbuch 2 ecomatmobile Typ R 360

Steuerungs-konfiguration

Sie klicken auf den Reiter 'Ressourcen' der Navigationsleiste links unten unddoppelklicken dort auf 'Steuerungskonfiguration'. Das entsprechende Fensterist zunächst noch leer. Es zeigt lediglich an '_not_found_'.

Pfad

Damit der nächste Schritt zum Erfolg führt, ist es unbedingt notwendig, dass inder Option 'Verzeichnisse' der Pfad zu den Konfigurationsdateien eingetragenwurde, siehe Abbildung 150.

Dann wird das Menu 'Extras' geöffnet und dort 'Standardkonfiguration' ange-klickt

Die Rückfrage wird mit beantwortet. Die Anzeige sollte sich dann än-dern:

Abbildung 152: Steuerungskonfiguration

Wenn nicht mit CAN gearbeitet wird, dann sind die Vorbereitungen abgeschlos-sen und die Arbeit kann beginnen!

Da eigentlich schon Erfahrungen vorausgesetzt wurden, wurden diese Schrittenur kurz zusammengefasst. Die nächsten Schritte bei der Konfiguration einesCAN-Netzwerkes wurden in diesem Handbuch auch schon ausführlicher be-schrieben. Um die Zusammenfassung komplett zu machen, werden sie auchnoch einmal kurz beschrieben. Als Beispiel wird die Konfiguration eines Sys-tems aus einer Steuerung CR0020 und eines E/A-Moduls CR2013 genommen.

Bei geöffnetem Fenster von Abbildung 152 wird mit 'Einfügen' 'Unterelementanhängen' zunächst die CR0020 für CAN konfiguriert, indem 'CR0020, CANo-pen Master...' angeklickt wird.

Abbildung 153: CANopen Master

Nachdem der Eintrag erfolgt ist, kann die Konfiguration vorgenommen werden.

Page 153: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Anhang

6-9R

Abbildung 154: Konfiguration CANopen Master

Die meisten Default Werte können übernommen werden. Die wenigen Einträge.die modifiziert werden, sind Abbildung 154 zu entnehmen.

Dann wird mit 'Extras' 'Unterelement anhängen' diesmal ein größeres Aus-wahlfenster geöffnet. Hier wird jetzt das Modul CR2014 ausgewählt. Im ent-sprechenden Fenster werden Parameter eingetragen, wie z. B. in Abbildung155.

Abbildung 155: CANopen Parameter für das Modul

Die Variablen können einfach hier deklariert werden.

Page 154: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Kurzanleitung CoDeSys

6-10 Schulungshandbuch 2 ecomatmobile Typ R 360

Abbildung 156: Deklarationen in der Steuerungskonfiguration

Damit ist die Konfiguration dieses Systems fertig. Es ist noch möglich, dass dieHardware nicht auf den aktuellen Stand konfiguriert wurde oder ganz neu vomLager kommt.

Betriebssystem Möglicherweise erscheint beim Einloggen in die Steuerung eine Meldung, diedas Betriebssystem betrifft, die z. B. besagt, dass es nicht vorhanden ist (z. B.bei einer neuen Steuerung) oder die falsche Version hat.

Downloader Für den Fall, dass Sie eine andere Betriebssystemversion laden müssen, oderin eine neue Steuerung ein Betriebssystem laden wollen, benutzen Sie hierfürdas Programm Downloader. Dieses sollte bei jeder Installation von CoDeSysgleich mitinstalliert werden. Damit wird die passende Datei gesucht, die imNamen CR0020 und die passende Version hat. Nachdem sie geöffnet wurde,kann sie mit dem Downloader in die Steuerung geladen werden.

VerknüpfungenDen eigentlichen Verknüpfungen im Steuerungsprogramm ist nicht anzusehen,ob die Werte oder Zustände über einen Busknoten oder einen physikalischenEingang in den Speicher der Steuerung kommen, siehe Abbildung 121. Wennsie von einem Busknoten kommen, muss eventuell noch das Datenformat be-achtet werden.

Programm

Nach der Deklaration im Fenster 'Steuerungskonfiguration' stehen auch dieVariablen des Knotens im Programm zur Verfügung. Es wird daran erinnert,dass CAN byteorientiert ist. Um auf die binären Informationen Zugriff zu habenwerden die Funktion 'Pack' und der Funktionsblock 'Unpack' verwendet, sieheAbbildung 120.

Da schon Programmiererfahrung vorausgesetzt wird, folgen hier keine Be-schreibungen von Verknüpfungen

Page 155: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Anhang

6-11R

Programm-struktur

Es ist übersichtlicher, die Netzwerke der eigentlichen Ablaufsteuerung in sepa-raten Funktionsbausteinen zu schreiben.

Nicht vergessen! Sowohl die Bausteine zur Konfiguration, z. B. auch die mit'Pack' und 'Unpack', als auch die zur Ablaufsteuerung müssen natürlich nochin das Hauptprogramm PLC_PRG eingetragen oder von einem Unterbausteinaufgerufen werden.

Kommentare

Denken Sie daran, reichlich Kommentare zu vergeben. Das erleichtert dieWartung Ihres Systems.

Page 156: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Buttons

6-12 Schulungshandbuch 2 ecomatmobile Typ R 360

6.4 ButtonsFunktionsleiste In diesem Anhang soll eine kurze Übersicht zu den diversen Buttons der Funk-

tionsleiste gegeben werden.

In der Funktionsleiste, der dritten Leiste von oben, sind eine Reihe von Buttonszu finden (falls über 'Optionen' 'Funktionsleiste' aktiviert). Hier können häufigbenutzte Funktionen mit einem einzigen Mausklick gestartet werden. Sie stehennatürlich auch als Menüpunkte zur Verfügung. Wie die Menüs sind sie kontext-sensitiv. Das heißt die Buttons können in Art und Anzahl unterschiedlich sein, jenach geöffneten und aktiven Fenstern. Manche davon sind praktisch immer zusehen. Diese werden zuerst beschrieben. Dann werden diejenige beschrieben,die z. B. im nur im FUP-Editor zu sehen sind.

Ausführliche Beschreibungen der Funktionen sind im Handbuch zur Programm-erstellung zu finden. In dieser Kurzübersicht wird auch nicht weiter beschrie-ben, ob die entsprechende Funktion z. B. im Menü Extras oder Einfügen zu fin-den ist. Das ist auch meist aus dem Zusammenhang klar. Um Platz zu sparenwird auch nicht bei jeder Funktion gesagt. "...an der markierten Stelle." Es ver-steht sich von selbst, dass der Ort markiert werden muss, an dem z. B. etwaseingefügt wird. Ebenso wird nicht beschrieben, dass es, je nach Funktion nichtan jeder Stelle sinnvoll ist, ein Element einzufügen. Z. B. ist es nicht sinnvollhinter eine Zuweisung einen Operator einzufügen. Bei manchen Elementen istein Default-Wert eingestellt, z. B. TRUE für bool'sche Variable. Diese Einstel-lung, die markiert ist, kann dann mit der gewünschten Eingabe überschriebenwerden. Dabei ist wieder die Eingabehilfe F2 nützlich.

Dateifunktionen'Datei neu' Eine Datei mit der Bezeichnung Unbenannt wird geöffnet.

Falls keine Datei geöffnet ist (z. B. nach dem Kommando 'Datei' 'Schließen')sind fast alle (kontextsensitiven) Menüs leer oder die Menüpunkte sind graudargestellt, also inaktiv. Um überhaupt irgend etwas zu tun, muss eine Dateigeöffnet sein.

Page 157: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Anhang

6-13R

'Datei Öffnen...' Öffnet das Fenster zur Dateiauswahl..

'DateiSpeichern'

Die geöffnete Datei wird gespeichert.

Es ist sehr zu empfehlen, diesen Button während der Arbeit häufig anzuklicken.

Online-Funktionen'Start' Die Programmbearbeitung wird gestartet.

'Stop' Die Programmbearbeitung wird angehalten.

'Einzelschrittüber'

Führt die nächste Anweisung aus (Debugging).

'Breakpointan/aus'

Stoppt die Programmbearbeitung an der aktuellen Anweisung (Debugging);sinnvoll z. B. in Kombination mit Einzelschritt über.

'Einloggen' Stellt die Verbindung zur Steuerung her (nur bei korrektem Programm).

Falls das Programm geändert wurde, wird eine neue Übersetzung veranlasst.

Im Simulationsmodus wird ggf. nur übersetzt.

Nicht vergessen: Die Programmbearbeitung muss zusätzlich gestartet werden.

'Ausloggen' Trennt die Verbindung zur Steuerung.

Z. B. um das Programm zu ändern oder zur Tracekonfiguration.

Page 158: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Buttons

6-14 Schulungshandbuch 2 ecomatmobile Typ R 360

Allgemeine Editierfunktionen'Ausschneiden' Löscht markierte Bausteine oder Zeilen und überträgt sie in die Zwischenab-

lage.

'Kopieren' Überträgt markierte Bausteine oder Zeilen in die Zwischenablage.

'Einfügen' Fügt den Inhalt der Zwischenablage ein.

'Suchen...' Öffnet das Fenster zur Eingabe der Suchkriterien.

'Weitersuchen' Sucht nach der nächsten Übereinstimmung.

Editierfunktionen für ASIn dieser Kurzübersicht wird nicht bei jeder Funktion ausführlich beschriebenunter welchen Bedingungen sie zulässig ist. Der markierte Block, auf den häufigBezug genommen wird, muss, je nach Funktion, z. B. mit einer Transition be-ginnen oder enden usw. Welche Bedingung erfüllt sein muss, sollte aus demZusammenhang erklärt werden können oder muss im Handbuch zur Pro-grammerstellung nachgeschlagen werden.

'Schritt-Transition(davor)'

Fügt einen Schritt mit Transition vor dem markierten Block ein.

'Schritt-Transition(danach)'

Fügt einen Schritt mit Transition vor dem markierten Block ein.

'Alternativzweig(rechts)'

Fügt eine Verzweigung rechts vom markierten Block ein.

Page 159: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Anhang

6-15R

'Alternativzweig(links)'

Fügt eine Verzweigung links vom markierten Block ein.

'Parallelzweig(rechts)'

Fügt einen Parallelzweig rechts vom markierten Block ein.

'Parallelzweig(links)'

Fügt einen Parallelzweig links vom markierten Block ein.

'Sprung' Fügt einen Sprung am Ende der Alternativverzweigung des markierten Blocksein.

'Transition-Sprung'

Fügt eine Transition mit Sprung am Ende der Parallelverzweigung des mar-kierten Blocks ein.

Editierfunktionen für KOP'Kontakt' Fügt einen Kontakt (Eingang) vor der markierten Stelle ins Netzwerk ein.

'ParallelerKontakt'

Fügt einen Kontakt (Eingang) parallel zu der markierten Stelle ins Netzwerk ein.

'Spule' Fügt eine Spule (Ausgang) an der markierten Stelle oder parallel dazu ein.

'Negation' Invertierung eines Kontakts (Eingang oder Ausgang).

Page 160: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Buttons

6-16 Schulungshandbuch 2 ecomatmobile Typ R 360

Editierfunktionen für FUP'Eingang' Fügt einen zusätzlichen Eingang bei einem Operator, z. B. bei der UND-Funk-

tion, ein.

'Ausgang' Fügt einen zusätzlichen Ausgang bei einem Operator ein.

'Baustein' Fügt einen Baustein (Operator, Funktion, Funktionsblock oder Programm) ein.Die Default-Einstellung UND-Operator muss entsprechend überschrieben wer-den.

'Zuweisung' Überträgt das Ergebnis der verknüpften Operatoren des Netzwerks auf die an-zugebende Adresse (Ausgang).

'Sprung' Fügt einen Sprung ein.

'Return' Fügt ein Return zur Beendigung des Bausteins ein.

'Negation' Fügt eine Negation für einen Eingang oder Ausgang ein.

'Set/Reset' Die entsprechenden Ausgänge nehmen den Zustand TRUE bzw. FALSE (R: 2*Klicken) an, wenn die vorherige Verknüpfung TRUE ergibt. Dieser Wert wirdbeibehalten, auch wenn die Bedingung nicht mehr erfüllt ist

Page 161: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Anhang

6-17R

Funktionen für die Traceaufzeichnung'Tracedefinieren'

Lädt die Tracedefinition in die Steuerung. Vorbereitung der Traceaufzeichnung.

'Trace starten' Startet die Traceaufzeichnung.

'Trace lesen' Überträgt die Traceaufzeichnung zum PC. Ermöglicht die grafische Darstellungder Werte.

'Trace stoppen' Stoppt die Traceaufzeichnung.

'Strecken' Streckt die Zeitachse der grafischen Darstellung zur besseren Übersicht beischnell wechselnden Zuständen.

'Komprimieren' Das Gegenteil von Strecken.

Page 162: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Buttons

6-18 Schulungshandbuch 2 ecomatmobile Typ R 360

Funktionen für die Visualisierung'Selektieren' Auswahlwerkzeug.

'Rechteck' Fügt ein Rechteck ein.

Ein Klick definiert eine Ecke, dann kann das Rechteck aufgezogen werden, dernächste Klick legt das Rechteck fest. Die Größe kann durch Ziehen verändertwerden.

'AbgerundetesRechteck'

Wie zuvor, nur mit abgerundeten Ecken.

'Ellipse' Fügt eine Ellipse ein.

Ein Klick definiert einen Randpunkt, dann wird, bei festgehaltener Maustaste,die Ellipse aufgezogen. Loslassen der Maustaste legt die Ellipse fest. DieGröße kann durch Ziehen verändert werden. Spezialfall Kreis.

'Polygon' Fügt geschlossenen Linienzug ein.

Ein Klick definiert jeweils eine Ecke. Beenden durch Doppelklick.

'Linienzug' Wie zuvor, es wird nur eine Linie erzeugt.

'Kurve' Keine Freihandzeichnung. Es wird wie zuvor ein Linienzug erzeugt. Nach demFestlegen des zweiten Randpunktes lässt sich der Linienzug zu gekrümmterKurve verformen (durch Ziehen am Endpunkt).

'Kreissektor' Fügt einen Kreissektor ein.

'Bitmap' Fügt eine beliebige Bitmapdatei (z. B. Schema oder Foto einer Anlage) ein.Dazu wird wie oben ein Rechteck definiert.

'Visualisierung' Fügt eine schon fertige Visualisierung (aus Auswahlfenster) in ein zuvor defi-niertes Rechteck ein. Nicht verwechseln mit der Eingabe 'Zoomen nach Vis' beider Konfiguration eines Visualisierungselements (dadurch wird eine andereVisualisierung geöffnet).

Zu viele eingefügte Elemente, speziell Visualisierungen, verlangsamen die Dar-stellungen aktueller Werte oder Zustände.

Page 163: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

6-19R

'Schaltfläche' Fügt eine Schaltfläche ein, ähnlich wie ein Rechteck mit vordefiniertem Verhal-ten

'WMF-Datei' Fügt eine WMF-Grafikdatei ein. Nachdem Größe und Position definiert wurden,öffnet sich ein Auswahlfenster für die Datei.

'Tabelle' Fügt eine Tabelle für ein Array ein. Nach dem Einfügen eines Platzhalters, öff-net sich ein Fenster zur Konfiguration.

'Trend' Fügt eine Trendanzeige ein zur Darstellung von aktuellen Werten als Kurve,ähnlich wie Traceaufzeichnung.

'Alarmtabelle' Fügt eine Alarmtabelle ein zur Übersicht über Alarme, die als Ereignisse defi-niert werden. Nach dem Einfügen eines Platzhalters, öffnet sich ein Fenster zurKonfiguration.

'Zeiger-instrument'

Fügt ein Zeigerinstrument ein zur Darstellung von Werten als Winkelstellung.Nach dem Einfügen eines Platzhalters, öffnet sich ein Fenster zur Konfigura-tion, u. a. zur Markierung von Wertebereichen.

'Balkenanzeige' Fügt eine Balkenanzeige ein, ähnlich wie Zeigerinstrument. Nach dem Einfügeneines Platzhalters, öffnet sich ein Fenster zur Konfiguration.

'Histogramm' Fügt ein Histogramm ein, ähnlich wie Balkenanzeige zur Darstellung eines Ar-ray mit mehreren vertikalen Balken. Nach dem Einfügen eines Platzhalters,öffnet sich ein Fenster zur Konfiguration.

Page 164: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht
Page 165: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

7-1R

7 Index1

11Bit Identifier............................................2-8120 Ω .........................................................2-4

2

29Bit Identifier............................................2-8

'

'Abgerundetes Rechteck'.........................6-18

A

Ablaufsprache ...........................................6-2Abschlusswiderstand........................2-4, 4-10ACC ...........................................................2-9ACK ...........................................................6-1Adressierung ...........................................4-35Akzeptanzfilter ................................2-11, 4-23

'

'Alarmtabelle' ...........................................6-19

A

Allgemeine Editierfunktionen...................6-14

'

'Alternativzweig (links)' ............................6-15'Alternativzweig (rechts)'..........................6-14

A

Anpassung...............................................4-12Anschlussschema ................ 3-20, 3-24, 4-11Anweisungsliste.........................................6-2Arbitrierung..............................................2-12AS........................................... 4-34, 6-2, 6-14asynchron................................................2-20

'

'Ausgang' .................................................6-16'Ausloggen' ..............................................6-13'Ausschneiden'.........................................6-14

A

AWL...........................................................6-2

'

'Balkenanzeige'........................................6-19

B

Baudrate....................................2-6, 3-4, 3-25Baustein ................... 3-6, 3-7, 3-31, 4-34, 6-2

'

'Baustein' ................................................. 6-16

B

beispielhaft ................................................ 6-4Betriebssicherheit...................................... 4-6Betriebssystem.................................6-7, 6-10Bibliothek...............3-4, 3-5, 3-6, 3-9, 4-9, 6-7

'

'Bitmap' .................................................... 6-18

B

Bit-Stuffing................................................. 2-9BOOL.......................................................3-39booten .....................................................3-16

'

'Breakpoint an/aus' .................................. 6-13

B

Broadcast ................................................ 2-10Buffer ....................................................... 4-21Bus Off....................................................... 2-9Buslast.......2-19, 2-26, 3-27, 3-28, 3-51, 4-21Bussystem................................................. 1-5Buttons .................................................... 6-12BYTE ..............................................3-11, 3-39

C

CAN...........................................1-5, 2-1, 3-49CAN 1...................................................... 3-19CAN 2.0 A ................................................. 2-8CAN 2.0 B ................................................. 2-8CAN_H ...................................................... 6-1CAN_L....................................................... 6-1CAN1......................................................... 3-7CAN1_RECEIVE ..................................... 3-14CAN1_TRANSMIT .................................... 3-7CAN-Analyser.................................3-23, 3-58CanMon..........................................4-20, 4-29CANopen...........2-1, 2-2, 2-12, 2-25, 3-4, 4-1CANview.................................................. 4-13

Page 166: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Buttons

7-2 Schulungshandbuch 2 ecomatmobile Typ R 360

CFC ...........................................................6-2CiA .............................................................2-1COB..................................................2-15, 6-1CoDeSys ............................................6-2, 6-4COM-Port ................................................4-16CR0020......................................................1-6CR2013......................................................4-3CRC....................................................2-9, 6-1

'

'Datei neu' ................................................6-12'Datei Öffnen...' ........................................6-13'Datei Speichern'......................................6-13

D

Dateifunktionen........................................6-12Datenrate...................................................2-7Datentypen ..............................................3-11DCF ...........................................................6-1Debugging .................................................6-3Default ...................................... 3-46, 4-2, 6-4Deklaration ................................................4-8Demo-Programm.......................................4-4deterministisch.........................................2-19Diagnose .............................. 3-23, 3-28, 3-58Dokumentation ......................... 1-4, 3-12, 6-3Doppelte Nachrichten ..............................2-10Downloader ......................................6-4, 6-10

E

E/A-Module................................................5-3EA-Modul ...................................................4-3Echtzeit ....................................................2-12ecomat mobile .......................... 2-2, 2-23, 3-1Editierfunktionen für AS...........................6-14Editierfunktionen für FUP ........................6-16Editierfunktionen für KOP........................6-15EDS ....................................................2-3, 6-1

'

'Einfügen' .................................................6-14

E

Eingabefelder ............................................3-7Eingabehilfe....................................3-42, 6-12Eingang ...................................................6-10

'

'Eingang' ..................................................6-16

E

Einloggen.................................................3-17

'

'Einloggen' ...............................................6-13'Einzelschritt über'....................................6-13'Ellipse'.....................................................6-18

E

EMCY ..................................... 2-15, 2-26, 6-1Emergency ..............................................4-29Empfangen ............................. 2-4, 3-13, 3-52ereignisgesteuert ............................2-16, 3-40Error Active................................................2-9Error Frame ...............................................2-9Error Passive .............................................2-9

F

F2 ...................................................3-31, 6-12Fahrzeug ...................................................1-5Federklemmenbox 3-2, 3-19, 3-24, 4-10, 4-11Fehler ............................ 2-26, 2-27, 3-25, 4-5Fehlermanagement ...................................2-9Fehlersicherung.........................................2-9Fehlersuche.............................................4-12Fernwartung ..............................................2-3Flankenauswertung ........................3-39, 3-55Format .......................................................2-9Frame ........................................................2-7Fräse .......................................................4-33freies Protokoll.......................... 2-2, 2-12, 3-1freigraphischer Funktionsplaneditor ..........6-2Funktion............................................4-9, 6-16Funktionen für die Traceaufzeichnung....6-17Funktionen für die Visualisierung ............6-18Funktionsblock........................ 3-40, 4-9, 6-16Funktionsleiste.........................................6-12Funktionsplan ............................................6-2FUP ..................................................6-2, 6-16Fußzeile.....................................................1-2

G

Geräteprofil................................................2-3gerätespezifisch.........................................4-9Gewährleistung............................................. 2global .......................................................3-37Glossar ......................................................6-1Guard Time..............................................2-25GUARDTIME...........................................4-29

Page 167: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Index

7-3R

H

Handbuch ..................................................1-1Hardware ...................................................1-6Hardwarekonfiguration ..............................6-2Hardwareversion .......................................3-1Heartbeat..........................................2-25, 4-3Hinweispfeil ...............................................1-3

'

'Histogramm'............................................6-19

I

ID ......................................................2-11, 6-1Identifier...........2-7, 2-8, 2-11, 3-51, 4-28, 6-1IEC-61131-3. .............................................6-2Index........................................................2-19Init ............................................................3-16Installation .................................................6-4Instanz ..............................................3-42, 4-9ISO ............................................................6-1ISO 11898 .................................................2-1ISO-OSI ............................................2-1, 2-13

K

Knoten ...................................... 2-4, 2-17, 4-3Kommentar ............................. 3-9, 3-12, 6-11

'

'Komprimieren'.........................................6-17

K

Konfiguration ......................................4-2, 6-2Konfigurationen .........................................6-6

'

'Kontakt' ...................................................6-15

K

Kontaktplan................................................6-2kontextsensitiv .........................................6-12Konvertierung .................................3-11, 3-54KOP ..................................................6-2, 6-15Kopfzeile....................................................1-2

'

'Kopieren'.................................................6-14'Kreissektor' .............................................6-18'Kurve'......................................................6-18

K

Kurzanleitung ............................................ 6-4

L

Länge..................................................2-3, 2-6Layer 2 ..................... 2-2, 2-14, 3-3, 3-4, 4-29LED......................................... 3-18, 4-19, 5-1Leitung................................. 2-2, 2-4, 2-6, 2-7Life Guarding........................................... 2-25Life Time.................................................. 2-25

'

'Linienzug'................................................ 6-18

L

Links .......................................................... 1-3lokal ......................................................... 3-37

M

Master.... 2-1, 2-11, 2-18, 2-19, 2-25, 3-3, 4-2Mobil .......................................................... 1-5Modell ...................................................... 4-33Modul..................................................4-1, 4-3Monitoring.........................................2-9, 4-12Multimaster.............................................. 2-11

'

'Negation'........................................6-15, 6-16

N

Neigungssensor ........................................ 5-4Netzteil .................................................... 3-20Netzwerk ................................................. 2-17Netzwerkmanagement ............................ 2-16Netzwerkvariable..................................... 3-49Netzwerkvariablen................................... 3-54Netzwerkverbindung................................ 3-50NMT...................... 2-15, 2-16, 2-18, 2-21, 6-1Node.......................................................... 2-4Node Guarding ...............................2-15, 2-25Node ID ..................................................... 4-3Nodeguarding............................................ 4-6Normen...................................................... 2-2NRZ ........................................................... 6-1

O

Objekt einfügen ......................................... 6-7Objektverzeichnis .................................... 2-18OBV......................................................... 2-18Online ........................................................ 6-2

Page 168: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Buttons

7-4 Schulungshandbuch 2 ecomatmobile Typ R 360

Online-Funktionen ...................................6-13Operational ..............................................2-22OPERATIONAL .........................................5-2Operator ..................................................6-16Optimierung ....................................3-36, 3-39Optionales Gerät .......................................4-5OSI.............................................................6-1

P

Pack...........................................................4-9parallel .....................................................3-48

'

'Paralleler Kontakt'...................................6-15'Parallelzweig (links)' ...............................6-15'Parallelzweig (rechts)'.............................6-15

P

PDO............................... 2-15, 2-16, 2-20, 6-1Pegel...................................................2-5, 2-6physikalische Verbindung..........................2-4Piktogramme .............................................1-2PLC_PRG...............3-2, 3-11, 4-10, 4-34, 6-7Polling ......................................................2-19

'

'Polygon' ..................................................6-18

P

Pre-Operational .......................................2-22Priorität ................................... 2-8, 2-11, 2-12Profil.........................................................4-21Programm...................... 3-18, 6-2, 6-10, 6-16Programmiersprachen...............................6-2Programmstruktur.3-36, 4-2, 4-10, 4-34, 6-11Projekt........................................................6-2Protokoll.................................... 2-1, 2-2, 2-12

Q

Queue......................................................4-21

R

Randspalte ................................................1-2Reaktionszeit ...........................................2-20Receive......................................................2-4

'

'Rechteck' ................................................6-18

R

Recyclingsymbol........................................1-3

Referenzmodell ................................2-1, 2-13Repeater....................................................2-7Restfehlerwahrscheinlickeit.....................2-10

'

'Return' ....................................................6-16

R

RTR .......................................... 2-8, 3-51, 6-1Run ............................................................5-1Rx ..............................................................2-4

S

SAE J2284.................................................2-2

'

'Schaltfläche'............................................6-19

S

Schicht............................................2-13, 2-14

'

'Schritt-Transition (danach)'.....................6-14'Schritt-Transition (davor)' .......................6-14

S

SDO........................................ 2-15, 2-16, 6-1selbstdefinierter Funktionsblock ..............3-40

'

'Selektieren' .............................................6-18

S

Senden ..................................... 2-4, 3-7, 3-51Senden über Visualisierung .................3-32

'

'Set/Reset' ...............................................6-16

S

Sichern ....................................................3-12Signalwechsel..........................................3-28Signalzustand..........................................3-28Simulationsmodus .....................................6-3Simulator ...................................................3-2

'

'Sprung'....................................................6-16'Spule' ......................................................6-15

Page 169: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Index

7-5R

S

SRR ...........................................................6-1ST .....................................................3-40, 6-2

'

'Start'........................................................6-13

S

Starterset .................................................3-19Statuszeile ...............................................3-18Steuerung..................................................5-1Steuerung 1 .............................................3-22Steuerung 2 ....................................3-13, 3-22Steuerungskonfiguration ..... 3-3, 4-2, 4-4, 6-8Stop ...........................................................5-1

'

'Stop'........................................................6-13

S

Stopped ...................................................2-22

'

'Strecken' .................................................6-17

S

Struktur ......................................................6-2strukturierter Text ......................................6-2Subindex..................................................2-19

'

'Suchen...' ................................................6-14

S

SYNC............................... 2-15, 4-3, 4-35, 6-1synchron ..................................................2-20Synchronisation.......................................2-19Synchronisationsobjekt ...........................2-20

'

'Tabelle' ...................................................6-19

T

T-Abzweig................................................3-48Taktgeber ................................................3-40Target ........................................................6-6Telegramme ............................................3-58Test............................................................6-2Topologie...................................................2-6Trace .......................................................4-21

'

'Trace definieren' ..................................... 6-17'Trace lesen' ............................................ 6-17'Trace starten'.......................................... 6-17'Trace stoppen' ........................................ 6-17

T

Traceaufzeichnung.........................3-29, 6-17

'

'Transition-Sprung' .................................. 6-15

T

Transmit .................................................... 2-4

'

'Trend'...................................................... 6-19

T

Trigger ..................................................... 4-22TSO ........................................................... 6-1T-Stück ...................................................... 3-2Tx............................................................... 2-4Typ............................................................. 1-6Typkonvertierung..................................... 3-11

Ü

Übertragungssicherung............................. 2-9Unpack ...................................................... 4-9Unterelement anhängen............................ 4-4ununterbrochen Senden.......................... 3-22USB-Treiber ............................................ 4-15

V

VCI-Treiber.....................................4-13, 4-15Version ...................................................... 6-7Verzeichnisse .....................................1-6, 6-7Visualisierung3-11, 3-31, 3-32, 3-33, 6-2, 6-

18

'

'Visualisierung'......................................... 6-18

V

Vorkenntnisse............................................ 1-1

W

Wartung.................................. 2-4, 3-23, 4-12

Page 170: Schulungshandbuch 2 - ifmSteuerungstechnik und SPS-Programmierkenntnisse mit IEC 61131-3 sowie der Software CoDeSys verfügen. Es hat die Arbeit mit CAN zum Thema. Dabei kann nicht

Buttons

7-6 Schulungshandbuch 2 ecomatmobile Typ R 360

'

'Weitersuchen' .........................................6-14'WMF-Datei' .............................................6-19

W

WORD ............................................3-11, 3-39www.can-cia.org ........................................1-2www.ifm-electronic.com................................ 2

'

'Zeigerinstrument' ....................................6-19

Z

zeitgesteuert ...................................3-40, 3-49Zielsystem .................................................6-6Zustandsmaschine ..................................2-24

'

'Zuweisung'..............................................6-16

Z

Zyklus ...................2-20, 3-16, 3-22, 3-39, 4-3Zykluszeit..................... 2-19, 2-20, 3-36, 4-35