TIA Verbindungsabbruch zum HMI überwachen (Lifebit)

SPSprogramierer

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Sali Leute

Ich bearbeite einen Baustein, wobei die Verbindung zwischen HMI und PLC durch das Lifebit überwacht ist.

Ich habe die unteren programm erstellt, es funktioniert. Wollte aber die Logik ändern. Statt 2 TON zu verwenden, wollte ich nur ein Timer (TOF) implementieren. Mir ist es gewusst, dass ich den Zustand zwischen die Signale mit einer XOR-Verknüpfung vergleichen kann, konnte aber nicht implementieren.

1660051778464.png
 
Da das Life-Bit vom HMI ja immer eine Wertänderung hat 0>1>0.... und das ca. sekündlich, könntest du einfach bei einer positiven Flanke einen TOF mit t#5s triggern. Der wird ja immer wieder neu angetriggert. Ist dieser abgelaufen = Verbindungsfehler.
Natürlich ist dort beim ersten Anlaufen der CPU der Verbindungsfehler erstmal vorhanden, sofern du das nicht abfängst.

Und noch ein Tip:
Wenn du schon einen FB nutzt, dann verwende für die Timer Multiinstanzen. So ist dein Baustein nicht wiederverndbar (Bibliotheksfähig)

-chris
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Richtig. LifeBit-Flanke OR Systemmerker FirstScan auf TOF-Eingang. Den Ausgang Q negiert auf #Verbindungsfehler.

Und auch noch einen Tip: in Variablennamen keine Leerzeichen verwenden. Besser Unterstrich oder CamelCase verwenden.

Harald
 
Statt 2 TON zu verwenden, wollte ich nur ein Timer (TOF) implementieren. Mir ist es gewusst, dass ich den Zustand zwischen die Signale mit einer XOR-Verknüpfung vergleichen kann, konnte aber nicht implementieren.
Die Zustände zweier Signale mit XOR zu vergleichen ist OK. Um einen Impuls bei jedem FlankenWechsel des Signals '#Koordinierungsits.Life_bit' zu erhalten, musst Du den aktuellen Zustand von'#Koordinierungsits.Life_bit' mit dem Zustand von '#Koordinierungsits.Life_bit' im vorhergehenden Zyklus per XOR miteinander verknüpfen und mit dem Ausgang des XOR den TOF triggern.
Das statische(!) Bit, das Du zum Speichern des Zustandes im vorherigen Zyklus benötigst, bildest Du durch Zuweisung des aktuellen Zustands an diese statische Variable, aber erst nach der Abfrage des Bits in der XOR-Verknüpfung.
Code:
ImpulsZumTriggernVonTOF := aktuellerZustand XOR vorherigerZustand ;
vorherigerZustand := aktuellerZustand ;
 
Zurück
Oben