TIA SIMATIC S7 - OUC Verbindung/ Kommunikation zu Dashboard Server (Universal Robot UR10e)

Mogli

Level-2
Beiträge
123
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen zusammen,

wir haben hier eine Testprojekt mit einer S7 1212 (TIA V15.1) und einem Roboter von Universal Robots (UR10e).
Beide sind via Profinet miteinander verbunden. Der reine Datenaustausch über die EA´s (Lesen und Schreiben) funktioniert auch.

Meine HW-Config:

1644300900959.png
1644300932569.png

Der UR10e verfügt zudem über einen Dashboard Server, mit dem man direkte Befehle an den Roboter senden kann (wie z.B. play, stop, pause...). Mit der Software "SocketTest V3.0.0" funktiniert das ganze auch super.

Jedoch bekomme ich keinen Datenaustausch zwischen meiner SPS und dem Dashboard Server des Roboters hin.

Aufgebaut wird eine Verbindung via "TCON". Die Daten möchte ich via TSend an den Roboter übermitteln und (testweise) mit TRCV auslesen, was der Roboter macht, bzw. ob er mein "Anfrage" beantwortet. Leider tut sich da garnichts.

1644300465931.png
Der TCON wurde wie folgt "parametriert":
1644300519143.png

Der Datenbaustein für den TSend sieht wie folgt aus:
1644300578024.png

Hier dachte ich, dass man einfach den String (in der korrekten Syntax) eingeben will. In älteren Foren-Einträgen bei Universal Robot habe ich gesehen, dass man nicht einfach nur "play" schreiben kann, sondern es wie folgt aussehen muss:

1644300687659.png
Leider ist dieser Eintrag schon 3 Jahre alt... Ich hatte versucht dort die Leute "anzutriggern", jedoch bekomme ich von da keine Antwort. Ist wohl schon zu lange her...

Hat jemand von euch eine Idee? Bzw. hat jemand von euch diese Kommunikation zwischen SPS und Universal Robot zum Laufen gebracht?
Würde mich sehr über eure Hilfe freuen.

Grüße aus Luxembourg.
 
Was sagen denn die "done"-, "busy"- und "error"-Ausgänge der einzelnen Bausteine? und ganz wichtig: was steht im Status?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin @koderko

senden funktioniert mittlerweile, jedoch kann ich nichts empfangen:

1644305749617.png

Hier bleibt das "Busy" Signal immer auf "TRUE" und der Status ist "7002".

Bei dem Programm "SocketTest" bekommt man immer eine Antwort, sodass man auch sieht, dass der Befehl ausgeführt wurde:
1644305843387.png

Ohne richtige Rückmeldung (vom Robi) ist das ganze etwas unschön...

Was ich ebenfalls nicht verstehe, ist der Aufbau des Strings.

Wenn ich im DB händig $Lplay$L eingebe, funktioniert das super und der Befehl wird erkannt.
Wenn ich dies jedoch im HMI machen möchte und mir dann den DB anschaue, sieht der String anders aus:

1644306906324.png

Warum macht er aus meinem $Lplay$L aus dem HMI ein $$Lplay$$L im DB?
Wenn ich im HMI das "$" Symbol wegnehme, steht im DB nur LplayL....
 
Zuletzt bearbeitet:
Wenn du den String in deinen DB direkt eingibst, wird das "$L" als ein Steuerzeichen (Line Feed) interpretiert.
Gibst du das gleiche in dein HMI ein, denkt das HMI, dass du ein Dollarzeichen und ein L eintippen willst. Um ein Dollarzeichen in einem String darzustellen, wird diesem ein weiteres Dollarzeichen vorangestellt. Es wird also aus deinem "$L" ein "$$L". Du müsstest versuchen, das "$L" als ASCII-Code einzugeben (0x0A). Das weiß ich aber nicht, wie man das am HMI macht.

Alternativ baust du dir deinen String so zusammen, dass du in der SPS das "$L" mit der Texteingabe am Panel verknüpfst (CONCAT) und dann an den robi sendest.
 
Zuletzt bearbeitet:
Habs jetzt anders gelöst.

Ich habe einen 2ten DB, der alle Befehlt beinhaltet (z.B.: $Lplay$L...)
Wenn ich jetzt eine Taste im HMI drücke, dann schiebe ich diesen String via S_Move auf den DB-Eintrag, der letztendlich auf den Roboter geschrieben wird.
 
Zurück
Oben