TIA Wie messe ich die Zeiten des Signalaustausches zwischen Simulationsprogramm und TIA

MeistSonnig

Level-2
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Zusammen,

Ich habe aktuell eine Verbindung von TIA über OPCUA (PLCSIM Advanced) zu einem Simulationsprogramm hergestellt.
Es funktioniert auch alles soweit wunderbar... ich kann die Variablen wahlweise in TIA sowie im Simulationsprogramm triggern und erhalte dann den Gegenwert in der jeweils anderen Software. Jetzt stellt sich mir allerdings die Frage, ob OPCUA die bessere Variante oder doch eher COM/TCP darstellt. Dazu würde ich sehr gerne vergleichen, wie lange der Datenaustausch zwischen der Software wirklich dauert.

Mein Ansatz: In TIA eine Trace-Funktion auf eine meiner Variablen erstellen, dann im Simulationsprogramm diesen Triggern und aufnehmen und aus dem TIA Portal herauslesen, wie lange das ganze gedauert hat.... funktioniert nur so leider nicht wie ich festgestellt habe :D . TIA zeichnet da anscheinend nur den tatsächlichen Trigger auf der natürlich sofort passiert.

Zu meiner Frage: Fällt euch eine elegante Lösung ein, wie ich die Zeiten von dem Triggern der Variable im Simulationsprogramm bis zum Erhalt des Signals in TIA aufzeichnen kann? Vielen Dank schonmal für eure Hilfe!!

Schönen Arbeitstag noch allen!
 
Sind es denn kritische Daten? Mit welcher Aktualisierungsrate arbeitet denn dein Client/Server? Hab noch nie mit OPCUA gearbeitet, bekommst du denn kein Fertig-Signal vom Baustein sobald der Auftrag ausgeführt wurde? Hat denn die Varibale keinen Zeitstempel von wann der Wert das letzte mal aktualisiert wurde?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin MeistSonnig,

dafür würde ich ein ToggleSignal senden bzw. empfangen.

Das geht dann so:
Partner 1 sendet, was er empfangen hat 1:1 zurück. Aber nur, wenn sich die Empfangsinformation von der Sendeinformation unterscheidet.
Partner 2 bearbeitet das empfangene Signal und sendet etwas anderes zurück (Bei einem Togglebit das Signal invertieren, bei einem Wert das Signal inkrementieren). Aber nur, wenn sich die Eingangsinformation NICHT von der Sendeinformation unterscheidet.

Dann kann jeder Partner messen, wie lange es dauert, bis die gesendete Information wieder angekommen ist (Kommunikationslaufzeit). Wenn es kein Togglebit, sondern ein Wert ist, der inkrementiert wird, kann man sogar die Anzahl der Kommunikationsversuche zählen.
 
Hi,

ich würde einen Counter auf der PLC hochzählen lassen, der dann via OPC UA an die Gegenstelle gesendet, dort dann umkopiert wird und so wieder als zweite Variable zurück gesendet wird.
Dann einen Trace anlegen, in dem beide Werte aufgezeichnet werden. Dann die Aufzeichnung starten. Der Trace sollte jetzt die beiden Werte anzeigen und an den Stufen und der Wertigkeit kannst du nun die Roundtrip Zeit (senden + umkopieren +zurücksenden) ermitteln. Da es Limitierungen bei OPC UA gibt, was *Aktualisierungs- und *Sendeintervall innerhalb des OPC UA Servers gibt, ist die Zeit zum Umkopieren eigentlich vernachlässigbar klein. Nun kann man annehmen, dass die Zeit für hin und Zurück idealerweise gleich ist. Dann ergibt sich zwischen Senden des Counter Wertes und dem Empfangen des gleichwertigen zurück gespiegelten Counter Wertes eine Zeitwert, den man durch zwei teilt.

* kann man in der Hardware Config des OPC UA Servers der PLC einsehen und ggf. anpassen.
 
Zurück
Oben