TIA Bitreihenfolge : TIA v13 = HMI Meldungen in Verbindung mit I/O ( Transf. im Merker )

Step7Neuling

Level-2
Beiträge
248
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle zusammen,

ich habe mal eine Frage bei der ich mir nicht mehr so sicher bin, ob das wirklich der richtige Gedanke ist....

Ich frage für verschiedene Meldungen meinen I/O Bereich ab, den ich vorher im Merkerbereich verschoben habe.

Wenn ich jetzt z.B. im I/O Bereich das Bit 0 abfrage, dann wird das im HMI Bereich das Triggerbit 8 sein....
wenn ich das Bit 8 (1.0) , dann wird das im HMI Bereich das Triggerbit 0 sein....

oder?

Bei mir ist es irgendwie gerade....

Triggerbit 0 = I0.6
Triggerbit 12 = I0.5
Triggerbit 15 = I0.7

das ganze verwirrt mich völlig...


PS: vorher habe ich IW0 MOVE MW0


Ich danke euch, für Hilfestellungen....und Aufklärung der Problemstellung
 
Wie kommst Du auf diese "unmögliche" Zuordnung? Laß Dir mal bei den Bitmeldungen die Spalte "Triggeradresse" anzeigen (Rechtsklick auf die Spaltenköpfe). Hast Du mal ein Bildschirmbild davon?
Was für einen Datentyp hat Deine Triggervariable?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

deine Zuordnung muss irgendwie durcheinander gekommen sein.

Du gibst ja ganze 16-bit Integer als Meldevariablen an - und dann fällt einem die Endianness auf die Füße.
Es müsste so aussehen:
M1.0 -> Bitmeldung ID 1
M1.7 -> Bitmeldung ID 8
M0.0 -> Bitmeldung ID 9
M0.7 -> Bitmeldung ID 16

Vorausgesetzt natürlich, dass die erste Variable für Meldungen MW0 ist.

Viele Grüße
 
Das ist so nicht richtig. Welche Meldenummer zu welchem Triggerbit gehört kann man selber festlegen, dabei kann man sich an Big Endian oder Little Endian halten oder es auch völlig bunt gemixt festlegen.

Man kann aber nicht ändern, welches Triggerbit auf welcher Adresse liegt - das ist unveränderbar:
M1.0 = Triggerbit 0
M1.7 = Triggerbit 7
M0.0 = Triggerbit 8
M0.7 = Triggerbit 15

Harald
 
ich habe es jetzt so gemacht wie PN/DP User es schreibt, irgendwie sind nur meine Meldungen durcheinander gekommen...also sprich wenn das Not-Aus Relais anzieht, dann passiert das zur gleichen Zeit wie
der Stopp-Taster betätigt wird, deshalb kam es zur Verschiebungen...

Ich danke euch, für eure Meinungen und Hilfestellungen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich mache es folgendermaßen: Ich baue mir in der PLC eine #ACK Variable mit TP von 2sek. Mit dieser #Ack Variable setze ich per SEL-Baustein (G) bei low den Wert 0 an IN0 und bei high den Wert 16#FF an IN1. Diese Werte schiebe ich in das höhere Byte von der Meldevariable....nämlich die Quittierbits 0-7 wenn ich die Quittiertaste betätige oder beim 1.Anlaufzyklus.
In den PLC Variablen lege ich eine neue Variablentabelle an mit den Namen "HMI_Meldungen". Wenn ich z.b. 8 Meldungen haben möchte, dann erstelle ich 8 x Merkerbool über 8x RS-flipflop...zb. M30.0 bis M30.7 . Somit habe ich 1 Byte ( %MB30) . Dieses Byte schiebe ich per Move in den zuvor erstellten DB . In diesem DB befindet sich ein Struct mit Word z.b. %MW0. Das niedrige Byte triggert die Meldungen ab Bit 8 bis Bit 15. Das Quittierbyte befindet sich im selben Word %MW0 und ist das höhere Byte mit den Bits 0-7.
 
Zuletzt bearbeitet:
Zurück
Oben