HMI-Triggervariable, TIA Portal

STEP7 ist die Programmiersprache der SIMATIC S7-Steuerungen. Allgemeine Fragen.
Antworten
Franzi
SPSTreff-Fortgeschrittener User
Beiträge: 19
Registriert: 24 Apr 2013, 13:24

HMI-Triggervariable, TIA Portal

Beitrag von Franzi »

Hallo,

es geht um Fehlermeldungen in einer Anlage. Ich möchte in einem DB eine Variable mit dem Datentyp WORD erstellen. Für das WORD habe ich somit 16 Bitmeldungen. Im Anwenderprogramm wird also jedem Fehler ein Bit zugewiesen. Im HMI gebe ich dann als Triggervariable dieses WORD an.

Mein Problem ist leider, dass ich nicht weiß wie ich diese Bits des Words im DB erstellen soll, denn wenn ich einfach nur ein Word erstelle, kann ich nicht auf die 16 Bits zugreifen, sondern muss 16 neue Bits separat erstellen, welche aber NICHT im besagten WORD sind.

Hoffe ihr versteht was ich meine .

Grüße

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 673
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

leider wurde nicht gesagt um welches SPS-System es geht (S7-300/400 oder S7-1500).

Bei der S7-300 wäre eine Möglichkeit die DB-Word-Variable absolut im SPS-Programm anzusprechen (DB1.DBX10.3), dies ist aber unvorteilhaft bei Änderungen im DB.
Besser wäre es die DB-Variable zu Beginn des OB1 in ein Merkerwort zu transferieren und dann dessen Bits im weiteren Verlauf des SPS-Programms zu verwenden. Am Ende des OB wird dann das MW wieder zurück in die DB-Variable geschrieben.

Bei der S7-1500 können Byte-, Wort- und Doppelwortvariable auch als Bitoperanden angesprochen werden.
Beispiel:
DB-Variable WORD hat den Namen "DBWordVar"
Auf die einzelnen Bits kann dann über
U DBName.DBWordVar.x0
bis
U DBName.DBWordVar.x15
zugegriffen werden.

Gruss
Gruss

Franzi
SPSTreff-Fortgeschrittener User
Beiträge: 19
Registriert: 24 Apr 2013, 13:24

Beitrag von Franzi »

Hallo,

vielen Dank für Ihre schnelle und gute Hilfe. Ja, tut mir leid, hatte es vergessen. Es handelt sich um eine S7-1200. Ich habe ein Word im DB erstellt und konnte dann im Anwenderprogramm bitweise darauf zugreifen. Und genau das mit dem bitweise Zugreifen war mein Problem.


Freundliche Grüße

Antworten