Objekte und Daten
Gerätetyp
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1000 |
0 |
Device Type |
Unsigned32 |
ro |
N |
0x00000000 |
Angabe des Gerätetyps |
Der 32Bit-Wert ist in zwei 16Bit-Felder unterteilt:
MSB |
LSB |
---|---|
Additional Information |
Geräteprofil-Nummer |
0000 0000 0000 wxyz |
0x191 (401dez) |
Die Additional Information enthält Angaben über die Signalarten des E/A-Gerätes:
z=1 bedeutet digitale Eingänge,
y=1 bedeutet digitale Ausgänge,
x=1 bedeutet analoge Eingänge,
w=1 bedeutet analoge Ausgänge.
Ein BK5120 mit digitalen und analogen Eingängen, aber ohne Ausgänge, liefert also 0x00 05 01 91 zurück.
Sonderklemmen (z.B. serielle Schnittstellen, PWM-Ausgänge, Inkrementalencoder-Eingänge) werden nicht berücksichtigt. Ein Koppler, der z.B. nur serielle Schnittstellenklemmen KL6001 bestückt hat, liefert also 0x00 00 01 91 zurück.
Der Gerätetyp liefert nur eine grobe Klassifizierung des Gerätes. Für die detaillierte Identifizierung des Buskopplers und der angesteckten Klemmen kann das Klemmenbezeichnungs-Register des Buskopplers gelesen werden (Details siehe Register-Kommunikation Index 0x4500).
Fehlerregister
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1001 |
0 |
Error Register |
Unsigned8 |
ro |
N |
0x00 |
Fehlerregister |
Der 8Bit-Wert ist wie folgt kodiert:
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
---|---|---|---|---|---|---|---|
ManSpec. |
reserviert |
reserviert |
Comm. |
reserviert |
reserviert |
reserviert |
Generic |
ManSpec. Herstellerspezifischer Fehler, wird in Objekt 1003 genauer spezifiziert.
Comm. Kommunikationsfehler (Overrun CAN)
Generic Ein nicht näher spezifizierter Fehler ist aufgetreten (Flag ist bei jeder Fehlermeldung gesetzt)
Fehlerspeicher
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1003 |
0x00 |
Predefined error field (Fehlerspeicher) |
Unsigned8 |
rw |
N |
0x00 |
Objekt 1003h enthält eine Beschreibung der im Gerät aufgetretenen Fehler - Subindex 0 die Anzahl der gespeicherten Fehlerzustände. |
1 |
Actual error |
Unsigned32 |
ro |
N |
Keiner |
Letzter aufgetretener Fehlerzustand | |
... |
... |
... |
-- |
... |
... |
... | |
10 |
Standard error field |
Unsigned32 |
ro |
N |
Keiner |
Es werden maximal 10 Fehlerzustände gespeichert. |
Der 32Bit-Wert im Fehlerspeicher ist in zwei 16Bit-Felder unterteilt:
MSB |
LSB |
---|---|
Additional Code |
Error Code |
Der Additional Code enthält den Error Trigger (siehe Emergency-Objekt) und damit eine detaillierte Fehlerbeschreibung.
Neue Fehler werden jeweils an Subindex 1 gespeichert, alle anderen Sub-indices werden entsprechend inkrementiert. Durch Schreiben einer 0 auf Subindex 0 wird der gesamte Fehlerspeicher gelöscht.
Wenn kein Fehler seit dem Power-On aufgetreten ist, dann besteht Objekt 0x1003 nur aus Subindex 0 mit eingetragener 0. Durch einen Reset oder Power Cycle wird der Fehlerspeicher gelöscht.
Wie bei CANopen üblich wird das LSB zuerst und das MSB zuletzt übertragen.
Sync Identifier
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1005 |
0 |
COB-ID Sync Message |
Unsigned32 |
rw |
N |
0x80000080 |
Identifier der SYNC-Nachricht |
Die unteren 11 Bit des 32-Bit Wertes enthalten den Identifier (0x80=128dez). Bit 30 gibt Auskunft, ob das Gerät das SYNC-Telegramm sendet (1) oder nicht (0). Die CANopen E/A Geräte empfangen das SYNC Telegramm, dementsprechend ist Bit 30=0. Bit 31 ist aus Gründen der Abwärtskompatibilität ohne Bedeutung.
Sync Intervall
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1006 |
0 |
Communication cycle period |
Unsigned32 |
rw |
N |
0x00000000 |
Länge des SYNC-Intervalls in µs. |
Wenn hier ein Wert ungleich Null eingetragen wird, so geht der Busknoten in den Fehlerzustand, wenn beim synchronen PDO-Betrieb innerhalb der Watchdog-Zeit kein SYNC-Telegramm empfangen wurde. Die Watchdog- Zeit entspricht hierbei dem 1,5-fachen der eingestellten communication cycle period - es kann also der vorgesehene SYNC-Abstand eingetragen werden.
Das E/A Update wird bei den Beckhoff CANopen Busknoten direkt nach Empfang des SYNC Telegramms durchgeführt, wenn folgende Voraussetzungen gegeben sind:
- Firmwarestand ab C0 (ab CANopen Version 4.01).
- alle PDOs, die über Daten verfügen, auf die synchrone Kommunikationsart eingestellt (0..240).
- Sync Intervall in Objekt 0x1006 eingetragen und (Sync Intervall x kleinste PDO Übertragungsart) kleiner als 90ms.
Die Baugruppen sind dann durchsynchronisiert.
Gerätename
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1008 |
0 |
Manufacturer Device Name |
Visible String |
ro |
N |
BK51x0, LC5100, IPxxxx-B510 od. ILxxxx-B510 |
Gerätename des Busknotens |
Da der zurück gelieferte Wert größer als 4 Bytes ist, wird das segmentierte SDO-Protokoll zur Übertragung verwendet.
Hardware-Version
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1009 |
0 |
Manufacturer Hardware-Version |
Visible String |
ro |
N |
- |
Hardwareversionsnummer des Busknotens |
Da der zurück gelieferte Wert größer als 4 Bytes ist, wird das segmentierte SDO-Protokoll zur Übertragung verwendet.
Software-Version
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x100A |
0 |
Manufacturer Software-Version |
Visible String |
ro |
N |
- |
Softwareversionsnummer des Busknotens |
Da der zurück gelieferte Wert größer als 4 Bytes ist, wird das segmentierte SDO-Protokoll zur Übertragung verwendet.
Knotennummer
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x100B |
0 |
Node-ID |
Unsigned32 |
ro |
N |
keiner |
eingestellte Knotennummer |
Die Knotennummer wird aus Kompatibilitätsgründen unterstützt.
Guard Time
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x100C |
0 |
Guard Time [ms] |
Unsigned16 |
rw |
N |
0 |
Abstand zwischen zwei Guard Telegrammen. wird durch NMT-Master oder Konfigurationstool eingestellt. |
Life Time Factor
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x100D |
0 |
Life Time Factor |
Unsigned8 |
rw |
N |
0 |
Life Time Factor x Guard Time = Life Time (Watchdog für Life Guarding) |
Wenn innerhalb der Life Time kein Guarding-Telegramm empfangen wurde, geht der Knoten in den Fehlerzustand. Wenn Life Time Factor und/oder Guard Time = 0 sind, so führt der Knoten kein Lifeguarding durch, kann aber dennoch vom Master überwacht werden (Node Guarding).
Guarding Identifier
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x100 E |
0 |
COB-ID guarding protocol |
Unsigned32 |
ro |
N |
0x000007xy, xy = NodeID |
Identifier des Guarding Protokolls |
Der Guarding Identifier wird aus Kompatibilitätsgründen unterstützt. Seit CANopen Version 4 darf der Guarding Identifier nicht mehr verändert werden.
Parameter speichern
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1010 |
0 |
Store Parameter |
Unsigned8 |
ro |
N |
1 |
Anzahl der Speicheroptionen |
1 |
store all parameters |
Unsigned32 |
rw |
N |
1 |
Speichert alle (speicherbaren) Parameter |
Durch Schreiben der Signatur save im ASCII-Code (hexadezimal 0x65766173) auf Subindex 1 werden die aktuellen Parameter nichtflüchtig gespeichert. (Bytefolge auf dem Bus incl. SDO Protokoll: 0x23 0x10 0x10 0x01 0x73 0x61 0x76 0x65).
Der Speichervorgang dauert ca. 3 Sec., bei Erfolg wird anschließend durch das entsprechende TxSDO (0x60 im ersten Byte) bestätigt. Da der Buskoppler während des Speichervorgangs keine CAN-Telegramme senden und empfangen kann, kann nur gespeichert werden, wenn der Knoten im Zustand Pre-Operational ist. Es wird empfohlen, vor dem Abspeichern das gesamte Netz in den Zustand Pre-Operational zu versetzen. Dadurch wird ein Puffer-Überlauf vermieden.
Gespeichert werden:
- Die aktuelle Klemmenbestückung (Anzahl jeder Klemmenkategorie)
- Alle PDO Parameter (Identifier, Transmission Type, Inhibit Zeit, Mapping).
- Alle SYNC Parameter
- Alle Guarding Parameter
- Grenzwerte, Deltawerte und Interrupt Enable für Analogeingänge
Die in den Klemmen über Register-Kommunikation direkt gespeicherten Parameter werden dort sofort nichtflüchtig gespeichert.
Default-Werte laden
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1011 |
0 |
Restore Parameter |
Unsigned8 |
ro |
N |
4 |
Anzahl der Rücksetze-Optionen |
1 |
Restore all parameters |
Unsigned32 |
rw |
N |
1 |
Setzt alle Parameter auf Default-Werte zurück | |
4 |
Set manufacturer Defaults |
Unsigned32 |
rw |
N |
1 |
Setzt alle Koppler-Parameter auf Hersteller-Einstellungen zurück (auch Register) |
Durch Schreiben der Signatur load im ASCII-Code (hexadezimal 0x64616F6C) auf Subindex 1 werden alle Parameter beim nächsten Booten (Reset) auf Default-Werte (Auslieferungszustand) zurückgesetzt.
(Bytefolge auf dem Bus incl. SDO Protokoll: 0x23 0x11 0x10 0x01 0x6C 0x6F 0x61 0x64).
Hierdurch werden die Default-Identifier für die PDOs wieder aktiv.
Emergency Identifier
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1014 |
0 |
COB-ID Emergency |
Unsigned32 |
rw |
N |
0x00000080, + NodeID |
Identifier des Emergency-Telegramms |
Die unteren 11 Bit des 32-Bit Wertes enthalten den Identifier (0x80=128dez). Über das MSBit lässt sich einstellen ob das Gerät das Emergency-Telegramm sendet (1) oder nicht (0).
Alternativ lässt sich die Diagnose-Funktion der Busknoten auch durch das Bit Gerätediagnose in der K-Buskonfiguration (siehe Objekt 0x4500) abschalten.
Consumer Heartbeat Time
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1016 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
2 |
Die Consumer Heartbeat Time beschreibt die erwartete Heartbeat-Zykluszeit sowie die Node-ID des überwachten Knotens |
1 |
Consumer Heartbeat Time |
Unsigned32 |
rw |
N |
0 |
Watchdog Zeit in ms und Node-ID des überwachten Knotens |
Der 32Bit-Wert wird wie folgt verwendet:
MSB |
LSB | |
---|---|---|
Bit 31...24 |
Bit 23...16 |
Bit 15...0 |
reserviert (0) |
Node-ID (Unsigned8) |
heartbeat time in ms (Unsigned16) |
Aus der Node-ID ergibt sich der überwachte Identifier durch die Default-Identifier-Verteilung: Guard-ID = 0x700 + Node-ID.
Wie bei CANopen üblich wird das LSB zuerst und das MSB zuletzt übertragen.
Producer Heartbeat Time
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1017 |
0 |
Producer Heartbeat Time |
Unsigned16 |
rw |
N |
0 |
Zeitspanne in ms zwischen zwei gesendeten Heartbeat-Telegrammen |
Gerätekennung (Identity Object)
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1018 |
0 |
Identity Object: Anzahl Elemente |
Unsigned8 |
ro |
N |
4 |
Das Identity Objekt enthält allgemeine Angaben zu Art und Ausgabestand des Gerätes. |
1 |
Vendor ID |
Unsigned32 |
ro |
N |
0x00000002 |
Herstellerkennung. Beckhoff hat die Vendor-ID 2 | |
2 |
Product Code |
Unsigned32 |
ro |
N |
abhängig vom Produkt |
Gerätekennung | |
3 |
Revision Number |
Unsigned32 |
ro |
N |
- |
Versionsnummer | |
4 |
Serial Number |
Unsigned32 |
ro |
N |
- |
Produktionsdatum |
Produkt |
Product Code |
---|---|
BK5120 |
0x11400 |
BK5110 |
0x113F6 |
LC5100 |
0x113EC |
IPwxyz-B510 |
0x2wxyz |
IL2301-B510 |
0x2008FD |
Server SDO Parameter
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1200 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
2 |
Kommunikationsparameter des Server SDOs. Subindex 0: Anzahl der folgenden Parameter |
1 |
COB-ID Client ->Server |
Unsigned32 |
ro |
N |
0x000006xy, xy=Node-ID |
COB-ID RxSDO (Client -> Server) | |
2 |
COB-ID Server ->Client |
Unsigned32 |
ro |
N |
0x00000580 + Node-ID |
COB-ID TxSDO (Client -> Server) |
Aus Gründen der Abwärtskompatibilität im Objektverzeichnis enthalten.
Kommunikationsparameter 1. RxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1400 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
5 |
Kommunikationsparameter des ersten Receive-PDOs. Subindex 0: Anzahl der folgenden Parameter |
1 |
COB-ID |
Unsigned32 |
rw |
N |
0x000002xy, xy=Node-ID |
COB-ID (Communication Object Identifier) RxPDO1 | |
2 |
Transmission Type |
Unsigned8 |
rw |
N |
255 |
Übertragungsart des PDOs | |
3 |
Inhibit Time |
Unsigned16 |
rw |
N |
0 |
Aus Gründen der Abwärtskompatibilität vorhanden, im RxPDO nicht genutzt. | |
4 |
CMS Priority Group |
Unsigned8 |
rw |
N |
- |
Aus Gründen der Abwärtskompatibilität vorhanden, nicht genutzt. | |
5 |
Event Timer |
Unsigned16 |
rw |
N |
0 |
Event-Timer. Definiert Watchdog Zeit für Empfangsüberwachung des PDOs. |
Subindex 1 (COB-ID): Die unteren 11 Bit des 32-Bit Wertes (Bits 0-10) enthalten den CAN-Identifier, das MSBit (Bit 31) gibt Auskunft, ob das PDO aktuell existiert (0) oder nicht (1), Bit 30 teilt mit, ob ein RTR-Zugriff auf dieses PDO zulässig ist (0) oder nicht (1). Es ist nicht erlaubt, den Identifier (Bit 0-10) zu ändern, während das Objekt existiert (Bit 31=0). Der Subindex 2 enthält die Übertragungsart (siehe Einführung PDOs).
Kommunikationsparameter 2. RxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1401 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
5 |
Kommunikationsparameter des zweiten Receive-PDOs. |
1 |
COB-ID |
Unsigned32 |
rw |
N |
0x000003xy, xy=Node-ID |
COB-ID (Communication Object Identifier) RxPDO2 | |
2 |
Transmission Type |
Unsigned8 |
rw |
N |
255 |
Übertragungsart des PDOs | |
3 |
Inhibit Time |
Unsigned16 |
rw |
N |
0 |
Aus Gründen der Abwärtskompatibilität vorhanden, im RxPDO nicht genutzt. | |
4 |
CMS Priority Group |
Unsigned8 |
rw |
N |
- |
Aus Gründen der Abwärtskompatibilität vorhanden, nicht genutzt. | |
5 |
Event Timer |
Unsigned16 |
rw |
N |
0 |
Event-Timer. Definiert Watchdog Zeit für Empfangsüberwachung des PDOs. |
Kommunikationsparameter 3. RxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1402 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
5 |
Kommunikationsparameter des dritten Receive-PDOs. |
1 |
COB-ID |
Unsigned32 |
rw |
N |
0x000004xy, xy=Node-ID |
COB-ID (Communication Object Identifier) RxPDO3 | |
2 |
Transmission Type |
Unsigned8 |
rw |
N |
255 |
Übertragungsart des PDOs | |
3 |
Inhibit Time |
Unsigned16 |
rw |
N |
0 |
Aus Gründen der Abwärtskompatibilität vorhanden, im RxPDO nicht genutzt. | |
4 |
CMS Priority Group |
Unsigned8 |
rw |
N |
- |
Aus Gründen der Abwärtskompatibilität vorhanden, nicht genutzt. | |
5 |
Event Timer |
Unsigned16 |
rw |
N |
0 |
Event-Timer. Definiert Watchdog Zeit für Empfangsüberwachung des PDOs. |
Kommunikationsparameter 4. RxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1403 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
5 |
Kommunikationsparameter des vierten Receive-PDOs. |
1 |
COB-ID |
Unsigned32 |
rw |
N |
0x000005xy, xy=Node-ID |
COB-ID (Communication Object Identifier) RxPDO4 | |
2 |
Transmission Type |
Unsigned8 |
rw |
N |
255 |
Übertragungsart des PDOs | |
3 |
Inhibit Time |
Unsigned16 |
rw |
N |
0 |
Aus Gründen der Abwärtskompatibilität vorhanden, im RxPDO nicht genutzt. | |
4 |
CMS Priority Group |
Unsigned8 |
rw |
N |
- |
Aus Gründen der Abwärtskompatibilität vorhanden, nicht genutzt. | |
5 |
Event Timer |
Unsigned16 |
rw |
N |
0 |
Event-Timer. Definiert Watchdog Zeit für Empfangsüberwachung des PDOs. |
Kommunikationsparameter 5.-16. RxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1404 - 0x140F (je nach Geräte Typ) |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
5 |
Kommunikationsparameter des 5. bis 16. Receive-PDOs. |
1 |
COB-ID |
Unsigned32 |
rw |
N |
0x8000000 |
COB-ID (Communication Object Identifier) RxPDO5...16 | |
2 |
Transmission Type |
Unsigned8 |
rw |
N |
255 |
Übertragungsart des PDOs | |
3 |
Inhibit Time |
Unsigned16 |
rw |
N |
0 |
Aus Gründen der Abwärtskompatibilität vorhanden, im RxPDO nicht genutzt. | |
4 |
CMS Priority Group |
Unsigned8 |
rw |
N |
- |
Aus Gründen der Abwärtskompatibilität vorhanden, nicht genutzt. | |
5 |
Event Timer |
Unsigned16 |
rw |
N |
0 |
Event-Timer. Definiert Watchdog Zeit für Empfangsüberwachung des PDOs. |
Die Anzahl der RxPDOs je Busknoten-Typ kann den technischen Daten entnommen werden.
Mapping-Parameter 1. RxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1600 |
0 |
Anzahl Elemente |
Unsigned8 |
rw |
N |
abhängig von Typ und Bestückung |
Mapping-Parameter des ersten Receive-PDOs; Subindex 0: Anzahl der gemappten Objekte. |
1 |
1. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x62000108 |
1. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
2 |
2. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x62000208 |
2. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
... |
... |
... |
... |
... |
... |
... | |
8 |
8. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x62000808 |
8. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) |
Das erste Empfangs-PDO (RxPDO1) ist per Default für digitale Ausgangsdaten vorgesehen. Je nach Anzahl der bestückten Ausgänge wird automatisch die erforderliche Länge des PDOs bestimmt und die entsprechenden Objekte gemappt. Da die digitalen Ausgänge byteweise organisiert sind, kann die Länge des PDOs in Bytes direkt dem Subindex 0 entnommen werden.
Mapping-Änderungen
Um das Mapping zu verändern muss folgende Reihenfolge eingehalten werden (ab CANopen Version 4 vorgeschrieben):
- PDO löschen (Bit 31 im Identifier-Eintrag (Subindex1) des Kommunikations-Parameters auf 1 setzen)
- Mapping deaktivieren (Subindex 0 des Mapping Eintrages auf 0 setzen)
- Mapping Einträge ändern (Subindices 1...8)
- Mapping aktivieren (Subindex 0 des Mapping Eintrages auf die korrekte Anzahl der gemappten Objekte setzen)
- PDO anlegen (Bit 31 im Identifier-Eintrag (Subindex 1) des Kommunikations-Parameters auf 0 setzen)
Mapping-Parameter 2. RxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1601 |
0 |
Anzahl Elemente |
Unsigned8 |
rw |
N |
abhängig von Typ und Bestückung |
Mapping-Parameter des zweiten Receive-PDOs; Subindex 0: Anzahl der gemappten Objekte. |
1 |
1. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x64110110 |
1. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
2 |
2. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x64110210 |
2. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
... |
... |
... |
... |
... |
... |
... | |
8 |
8. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x00000000 |
8. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) |
Das zweite Empfangs-PDO (RxPDO2) ist per Default für analoge Ausgänge vorgesehen. Je nach Anzahl der bestückten Ausgänge wird automatisch die erforderliche Länge des PDOs bestimmt und die entsprechenden Objekte gemappt. Da die analogen Ausgänge wortweise organisiert sind, kann die Länge des PDOs in Bytes direkt dem Subindex 0 entnommen werden.
Um das Mapping zu verändern muss eine bestimmte Reihenfolge eingehalten werden (siehe Objekt Index 0x1600).
Mapping-Parameter 3.-16. RxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1602- 0x160F (je nach Geräte Typ) |
0 |
Anzahl Elemente |
Unsigned8 |
rw |
N |
abhängig von Typ und Bestückung |
Mapping-Parameter des 3.-16. Receive-PDOs; Subindex 0: Anzahl der gemappten Objekte. |
1 |
1. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x00000000 (Siehe Text) |
1. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
2 |
2. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x00000000 (Siehe Text) |
2. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
... |
... |
... |
... |
... |
... |
... | |
8 |
8. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x00000000(Siehe Text) |
8. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) |
Das 3. bis 16. Empfangs-PDO (RxPDO3ff) wird vom Busknoten je nach Klemmen-Bestückung (bzw. je nach Erweiterungs-Modulen) automatisch mit einem Default Mapping versehen. Die Vorgehensweise ist im Kapitel PDO-Mapping beschrieben.
Um das Mapping zu verändern muss eine bestimmte Reihenfolge eingehalten werden (siehe Objekt Index 0x1600).
[Gefahrinformation hier einfügen!] HinweisDS401 V2 schreibt für die PDOs 3+4 als Default Mapping analoge Ein- bzw. Ausgangsdaten vor. Das entspricht dem Beckhoff Default Mapping dann, wenn weniger als 65 digitale Ein- bzw. Ausgänge vorhanden sind. Um die Abwärtskompatibilität zu gewährleisten wird das Beckhoff Default Mapping beibehalten - die Geräte entsprechen damit in ihrem Mapping-Verhalten DS401 V1, in allen anderen Belangen DS401 V2. |
Kommunikationsparameter 1. TxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1800 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
5 |
Kommunikationsparameter des ersten Sende-PDOs. Subindex 0: Anzahl der folgenden Parameter |
1 |
COB-ID |
Unsigned32 |
rw |
N |
0x00000180 + Node-ID |
COB-ID (Communication Object Identifier) TxPDO1 | |
2 |
Transmission Type |
Unsigned8 |
rw |
N |
255 |
Übertragungsart des PDOs | |
3 |
Inhibit Time |
Unsigned16 |
rw |
N |
0 |
Wiederholungsverzögerung [Wert x 100 µs] | |
4 |
CMS Priority Group |
Unsigned8 |
rw |
N |
- |
Aus Gründen der Abwärtskompatibilität vorhanden, nicht genutzt. | |
5 |
Event Timer |
Unsigned16 |
rw |
N |
0 |
Event-Timer |
Subindex 1 (COB-ID): Die unteren 11 Bit des 32-Bit Wertes (Bits 0-10) enthalten den CAN-Identifier, das MSBit (Bit 31) gibt Auskunft, ob das PDO aktuell existiert (0) oder nicht (1), Bit 30 teilt mit, ob ein RTR-Zugriff auf dieses PDO zulässig ist (0) oder nicht (1). Es ist nicht erlaubt, den Identifier (Bit 0-10) zu ändern, während das Objekt existiert (Bit 31=0). Der Subindex 2 enthält die Übertragungsart, Subindex 3 die Wiederholungsverzögerung zwischen zwei gleichen PDOs, Subindex 5 enthält den Event Timer. Subindex 4 ist aus Kompatibilitätsgründen vorhanden, wird aber nicht genutzt. (siehe auch Einführung PDOs).
Kommunikationsparameter 2. TxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1801 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
5 |
Kommunikationsparameter des zweiten Sende-PDOs. Subindex 0: Anzahl der folgenden Parameter |
1 |
COB-ID |
Unsigned32 |
rw |
N |
0x00000280 + Node-ID |
COB-ID (Communication Object Identifier) TxPDO1 | |
2 |
Transmission Type |
Unsigned8 |
rw |
N |
255 |
Übertragungsart des PDOs | |
3 |
Inhibit Time |
Unsigned16 |
rw |
N |
0 |
Wiederholungsverzögerung [Wert x 100 µs] | |
4 |
CMS Priority Group |
Unsigned8 |
rw |
N |
- |
Aus Gründen der Abwärtskompatibilität vorhanden, nicht genutzt. | |
5 |
Event Timer |
Unsigned16 |
rw |
N |
0 |
Event-Timer |
Das zweite Sende-PDO ist per Default für analoge Eingänge vorgesehen und für ereignisgesteuerte Übertragung konfiguriert (Transmission Type 255). Die Ereignissteuerung muss zunächst aktiviert werden (siehe Objekt 0x6423), ansonsten können die Eingänge nur per Remote Transmission Request (RTR) abgefragt (gepollt) werden.
Kommunikationsparameter 3. TxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1802 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
5 |
Kommunikationsparameter des dritten Sende-PDOs. Subindex 0: Anzahl der folgenden Parameter |
1 |
COB-ID |
Unsigned32 |
rw |
N |
0x00000380 + Node-ID |
COB-ID (Communication Object Identifier) TxPDO1 | |
2 |
Transmission Type |
Unsigned8 |
rw |
N |
255 |
Übertragungsart des PDOs | |
3 |
Inhibit Time |
Unsigned16 |
rw |
N |
0 |
Wiederholungsverzögerung [Wert x 100 µs] | |
4 |
CMS Priority Group |
Unsigned8 |
rw |
N |
- |
Aus Gründen der Abwärtskompatibilität vorhanden, nicht genutzt. | |
5 |
Event Timer |
Unsigned16 |
rw |
N |
0 |
Event-Timer |
Das dritte Sende-PDO wird in der Regel analoge Eingangsdaten enthalten (siehe Mapping). Es ist für ereignisgesteuerte Übertragung konfiguriert (Transmission Type 255). Die Ereignissteuerung muss zunächst aktiviert werden (siehe Objekt 0x6423), ansonsten können die Eingänge nur per Remote Transmission Request (RTR) abgefragt (gepollt) werden.
Kommunikationsparameter 4. TxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1803 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
5 |
Kommunikationsparameter des vierten Sende-PDOs. Subindex 0: Anzahl der folgenden Parameter |
1 |
COB-ID |
Unsigned32 |
rw |
N |
0x00000480 + Node-ID |
COB-ID (Communication Object Identifier) TxPDO1 | |
2 |
Transmission Type |
Unsigned8 |
rw |
N |
255 |
Übertragungsart des PDOs | |
3 |
Inhibit Time |
Unsigned16 |
rw |
N |
0 |
Wiederholungsverzögerung [Wert x 100 µs] | |
4 |
CMS Priority Group |
Unsigned8 |
rw |
N |
- |
Aus Gründen der Abwärtskompatibilität vorhanden, nicht genutzt. | |
5 |
Event Timer |
Unsigned16 |
rw |
N |
0 |
Event-Timer |
Das vierte Sende-PDO wird in der Regel analoge Eingangsdaten enthalten (siehe Mapping). Es ist für ereignisgesteuerte Übertragung konfiguriert (Transmission Type 255). Die Ereignissteuerung muss zunächst aktiviert werden (siehe Objekt 0x6423), ansonsten können die Eingänge nur per Remote Transmission Request (RTR) abgefragt (gepollt) werden.
Kommunikationsparameter 5.-16. TxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1804- 0x180F (je nach Geräte- typ) |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
5 |
Kommunikationsparameter des 5.-16. Sende-PDOs. Subindex 0: Anzahl der folgenden Parameter |
1 |
COB-ID |
Unsigned32 |
rw |
N |
0x0000000 |
COB-ID (Communication Object Identifier) TxPDO1 | |
2 |
Transmission Type |
Unsigned8 |
rw |
N |
255 |
Übertragungsart des PDOs | |
3 |
Inhibit Time |
Unsigned16 |
rw |
N |
0 |
Wiederholungsverzögerung [Wert x 100 µs] | |
4 |
CMS Priority Group |
Unsigned8 |
rw |
N |
- |
Aus Gründen der Abwärtskompatibilität vorhanden, nicht genutzt. | |
5 |
Event Timer |
Unsigned16 |
rw |
N |
0 |
Event-Timer |
Mapping 1. TxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1A00 |
0 |
Anzahl Elemente |
Unsigned8 |
rw |
N |
abhängig von Typ und Bestückung |
Mapping-Parameter des ersten Transmit PDOs; Subindex 0: Anzahl der gemappten Objekte. |
1 |
1. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x60000108 |
1. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
2 |
2. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x60000208 |
2. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
... |
... |
... |
... |
... |
... |
... | |
8 |
8. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x60000808 |
8. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) |
Das erste Sende-PDO (TxPDO1) ist per Default für digitale Eingangsdaten vorgesehen. Je nach Anzahl der bestückten Eingänge wird automatisch die erforderliche Länge des PDOs bestimmt und die entsprechenden Objekte gemappt. Da die digitalen Eingänge byteweise organisiert sind, kann die Länge des PDOs in Bytes direkt dem Subindex 0 entnommen werden.
Um das Mapping zu verändern muss eine bestimmte Reihenfolge eingehalten werden (siehe Objekt Index 0x1600).
Mapping 2. TxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1A01 |
0 |
Anzahl Elemente |
Unsigned8 |
rw |
N |
abhängig von Typ und Bestückung |
Mapping-Parameter des zweiten Transmit PDOs; Subindex 0: Anzahl der gemappten Objekte. |
1 |
1. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x64010110 |
1. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
2 |
2. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x64010210 |
2. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
... |
... |
... |
... |
... |
... |
... | |
8 |
8. gemapptes Objekt |
Unsigned32 |
rw |
N |
|
8. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) |
Das zweite Sende-PDO (TxPDO2) ist per Default für analoge Eingangsdaten vorgesehen. Je nach Anzahl der bestückten Eingänge wird automatisch die erforderliche Länge des PDOs bestimmt und die entsprechenden Objekte gemappt. Da die analogen Eingänge wortweise organisiert sind, kann die Länge des PDOs in Bytes direkt dem Subindex 0 entnommen werden.
Um das Mapping zu verändern muss eine bestimmte Reihenfolge eingehalten werden (siehe Objekt Index 0x1600).
Mapping 3.-16. TxPDO
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x1A02- 0x1A0F (je nach Geräte Typ) |
0 |
Anzahl Elemente |
Unsigned8 |
rw |
N |
abhängig von Typ und Bestückung |
Mapping-Parameter des 3.-16. Transmit PDOs; Subindex 0: Anzahl der gemappten Objekte. |
1 |
1. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x00000000 (Siehe Text) |
1. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
2 |
2. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x00000000 (Siehe Text) |
2. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) | |
... |
... |
... |
... |
... |
... |
... | |
8 |
8. gemapptes Objekt |
Unsigned32 |
rw |
N |
0x00000000(Siehe Text) |
8. gemapptes Applikationsobjekt (2 Byte Index, 1 Byte Subindex, 1 Byte Bitbreite) |
Das 3. bis 16. Sende-PDO (TxPDO3ff) wird vom Busknoten je nach Klemmen-Bestückung (bzw. je nach Erweiterungs-Modulen) automatisch mit einem Default Mapping versehen. Die Vorgehensweise ist im Kapitel PDO-Mapping beschrieben.
Um das Mapping zu verändern muss eine bestimmte Reihenfolge eingehalten werden (siehe Objekt Index 0x1600).
[Gefahrinformation hier einfügen!] HinweisDS401 V2 schreibt für die PDOs 3+4 als Default Mapping analoge Ein- bzw. Ausgangsdaten vor. Das entspricht dem Beckhoff Default Mapping dann, wenn weniger als 65 digitale Ein- bzw. Ausgänge vorhanden sind. Um die Abwärtskompatibilität zu gewährleisten wird das Beckhoff Default Mapping beibehalten - die Geräte entsprechen damit in ihrem Mapping-Verhalten DS401 V1, in allen anderen Belangen DS401 V2. |
Im Objektverzeichnis (und damit auch im eds File) sind der Vollständigkeit halber zusätzlich folgende Objekteinträge vorhanden:
Index |
Bedeutung |
---|---|
0x2000 |
Digitale Eingänge (Funktion identisch mit Objekt 0x6000) |
0x2100 |
Digitale Ausgänge (Funktion identisch mit Objekt 0x6200) |
0x2200 |
1-Byte Sonderklemmen, Eingänge (derzeit keine entsprechenden Klemmen im Produktprogramm vorhanden) |
0x2300 |
1-Byte Sonderklemmen, Ausgänge (derzeit keine entsprechenden Klemmen im Produktprogramm vorhanden) |
0x2400 |
2-Byte Sonderklemmen, Eingänge (derzeit keine entsprechenden Klemmen im Produktprogramm vorhanden) |
0x2500 |
2-Byte Sonderklemmen, Ausgänge (derzeit keine entsprechenden Klemmen im Produktprogramm vorhanden) |
0x2E00 |
7-Byte Sonderklemmen, Eingänge (derzeit keine entsprechenden Klemmen im Produktprogramm vorhanden) |
0x2F00 |
7-Byte Sonderklemmen, Ausgänge (derzeit keine entsprechenden Klemmen im Produktprogramm vorhanden) |
3-Byte Sonderklemmen, Eingangsdaten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x2600 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer 3-Byte Sonderkanäle, Eingänge |
1 |
1st input block |
Unsigned24 |
ro |
Y |
0x000000 |
1. Eingangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0X80 |
128. input block |
Unsigned24 |
ro |
Y |
0x000000 |
128. Eingangskanal |
Beispiel für Sonderklemmen mit 3-Byte Eingangsdaten (in Default-Einstellung): KL2502 (PWM Ausgänge, 2 x 3 Bytes)
3-Byte Sonderklemmen, Ausgangsdaten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x2700 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer 3-Byte Sonderkanäle, Ausgänge |
1 |
1st output block |
Unsigned24 |
rww |
Y |
0x000000 |
1. Ausgangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0X80 |
128. output block |
Unsigned24 |
rww |
Y |
0x000000 |
128. Ausgangskanal |
Beispiel für Sonderklemmen mit 3-Byte Ausgangsdaten (in der Default-Einstellung): KL2502 (PWM Ausgänge, 2 x 3 Bytes)
4-Byte Sonderklemmen, Eingangsdaten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x2800 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer 4-Byte Sonderkanäle, Eingänge |
1 |
1st input block |
Unsigned32 |
ro |
Y |
0x00000000 |
1. Eingangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0X80 |
128. input block |
Unsigned32 |
ro |
Y |
0x00000000 |
128. Eingangskanal |
Beispiele für Sonderklemmen mit 4-Byte Eingangsdaten (in der Default-Einstellung): KL5001, KL6001, KL6021, KL6051
4-Byte Sonderklemmen, Ausgangsdaten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x2900 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer 4-Byte Sonderkanäle, Ausgänge |
1 |
1st output block |
Unsigned32 |
rww |
Y |
0x00000000 |
1. Ausgangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0X80 |
128. output block |
Unsigned32 |
rww |
Y |
0x00000000 |
128. Ausgangskanal |
Beispiele für Sonderklemmen mit 4-Byte Ausgangsdaten (in der Default-Einstellung): KL5001, KL6001, KL6021, KL6051
5-Byte Sonderklemmen, Eingangsdaten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x2A00 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer 5-Byte Sonderkanäle, Eingänge |
1 |
1st input block |
Unsigned40 |
ro |
Y |
0x0000000000 |
1. Eingangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0X40 |
64. input block |
Unsigned40 |
ro |
Y |
0x0000000000 |
64. Eingangskanal |
Beispiel für Sonderklemmen mit 5-Byte Eingangsdaten (in der Default-Einstellung): KL1501
5-Byte Sonderklemmen, Ausgangsdaten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x2B00 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer 5-Byte Sonderkanäle, Ausgänge |
1 |
1st output block |
Unsigned40 |
rww |
Y |
0x0000000000 |
1. Ausgangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0X40 |
64. output block |
Unsigned40 |
rww |
Y |
0x0000000000 |
64. Ausgangskanal |
Beispiel für Sonderklemmen mit 5-Byte Ausgangsdaten (in der Default-Einstellung): KL1501
6-Byte Sonderklemmen, Eingangsdaten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x2C00 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer 6-Byte Sonderkanäle, Eingänge |
1 |
1st input block |
Unsigned48 |
ro |
Y |
0x0000000000 |
1. Eingangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0X40 |
64. input block |
Unsigned48 |
ro |
Y |
0x0000000000 |
64. Eingangskanal |
Beispiel für Sonderklemmen mit 6-Byte Eingangsdaten (in der Default-Einstellung): KL5051, KL5101, KL5111
6-Byte Sonderklemmen, Ausgangsdaten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x2D00 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer 6-Byte Sonderkanäle, Ausgänge |
1 |
1st output block |
Unsigned48 |
rww |
Y |
0x0000000000 |
1. Ausgangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0X40 |
64. output block |
Unsigned48 |
rww |
Y |
0x0000000000 |
64. Ausgangskanal |
Beispiel für Sonderklemmen mit 6-Byte Ausgangsdaten (in der Default-Einstellung): KL5051, KL5101, KL5111
8-Byte Sonderklemmen, Eingangsdaten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x3000 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer 6-Byte Sonderkanäle, Eingänge |
1 |
1st input block |
Unsigned64 |
ro |
Y |
0x0000000000 |
1. Eingangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0x40 |
64. input block |
Unsigned64 |
ro |
Y |
0x0000000000 |
64. Eingangskanal |
Beispiel für Sonderklemmen mit 8-Byte Eingangsdaten: KL5101 (mit Word-Alignment, nicht in der Default-Einstellung)
8-Byte Sonderklemmen, Ausgangsdaten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x3100 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer 6-Byte Sonderkanäle, Ausgänge |
1 |
1st output block |
Unsigned64 |
rww |
Y |
0x0000000000 |
1. Ausgangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0X40 |
64. output block |
Unsigned64 |
rww |
Y |
0x0000000000 |
64. Ausgangskanal |
Beispiel für Sonderklemmen mit 8-Byte Ausgangsdaten: KL5101 (mit Word-Alignment, nicht in der Default-Einstellung)
Register-Kommunikation Busknoten
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x4500 |
0 |
Register Access |
Unsigned32 |
rw |
N |
keiner |
Zugriff interne Register Busknoten |
Der 32Bit-Wert ist wie folgt aufgebaut:
MSB |
|
|
LSB |
Zugriff (Bit7) + Tabellennummer (Bit 6...0) |
Registernummer |
High-Byte Registerwert |
Low-Byte Registerwert |
[0..1] + [0...0x7F] |
[0...0xFF] |
[0...0xFF] |
[0...0xFF] |
Wie bei CANopen üblich wird das LSB zuerst und das MSB zuletzt übertragen.
Durch Zugriff auf Index 0x4500 können beliebige Register der Busstation beschrieben oder gelesen werden. Die Kanalnummer und Register werden hierbei im 32Bit-Datenwert adressiert.
Registerwert lesen
Zunächst muss dem Koppler mitgeteilt werden, welches Register gelesen werden soll. Hierzu muss ein SDO-Schreibzugriff auf die entsprechende Index/Subindex-Kombination erfolgen mit:
- Tabellennummer (Zugriffs-Bit=0) in Byte 3
- Registeradresse in Byte 2 des 32 Bit Datenwertes.
Bytes 1 und 0 werden nicht ausgewertet, wenn das Zugriffs-Bit (MSB in Byte 3) = 0 ist. Anschließend kann der Registerwert auf derselben Index/Subindex-Kombination gelesen werden.
Der Koppler setzt das Zugriffs-Bit nach dem Schreiben der auszulesenden Registeradresse so lange auf 1, bis der korrekte Wert zur Verfügung steht. Beim SDO-Lesezugriff ist also zu überprüfen, dass die Tabellennummer im Wertebereich 0...0x7F liegt.
Ein Zugriffsfehler bei der Register-Kommunikation wird durch entsprechende Rückgabewerte des SDO-Protokolls angezeigt (siehe Kapitel SDO, Abbruch Parameterkommunikation).
Beispiel Registerwert lesen
Es soll festgestellt werden, welcher Baud-Ratenindex der Schalterstellung 1,1 (DIP 7,8) zugeordnet ist (siehe Kapitel Netzwerkadresse und Baud-Raten). Hierzu muss der Wert in Tabelle 100, Register 3 gelesen werden. Es müssen also folgende SDO Telegramme gesendet werden:
Schreibzugriff (Download Request) auf Index 4500, Subindex 0 mit 32 Bit Datenwert 0x64 03 00 00.
Id=0x600+Node-ID DLC=8; Data=23 00 45 00 00 00 03 64
Anschließend Lesezugriff (Upload Request) auf den gleichen Index/Subindex, hierbei ist der Datenwert beliebig (hier 00).
Id=0x600+Node-ID DLC=8; Data=40 00 45 00 00 00 00 00
Der Koppler antwortet mit dem Upload Response Telegramm:
Id=0x580+Node-ID DLC=8; Data=43 00 45 00 04 00 03 64
Es steht hier also der Wert 4 in diesem Register, dieser Baud-Ratenindex entspricht 125 kBit/s (Default-Wert).
Registerwert Schreiben
SDO-Schreibzugriff auf die entsprechende Index/Subindex-Kombination mit:
- Tabellennummer + 0x80 (Zugriffs-Bit=1) in Byte 3
- Registeradresse in Byte 2
- High-Byte Registerwert in Byte 1
- Low-Byte Registerwert in Byte 0 des 32 Bit Datenwertes
Koppler-Schreibschutz aufheben
Bevor die Register des Buskopplers beschrieben werden können muss zunächst der Schreibschutz aufgehoben werden. Hierzu müssen die folgenden Werte in der angegebenen Reihenfolge auf die entsprechenden Register geschrieben werden:
Arbeitsschritt |
Tabelle |
Register |
Wert |
entsprechender SDO Download-Wert (0x4500/0) |
---|---|---|---|---|
1. |
99 |
2 |
45054 (0xAFFE) |
0xE3 02 AF FE (0xE3=0x63(=99)+0x80) |
2. |
99 |
1 |
1 (0x0001) |
0xE3 01 00 01 |
3. |
99 |
0 |
257 (0x0101) |
0xE3 00 01 01 |
Koppler-Schreibschutz aufheben (CAN Darstellung)
Um den Koppler-Schreibschutz aufzuheben müssen also folgende SDO-Telegramme (Download Requests) an den Koppler geschickt werden:
Id=0x600+Node-ID DLC=8; Data=23 00 45 00 FE AF 02 E3
Id=0x600+Node-ID DLC=8; Data=23 00 45 00 01 00 01 E3
Id=0x600+Node-ID DLC=8; Data=23 00 45 00 01 01 00 E3
Beispiel Registerwert Schreiben
Nachdem der Schreibschutz aufgehoben wurde, soll nun der Baud-Ratenindex für die DIP-Schalterstellung 1,1 auf den Wert 7 gesetzt werden. Damit wird dieser Schalterstellung die Baud-Rate 20 kBaud zugeordnet.
Hierzu muss Tabelle 100, Register 3 mit dem Wert 7 beschrieben werden, das erfolgt durch SDO-Schreibzugriff (Download Request) auf Index 0x4500, Subindex 0 mit dem 32 Bit-Wert E4 03 00 07 (0xE4 = 0x64+0x80):
Id=0x600+Node-ID DLC=8; Data=23 00 45 00 07 00 03 E4
Klemmen identifizieren
Über die Tabelle 9 des Buskopplers kann die Kennung des Kopplers (bzw. der Busstation) und der angesteckten Busklemmen gelesen werden. Dabei enthält Register 0 die Kennung des Buskopplers selbst, Register 1 die Kennung der ersten Klemme und Register n die Kennung der n-ten Klemme:
Tabellennummer |
Registernummer |
Beschreibung |
Wertebereich |
---|---|---|---|
9 |
0 |
Busstation-Kennung |
0 - 65535 |
9 |
1-255 |
Kennung Erweiterungsmodul/Busklemme |
0 - 65535 |
Die Buskopplerbeschreibung in Registernummer 0 enthält 5120 = 0x1400 beim BK5120, 5110 = 0x13F6 beim BK5110 und 5100 = 0x13EC beim LC5100. Bei den Feldbus Box Baugruppen steht in Register 0 die Kennung 510dez =0x1FE bzw. 518dez = 0x206.
Die Kennung der Erweiterungsmodule bzw. Klemmenbeschreibung enthält bei analogen und Sonderklemmen die Klemmenbezeichnung (Dez);
Beispiel: ist als dritte Klemme eine KL3042 gesteckt, so enthält Register 3 den Wert 3042dez (0x0BE2).
Bei digitalen Klemmen wird folgende Bit-Kennung verwendet:
MSB |
LSB | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
s6 |
s5 |
s4 |
s3 |
s2 |
s1 |
s0 |
0 |
0 |
0 |
0 |
0 |
0 |
a |
e |
s6...s1: Datenbreite in Bit; a=1: Ausgangsklemme; e=1: Eingangsklemme
Diese Kennung führt zu den unten aufgeführten Klemmenbeschreibungen bei den Klemmen:
Kennung Klemmen |
Bedeutung |
---|---|
0x8201 |
2 Bit digitale Eingangsklemme,z.B. KL1002, KL1052, Kl9110, KL9260 |
0x8202 |
2 Bit digitale Ausgangsklemme, z.B. KL2034, KL2612, KL2702 |
0x8401 |
4 Bit digitale Eingangsklemme, z.B. KL1104, KL1124, KL1194 |
0x8402 |
4 Bit digitale Ausgangsklemme,z.B. KL2124, KL2134, KL2184 |
0x8403 |
4 Bit digitale Ein/Ausgangsklemme,z.B. KL2212 |
und folgende Kennung bei den Erweiterungs Box Module:
Kennung Erweiterungs Box Module |
Bedeutung |
---|---|
0x000A |
4 Bit Eingangs- und 4 Bit Ausgangsmodul |
0x0011 |
8 Bit Eingangs- und 8 Bit Ausgangsmodul |
0x0014 |
8 Bit digitales Eingangsmodul |
0x0015 |
8 Bit digitales Ausgangsmodul |
Allgemeine Koppler-Konfiguration (Tabelle 0)
Die Tabelle 0 des Buskopplers enthält die Daten für die allgemeine Kopplerkonfiguration. In der Regel muss diese nicht verändert werden; für besondere Anwendungsfälle können die Einstellungen jedoch über die KS2000 Konfigurations-Software oder den direkten Zugriff über die Register-Kommunikation verändert werden. Hierzu muss zunächst der Schreibschutz aufgehoben werden (siehe oben).
Im Folgenden werden die relevanten Registereinträge beschrieben:
K-Buskonfiguration
Tabelle 0, Register 2 enthält die K-Buskonfiguration und ist wie folgt codiert (Default-Wert: 0x0006):
MSB |
LSB | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
D |
G |
A |
A: Autoreset
Bei K-Bus-Fehler wird zyklisch versucht, den K-Bus durch Reset wieder zu aufzustarten. Wenn Emergencies und Guarding nicht ausgewertet werden, so kann es bei aktiviertem Autoreset vorkommen, dass Aus- und Eingangsinformation unerkannt verloren geht.
0: kein Autoreset (Default)
1: Autoreset aktiv
G: Gerätediagnose
Meldung (über Emergency), z.B. dass
- Drahtbruch bei Stromeingängen (mit Diagnose)
- 10 V überschritten bei 1-10V Eingangsklemme
0: Gerätediagnose abgeschaltet
1: Gerätediagnose aktiv (Default)
D: Diagnosedaten
digitaler Klemmen ins Prozessabbild einblenden (z.B. KL2212). Diese Flag wird nur ausgewertet, wenn die Gerätediagnose aktiv ist (siehe oben).
0: Nicht einblenden
1: Einblenden (Default)
Prozessabbildbeschreibung
Tabelle 0, Register 3 enthält die Prozessabbildbeschreibung und ist wie folgt codiert (Default-Wert: 0x0903):
MSB |
LSB | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
0 |
0 |
0 |
k1 |
k0 |
f1 |
f0 |
0 |
0 |
a |
0 |
d |
k |
1 |
1 |
k0...k1: Reaktion auf K-Bus-Fehler
0,2: Eingänge bleiben unverändert (Default=2);
1: Eingänge auf 0 setzen (TxPDO mit Nullen wird verschickt)
f0...f1: Reaktion auf Feldbusfehler
0: Stoppen der K-Bus Zyklen, Watchdog auf Klemmen spricht an, Fehlerausgangswerte werden aktiv. Beim Neustart werden zunächst die alten Ausgangswerte gesetzt.
1: Ausgänge auf 0 setzen, Stoppen der K-Bus Zyklen (Default). 2: Ausgänge bleiben unverändert.
a: Word-Alignment von Analog- und Sonderklemmen
0: kein Alignment (Default)
1: Daten auf Wortgrenzen mappen (Prozessdatum beginnt stets auf gerader Adresse im PDO)
d: Datenformat komplexe Klemmen (Analog- und Sonderklemmen)
0: Intel-Format (Default)
1: Motorola-Format
k: Auswertung komplexe Klemmen (Analog- und Sonderklemmen)
0: nur Nutzdaten (Default)
1: komplette Auswertung (Achtung: Analogkanäle benötigen dann statt z.B. 2 Eingangsbytes je 3 Eingangs- und 3 Ausgangsbytes; statt 4 Kanäle je PDO werden für 2 Kanäle je ein Rx- und ein TxPDO benötigt)
Register-Kommunikation Busklemme/Erweiterungsbox
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x4501 |
0 |
Access Terminal Register |
Unsigned8 |
ro |
N |
keiner |
Index 0x4501 ermöglicht den Zugriff auf alle Register der Busklemmen bzw. Erweiterungsmodule. Subindex 0 enthält die Anzahl der gesteckten Busklemmen. |
1 |
Access Reg. Terminal 1 |
Unsigned32 |
rw |
N |
keiner |
Zugriff Register Busklemme bzw. E-Modul 1 | |
... |
... |
... |
... |
... |
... |
... | |
0XFE |
Access Reg. Terminal 254 |
Unsigned32 |
rw |
N |
keiner |
Zugriff Register Busklemme bzw. E-Modul 254 |
Der 32Bit-Wert ist wie folgt aufgebaut:
MSB |
|
|
LSB |
---|---|---|---|
Zugriff (Bit7) + Kanalnummer (Bit 6...0) |
Registernummer |
High-Byte Registerwert |
Low-Byte Registerwert |
[0..1] + [0...0x7F] |
[0...0xFF] |
[0...0xFF] |
[0...0xFF] |
Wie bei CANopen üblich wird das LSB zuerst und das MSB zuletzt übertragen.
Durch Zugriff auf Index 0x4501 können die Anwenderregister der Busklemmen bzw. Erweiterungsmodule beschrieben oder gelesen werden. Die Baugruppen verfügen über einen Registersatz je Ein- bzw. Ausgangskanal. Die Adressierung der Baugruppen erfolgt über den Subindex, die Kanalnummer und Register werden im 32Bit-Datenwert adressiert. Hierbei entspricht die Kanalnummer 0 dem ersten Kanal, 1 dem zweiten Kanal etc.
Registerwert lesen
Zunächst muss dem Koppler mitgeteilt werden, welches Register gelesen werden soll. Hierzu muss ein SDO-Schreibzugriff auf die entsprechende Index/Subindex-Kombination erfolgen mit:
- Kanalnummer (Zugriffs-Bit=0) in Byte 3
- Registeradresse in Byte 2 des 32 Bit Datenwertes.
Bytes 1 und 0 werden nicht ausgewertet, wenn das Zugriffs-Bit (MSB in Byte 3) = 0 ist. Anschließend kann der Registerwert auf derselben Index/Subindex-Kombination gelesen werden.
Der Koppler setzt das Zugriffs-Bit nach dem Schreiben der auszulesenden Registeradresse so lange auf 1, bis der korrekte Wert zur Verfügung steht. Beim SDO-Lesezugriff ist also zu überprüfen, dass die Tabellennummer im Wertebereich 0...0x7F liegt.
Ein Zugriffsfehler bei der Register-Kommunikation wird durch entsprechende Rückgabewerte des SDO-Protokolls angezeigt (siehe Kapitel SDO, Abbruch Parameterkommunikation).
Beispiel Registerwert lesen
Bei einer Thermoelement-Eingangsklemme KL3202 soll festgestellt werden, auf welchen Thermoelement-Typ der zweite Eingangs-Kanal eingestellt ist. Hierzu muss das Feature-Register 32 gelesen werden. Die Klemme befindet sich am fünften Steckplatz neben dem Buskoppler. Es müssen also folgende SDO-Telegramme gesendet werden:
Schreibzugriff (Download Request) auf Index 4501, Subindex 5 mit 32 Bit Datenwert 01 20 00 00 (0x01 = 2. Kanal, 0x20 = Register 32)
Id=0x600+Node-ID DLC=8; Data=23 01 45 05 00 00 20 01
Anschließend Lesezugriff (Upload Request) auf den gleichen Index/Subindex, hierbei ist der Datenwert beliebig (hier: 0x00).
Id=0x600+Node-ID DLC=8; Data=40 01 45 05 00 00 00 00
Der Koppler antwortet mit dem Upload Response Telegramm:
Id=0x580+Node-ID DLC=8; Data=43 01 45 05 06 31 20 01
Es steht hier also der Wert 31 06 im Feature-Register. Die obersten 4 Bit kennzeichnen den Thermoelement-Typ. Sie sind hier 3, demnach ist der eingestellte Typ für diesen Kanal PT500 (siehe Dokumentation KL3202).
Registerwert Schreiben
SDO-Schreibzugriff auf die entsprechende Index/Subindex-Kombination mit:
- Kanalnummer + 0x80 (Zugriffs-Bit=1) in Byte 3
- Registeradresse in Byte 2
- High-Byte Registerwert in Byte 1
- Low-Byte Registerwert in Byte 0 des 32 Bit Datenwertes
Hinweis | |
[Gefahrinformation hier einfügen!] AchtungWenn der Schreibschutz nicht aufgehoben wurde (z.B. fehlerhaftes Codewort), so wird ein Schreibzugriff auf die Klemmenregister zwar bestätigt (SDO Download Response), der Wert jedoch nicht in das Register übernommen. Es wird deshalb empfohlen, den geschriebenen Wert anschließend auszulesen und zu vergleichen. |
Klemmen-Schreibschutz aufheben
Bevor die Anwender-Register der Busklemmen (Register 32-xx, je nach Klemmentyp bzw. Erweiterungsmodul) beschrieben werden können muss zunächst der Schreibschutz aufgehoben werden. Hierzu wird das folgende Codewort in das Register 31 des entsprechenden Kanals geschrieben:
Schreibschutz |
Kanal |
Register |
Wert |
entsprechender SDO Download-Wert (0x4500/0) |
---|---|---|---|---|
|
1,2, 3 oder 4 |
31 (0x1F) |
4661 (0x1235) |
8y 1F 12 35 (y=Kanalnummer) |
Klemmen-Schreibschutz aufheben (CAN Darstellung)
Um den Klemmen-Schreibschutz aufzuheben muss also das folgende SDO-Telegramm an den Koppler geschickt werden:
Id=600 + Node-ID DLC=8; Data=23 01 45 xx 35 12 1F 8y
wobei xx den Steckplatz der Klemme und y den Kanal kennzeichnen.
Beispiel Schreibschutz aufheben
Steckt also beispielsweise an einem BK5120 mit der Knotenadresse 3 eine Thermoelement-Eingangsklemme KL3202 an Steckplatz 5, so ist der Schreibschutz für den ersten Kanal wie folgt aufzuheben:
Id=0x603 DLC=8; Data=23 01 45 05 35 12 1F 80
Für den zweiten Kanal ist folgendes Telegramm zu senden:
Id=0x603 DLC=8; Data=23 01 45 05 35 12 1F 81
Beispiel Registerwert Schreiben
Der Thermoelement-Typ des zweiten Kanals der KL3202 Klemme an Steckplatz 5 soll nun auf PT1000 umgestellt werden. Hierzu müssen die obersten 4 Bits (oberstes Nibble) im Feature-Register mit dem Wert 2 beschrieben werden. Es wird davon ausgegangen, dass für alle anderen Bits des Feature-Registers die Default-Werte übernommen werden sollen. Nachdem der Schreibschutz aufgehoben wurde, ist per SDO Schreibzugriff (Download Request) der folgende 32Bit-Wert auf Index 0x4501, Subindex 05 zu schreiben: 81 20 21 06 (0x81=01+0x80; 0x20=32;0x2106 = Registerwert).
Das entsprechende Telegramm sieht auf dem Bus wie folgt aus:
Id=0x600+Node-ID DLC=8; Data=23 01 45 05 06 21 20 81
PDOs aktivieren
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x5500 |
0 |
Activate PDO Defaults |
Unsigned32 |
rw |
N |
0x00000000 |
setzt PDO Communication Parameter für PDO 2...11 |
CANopen definiert Default-Identifier für jeweils 4 Sende (Tx) und Empfangs (Rx) PDOs, alle anderen PDOs sind nach dem Aufstarten der Knoten zunächst deaktiviert. Über den Index 0x5500 lassen sich alle PDOs aktivieren, die gemäß Klemmenbestückung mit Prozessdaten vorbelegt sind (herstellerspezifisches Default Mapping). Dabei wird für PDO5...11 eine herstellerspezifische Default-Identifier-Verteilung vorgenommen sowie für PDO 2...11der Transmission Type und eine einheitliche Inhibit Zeit eingestellt. Nicht mit Prozessdaten versehene (also in der aktuellen Konfiguration überzählige) PDOs werden nicht aktiviert.
[Gefahrinformation hier einfügen!] HinweisDieses Objekt kann nur im Pre-Operational Zustand beschrieben werden! |
Der 32Bit-Wert wird wie folgt verwendet:
MSB |
|
|
LSB |
---|---|---|---|
Transmission Type RxPDOs |
Transmission Type TxPDOs |
High-Byte Inhibit Zeit |
Low-Byte Inhibit Zeit |
Wie bei CANopen üblich wird das LSB zuerst und das MSB zuletzt übertragen.
Beispiel:
PDOs aktivieren für Busknoten Nummer 1, Inhibit Zeit auf 10ms (=100 x 100µs) setzen, Transmission Type TxPDOs auf 255 setzen, Transmission Type RxPDOs auf 1 setzen. Folgendes Telegramm ist zu senden:
Id=0x601 DLC=8; Data=23 00 55 00 64 00 FF 01
Der Knoten antwortet mit folgendem Telegramm:
Id=0x601 DLC=8; Data=60 00 55 00 00 00 00 00
Verwendete Identifier
Die Default-Identifier-Verteilung für die zusätzlichen PDOs läßt die vordefinierten Bereiche für Guarding, SDOs etc. frei, geht ab PDO6 von maximal 64 Knoten im Netz aus und erfolgt nach folgendem Schema:
Objekt |
Function Code |
resultierende COB-ID (hex) |
resultierende COB-ID (dez) |
---|---|---|---|
TxPDO5 |
1101 |
0x681 - 0x6BF |
1665 - 1727 |
RxPDO5 |
1111 |
0x781 - 0x7BF |
1921 - 1983 |
TxPDO6 |
00111 |
0x1C1 - 0x1FF |
449 - 511 |
RxPDO6 |
01001 |
0x241 - 0x27F |
577 - 639 |
TxDPO7 |
01011 |
0x2C1 - 0x2FF |
705 - 767 |
RxPDO7 |
01101 |
0x341 - 0x37F |
833 - 895 |
TxPDO8 |
01111 |
0x3C1 - 0x3FF |
961 - 1023 |
RxPDO8 |
10001 |
0x441 - 0x47F |
1089 - 1151 |
TxPDO9 |
10011 |
0x4C1 - 0x4FF |
1217 - 1279 |
RxPDO9 |
10101 |
0x541 - 0x57F |
1345 - 1407 |
TxDPO10 |
10111 |
0x5C1 - 0x5FF |
1473 - 1535 |
RxPDO10 |
11001 |
0x641 - 0x67F |
1601 - 1663 |
TxPDO11 |
11011 |
0x6C1 - 0x6FF |
1729 - 1791 |
RxPDO11 |
11101 |
0x741 - 0x77F |
1857 - 1919 |
Hinweis | |
[Gefahrinformation hier einfügen!] AchtungEs ist darauf zu achten, dass der Index 0x5500 nicht genutzt wird, wenn Buskoppler mit mehr als 5 PDOs in Netzen mit Knoten-Adressen >64 vorhanden sind, da es sonst zu Identifier-Überschneidungen kommen kann. In diesem Fall müssen die PDO Identifier individuell eingestellt werden. |
Der Übersichtlichkeit halber sind die nach CANopen definierten Default-Identifier hier ebenfalls aufgeführt:
Objekt |
Function Code |
resultierende COB-ID (hex) |
resultierende COB-ID (dez) |
---|---|---|---|
Emergency |
0001 |
0x81 - 0xBF [0xFF] |
129 - 191 [255] |
TxPDO1 |
0011 |
0x181 - 0x1BF [0x1FF] |
385 - 447 [511] |
RxPDO1 |
0100 |
0x201 - 0x23F [0x27F] |
513 - 575 [639] |
TxPDO2 |
0101 |
0x281 - 0x2BF [0x2FF] |
641 - 676 [767] |
RxPDO2 |
0110 |
0x301 - 0x33F [0x37F] |
769 - 831 [895] |
TxDPO3 |
0111 |
0x381 - 0x3BF [0x3FF] |
897 - 959 [1023] |
RxPDO3 |
1000 |
0x401 - 0x43F [0x47F] |
1025 - 1087 [1151] |
TxPDO4 |
1001 |
0x481 - 0x4BF [0x4FF] |
1153 - 1215 [1279] |
RxPDO4 |
1010 |
0x501 - 0x53F [0x57F] |
1281- 1343 [1407] |
SDO (Tx) |
1011 |
0x581 - 0x5BF [0x5FF] |
1409 - 1471 [1535] |
SDO (Rx) |
1100 |
0x601 - 0x63F [0x67F] |
1537 - 1599 [1663] |
Guarding / Heartbeat/ Bootup |
1110 |
0x701 - 0x73F [0x77F] |
1793 - 1855 [1919] |
Angegeben sind die Identifier, die sich aus den DIP-Schalter-Einstellungen am Koppler ergeben, sowie in eckigen Klammern der Identifier-Bereich für die Knotenadressen 64...127 (am Buskoppler BK5110, BK5120 und LC5100 nicht einstellbar). Bei den Feldbus Box-Modulen und dem Buskoppler BK515x lassen sich die Adressen 1...99 einstellen.
Eine tabellarische Übersicht über alle Identifier findet sich im Anhang.
Digitale Eingänge
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x6000 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer digitaler 8-Bit Eingangsdatenblöcke |
1 |
1st input block |
Unsigned8 |
ro |
Y |
0x00 |
1. Eingangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0XFE |
254. input block |
Unsigned8 |
ro |
Y |
0x00 |
254. Eingangskanal |
Interrupt Maske
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x6126 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ |
Anzahl der 32-Bit Interrupt Masken = 2 x Anzahl TxDPOs |
1 |
IR-Mask0 TxPDO1 |
Unsigned32 |
rw |
N |
0xFFFFFFFF |
IR-Maske Bytes 0...3 TxPDO1 | |
2 |
IR-Mask1 TxPDO1 |
Unsigned32 |
rw |
N |
0xFFFFFFFF |
IR-Maske Bytes 4...7 TxPDO1 | |
3 |
IR-Mask0 TxPDO2 |
Unsigned32 |
rw |
N |
0xFFFFFFFF |
IR-Maske Bytes 0...3 TxPDO2 | |
|
... |
... |
... |
... |
... |
... |
... |
|
0x20 |
IR-Mask1 TxPDO16 |
Unsigned32 |
rw |
N |
0xFFFFFFFF |
IR-Maske Bytes 4...7 TxPDO16 |
Per Default führt jede Änderung eines Wertes im ereignisgesteuerten PDO zum Versenden des Telegramms. Mit der Interrupt Maske kann bestimmt werden, welche Daten-Änderungen hierfür ausgewertet werden. Durch Nullen der entsprechenden Bereiche innerhalb der PDOs werden diese bei der Ereignissteuerung ("Interrupt-Steuerung") ausmaskiert. Die Interrupt Maske umfasst nicht nur die PDOs mit digitalen Eingängen, sondern alle vorhandenen TxPDOs. Falls die TxPDOs kürzer als 8 Bytes sind, wird der überzählige Teil der IR-Maske nicht ausgewertet.
Die Interrupt Maske beeinflusst nur TxPDOs mit Transmission Type 254 und 255. Sie wird nicht auf dem Gerät gespeichert (auch nicht durch das Objekt 0x1010). Änderungen der Maske zur Laufzeit (im Operational Status) sind möglich und werden bei der nächsten Eingangsdaten-Änderung ausgewertet.
Die Interrupt Maske wird für TxPDOs mit analogen Eingangsdaten nicht ausgewertet, wenn für die Eingänge Grenzwerte (0x6424, 0x6425) oder die Delta Funktion (0x6426) aktiviert wurden.
Dieser Eintrag ist ab Firmware Stand C3 implementiert.
Beispiel zur Zuordnung der Daten
Anwendungsbeispiel
Der Zählerwert eines schnellen Zählereingangs soll nur übertragen werden, sobald sich Bits im Statuswort (z.B. der Latch-Eingang) geändert haben. Hierzu muss der 32-Bit Zählerwert in der Interrupt Maske ausmaskiert (=genullt) werden. Der Status befindet sich im Byte 0, der Zählerwert liegt per Default in den Bytes 1..4 des entsprechenden PDOs (im Beispiel TxPDO3, da <65 digitale und <5 analoge Eingänge vorhanden sind).
Also muss in Index 0x6126, Subindex5 der Wert 0x0000 00FF und in Subindex6 der Wert 0xFFFF FF00 eingetragen werden.
Die entsprechenden SDOs sehen demnach wie folgt aus:
11-bit Identifier |
8 Byte Nutzdaten | |||||||
---|---|---|---|---|---|---|---|---|
0x600+ Node-ID |
0x22 |
0x26 |
0x61 |
0x05 |
0xFF |
0x00 |
0x00 |
0x00 |
11-bit Identifier |
8 Byte Nutzdaten | |||||||
---|---|---|---|---|---|---|---|---|
0x600+ Node-ID |
0x22 |
0x26 |
0x61 |
0x06 |
0x00 |
0xFF |
0xFF |
0xFF |
Digitale Ausgänge
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x6200 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer digitaler 8-Bit Ausgangsdatenblöcke |
1 |
1st input block |
Unsigned8 |
rw |
Y |
0x00 |
1. Ausgangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0XFE |
254. input block |
Unsigned8 |
rw |
Y |
0x00 |
254. Ausgangskanal |
Analoge Eingänge
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x6401 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer analoger Eingangs-Kanäle |
1 |
1st input |
Unsigned16 |
ro |
Y |
0x0000 |
1. Eingangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0XFE |
254. input |
Unsigned16 |
ro |
Y |
0x0000 |
254. Eingangskanal |
Die analogen Signale werden linksbündig dargestellt. Damit wird die Darstellung im Prozessabbild unabhängig von der tatsächlichen Auflösung. Details zum Datenformat finden sich beim jeweiligen Signaltyp.
Analoge Ausgänge
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x6411 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer analoger Ausgangs-Kanäle |
1 |
1st input block |
Unsigned16 |
rw |
Y |
0x0000 |
1. Ausgangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0XFE |
254. input block |
Unsigned16 |
rw |
Y |
0x0000 |
254. Ausgangskanal |
Die analogen Signale werden linksbündig dargestellt. Damit wird die Darstellung im Prozessabbild unabhängig von der tatsächlichen Auflösung. Details zum Datenformat finden sich beim jeweiligen Signaltyp.
Ereignissteuerung Analoge Eingänge
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x6423 |
0 |
Global Interrupt Enable |
Boolean |
rw |
N |
FALSE (0) |
Aktiviert das ereignisgesteuerte Senden von PDOs mit Analogeingängen. |
Nach CANopen sind die Analogeingänge in TxPDO2..4 zwar per Default auf den Transmission Type 255 (ereignisgesteuert) eingestellt, jedoch ist das Ereignis (die Änderung eines Eingangswertes) über die Ereignissteuerung im Objekt 0x6423 deaktiviert, um ein Überfluten des Busses mit Analogsignalen zu verhindern. Es empfiehlt sich, das Datenaufkommen der Analog-PDOs entweder durch synchrone Kommunikation oder durch Verwendung des Event Timers zu kontrollieren. Im ereignisgesteuerten Betrieb kann das Sendeverhalten der Analog-PDOs vor dem Aktivieren durch Einstellen von Inhibit-Zeit (Objekt 0x1800ff, Subindex 3) und/oder Grenzwertüberwachung (Objekt 0x6424 + 0x6425) und/oder Deltafunktion (Objekt 0x6426) parametriert werden.
Oberer Grenzwert Analoge Eingänge
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x6424 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer analoger Eingangs-Kanäle |
1 |
upper limit 1st input |
Unsigned16 |
rw |
Y |
0x0000 |
Oberer Grenzwert 1. Eingangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0XFE |
upper limit 254. input |
Unsigned16 |
rw |
Y |
0x0000 |
Oberer Grenzwert 254. Eingangskanal |
Werte ungleich 0 aktivieren den oberen Grenzwert für diesen Kanal. Ein PDO wird dann abgesetzt wenn dieser Grenzwert überschritten wird. Zusätzlich muss die Ereignissteuerung aktiviert sein (Objekt 0x6423). Das Datenformat entspricht dem der Analogeingänge.
Unterer Grenzwert Analoge Eingänge
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x6425 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer analoger Eingangs-Kanäle |
1 |
lower limit 1st input |
Unsigned16 |
rw |
Y |
0x0000 |
Unterer Grenzwert 1. Eingangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0XFE |
lower limit 254. input |
Unsigned16 |
rw |
Y |
0x0000 |
Unterer Grenzwert 254. Eingangskanal |
Werte ungleich 0 aktivieren den unteren Grenzwert für diesen Kanal. Ein PDO wird dann abgesetzt wenn dieser Grenzwert unterschritten wird. Zusätzlich muss die Ereignissteuerung aktiviert sein (Objekt 0x6423). Das Datenformat entspricht dem der Analogeingänge.
Deltafunktion Analoge Eingänge
Index |
Subindex |
Name |
Typ |
Attrb. |
Map. |
Default-Wert |
Bedeutung |
---|---|---|---|---|---|---|---|
0x6426 |
0 |
Anzahl Elemente |
Unsigned8 |
ro |
N |
abhängig von Typ und Bestückung |
Anzahl verfügbarer analoger Eingangs-Kanäle |
1 |
delta value 1st input |
Unsigned16 |
rw |
Y |
0x0000 |
Deltawert 1. Eingangskanal | |
... |
... |
... |
... |
... |
... |
... | |
0XFE |
delta value 254. input |
Unsigned16 |
rw |
Y |
0x0000 |
Deltawert 254. Eingangskanal |
Werte ungleich 0 aktivieren die Deltafunktion für diesen Kanal. Ein PDO wird dann abgesetzt wenn sich der Wert seit dem letzten Senden um mehr als den Deltawert verändert hat. Zusätzlich muss die Ereignissteuerung aktiviert sein (Objekt 0x6423). Das Datenformat entspricht dem der Analogeingänge (Deltawert: nur positive Werte).