TIA Eingangsbyte -> Struct aus Bool

Nico1977

Level-1
Beiträge
59
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe eine 1500er ein Gerät über Profibus.
In der Hardware ist nun z.B. ein Eingang parametriert mit Hilfe der entsprechenden GSD-Datei.

Der Eingang besteht aus 2 Byte.

Ich habe nun einen DB mit PLC-Datentyp erstellt. Darin eine Struct mit 8 Bit + 1 Byte.
Nun will ich die 2 Eingangsbytes auf diese Struct schreiben, sodass ich mit den 8 Bits im Programm weiter arbeiten kann.

Über Lade-Transferiere klappt es nicht. Anscheinend transferiert TIA nicht auf Struct.
Wie kann ich die Eingänge nun in meinen DB schreiben?
 
Hallo Mico,

Das beschalten vom kompletten PLC-Datentyp funktioniert nur wenn die komplette schnittstelle von das Datentyp ist.

Du kannst dir doch auch direkt dir die Eingängen aus der Harwareconfiguration benennen. Oder willst du unbedingt in ein Datenbaustein schreiben.

Bram
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, ich kann natürlich die Eingänge direkt verwenden.

Ich versuche aber "im Geiste TIAs" möglichst symbolisch zu arbeiten, es sollte also ungefähr so aussehen:

L "Eingangswort [AI]"
T "DBxx".Struct1
 
Ich habe nun einen DB mit PLC-Datentyp erstellt. Darin eine Struct mit 8 Bit + 1 Byte.
Nun will ich die 2 Eingangsbytes auf diese Struct schreiben, sodass ich mit den 8 Bits im Programm weiter arbeiten kann.
Ich versuche aber "im Geiste TIAs" möglichst symbolisch zu arbeiten, es sollte also ungefähr so aussehen:

L "Eingangswort [AI]"
T "DBxx".Struct1
Das Byte und die Bits aus dem Eingangswort ausmaskieren per Wortverknüpfung (UW) oder Schieben geht symbolisch, z.B. so:
Code:
L   "Eingangswort [AI]"
T   "DBxx".Struct1.Statusbyte
SLW 1
U   <>0
=   "DBxx".Struct1.Bit7
SLW 1
U   <>0
=   "DBxx".Struct1.Bit6
SLW 1
U   <>0
=   "DBxx".Struct1.Bit5

...

=   "DBxx".Struct1.Bit1
SLW 1
U   <>0
=   "DBxx".Struct1.Bit0

statt "U <>0" geht auch "U >0"

Harald
 
Zurück
Oben