Hallo Leute!
Ich mache gerade meine Bachelorarbeit und und habe schon einige Stunden damit verbracht mein Problem zu lösen, leider bisher ohne Erfolg.
Nun hoffe ich, dass vielleicht jemand von euch mir auf die Sprünge helfen kann :)
Kurzer Umriss meiner Aufgabe:
In einer Zelle sind zwei 6-Achs-Roboter der Firma Stäubli verbaut (jeweils mit der Steuerung CS8C).
Diese sollen nun eine Kooperationsaufgabe erledigen und dafür über TwinCAT 3 kommunizieren. Verbunden sind sie mit EtherCAT druch eine PCI Karte (Hilscher) in den Steuerungen.
Mein bisheriges Vorgehen war wie folgt: Analoge und digitale Ein-/Ausgänge in der Stäubli Software angelegt, mit Variablen verknüpft und auf die reale Steuerung geladen. Anschließend diese Konfiguration als ESI exportieren lassen und in den TwinCAT Config Ordner gepackt.
So, nun meine Probleme :D :
Die Box wird als Slave erkannt, jedoch werden mir jeweils 7 zusätzliche, digitale Ein- und Ausgänge angezeigt. Ich kann mir nicht erklären wo diese herkommen. Nachdem ich diese in der XML manuell entfernt habe, stimmt zumindest die Anzeige. Jedoch bekomme ich die Fehlermeldung "Invalid SM IN cfg", und dementsprechend die Box auch nicht online.
Erst nachdem ich die PDO vom Gerät laden lassen habe, wechselt die Box in den OP State.
Dadurch werden aber jeweils zwei TxPDO und RxPDO erstellt, getrennt nach digital (BIT) und analog (FLOAT). Leider kenne ich mich nicht genug aus um zu sagen, ob dies Probleme verursachen kann :confused:
Naja ich war erstmal froh darüber, dass die Box online ist und habe die Ein-/Ausgänge mit meinen Variablen verknüpft.
Angelegt sind diese einfach über "AT%Q*" bzw. "AT%I*" und BOOL für die Digitalen, REAL für die Analogen. Dies sollte doch so stimmen oder? :D
Die digitalen Signale lassen sich ohne Probleme kommunizieren, jedoch passiert bei den Analogen garnichts.
Wenn ich auf der Steuerung einen Wert manuell eingebe, wird mir dieser aber in den online COE Daten korrekt angezeigt, lediglich verändert sich die verknüpfte Variable nicht.
Und wenn ich versuche an einem analogen Ausgang (in TC3) den Wert "1" zu forcen, springt die Anzeige plötzlich auf eine rießen große negative Zahl. Dies habe ich auch noch nicht verstanden warum :confused: .
Ich vermute ja stark, dass es an der fehlerhaften Konfiguration liegt, da mir TC3 ja, wie bereits erwähnt, meine PDOs splittet. Oder hat es damit nichts zu tun?
Ich hoffe mir kann jemand helfen :)
Ihr könnt mir auch gerne eine überhauen, weil ich so dumm bin und etwas Offensichtliches übersehe :grin:
Falls noch Informationen fehlen sollten, werde ich diese natürlich schnellstmöglich ergänzen :)
Vielen Dank schonmal an euch!
Mit freundlichen Grüßen,
Stefan
Ich mache gerade meine Bachelorarbeit und und habe schon einige Stunden damit verbracht mein Problem zu lösen, leider bisher ohne Erfolg.
Nun hoffe ich, dass vielleicht jemand von euch mir auf die Sprünge helfen kann :)
Kurzer Umriss meiner Aufgabe:
In einer Zelle sind zwei 6-Achs-Roboter der Firma Stäubli verbaut (jeweils mit der Steuerung CS8C).
Diese sollen nun eine Kooperationsaufgabe erledigen und dafür über TwinCAT 3 kommunizieren. Verbunden sind sie mit EtherCAT druch eine PCI Karte (Hilscher) in den Steuerungen.
Mein bisheriges Vorgehen war wie folgt: Analoge und digitale Ein-/Ausgänge in der Stäubli Software angelegt, mit Variablen verknüpft und auf die reale Steuerung geladen. Anschließend diese Konfiguration als ESI exportieren lassen und in den TwinCAT Config Ordner gepackt.
So, nun meine Probleme :D :
Die Box wird als Slave erkannt, jedoch werden mir jeweils 7 zusätzliche, digitale Ein- und Ausgänge angezeigt. Ich kann mir nicht erklären wo diese herkommen. Nachdem ich diese in der XML manuell entfernt habe, stimmt zumindest die Anzeige. Jedoch bekomme ich die Fehlermeldung "Invalid SM IN cfg", und dementsprechend die Box auch nicht online.
Erst nachdem ich die PDO vom Gerät laden lassen habe, wechselt die Box in den OP State.
Dadurch werden aber jeweils zwei TxPDO und RxPDO erstellt, getrennt nach digital (BIT) und analog (FLOAT). Leider kenne ich mich nicht genug aus um zu sagen, ob dies Probleme verursachen kann :confused:
Naja ich war erstmal froh darüber, dass die Box online ist und habe die Ein-/Ausgänge mit meinen Variablen verknüpft.
Angelegt sind diese einfach über "AT%Q*" bzw. "AT%I*" und BOOL für die Digitalen, REAL für die Analogen. Dies sollte doch so stimmen oder? :D
Die digitalen Signale lassen sich ohne Probleme kommunizieren, jedoch passiert bei den Analogen garnichts.
Wenn ich auf der Steuerung einen Wert manuell eingebe, wird mir dieser aber in den online COE Daten korrekt angezeigt, lediglich verändert sich die verknüpfte Variable nicht.
Und wenn ich versuche an einem analogen Ausgang (in TC3) den Wert "1" zu forcen, springt die Anzeige plötzlich auf eine rießen große negative Zahl. Dies habe ich auch noch nicht verstanden warum :confused: .
Ich vermute ja stark, dass es an der fehlerhaften Konfiguration liegt, da mir TC3 ja, wie bereits erwähnt, meine PDOs splittet. Oder hat es damit nichts zu tun?
Ich hoffe mir kann jemand helfen :)
Ihr könnt mir auch gerne eine überhauen, weil ich so dumm bin und etwas Offensichtliches übersehe :grin:
Falls noch Informationen fehlen sollten, werde ich diese natürlich schnellstmöglich ergänzen :)
Vielen Dank schonmal an euch!
Mit freundlichen Grüßen,
Stefan