Seite 2
Systemhandbuch ecomat 100 Typ R 360, Stand April 1999 Hinweis zur Gewährleistung Dieses Handbuch wurde unter Beachtung der größtmöglichen Sorgfalt erstellt. Gleichwohl kann keine 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 Hinweise jederzeit dankbar.
6.5. Allgemeine Hinweise zur Nutzung von CAN 6.6. Beschreibung der CAN Funktionsbausteine 6.7. CANopen im ecomat R 360 6.8. Der ecomat R 360 als CANopen-Slave 6.9. Der ecomat R 360 als CANopen-Master 6.10. Funktionen für CANopen-E/A-Module der ifm electronic Seite 3...
Seite 4
7. PWM im ecomat R 360 8. Schnelle Zähler im ecomat R 360 9. Sonstige Funktionen im ecomat R 360 9.1. Software-Reset 9.2. Daten im Speicher sichern und lesen 9.3. Nutzung der seriellen Schnittstelle 9.4. Auslesen der Systemzeit 9.5. Variablenbearbeitung 10.
An den Anschlußklemmen dürfen nur die in den technischen Daten, bzw. auf dem Geräteaufdruck angegebenen Signale eingespeist bzw. die zugelassenen Zubehörkomponenten der ifm electronic gmbh angeschlossen werden. Das Gerät ist gemäß nachstehender technischer Spezifikation in einem weiten Umgebungs-Temperaturbereich betreibbar. Aufgrund der zusätzlichen Eigenerwärmung kann es an den Gehäuse-Wandungen beim Berühren in heißer Umgebung zu...
Dokumentation über die Besonderheiten in der Hard- und Software informieren. Diese kann bei Bedarf angefordert werden. ifm electronic gmbh Teichstr. 4 D 45127 Essen Tel.: 0201 / 2422-0 Fax: 0201 / 2422-303 Die Applikationssoftware kann vom Anwender komfortabel mit...
Für die sichere Funktion der Applikationsprogramme, die Anwender erstellt werden, dieser selbst verantwortlich. Bei Bedarf muß er zusätzlich entsprechend nationalen Vorschriften eine Abnahme durch entsprechende Prüf- und Überwachungsorganisationen durchführen lassen. 1.3. Steuerungskonfiguration Bei dem Steuerungssystem ecomat R 360 handelt es sich um ein kunden- bzw.
1.4. Technische Daten Gehäuse: geschlossenes, abgeschirmtes Metallgehäuse Flanschbefestigung Maße Gehäuse: 225 x 153 x 43 mm (BxHxT), ohne Anschlußstecker 240 x 153 x 43 mm (BxHxT), mit Anschlußstecker Einbaulage: Vorzugsweise senkrecht stehend, alternativ waagerecht liegend Geräteanschluß: Anschlußstecker 55-polig, verriegelt, verpolsicher, Typ AMP oder Framatom mit Crimp-Anschluß-Kontakten AMP-Junior-Timer 0,5/2,5 mm Betriebstemperatur:...
Seite 9
Binärer Eingang Low-Side: ≥ 10 V, I ≥ 3,3 mA Eingänge IX0.0 ... IX0.7: Einschaltpegel ≤ 5 V, I ≤ 1,7 mA Ausschaltpegel Eingangsfrequenz 50 Hz , I ≥ 6,7 mA Eingänge IX0.8 ... IX0.39: Einschaltpegel 0,6 U ... 0,8 U , I ≤...
Seite 10
Binärer Ausgang: High-Side: Ausgänge QX0.0 ... QX0.23: Halbleiterausgang; kurzschluß- und überlastfest, optional diagnosefähig Schaltspannung 10 ... 17 V (12 V DC); 11 ... 32 V (24 V DC) Schaltstrom 50 mA ... 2,5 A Überlaststrom Summenstrom 10 A (je 8 Ausgänge) Ausgangsfrequenz max.
Seite 11
Eingang Test: Für die Dauer des Testbetriebes (z.B. Programmierung), muß der Anschluß mit U verbunden werden. Für den „RUN“-Betrieb muß der Eingang unbeschaltet bleiben. Ausgang Error: Halbleiterausgang; kurzschluß- und überlastfest Schaltspannung 10 ... 17 V (12 V DC); 11 ... 32 V (24 V DC) Schaltstrom 10 mA ...
1.5. Montage der Module Um die Steuerungsmodule der geringsten mechanischen Belastung auszusetzen, sind diese vorzugsweise waagerecht liegend oder senkrecht stehend auf Montagewand anzubringen. Dazu müssen vier Schrauben nach DIN 7500 bzw. DIN 7984 (M5 x L) benutzt werden. Wenn möglich sollte die Orientierung der Module so angelegt werden, daß...
Seite 13
Wird eine Ausgangsklemme von extern bestromt, z.B. bei bidirektionalen Ein- Ausgängen, darf ent- sprechende Ausgangsschiene nicht potentialfrei (d.h. unbeschaltet) sein. Grund Über die integrierte Schutzdiode im Ausgangstreiber findet eine Rückspeisung der Versorgungsspannung auf die Ausgangs- schiene statt. Dadurch steuert ein ggf. gesetzter Ausgang seine an ihn angeschlossene Last an.
Das Überwachungskonzept Bei dem Überwachungskonzept in der Steuerung handelt es sich hauptsächlich um eine Funktion zur Sicherung der angeschlossenen Maschinen- und Anlagenteile. 2.1. Hardwareaufbau Das Relais wird zweikanalig vom µController angesteuert. Dazu wird der negative Kanal durch eine UND-Verknüpfung des Watchdog-Signals (interne µController Überwachung) und des RELAIS-Bits über einen Halbleiterschalter angesteuert.
2.2. Funktionsweise des Überwachungskonzeptes Während des Programmablaufes steht das Überwachungs- relais unter voller Softwarekontrolle des Anwenders. So kann z.B. paralleler Kontakt Sicherheitskette Eingangssignal ausgewertet und das Überwachungsrelais entsprechend abgeschaltet werden. Zur weiteren Sicherheit müssen die entsprechenden nationalen Vorschriften beachtet werden. Tritt während des Programmablaufs ein µController-Fehler auf, wird durch das Watchdog-Signal das Relais spannungsfrei geschaltet...
Gerätekonfiguration Die im Anhang beschriebenen Gerätekonfigurationen stehen als Standardgeräte (Lagerware) zur Verfügung. Diese decken bei den meisten Applikationen die geforderten Spezifikationen ab. Entsprechend den Kundenanforderungen bei Serieneinsatz ist es aber auch möglich andere Gerätekonfigurationen z.B. hinsichtlich der Zusammenstellung der Ein- und Ausgänge und der Ausführung der Analogkanäle zu realisieren.
Voraussetzung für diese Funktion ist, daß in den Steuerungen High-Side-Ausgänge mit Low-Side-Eingängen, oder Low-Side- Ausgänge High-Side-Eingängen kombiniert werden. Dadurch kann es zu keinen Konflikten, d.h. Kurzschluß über den durchgesteuerten Ausgangstransistor und geschlossenen Schalter am Eingang kommen. Aus dem Prinzipschaltbild ergibt sich •...
Aus dem Prinzipschaltbild ergibt sich • Eine Kurzschlußerkennung (Überlast) über den Eingangs- kanal ist möglich. Bei einem durchgesteuerten Ausgang wird dann LOW (logisch 0) eingelesen. Bei einem Kurzschluß/Überlast schaltet sich der Ausgangs- transistor selbsttätig ab. Aus Sicherheitsgründen schaltet er sich nicht wieder selbständig ein. Er muß daher zunächst aus- und anschließend wieder eingeschaltet werden.
Seite 20
Beschriftung der Ein-/Ausgangskanäle: Klemmennummer Klemmenbezeichnung 30 %IX0.07 BL Klemmennummer %IX0.07 IEC-Adresse für einen binären Eingang hardwaremäßige Ausführung des Eingangs (hier Binär Low-Side) 47 %QX0.03 BH/PH Klemmennummer %QX0.03 IEC-Adresse für einen binären Ausgang BH/PH hardwaremäßige Ausführung des Ausgangs (hier Binär High-Side bzw. PWM High-Side) Die einzelnen Kürzel haben folgende Bedeutung: Analog-Eingang Binärer Eingang/Ausgang, High-Side...
Betriebszustände und Betriebssystem 4.1. Betriebszustände Nach Anlegen der Versorgungsspannung kann sich das Steuerungsmodul in einem von 5 möglichen Betriebszuständen befinden: Reset Dieser Zustand wird nach jedem Power-On-Reset durchlaufen. Das Betriebssystem wird initialisiert. Verschiedene Checks werden durchgeführt. Dieser nur temporäre Zustand wird vom Run-Zustand abgelöst.
4.2. Status-LED Diese Betriebszustände werden durch die integrierte Status- LED angezeigt. LED-Farbe Blinkfrequenz Beschreibung LED aus konstant aus Fatal Error Grün 5 Hz Kein Betriebssystem geladen Grün 0,5 Hz Run, CANopen: PREOPERATIONAL 2,0 Hz Run, CANopen: OPERATIONAL konstant ein Stop, CANopen: PRERPARED 0,5 Hz Run m.
Seite 23
Der Programmierer muß beachten, das immer der gleiche Softwarestand des Betriebssystems (CR..._x.H86), der Steuerungskonfiguration (CR..._x.M66) und der Geräte- bibliothek (CR..._x.LIB) zum Einsatz kommt. Andernfalls wird bei Download der Applikationsoftware eine Fehler- meldung erzeugt. Softwarestände werden durch nach- gestellte Buchstaben in alphabetischer Reihenfolge in dem Dateinamen (z.B.
Seite 24
!" Damit das Programmiersystem die Online-Verbindung zwischen Steuerung und PC herstellen kann, muß zunächst die Steuerungskonfiguration des zum aktuellen Zeitpunkt geladenen Bertriebssystems aktiviert werden. !" Dazu wird über den Button oder den Menüpunkt Fenster / Steuerungskonfiguration Steuerungskonfigura- tionsfenster aktiviert. !" Über den Menüpunkt Einfügen / Firmware wird die gewünschte Steuerungskonfiguration (CR..._x.M66)
4.3. Betriebsmodi Unabhängig von den Betriebszuständen kann die Steuerung in verschiedenen Betriebsmodi betrieben werden. entsprechenden Steuerungs-Bits können über Applikationssoftware oder im Testbetrieb mit der Programmier- plus software ecolog 100 (Fenster: Globale Variablen) gesetzt und rückgesetzt werden. Test Dieser Betriebsmodus wird durch Anlegen eines High-Pegels (Versorgungsspannung) am Test-Eingang erreicht.
5. Fehlercodes und Fehlerklassen Um eine möglichst hohe Betriebssicherheit zu gewährleisten, wird vom Betriebssystem aus die Steuerung in der Startphase (Reset-Phase) und während der Programmausführung durch interne Fehlerchecks überprüft. Folgende Fehlermerker werden im Fehlerfall gesetzt: Fehler Fehlerbeschreibung CAN_INIT_ERROR CAN-Baust. kann nicht initialisiert werden CAN_DATA_ERROR CAN inkonsistente Daten CAN_RX_OVERRUN_ERROR CAN overrun, Empfangsdaten...
Seite 28
Zusätzlich besteht auch die Möglichkeit, daß ERROR-Bit bei „frei definierten Fehler“ durch das Anwenderprogramm zu setzen. Da das Relais im Normalfall nur lastfrei geschaltet werden soll, darf die Funktion nur im „Notfall“ zum generellen Abschalten der Ausgänge genutzt werden. Um im „Normalfall“ alle Ausgänge zurückzusetzen, sollte über geeignete BIT-Verknüpfungen diese Funktion realisiert werden und nicht das Relais genutzt werden.
CAN im ecomat R 360 6.1. Technische Spezifikation Bustyp: FULL-CAN Physikalische Schicht: ISO/DIS 11898 Baudrate: 10 kBit/s ... 1 MBit/s Protokoll: CANopen freies Protokoll 2048 Datenobjekte im System (CAN-Spezifikation 2.0 B) Identifier-Verwendung 1 ... 2048 Identifier frei verfügbar für den Datentransfer Folgende Identifier davon sind reserviert: 220 ...
Seite 30
Hardware- Kenntnisse des CAN-Controllers notwendig. Diese können der Herstellerdokumentation entnommen werden oder beim technischen Support der ifm electronic gmbh angefragt werden. Für normalen CAN-Datenaustausch muß Programmierer lediglich bei der Softwareerstellung mit Funktionen CAN_RECEIVE (CAN-Daten empfangen) und CAN_TRANSMIT (CAN-Daten senden) die Datenobjekte mit ihren Identifiern dem System bekannt machen.
Der Sendeauftrag wird abgewiesen, wenn der Controller nicht bereit ist weil er aktuell ein Datenobjekt überträgt. Der Sendeauftrag muß dann durch das Anwenderprogramm wiederholt werden. Der Anwender bekommt diese Information durch ein Bit angezeigt. 6.3. CAN Fehler und Fehlerbehandlung Die im folgenden beschriebenen Fehlermechanismen werden von dem in der Steuerung...
Seite 32
Fehlerzähler Dazu sind CAN-Controller Sende- Empfangsfehlerzähler enthalten. Diese werden bei jedem fehlerhaften Sende- oder Empfangsvorgangs heraufgezählt (inkrementiert). War eine Übertragung fehlerfrei, werden diese Zähler wieder heruntergezählt (dekrementiert). Fehlerzähler werden jedoch Fehlerfall stärker inkrementiert, als sie im Erfolgsfalle dekrementiert werden. Über eine bestimmte Zeitspanne kann dies zu einem merklichen Anstieg der Zählerstände führen, selbst wenn die Anzahl der ungestörten Nachrichten größer ist, als die Anzahl der gestörten...
Linienstruktur voraus. Zusätzlich muß die Linie an ihren beiden Enden jeweils mit einen Abschlußwiderstand von der Größe 120 Ω Ω Ω Ω versehen werden. Die Geräte der ifm electronic, die mit einem CAN- Interface ausgestattet sind, haben grundsätzlich keine Abschlußwiderstände.
Seite 34
Idealerweise sollte zu den Busteilnehmern (Node 1 ... Node n) keine Stichleitung führen, da in Abhängigkeit von der Gesamt- leitungslänge und den zeitlichen Abläufen auf dem Bus Reflektionen auftreten. Damit diese nicht zu Systemfehlern führern, sollten die Stichleitungen zu einem Busteilnehmer (z.B. einem E/A-Modul) eine gewisse Länge nicht überschreiten.
Seite 35
Die Leitungsquerschnitte Für Auslegung CAN-Netzes auch Leitungsquerschnitt der eingesetzen Busleitung zu beachten. Die nachfolgende Tabelle beschreibt bezogen auf eine Über- tragungsrate von 1 Mbit/s und einer maximalen Leitungslänge von 40 m (Leitungswiderstand r = 70 mΩ/m) die Abhängigkeit der Leitungsquerschnitte von der Anzahl der Busteilnehmer. Leitungslänge 32 Busknoten 64 Busknoten...
6.5. Allgemeine Hinweise zur Nutzung von CAN Wird im Zusammenhang mit der Steuerung ecomat R 360 CAN bzw. CANopen benutzt sind einige Punkte zu beachten. Diese betreffen sowohl die physikalische Auslegung des CAN- Netzwerkes als auch den richtigen Umgang mit der Software. Physikalische Netzauslegung Zusammenfassend gilt bei der Auslegung des CAN-Netzes gilt: •...
Seite 37
• Bei fehlender Guarding-Antwort des R 360-Slaves sendet der Master fortlaufend Node-Resets. Dadurch kann es zu Problemen beim Einloggen des Programmiersystems über die CAN-Schnittstelle kommen. In diesem Fall muß der Master ausgeschaltet werden. • Soll der R 360 auch als CANopen-Master arbeiten, muß dieser Funktion NMM_SET_NMT_MASTER...
6.6. Beschreibung der CAN Funktionsbausteine Im folgenden werden die CAN-Funktionsbausteine zur Nutzung im Anwenderprogramm beschrieben. Um die volle Leistungsfähigkeit von CAN zu nutzen ist es unbedingt erforderlich, daß sich der Programmierer vor Beginn seiner Arbeit ein genaues Buskonzept aufbaut. Dabei muß die Anzahl der Datenobjekte mit ihren Identifieren genauso festgelegt werden, wie eine Reaktion auf mögliche CAN-Fehler.
Seite 39
CAN_BAUDRATE Funktion Library CRxxxx.LIB Funktionssymbol Zweck Stellt die Übertragungsrate für den Busteilnehmer ein. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet BAUDRATE WORD Wert der einzustellen Baudrate in kBit/s (10, 20, 50, 100, 125, 250, 500, 1000 ) Funktionsausgänge, keine Beschreibung Mit der Funktion CAN_BAUDRATE wird für das Steuerungs-...
Seite 40
CAN_TRANSMIT Funktion Library CRxxxx.LIB Funktionssymbol Zweck Übergibt ein CAN-Datenobjekt (Message) an den CAN- Controller zur Übertragung Parameter Funktionseingänge Name Datentyp Beschreibung WORD Enthält die Nummer des Datenobjekt- Identifierer 0 ... 2048. BYTE wird nicht genutzt, daher Wert 0 BYTE Anzahl der zu übertragenden Bytes aus dem Array DATA.
Seite 41
CAN_RECEIVE Funktion Library CRxxxx.LIB Funktionssymbol Zweck Konfiguriert ein Datenempfangsobjekt und liest den Empfangspuffer des Datenobjektes aus. Parameter Funktionseingänge Name Datentyp Beschreibung CONFIG BOOL Bit muß einmalig bei der Konfiguration des Datenobjektes gesetzt (TRUE) werden. Im weiteren Programmablauf ist das Bit FALSE.
Seite 42
Beschreibung CAN_RECEIVE muß für jedes Datenobjekt in der Initiali- sierungsphase einmalig aufgerufen werden um dem CAN- Controller die Identifier der Datenobjekte bekannt zu machen. Im weiteren Programmzyklus wird CAN_RECEIVE zum Ausle- sen des jeweiligen Empfangspuffers aufgerufen. Bei langen Programmzyklen auch mehrfach. Der Programmierer muß durch Auswertung des Bytes AVAILABLE dafür Sorge tragen, daß...
Seite 43
CAN_RESTART Funktion Library CRxxxx.LIB Funktionssymbol Zweck Neustart des CAN-Teilnehmers nach „massiven“ Übertragungsfehlern (bus-off-Zustand) Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet Funktionsausgänge, keine Beschreibung CAN ermöglicht eine Unterscheidung zwischen zeitweiligen und dauerhaften Störungen eines Busteilnehmers. Wie unter Kapitel 6.3.
Seite 44
CAN_ERRORHANDLER Funktion Library CRxxxx.LIB Funktionssymbol Zweck Minimale Fehlerroutine zur Überwachung von CAN Parameter Funktionseingänge Name Datentyp Beschreibung RESET BOOL Löscht den Fehlerzähler Funktionsausgänge Name Datentyp Beschreibung ERROR- WORD Fehlerzähler, enthält die Anzahl der aufgetre- COUNT tenen Fehler Beschreibung CAN_ERRORCOUNT wertet alle möglichen CAN-Fehler aus und summiert die Anzahl der Fehler im Zähler ERRORCOUNT auf.
6.7. CANopen im ecomat R 360 Die am Anfang des Kapitel 6. beschriebenen Schichten 1 und 2 von CAN regeln die physikalische Anbindung und die Über- tragung der Daten zwischen den Busteilnehmern. Beim praktischen Einsatz von CAN in einer Applikation bedeutet dieses, daß...
Seite 46
CANopen-Norm für die einzelnen Gerätetypen festgelegt. Zusätzlich steht noch ein Bereich für herstellerspezifische Daten zur Verfügung. In diesem Bereich werden z.B. die Konfigurationsparameter für die E/A-Module der ifm electronic gmbh abgelegt. Index (Hex) Objekt 0000 nicht belegt...
Seite 47
Die SDOs werden für alle zeitunkritischen Daten in CANopen eingesetzt. Sie werden grundsätzlich nur von Punkt zu Punkt (Netzwerkmaster / Slave) übertragen. Hauptsächlich werden die SDOs zur Übertragung der Konfigurationsdaten des CAN- Teilnehmers in der Boot-Up Phase genutzt. Process Data Object (PDO) Die zeitkritischen Prozeßdaten werden mit Hilfe der „Process Data Objects“...
Seite 48
Boot-Up-Vorgang Beim Boot-Up-Vorgang wird durch den Netzwerkmaster das Hochlaufen Netzes ermöglicht. Dabei werden wichtigsten Kommunikationsparameter dem Master bekannt gemacht und ggf. das Guarding aktiviert. Im Boot-Up sollten auch die Konfigurationsparameter übertragen werden. Dabei sollte sich der Knoten im Zustand „Pre-Operational“ befinden. Status Beschreibung Start Remote Node indication Stop Remote Node indication...
6.8. Der ecomat R 360 als CANopen-Slave Der ecomat R 360 kann unter CANopen auch als freiprogram- mierbares Ein-/Ausgangsmodul eingesetzt werden. Er verhält sich dabei wie ein CANopen-Slave. Als CANopen-Slave wird der ecomat R 360 als „Programmable Device“ entsprechend CiA DS 405 eingeordnet.
Seite 50
Zur Einstellung der Baudrate sind folgende Parameter zulässig: Nummer Baudrate (kBit/s) 1000 Remanente Daten Über den herstellerspezifischen Bereich des Objektverzeichnis, besteht die Möglichkeit per SDO_WRITE einen maximal 256 Byte großen Datenblock in den R 360-Slave zu übertragen. Diese Daten werden spannungsausfallsicher im Flash-Speicher abgelegt und können im Anwenderprogramm über die...
Seite 51
PDO-Mapping Ein PDO-Mapping im herkömmlichen Sinn ist im ecomat R 360 nicht möglich, da dieses bei einer freiprogrammierbaren Steuerung nicht notwendig ist. Über das Anwenderprogramm können die für das CANopen- Netzwerk relevanten Daten direkt in die entsprechen PDOs geschrieben bzw. aus diesen gelesen werden. Netzwerk- variablen im Bereich ab %MW 2000 für die Empfangsdaten und ab %MW 2032 für die Sendedaten, können sofort durch das...
Seite 52
ResetNode Wird vom CANopen-Master ein ResetNode ausgelöst, müßte im Normalfall ein kompletter Neustart des R 360-Slave durchgeführt werden (wie z.B. bei einem Watchdog-Reset). Um eine höhere Flexibilität zu erreichen, unterliegt dies bei CANopen der Kontrolle des Anwenderprogramms. Der Anwender erkennt am Merker COP_EVENT_RESETNODE = TRUE, ob ein Reset ausgelöst wurde.
Seite 53
NMS_SET_NODEID Funktion Library COB.LIB Funktionssymbol Zweck Es wird der Node-ID des CANopen-Slave eingestellt. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODEID BYTE Nummer des Identifiers (1 ... 30) Funktionsausgänge, keine Beschreibung Über Funktion NMS_SET_NODEID...
Seite 54
NMS_GUARDING_CONFIG Funktion Library COB.LIB Funktionssymbol Zweck Es wird die Guardingzeit für einen R 360-CANopen-Slave eingestellt. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbei- GUARDTIME TIME Zeit zwischen zwei Überwachungs- aufrufen 0 ms = keine Überwachung 1ms ..
Seite 55
PDO_TX_CONFIG Funktion Library COB.LIB Funktionssymbol Zweck Initialisiert ein Sende-PDO im R 360 CANopen-Slave. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet BYTE Nummer des TX-PDO (1 ... 8) WORD Identifier des TX-PDO (ab 380 Hex) TRANS_TYPE BYTE Art der PDO-Übertragung Es werden die Typen SYNC (0,1 ...
Seite 56
Im ASYNC-Modus muß gegebenenfalls noch die INHIBIT_TIME (Wartezeit) angegeben werden. Andernfalls, kann es bei stark schwankenden Werten zu einer übermäßigen Busbelastung kommen. Sollen strategisch wichtige Werte im ASNC-Modus übertragen werden, kann möglicherweise eine einmalige Übertragung zu unsicher sein. Über Funktionsbaustein PDO_TX_- REFRESH kann von Zeit zu Zeit der wichtige PDO wiederholt werden.
Seite 57
PDO_RX_CONFIG Funktion Library COB.LIB Funktionssymbol Zweck Initialisiert ein Empfangs-PDO im R 360 CANopen-Slave. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet BYTE Nummer des RX-PDO (1 ... 8) WORD Identifier des RX-PDO (ab 380 Hex) TRANS_TYPE BYTE Art der PDO-Übertragung Es werden die Typen SYNC (0, 1 ...
Seite 58
Wird die Funktion PDO_RX_CONFIG in einem CANopen- Master eingesetzt, muß diese vor der Ausführung der Funktion NMM_SET_NMT_MASTER abgearbeitet werden da diese einen internen CANopen-Reset auslöst. Dadurch geht die Masterfunktionalität verloren. Deshalb muß die Initialisierung zweistufig erfolgen (Master-Bootup erst einen Zyklus später starten - siehe Beispielprogramm). Seite 58...
Seite 59
PDO_TX_REFRESH Funktion Library COB.LIB Funktionssymbol Zweck Ein gesendetes TX-PDO wird noch einmal übertragen. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet BYTE Nummer des TX-PDO (1 ... 8) Funktionsausgänge, keine Beschreibung Gerade wenn strategisch wichtige Werte im ASNC-Modus übertragen werden sollen, kann möglicherweise eine einmalige Übertragung zu unsicher sein.
6.9. Der ecomat R 360 als CANopen-Master In einem typischen CANopen-Netzwerk ist ein Netzwerk-Master vorhanden. Die im folgenden Text beschriebenen Funktionen stellen alle Basisdienste zum Aufbau einer Master-Software für die Steuerung ecomat R 360 zur Verfügung. Durch den Einsatz der Funktionen können die Slave-Knoten ins CAN-Netzwerk eingebundenen, konfiguriert und überwacht werden.
Seite 61
NMM_SET_NMT_MASTER Funktion Library COB.LIB Funktionssymbol Zweck Initialisiert das Steuerungsmodul als Master. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet Funktionsausgänge, keine Beschreibung NMM_SET_NMT_MASTER initialisiert Steuerung CANopen-Master. Wird diese Funktion nicht aufgerufen, arbeitet die Steuerung nur als „normaler“ CANopen-Teilnehmer (Slave) im Netzwerk.
Seite 62
NMM_ADD_NODE Funktion Library COB.LIB Funktionssymbol Zweck Initialisiert ein Überwachungsobjekt für den angegebenen Knoten. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE Knotennummer von 1 ... 127 GUARDTIME TIME Zeit zwischen zwei Überwachungsauf- rufen LIFETIME BYTE...
Seite 63
NMM_START_GUARDING Funktion Library COB.LIB Funktionssymbol Zweck Startet das Nodeguarding für einen oder alle initialisierten Knoten. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE alle initialisierten Knoten: 0 initialisierter Knoten: 1 ... 127 Funktionsausgänge Name Datentyp Beschreibung...
Seite 64
NMM_STOP_GUARDING Funktion Library COB.LIB Funktionssymbol Zweck Stoppt das Nodeguarding für einen oder alle initialisierten Knoten. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE alle initialisierten Knoten: 0 initialisierter Knoten: 1 ... 127 Funktionsausgänge Name Datentyp Beschreibung...
Seite 65
NMM_NODE_GUARDING Funktion Library COB.LIB Funktionssymbol Zweck Die Funktion ruft die Überwachung aller initialisierten CANopen- Knoten auf. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet AUTO_RE- BOOL TRUE: Überwachter Knoten wird nach START einem Guarding-Fehler auto- matisch Operational gesetzt.
Seite 66
NMM_SET_PREOPERATIONAL Funktion Library COB.LIB Funktionssymbol Zweck Versetzt einen einzelnen Knoten oder das gesamte Netzwerk in den Zustand „Pre-Operational“. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE alle initialisierten Knoten: 0 initialisierter Knoten: 1 ...
Seite 67
NMM_SET_OPERATIONAL Funktion Library COB.LIB Funktionssymbol Zweck Versetzt einen einzelnen Knoten oder das gesamte Netzwerk in den Zustand „Operational“. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE alle initialisierten Knoten: 0 initialisierter Knoten: 1 ...
Seite 68
NMM_SET_PREPARED Funktion Library COB.LIB Funktionssymbol Zweck Versetzt einen einzelnen Knoten oder das gesamte Netzwerk in den Zustand „Prepared“. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE alle initialisierten Knoten: 0 initialisierter Knoten: 1 ...
Seite 69
NMM_GET_NODE_STATE Funktion Library COB.LIB Funktionssymbol Zweck Gibt den Netzwerkstatus eines CANopen-Knotens zurück. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE alle initialisierten Knoten: 0 initialisierter Knoten: 1 ... 127 Funktionsausgänge Name Datentyp Beschreibung STATE...
Seite 70
NMM_RESET_NODE Funktion Library COB.LIB Funktionssymbol Zweck Setzt die Applikations- und Kommunikationsparameter für einen oder alle Knoten auf die Default-Werte zurück. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE alle initialisierten Knoten: 0 initialisierter Knoten: 1 ...
Seite 71
NMM_RESET_COMM Funktion Library COB.LIB Funktionssymbol Zweck Setzt die Kommunikationsparameter für einen oder alle Knoten auf die Default-Werte zurück. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE alle initialisierten Knoten: 0 initialisierter Knoten: 1 ..
Seite 72
PDO_INI_SEND_SYNC_OBJ Funktion Library COB.LIB Funktionssymbol Zweck Initialisiert das PDO-Sync-Objekt zur synchronen Abtastung von E/A-Daten. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet Funktionsausgänge, keine Beschreibung PDO_INI_SEND_SYNC_OBJ initialisiert das SYNC-Objekt zur synchronen Abtastung von Daten im CANopen-Netzwerk (siehe auch 6.7.
Seite 73
PDO_SEND_SYNC_OBJ Funktion Library COB.LIB Funktionssymbol Zweck Sendet das Synchronisations-Objekt Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet Funktionsausgänge Name Datentyp Beschreibung RESULT BOOL TRUE: Funktion wurde erfolgreich abge- arbeitet Beschreibung PDO_SEND_SYNC_OBJ setzt SYNC-Objekt CANopen-Netzwerk ab.
Seite 74
Fehlerregisters (REGISTER) kann dann der aufgetretene Fehler analysiert werden. Am Ausgang DATA stehen zusätzlich noch die herstellerspezifischen Informationen des Knotens zur Verfügung. Bei den E-/A-Modulen der ifm electronic erhält man so z.B. Informationen über einen Leiterbruch oder Kurzschluß an den Ausgängen.
Seite 75
SDO_READ Funktion Library COP.LIB Funktionssymbol Zweck Liest das SDO mit den angegebenen Indizes aus dem Knoten aus. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE Nummer das Knotens WORD Index im Objektverzeichnis SUBIDX WORD Subindex bezogen auf den Index im Ob-...
Seite 76
Der Eingang ENABLE steuert die Ausführung der Funktion. Da aber mit jedem Aufruf der Funktion das Datenarray übergeben wird, belastet auch bei ENABLE=FALSE die Funktion den Steuerungszyklus. Daher sollte SDO_READ, wenn die Funktion nicht genutzt wird, übersprungen werden. Der Wert für LENGTH sollte der Länge des erwarteten Daten- Objektes entsprechen.
Seite 77
SDO_WRITE Funktion Library COP.LIB Funktionssymbol Zweck Schreibt das SDO mit den angegebenen Indizes in den Knoten. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NODE BYTE Nummer das Knotens WORD Index im Objektverzeichnis SUBIDX WORD Subindex bezogen auf den Index im Ob-...
Seite 78
Der Eingang ENABLE steuert die Ausführung der Funktion. Da aber mit jedem Aufruf der Funktion das Datenarray übergeben wird, belastet auch bei ENABLE=FALSE die Funktion den Steuerungszyklus. Daher sollte SDO_WRITE, wenn Funktion nicht genutzt wird, übersprungen werden. Der Wert für LENGTH muß mit der Länge des Sendearray übereinstimmen.
Sprache ST geschrieben. Dadurch können diese, wenn gewünscht, noch erweitert bzw. verändert werden (Quellcode NMT_MSTR.PRO) Speziell zur Konfiguration und zur Auswertung der E/A-Module der ifm electronic, dienen die anderen Funktionen. Die Funktion SLAVE_8_CONFIG ermöglicht Programmierer Knotenkonfiguration der Ein- und Ausgänge direkt aus der Applikationssoftware einzustellen bzw.
Seite 80
Dabei beschreibt die letzte Stelle der Wortadresse den Anschluß des Knotens Nr 1 - 8 (0 - 7) und die zweite und dritte Stelle die Knotennummer 1 - 32 (1 - 20 Hex). Standardmäßig ist der vordefinierte Adressbereich für 32 E/A-Module ausgelegt. Grundsätzlicher Programmaufbau Um in einer Steuerungsapplikation die E/A-Module zu nutzen, kann folgender Programmaufbau eingesetzt werden.
Seite 81
COP_MSTR_BOOTUP Funktion Library NMT_MSTR.LIB Funktionssymbol Zweck Initialisiert das Steuerungsmodul als CANopen NMT-Master und alle angeschlossenen E/A-Knoten. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NO_NODE BYTE Anzahl der angeschlossenen Knoten ohne NMT-Master GUARDTIME TIME Guardzeit zur Knotenüberwachung LIFETIME...
Seite 82
COP_MSTR_MAIN Funktion Library NMT_MSTR.LIB Funktionssymbol Zweck Erzeugt zyklisch das Sync-Objekt und überwacht die angeschlossenen Knoten Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet NO_NODE BYTE Anzahl der angeschlossenen Knoten ohne NMT-Master SYNC_TIME TIME Zeit zwischen zwei SYNC-Objekten zur synchronen Abtastung von Daten AUTO_...
Seite 83
Über den Funktionseingang AUTO_OPERATIONAL kann der automatische Neustart eines Knotens nach einem Guarding- Fehler angewählt werden. Ist AUTO_OPERATIONAL auf TRUE gesetzt, wird nach Beseitigung der Störung, der entsprechende Knoten wieder in den Modus OPERATIONAL gesetzt. Dadurch nimmt er direkt wieder am PDO-Austausch teil (E/A-Daten werden gelesen und geschrieben).
Seite 84
SLAVE_8_CONFIG Funktion Library CRxxxx.LIB Funktionssymbol Zweck Parametriert bzw. liest die Konfiguration eines E/A-Moduls. Parameter Funktionseingänge Name Datentyp Beschreibung NODE_ID BYTE Knotennummer CHANNEL_1 BYTE Konfigurationsparameter für Kanal 1 0 = AUS, 1 = binär Eingang CHANNEL_2 BYTE Konfigurationsparameter für Kanal 2 0 = AUS, 2 = binär Ausgang 3 = analog Eing., 4 analog Ausg.
Seite 85
Funktionsausgänge Name Datentyp Beschreibung CFG_RESULT BYTE 1 = Konfiguration wurde erfolgreich gelesen oder geschrieben 2 = Konfiguration noch nicht gelesen oder geschrieben CHANNEL_1_ BYTE aktuelle Konfigurationsparameter für Kanal 1 CHANNEL_2_ BYTE aktuelle Konfigurationsparameter für Kanal 2 CHANNEL_3_ BYTE aktuelle Konfigurationsparameter für Kanal 3 CHANNEL_4_ BYTE aktuelle Konfigurationsparameter für...
Seite 86
SLAVE_8_WORK Funktion Library CRxxxx.LIB Funktionssymbol Zweck Parametriert bzw. liest die Konfiguration eines E/A-Moduls. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet INIT BOOL TRUE: Funktion wird initialisiert FALSE: Daten werden aktualisiert NODE BYTE Knotennummer Funktionsausgänge...
PWM im ecomat R 360 PWM steht als Abkürzung für die Puls-Weiten-Modulation. Sie wird im Bereich der Steuerungen für den mobilen und robusten Einsatz hauptsächlich zur Ansteuerung von proportionalen Ventilen (PWM-Ventilen) genutzt. Ferner kann durch eine entsprechende Zusatzbeschaltung (Zubehör) eines PWM- Ausganges aus dem pulsweitenmodulierten Ausgangssignal eine analoge Ausgangsspannung erzeugt werden.
Seite 88
PWM oder PWM100 Je nach Einsatzsatzfall und gewünschter Auflösung kann bei der Applikationsprogrammierung zwischen den Funktionen PWM und PWM100 gewählt werden. Bei Einsatz der Reglerfunktionen, wird eine hohe Genauigkeit und damit Auflösung benötigt. Daher wird in diesem Fall die mehr technische PWM-Funktion genutzt.
Seite 89
Berechnung des RELOAD-Wertes Der Reloadwert des internen PWM-Zählers berechnet sich in Abhängigkeit des Einganges DIV64 wie folgt: DIV64 = 0: f = 10,00 MHz / Reload DIV64 = 1: f = 156,25 kHz / Reload Je nachdem ob eine hohe oder niedrige PWM-Frequenz benötigt wird, muß...
Seite 90
Berechnung des RELOAD-Wertes Der Reloadwert des internen PWM-Zählers berechnet sich in Abhängigkeit des Einganges DIV64 wie folgt: DIV64 = 0: f = 2,50 MHz / (10000 Hex - Reload) DIV64 = 1: f = 156,25 kHz / (10000 Hex - Reload) Je nachdem ob eine hohe oder niedrige PWM-Frequenz benötigt wird, muß...
Seite 91
Die Funktion PWM_DITHER muß einmalig für jeden PWM- Ausgang initialisiert werden. Dabei kann das DELTA individuell gewählt werden. Die Dither-Frequenz kann bei den Kanälen 0 ... 3 unterschiedlich, bei den Kanälen 4 ...7 muß sie gleich sein. Strommessung bei PWM-Kanälen Über die in die Steuerung integrierten Analogeingänge kann eine Strommessung des Spulenstroms durchgeführt werden.
Seite 92
Funktion Library CRxxxx.LIB Funktionssymbol Zweck Die Funktion wird zur Initialisierung und Parametrierung der PWM-Ausgänge genutzt. Parameter Funktionseingänge Name Datentyp Beschreibung INIT BOOL TRUE: PWM-Ausgang wird initialisiert FALSE: PWM-Ausgang werden neue Werte zugewiesen RELOAD WORD Wert zur Festlegung der PWM-Frequenz DIV64 BOOL CPU-Takt / 64 CHANNEL BYTE...
Seite 93
Der RELOAD-Wert muß für die Kanäle 4 ... 7 gleich sein. Außerdem dürfen bei diesen Kanälen die Funktionen PWM und PWM100 nicht gemischt werden. Die PWM-Frequenz (und damit der RELAOD-Wert) ist intern auf 10 kHz begrenzt. Je nachdem ob eine hohe oder niedrige PWM-Frequenz benötigt wird, muß...
Seite 94
PWM100 Funktion Library CRxxxx.LIB Funktionssymbol Zweck Die Funktion wird zur Initialisierung und Parametrierung der PWM-Ausgänge genutzt. Parameter Funktionseingänge Name Datentyp Beschreibung INIT BOOL TRUE: PWM100 wird initialisiert FALSE: im zyklischen Programmablauf FREQUENCY WORD PWM-Frequenz in Hz CHANNEL BYTE aktueller PWM-Kanal/Ausgang VALUE BYTE aktueller PWM-Wert...
Seite 95
Der FREQUENCY-Wert muß für die Kanäle 4 ... 7 gleich sein. Außerdem dürfen bei diesen Kanälen die Funktionen PWM und PWM100 nicht gemischt werden. Die PWM-Frquenz ist intern auf 10 kHz begrenzt. Während des zyklischen Programmablaufes ist INIT auf FALSE gesetzt.
Seite 96
FAST_ANALOG Funktion Library CRxxxx.LIB Funktionssymbol Zweck Die Funktion ermöglicht das PWM-synchrone Erfassen eines Analogwertes. Das Ergebnis ist der Mittelwert über eine PWM- Frequenzperiode. Parameter Funktionseingänge Name Datentyp Beschreibung PWM_ BYTE überwachter PWM-Kanal CHANNEL ANALOG_ BYTE messender Analogkanal CHANNEL Funktionsausgang Name Datentyp Beschreibung WORD gemittelter Analogwert über eine PWM-...
Schnelle Zähler im ecomat R 360 Die Steuerung ecomat R 360 hat insgesamt 8 schnelle Eingänge, die Eingangsfrequenzen bis zu 50 kHz verarbeiten können. Neben reinen Frequenzmessung Eingängen FRQ 0 ... FRQ 3, können die Eingänge ENC 0 bis ENC 3 auch zur Auswertung von Drehgebern (Zählerfunktion) mit einer maximalen Frequenz von 10 kHz eingesetzt werden.
Seite 98
FREQUENCY Funktion Library CRxxxx.LIB Funktionssymbol Zweck Die Funktion FREQUENCY mißt die anstehende Signalfrequenz am angegeben Kanal. Parameter Funktionseingänge Name Datentyp Beschreibung INIT BOOL TRUE: FREQUENCY wird initialisiert FALSE: im zyklischen Programm ablauf CHANNEL BYTE Nummer des Eingangs (0 ... 3) TIMEBASE TIME Zeitbasis Funktionsausgang...
Seite 99
INC_ENCODER Funktion Library CRxxxx.LIB Funktionssymbol Zweck Vorwärts-/Rückwärts Zählerfunktion zur Auswertung von Drehgebern Parameter Funktionseingänge Name Datentyp Beschreibung INIT BOOL TRUE: INC_ENCODER wird initialisiert FALSE: im zyklischen Programmablauf CHANNEL BYTE Nummer des Eingangspaares (0 ... 3) PRESET_ DINT Voreinstellwert des Zähles VALUE PRESET BOOL...
Sonstige Funktionen im ecomat R 360 9.1. Software-Reset SOFTRESET Funktion Library CRxxxx.LIB Funktionssymbol Zweck Die Funktion SOFTRESET führt einen kompletten Neustart der Steuerung aus. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird abgearbeitet FALSE: Funktion wird nicht abgearbeitet Funktionsausgänge, keine Beschreibung SOFTRESET führt einen kompletten Neustart der Steuerung...
9.2. Daten im Speicher sichern und lesen Automatische Datensicherung Die Steuerung ecomat R 360 bietet die Möglichkeit Daten (BOOL, BYTE, WORD, DWORD) remanent im Flash-Speicher zu sichern. Bei Abfall der Versorgungsspannung, wird der Sicherungsvorgang automatisch gestartet. Voraussetzung ist, daß die Daten im Merkerbereich MB0 ... MB239 abgelegt werden.
Seite 103
MEMCPY Funktion Library CRxxxx.LIB Funktionssymbol Zweck Die Funktion MEMCPY ermöglicht das Schreiben und Lesen unterschiedlicher Datentypen direkt in den Speicher. Parameter Funktionseingänge Name Datentyp Beschreibung DWORD Adresse der Zielvariablen DWORD Adresse der Quellvariablen WORD Anzahl der Datenbytes Funktionsausgänge, keine Beschreibung MEMCPY schreibt den Inhalt der Adresse von SRC an die Adresse DST.
Seite 104
E2WRITE Funktion Library CRxxxx.LIB Funktionssymbol Zweck Die Funktion E2WRITE schreibt einen Datenblock in das serielle EEPROM. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt Funktionsausgänge Name Datentyp Beschreibung RESULT BYTE 0 = Funktion ist inaktiv 1 = Funktion ist beendet 2 = Funktion arbeitet Beschreibung...
Seite 105
E2READ Funktion Library CRxxxx.LIB Funktionssymbol Zweck Die Funktion E2READ liest einen Datenblock aus dem seriellen EEPROM aus. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt Funktionsausgänge Name Datentyp Beschreibung RESULT BYTE 0 = Funktion ist inaktiv 1 = Funktion ist beendet 2 = Funktion arbeitet Beschreibung...
9.3. Nutzung der seriellen Schnittstelle SERIAL_TX Funktion Library CRxxxx.LIB Funktionssymbol Zweck Überträgt eine Datenbyte über die serielle RS232-Schnittstelle. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Übertragung freigegeben FALSE: Übertragung gesperrt DATA BYTE zu übertragende Byte-Date Funktionsausgänge, keine Beschreibung SERIAL_TX überträgt die Datenbyte DATA über die serielle Schnittstelle.
Seite 107
SERIAL_RX Funktion Library CRxxxx.LIB Funktionssymbol Zweck Liest eine empfangene Datenbyte aus dem seriellen Empfangspuffer aus. Parameter Funktionseingänge Name Datentyp Beschreibung CLEAR BOOL TRUE: Empfangspuffer wird gelöscht FALSE: Default-Zustand Funktionsausgänge Name Datentyp Beschreibung BYTE empfangene Byte-Date aus dem Emp- fangspuffer AVAILABLE WORD Anzahl der empfangenen Datenbytes OVERFLOW BOOL...
Seite 108
SERIAL_PENDING Funktion Library CRxxxx.LIB Funktionssymbol Zweck Die Funktion ermittelt die Anzahl der im seriellen Empfangspuffer gespeicherten Datenbytes. Parameter Funktionseingänge, keine Funktionsausgang Name Datentyp Beschreibung NUMBER WORD Anzahl der empfangenen Datenbytes Beschreibung SERIAL_PENDING ermittelt die Anzahl der empfangenen Datenbytes im Empfangspuffer. Im Gegensatz zur Funktion SERIAL_RX bleibt der Inhalt des Puffers nach Aufruf dieser Funktion unverändert.
Seite 109
ISO 9141-Schnittstelle Die serielle Schnittstelle kann auch als Diagnoseschnittstelle nach ISO 9141 genutzt werden. Über den Systemmerker ISO_DIRECTION kann zwischen ´Daten senden´ und ´Daten empfangen´ umgeschaltet werden. Bei der ISO-Schnittstelle handelt es sich um eine besondere Form der seriellen Schnittstelle zur Kommunikation mit Diagnoseschnittstellen im Fahrzeug.
9.4. Auslesen der Systemzeit TIMER_READ Funktion Library CRxxxx.LIB Funktionssymbol Zweck Es wird die aktuelle Systemzeit in Sekunden ausgelesen. Parameter Funktionseingänge, keine Funktionsausgang Name Datentyp Beschreibung TIME Aktuelle Systemzeit in Sekunden Beschreibung Mit Anlegen der Versorgungsspannung wird geräteintern ein Zeittakt gebildet, und in einem Register aufwärts gezählt. Dieses Register kann mittels des Funktionsaufrufes ausgelesen werden und z.B.
Seite 111
TIMER_US_READ Funktion Library CRxxxx.LIB Funktionssymbol Es wird die aktuelle Systemzeit in µSekunden ausgelesen. Zweck Parameter Funktionseingänge, keine Funktionsausgang Name Datentyp Beschreibung DWORD Aktuelle Systemzeit in µSekunden TIME_US Beschreibung Mit Anlegen der Versorgungsspannung wird geräteintern ein Zeittakt gebildet, und in einem Register aufwärts gezählt. Dieses Register kann mittels des Funktionsaufrufes ausgelesen werden und z.B.
9.5. Variablenbearbeitung NORM Funktion Library CRxxxx.LIB Funktionssymbol Zweck Normiert einen Wert innerhalb festgelegter Grenzen auf einen Wert mit neuen Grenzen. Parameter Funktionseingänge Name Datentyp Beschreibung WORD Ausgangswert WORD untere Grenze des Eingangswertebereich WORD obere Grenze des Eingangswertebereich WORD untere Grenze des Ausgangswertebereich WORD obere Grenze des Ausgangswertebereich Funktionsausgang...
10. Regler-Funktionen im ecomat R 360 Die Regelung ist ein Vorgang, bei dem die zu regelnde Größe (Regelgröße x) fortlaufend erfaßt und mit der Führungsgröße verglichen wird. In Abhängigkeit vom Ergebnis dieses Ver- gleiches wird zur Angleichung an die Führungsgröße die Regelgröße beeinflußt.
Seite 114
Regelstrecken ohne Ausgleich Regelstrecken mit einem Verstärkungsfaktor gegen unendlich, werden als Regelstrecken ohne Ausgleich bezeichnet. Dieses ist meistens auf ein integrierendes Verhalten zurückzuführen. Diese hat zur Folge, daß nach der Änderung der Stellgröße oder durch Einfluß einer Störgröße, die Regelgröße stetig wächst.
10.1. Einstellregel für einen Regler Für Regelstrecken, deren Zeitkonstanten nicht bekannt sind, ist das Einstellverfahren nach Ziegler und Nickols im geschlos- senen Regelkreis vorteilhaft. Einstellregel Die Regeleinrichtung wird zunächst als eine reine P-Regel- einrichtung betrieben. Dazu wird die Vorhaltezeit TV auf 0 und die Nachstellzeit TN auf einen sehr großen Wert (ideal auf ∞) für eine träge Strecke eingestellt.
Seite 116
DELAY Funktion Library CRxxxx.LIB Funktionssymbol Zweck Verzögert die Ausgabe des Eingangswertes um die Zeit T (Totzeit-Glied). Parameter Funktionseingang Name Datentyp Beschreibung WORD Eingangswert TIME Verzögerungszeit (Totzeit) Funktionsausgänge Name Datentyp Beschreibung WORD Eingangswert verzögert um die Zeit T Beschreibung Die Funktion DELAY wird genutzt um einen Eingangswert um die Zeit T zu verzögern.
Seite 117
Funktion Library CRxxxx.LIB Funktionssymbol Zweck Regelstrecke mit Verzögerung 1. Ordnung. Parameter Funktionseingänge Name Datentyp Beschreibung WORD Eingangswert TIME Verzögerungszeit (Zeitkonstante) Funktionsausgang Name Datentyp Beschreibung WORD Ausgangsvariable Beschreibung Bei der Funktion PT1 handelt es sich um eine proportionale Regelstrecke mit Verzögerung. Sie wird z.B. zur Bildung von Rampen bei Einsatz der PWM-Funktionen genutzt.
Seite 118
Funktion Library CRxxxx.LIB Funktionssymbol Zweck PID-Regler Parameter Funktionseingänge Name Datentyp Beschreibung WORD Istwert WORD Sollwert XMAX WORD Maximalwert des Sollwertes BYTE Konstante des P-Anteils (/10) TIME Nachstellzeit (I-Anteil) BYTE Proportionalanteil des D-Anteils (/10) TIME Vorhaltezeit (D-Anteil) BOOL Selbstoptimierung Funktionsausgang Name Datentyp Beschreibung WORD Stellgröße...
Seite 119
Eine Führungsgröße wird intern zum Stellwert hinzuaddiert: Y = Y + 65536 - (XS / XMAX * 65536). Die Stellgröße y hat folgenden zeitlichen Verlauf. Typische Sprungantwort eines PID-Reglers Seite 119...
Seite 120
Einstellempfehlung: • TN gemäss des Zeitverhaltens der Strecke wählen (schnelle Strecke = kleines TN, träge Strecke = großes TN) • KP langsam, schrittweise erhöhen bis zu einem Wert, bei dem noch sicher kein Schwingen auftritt. • TN evt. nachjustieren • Nur bei Bedarf D-Anteil hinzufügen: TV ca. 2 - 10 mal kleiner als TN wählen.
Seite 121
Beispiel PI-Regler an einer simulierten Strecke. SO = FALSE. Das Beispiel zeigt das Überschwinger auftreten, außerdem tritt auch eine Regelbereichsspreizung auf. Bedingt durch die kleine Regelgrösse ist das Signal 'stufig'. SO = TRUE Es treten keine Überschwinger mehr auf. Seite 121...
Seite 122
Beispiel Drehzahlregelung mit PID-Regeler Merkmale: • 2-fache Regelbereichsspreizung • Selbst-Optimierung • Anpassung des Reglerausgangs Y an einen PWM- Funktionsbaustein. • TN wurde an das relativ träge Verhalten der Strecke (Schwungmasse!) angepaßt. • Trotz des D-Anteils ist das Überschwingen relativ gering. Besonderheit Der Motor des Beispiels erreicht bereits mit 20 % PWM seine maximale Drehzahl.
Seite 123
Beispiel P-Regler Dieser P-Regler wird aus einem 2-Punkt-Regler mit PT1- Rückführung und nachgeschaltetem PT1-Glied gebildet. Die Regelstrecke wird simuliert. Dieser Regler zeichnet sich durch besondere Robustheit aus damit für schwierige Strecken geeignet. Man beachte die gewollte Eigenschwingung des Reglers, hervorgerufen durch seine interne Rückführung. Das zunächst grobe Schaltverhalten des 2-Punkt-Reglers wird verfeinert und die Schaltfrequenz nimmt zu.
Seite 124
Funktion Library CRxxxx.LIB Funktionssymbol Zweck Gleichlauf-Regler Parameter Funktionseingänge Name Datentyp Beschreibung WORD Istwert Kanal 1 WORD Istwert Kanal 2 WORD Sollwert = Führungsgröße XMAX WORD Maximalwert des Sollwertes BYTE Konstante des P-Anteils (/10) TIME Nachstellzeit (I-Anteil) BYTE Propottionalanteil des D-Anteils (/10) TIME Vorhaltezeit (D-Anteil) Funktionsausgänge...
Führungsgrösse = 65536 - (XS / XMAX * 65536). 11. Funktionen für das ecomat tdm R 360 Das ecomat tdm R 360 ist eine grafikfähige freiprogrammier- bare Dialoggeräteserie zur Anzeige von Daten, Texten, Grafiken und Meldungen. Die im folgenden beschriebenen Funktionen behandeln nicht die Programmierung dieser Geräte, sondern nur die notwendigen Funktionen zum Datenaustausch mit dem Steuerungssystem...
Seite 126
Funktionsgruppen Man kann die Funktionen in folgende Gruppen einteilen: • Datenaustausch, TDM_DATA_TRANSFER TDM_CONFIG Variablendefinition TDM_READ_INTERN von Soll- und Ist- TDM_WRITE_INTERN werten • Setzen und rückset- TDM_PICTURE TDM_MESSAGE zen von SPS- TDM_REFRESH Bildern und Mel- dungen • Abfrage und Aus- TDM_CONTROL_STATUS_REPORT TDM_REQUEST_STATUS wertung des Gerä- TDM_REPORT_STATUS...
11.1. Datenaustausch und Variablendefinition TDM_CONFIG Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion dient der Definition von Datenobjekten (Variablen) in der Initialisierung, die im tdm R 360 angezeigt werden sollen. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt ADDRESS DINT Adresse der Variablen...
Seite 128
RESULT zeigt an, ob der Aufruf der Funktion erfolgreich war. Ohne einen einmaligen, erfolgreichen Aufruf der Funktion für jede auszutauschende Variable, können keine Soll- und Istwerte aus der Steuerung im Display angezeigt werden. Seite 128...
Seite 129
TDM_DATA_TRANSFER Funktion Library TDM.LIB Funktionssymbol Zweck Diese Funktion wickelt den kompletten Datenaustausch zwischen dem tdm R 360 und dem Steuerungsmodul ab. Parameter Funktionseingänge Name Datentyp Beschreibung INIT BOOL TRUE: Funktionsinitialisierung FALSE: zyklischer Funktionsaufruf Funktionsausgänge, keine Beschreibung TDM_DATA_TRANSFER ist für die komplette Kommuni- kation zwischen Display...
Seite 130
TDM_READ_INTERN Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion liest eine interne tdm R 360 Variable aus. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt HANDLE WORD Bezeichnung (Nummer) der internen Varia- blen im tdm R 360 Funktionsausgänge Name Datentyp Beschreibung...
Seite 131
TDM_WRITE_INTERN Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion schreibt eine interne Variable an das tdm R 360. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt HANDLE WORD Bezeichnung (Nummer) der internen Varia- blen im tdm Funktionsausgänge Name...
11.2. Setzen und rücksetzen von Bildern und Meldungen TDM_PICTURE Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion setzt bzw. setzt ein SPS-Bild zurück. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt NUMBER BYTE tdm-Bildnummer BOOL TRUE:...
Seite 133
TDM_MESSAGE Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion setzt bzw. setzt eine Meldung zurück. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt NUMBER BYTE tdm-Bildnummer BOOL TRUE: Meldung wird angezeigt (gesetzt) FALSE: Meldung wird nicht angezeigt (rückgesetzt) Funktionsausgänge, keine Beschreibung...
Seite 134
TDM_REFRESH Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion frischt den aktuellen Status der Bilder und Meldungen zwischen Steuerung und dem Display auf. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt Funktionsausgänge, keine Beschreibung Z.B.
11.3. Der Gerätestatus und die LEDs TDM_CONTROL_STATUS_REPORT Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion aktiviert bzw. deaktiviert den automatischen Status-Report des tdm R 360. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt BOOL TRUE: automatischer Statusreport ist...
Seite 136
TDM_REQUEST_STATUS Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion fragt einmalig den aktuellen Status-Report des tdm R 360 ab. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt MODE BYTE Wert zur Auswahl der Rückgabeparameter Funktionsausgänge, keine Beschreibung Der Statusreport stellt der Applikationssoftware alle relevanten...
Seite 137
TDM_REPORT_STATUS Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion zeigt den aktuellen Status-Report des tdm R 360 Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: neue Daten empfangen FALSE: Funktion wird nicht ausgeführt RESET BOOL TRUE: setzt den Ausgang RECEIVED auf FALSE Funktionsausgänge Name Datentyp...
Seite 138
TDM_REPORT_KEYDATA Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion zeigt den aktuellen Tasten-Status des tdm R 360 Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt RESET BOOL TRUE: setzt den Ausgang RECEIVED auf FALSE Funktionsausgänge Name Datentyp...
Seite 139
Beschreibung Funktion TDM_REPORT_KEYDATA kann zyklisch aufgerufen werden. Sie überträgt den aktuellen Tasten und LED-Status. TA0 ... TA7 stellen den Tasten/LED-Status in Bytes (d.h. bitorientiert) zur Verfügung. Über CTRL wird ausgewählt welche Tasten/LED-Gruppe abgefragt werden soll. Die einzelnen Zahlenwerte sind dem tdm R 360 Handbuch zu entnehmen.
Seite 140
TDM_LED Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion aktiviert bzw. deaktiviert die tdm-LEDs Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt CONTROL BYTE Steuerparameter zum Setzen/ Rücksetzen der LEDs NUMBER BYTE LED-Maskennummer oder einzelne LED-Nummer VALUE BYTE...
Seite 141
TDM_SINGLE_LED_ON_OFF Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion aktiviert bzw. deaktiviert eine einzelne tdm-LED Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt BOOL TRUE: LED eingeschaltet FALSE: LED ausgeschaltet NUMBER BYTE einzelne LED-Nummer Funktionsausgänge, keine Beschreibung Mit TDM_SINGLE_LED_ON_OFF kann eine einzelne LED ein-...
11.4. Gerätekontrolle TDM_PARAM Funktion Library TDM.LIB Funktionssymbol Zweck Die Funktion überwacht und überträgt die Geräteparameter zur Grundeinstellung des Displays. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt BYTE Parametriercode VALUE BYTE Zusatzwert, muß je nach Parametrier- code noch angegeben werden.
Seite 143
TDM_RESET Funktion Library TDM.LIB Funktionssysmbol Zweck Die Funktion setzt alle Geräteparameter des tdm R 360, in die Grundstellung zurück. Parameter Funktionseingänge Name Datentyp Beschreibung ENABLE BOOL TRUE: Funktion wird ausgeführt FALSE: Funktion wird nicht ausgeführt Funktionsausgänge, keine Beschreibung Das Display wird neu gestartet. Es verhält sich dabei so, als ob die Spannung aus- und wieder eingeschaltet wird.
Anhang 1.6. CANopen Geräteschnittstelle ecomat R 360 • Das Gerät wird die Geräteklasse „Programmable Device“ entsprechend CiA DS 405 eingeordnet und gekennzeichnet. • Es werden 1 Server SDO und die 4 Default PDOs gemäß CiA DS 401 eingerichtet. Die Default - Identifier sind ensprechend des „predefined connection set“...
Anhang 1.7. Objektverzeichnis des ecomat R 360 Anhang 1.7.1. Datenbereich Kommunikationsprofil, Index 1000 bis 1FFF Index S-Idx Name Default Beschreibung 1000 device type u32, ro 0x195 Prof. 405; Progammierbares Gerät 1001 error register Bitcodiert gemäß Prof. 301; unterstützt wird: 0b0000 0000 kein Fehler 0b0000 0001 generic error 0b0001 0000 communication error...
Seite 153
Index S-Idx Name Default Beschreibung • E/A-Modul reagiert nicht auf 1014 COB ID Emergcy u32 rw 0x40000080 +Node ID fremde EMCY Message (Bit 31 = 0) • E/A-Modul generiert EMCY Message (Bit 30 = 1) • 11 Bit ID (Bit 29 = 0) •...
Seite 154
Index S-Idx Name Default Beschreibung 1405 Receive PDO 6 0x02 Anzahl der Einträge RX PDO 6 • PDO ist gültig (Bit 31 = 0) COB ID u32 rw 0x385 • CAN ID des 6. RX PDOs Trans Type 0xFF zulässige Werte wie bei RX PDO1 1406 Receive PDO 7...
Seite 155
Index S-Idx Name Default Beschreibung 1603 Mapping Receive PDO 4 u32 ro 0x04 Anzahl der eingebundenen Appl. Objekte Index im u32 ro 0x5830 01 in 5830 SIdx 01 steht 1. Word Objekverzeichniss Empfangsdaten RX PDO 4 Index im u32 ro 0x5830 02 in 5830 SIdx 02 steht 2.
Seite 156
Index S-Idx Name Default Beschreibung 1800 Transmit PDO 1 0x02 Anzahl der Einträge TX PDO 1 • PDO ist gültig (Bit 31 = 0) COB ID u32 rw 0x180 + • CAN ID des 1. TX PDOs Node ID • 0x00 = synch acyclic Trans Type 0xFF •...
Seite 157
Index S-Idx Name Default Beschreibung 1A00 Mapping Transmit PDO 1 u32 ro 0x04 Anzahl der eingebundenen Appl. Objekte Index im u32 ro 0xA100 01 in A100 SIdx 01 steht 1. Word Objekverzeichniss Sendedaten TX PDO 1 Index im u32 ro 0xA100 02 in A100 SIdx 02 steht 2.
Seite 158
Index S-Idx Name Default Beschreibung 1A05 Mapping Transmit PDO 6 u32 ro 0x04 Anzahl der eingebundenen Appl. Objekte Index im u32 ro 0xA105 01 in A105 SIdx 01 steht 1. Word Objekverzeichniss Sendedaten TX PDO 6 Index im u32 ro 0xA105 02 in A105 SIdx 02 steht 2.
Anhang 1.7.2. Bereich herstellerspezifische Daten, Index 2000 bis 5FFF Index S-Idx Name Default Beschreibung 2000 Retain Data dom. rw Maximal 256 Byte Daten, die im Retain-Merkerbereich zwi- schen %MW0 ... %MW127 abgelegt werden. 20F0 Einstellung Node ID 0x20 Node ID unter dem das E/A- Modul im CANopen Netz an- gesprochen wird.