TIA Eingangsbaugruppe in ein Array schreiben

Ravitu

Level-1
Beiträge
22
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Zusammen

habe hier eine ET200 SP 1510 CPU mit einem DI 16 Modul. Da mehrere Lichtschranken (10) daran angeschlossen sind, dachte ich mir, es wäre eine tolle Idee, einen eigenen Datentyp mit einem Array zu schreiben und diesen der Adresse 0.0 zuzuweisen.
Soweit funktioniert das auch wunderbar. Das Problem ist jetzt halt nur, dass ich die anderen Anschlüsse (sprich ab 1.2) nicht mehr vernünftig auslesen kann. Gibt es dafür eine einfache Lösung oder muss ich meinen Datentyp anpassen bzw. die Lichtschranken doch einzeln zuweisen?

MFG
 
Du meinst das Problem ist, dass der UDT zwei Byte Eingangsdaten belegt obwohl nur 0..9 of Bool angelegt sind? Du kannst Adressen in der Symboltabelle auch doppelt belegen. Wenn eines ein UDT ist, gibts da nichtmal eine Warnung. Obs sauber ist? Keine Ahnung. Ich würd die Eingänge einzeln deklarieren. 10 ist ja wirklich überschaubar.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mein Gedankengang war halt, dass ich so das Programm recht skallierbar behalte, da ich in Zukunft nur 2 Konstante ändern muss und das gesammte Programm dann mit skalliert. Müsste dann nur die Adressen neu vergeben.

Was genau im Programm passier weiß ich auch nicht. Aber jene Variablen welche Adressen im UDT-Bereich haben, werden nicht sauber erkannt. An der Baugruppe leuchtet zwar die Lampe, aber im Programm wird der Zustand immer als False angegeben. Bei den Variablen der UDT wird alles korrekt erkannt.
 
Welche TIA Version nutzt du? Wir Tp-Inc schon schrieb, werden von deinem Array die ersten beiden Byte in Beschlag genommen und deine anderen Eingänge kommen dann ab Byte 4

1631127791972.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich nutze Tia V16

Schade das es nicht so funktioniert wie erhofft. Aber kann mir jemand erklären woran das liegt? Das Signal liegt ja an und ich frage ja eine Adresse ab an der das Signal anliegt, und kein Objekt.
 
Ich nutze Tia V16

Schade das es nicht so funktioniert wie erhofft. Aber kann mir jemand erklären woran das liegt? Das Signal liegt ja an und ich frage ja eine Adresse ab an der das Signal anliegt, und kein Objekt.
Ich kanns mir ehrlich gesagt nicht erklären. Würde erwarten dass es genau wie du hast funktioniert. Falls du die Lösung findest halt uns am laufenden
 
Ich habe mal deine Konstellation mit einer 1512C konfiguriert und dann mit PLCsim simuliert. Dort kommen die Signale an den Eingängen, die vom UDT überlappt, aber nicht genutzt werden, an. Habe es mit TIA V16 und PLC FW 2.8 gemacht.
Ich bin auch der Meinung, dass es gehen sollte. Werde es bei Gelegenheit mal mit einer realen 1500er ausprobieren.
Welche Version hat die FW deiner ET200SP 1510?
ArrayAufEingang_1.PNGArrayAufEingang_2.PNGArrayAufEingang_3.PNG
 
Zurück
Oben