TIA Write/Read Safety Signals over OPC UA

Francesko95

Level-1
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle,

Ich Arbeite zu Zeit auf der virtuellen Inbetriebnehme, und benutze das Programm Visual Components. Auf meinen Rechner habe ich Visual Components und KEPServerEx und auf dem Rechner von meinen Kollegen ist TIA portal,NettoPLCSim und plcsim. Alles funktioniert, ich kann normale Signale schreiben und lesen, ich bekomme von ihm Safety Ausgänge aber ich kann die Safety Signale nicht auf das OPC Server schreiben. Wenn wir das PLCsim ausschalten werden die Safety Signale geschrieben, in dem Moment wo wir das plcsim einschalten werden die Safety Eingänge wieder überschrieben auf die 0.
 
wenn ich deine Frage richtig verstehe, dann bricht die Verbindung zum OPC-Server in dem Moment ab, wo PLCsim aktiviert wird.

Wenn ich mich recht erinnere, kommt beim Einschalten von PLCsim die Meldung, dass alle weiteren Verbindungen unterbrochen werden. Das ist also so gewollt.
 
Die Verbindung ist noch da, alle normalen Eingänge und Ausgänge kann ich manipulieren und auch die Safety Ausgänge von der SPS bekomme ich in meine Simulation. Das Problem ist dass ich Safety Eingänge zu der SPS senden soll. Wenn die plcsim ausgeschaltet ist kann ich alle (normale und Safety) Signale auf dem OPC Server ändern wie es mir passt, aber in dem Moment wo ich plcsim einschalte werden alle Safety Eingänge ( von der Simulation zu der SPS ) auf 0 überschrieben. Wenn die plcsim eingeschaltet ist kann ich mit der Simulation weiter machen, die Verbindung steht, alle normalen Ausgänge und Eingänge kann ich von der SPS lesen und auf sie schreiben ( und bekomme auch die Safety Ausgänge von der SPS zu der Simulation ), aber die Safety Eingänge von der Simulation zu der SPS kann ich nicht schreiben. Gibt es da eine Sicherung so dass man die Safety Eingänge nicht manipulieren kann, und wie kann ich das umgehen.
 
Ja, aber deshalb benutzen wir KEPServerEx in Kombination mit dem NETtoPLCSim, wie gesagt alles läuft, nur kann ich nicht die Safety Eingänge zu der SPS nicht Schreiben, sie werden in dem Zeitpunkt wo ich die PLCSim einschalte überschrieben und auf 0 gesetzt.
 
Hallo Howard,
Danke für deine Antwort. Meine Kollege hat diese Haken gesetzt aber es Funktioniert trotzdem nicht. Ich habe vieles versucht, aber es geht nicht. Das einzige dass ich gefunden habe ist dieses Hardware SIMBA PNIO von Siemens, aber es wehre besser wenn es ohne dieses SIMBA möglich ist(Lower Price).
 
Moin,
ich kann mir vorstellen, dass der Sicherheitsbetrieb das manipulieren der F-Eingänge verhindert. Das gleiche passiert auch beim simulieren mit PLC-Sim oder auf der realen CPU. Man kann dann einfach bspw. keine Variablen im F-Programm manipulieren (also mit Rechtsklick auf 1 setzen oder so). Um das F-Programm zu manipulieren muss man dann den Sicherheitsbetrieb temporär deaktivieren.
Das kannst du ja mal probieren...
Als erstes offline in der Safety Administration das Sicherheitsprogramm deaktivierbar machen:
SafetyAdmin.jpg
Diese Einstellung in die CPU laden und anschließend online verbinden.
Dann Online den Sicherheitsbetrieb in der Safety Administration deaktivieren:
SafetyDeaktivieren.jpg
Anschließend kann man die Variablen im F-Programm steuern - vielleicht kann deine Simulation dann auch auf die F-Eingänge schreiben.
ACHTUNG! Für den echten Betrieb sollte der Sicherheitsbetrieb wieder aktiviert werden ;)

PS: würde mich um Rückmeldung freuen, ob es funktioniert :)
PPS: ein Stop->Run aktiviert den Sicherheitsbetrieb wieder
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Leider könnte ich mich nicht früher melden, und die Sache mit dem Safety Signalen hat leider nicht funktionier. Wenn ich von meinen Rechner ein Saftey Eingang setze wird er nur kurz True und wieder von der SPS überschrieben auf False.
 
naja, die SPS aktualisiert halt jeden Zyklus ihre Eingänge - das liegt in der Natur der Dinge. Du schreibst also den Eingang einmalig auf TRUE und nächsten Zyklus überschreibt die SPS diesen wieder mit dem Prozessabbild. Du müsstest den Eingang also quasi via OPC forcen - ich weis nur nicht ob das aus deinem Programm heraus geht.

Alternative: Aus diversen Gründen kopiere ich mir immer alle Eingänge in einen DB. Beim Sicherheitsprogramm entsprechend in einen F-DB. Anschließend arbeite ich im gesamten Programm nur mit diesen "Kopien" der Eingänge. Sämtlich Ausgänge schreibe auch zunächst in einen DB (beim Sicherheitsprogramm wiederum in einen F-DB) und kopiere diese dann am Zyklusende auf die eigentlichen Ausgänge.
Das kopieren der Eingänge in meinen DB und das Kopieren der DB-Werte auf die Ausgänge macht bei mir je ein FC (FC_LeseEingänge und FC_LeseAusgänge). Wenn ich nun diese FCs im OB1 (im Sicherheitsprogramm MainSafety-OB ) auskommentiere, dann kann ich mein Programm ohne irgendwelche Hardware testen, indem ich einfach meine Variablen im DB steuer. In deinem Fall müssten deine OPC-Zugriffe dann auch direkt auf diesen F-DB (Kopie der F-Eingänge) zugreifen.
 
Zurück
Oben