-> Hier kostenlos registrieren
Hallo,
weiß jemand, wofür im EtherCat-Datagram-Header das Interrupt-Feld verwendet wird? Leider finde ich keinerlei Dokumentation oder Hinweise darauf, wie der Master (TwinCat 2.11) bzw. die Slaves das Feld benutzen.
Hintergrund ist eine vorhandene Aufzeichnung aus einem EtherCat-Netz, bei dem ein fehlerhafter Slave in unregelmäßigen Abständen Netzwerkausfälle auslöst. Das fehlerfreie Datagramm zeigt Workingcounter = 4 und Interrupt = 0x0000, das fehlerhafte Datagram (unmittelbar vor Ausfall des Netzes) zeigt Workingcounter = 3 und Interrupt = 0x0004. Bei dem Datagramm handelt es sich um ein ein LWR (=Logical Memory Write) das die FMMUs von 4 Slaves (Ausgangskarten) adressiert. Einer der Slaves verursacht den Ausfall, da im fehlerhaften Datagramm der Workingcounter nur auf 3 steht. Ist das Interrupt-Feld ein Hinweis auf den betroffenen Slave? Da es sich um ein 16-Bit-Feld handelt (unint16_t), wäre meine Vermutung, dass der dritte von den vier Slaves den Ausfall verursacht haben könnte (001bin = 0x0004hex). Interessanterweise sendet der Master nach dem fehlerhaften Datagramm ein FPWR (= Configured Address Physical Write) an Register 0x0101 (= ESC DL Control, Portsettings) an den Slave, der direkt hinter dem dritten Teilnehmer des LWR-Datagramms sitzt. Wertet der Master hierfür das Interrupt-Feld aus, oder wird das Interrupt-Feld für die Synchronisation der Distributed-Clocks verwendet und hat hiermit nichts zu tun?
Ich hoffe jemand hat eine Idee, wie das zusammenhängt und eventuell eine Beschreibung über die Funktion diese Feldes. Leider habe ich keinen Zugriff auf die Dokumente der Ethercat - Technology - Group (ethercat.org).
weiß jemand, wofür im EtherCat-Datagram-Header das Interrupt-Feld verwendet wird? Leider finde ich keinerlei Dokumentation oder Hinweise darauf, wie der Master (TwinCat 2.11) bzw. die Slaves das Feld benutzen.
Hintergrund ist eine vorhandene Aufzeichnung aus einem EtherCat-Netz, bei dem ein fehlerhafter Slave in unregelmäßigen Abständen Netzwerkausfälle auslöst. Das fehlerfreie Datagramm zeigt Workingcounter = 4 und Interrupt = 0x0000, das fehlerhafte Datagram (unmittelbar vor Ausfall des Netzes) zeigt Workingcounter = 3 und Interrupt = 0x0004. Bei dem Datagramm handelt es sich um ein ein LWR (=Logical Memory Write) das die FMMUs von 4 Slaves (Ausgangskarten) adressiert. Einer der Slaves verursacht den Ausfall, da im fehlerhaften Datagramm der Workingcounter nur auf 3 steht. Ist das Interrupt-Feld ein Hinweis auf den betroffenen Slave? Da es sich um ein 16-Bit-Feld handelt (unint16_t), wäre meine Vermutung, dass der dritte von den vier Slaves den Ausfall verursacht haben könnte (001bin = 0x0004hex). Interessanterweise sendet der Master nach dem fehlerhaften Datagramm ein FPWR (= Configured Address Physical Write) an Register 0x0101 (= ESC DL Control, Portsettings) an den Slave, der direkt hinter dem dritten Teilnehmer des LWR-Datagramms sitzt. Wertet der Master hierfür das Interrupt-Feld aus, oder wird das Interrupt-Feld für die Synchronisation der Distributed-Clocks verwendet und hat hiermit nichts zu tun?
Ich hoffe jemand hat eine Idee, wie das zusammenhängt und eventuell eine Beschreibung über die Funktion diese Feldes. Leider habe ich keinen Zugriff auf die Dokumente der Ethercat - Technology - Group (ethercat.org).