Sonstiges SimaticNet OPC UA Server Problem beim Schreiben von Variablen

IGhoddan

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
wir habe ein Problem bei einer Installation eines SimaticNet OPC Servers (V14) beim Schreiben von Variablen. An diesem SimaticNet hängen aktuell sechs S7-1500 SPSen über S7-OPT. Unser Problem äußert sich so, dass wir von einem OPC UA Client aus eine Variable schreiben, aber der Wert sich im SimaticNet nicht ändert.
Beispiel:
  • Int32 Variable hat den Wert : 2
  • Ein OPC UA Client schreibt die Var. auf 3
  • Der OPC UA Server zeigt nach dem Schreiben immer noch 2 an

Dieses Problem tritt sporadisch auf und es ist kein Rythmus zu erkennen, wann das auftritt. Wir haben dieses Problem bis auf TCP Paket Ebene mit Wireshark analysiert. Wir haben uns die Pakete angesehen, wenn mal wieder ein Wert nicht angenommen wurde. Der Client sendet ein "writeRequest" mit dem neuen Wert. Der Server sendet ein "WriteResponse" mit Status "GOOD" an den Client zurück, aber ändert den Wert nicht. Meiner Meinung nach ist das ein klares Fehlverhalten des SimaticNet Servers. Denn der Server sugeriert dem Client, dass der Schreib Befehl erfolgreich war, obwohl das nicht der Fall war. Ich vermute hier Timing Problem zwischen SimaticNet und den PLC's.
Ich hoffe jemand kann uns hier helfen.

Vielen Dank im Voraus.

Gruß
Ibrahim
 
Moin,
ich habe ehrlich gesagt nicht so viel Ahnung von dem Thema, aber wenn du Variablen auf der SPS via OPC UA schreiben möchtest, dann muss das an den entsprechenden Variablen im TIA auch so konfiguriert sein:
OPC.JPG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Howard,
danke für die Antwort.
Wie schon erwähnt, geht das Schreiben ja in den meisten Fällen gut, nur manchmal halt eben nicht. Ich kann mir nicht vorstellen, dass es ein grundsätzlicher Programmier Fehler ist, denn dann würde gar nichts gehen. Es muss irgendwie mit dem timing zwischen SimaticNet und S7-1500 zusammen hängen...
 
ja das stimmt, dann müssten es immer dieselben Variablen sein die beschreibbar/nicht beschreibbar sind. Ich könnte mir nur gut vorstellen, dass man in der SPS mal eben eine neue Variable einfügt und in der Eile den entsprechenden Haken nicht setzt. Nicht das mir das schon passiert wäre ... :rolleyes: ;)
 
Wird die Variable auf die geschrieben wird beispielsweise an einer Funktion oder einem Funktionsbaustein als In_Out-Parameter verwendet? Dann gibt es das bekannte Problem des bei der 1500er nicht mehr vorhandenen Zykluskontrollpunktes.
D.h. wenn dein Schreibbefehl dann zu dem Zeitpunkt in der SPS verarbeitet wird an dem der FC oder FB mit diesem Parameter gerade ausgeführt wird, dann geht dein Schreibbefehl verloren.

Wenn du nach "Zykluskontrollpunkt" hier im Forum suchst, dann findest du einige Threads in denen das Thema ausgiebig besprochen wird. Es ist nicht einfach zu beheben, wenn du das SPS-Programm nicht anpassen kannst ist es unmöglich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
in welchen intervallen wird die variable denn geschrieben?
kann es vielleicht sein, das du eine 3 in die var schreibst und sehr kurz danach wieder eine 2?
wenn dem so ist schau mal bei opc bei der aktualiesierungszeit navh.
welche cpu genau.
 
Hi Thomas,
wir haben nur die OPC UA Client Seite in der Hand. Das PLC Programm wird von einer anderen Firma geliefert. Ich kann mal nach screenshots fragen, wie die Variablen deklariert sind. Dein Hinweis hört sich sehr interessant an. Wir werden dem nachgehen.
Vielen Dank.

Gruß
Ibrahim
 
Hi Volker,
die Intervalle sind unterschiedlich. Aber wir bewegen uns auf jeden Fall oberhab von 1 sec. Ich werde mir das Thema Aktualisierungszeit mal ansehen. Welche CPU genau kann ich leider nicht sagen, weil wir die Maschine nicht liefern, sondern nur an unser MES anbinden sollen.

Gruß
Ibrahim
 
Zurück
Oben