TIA S71500 - 500 Eingangswerte hintereinander abfragen über ein Counter

mbb

Level-2
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle,

gibt es eine möglichkeit in SCL auf der S71500 die Analogenwerte nacheinander abzufragen ohne für jeden einzelnen Eingang eine Funktion zu schreiben?
Geplannt sind 500xPT100.

Als grobes Beispiel:

#tmpPT100 := %EWCounter;

IF #tmpPT100 >= #zuhoch THEN
POKE_BOOL(area:=16#84,
dbNumber:="DB_TempState",
byteOffset:=#Counter,
bitOffset:=1,
value:=TRUE);
.
.
#Counter := #Counter + 2;
 
Zum lesen brauchst du PEEK. Es kann sein das davon die Zykluszeit etwas hoch geht. Was ich nicht verstehe warum du oben tmpPT100 schreibst.


So ungefär sollte es gehen
Code:
FOR counter := startbyte TO endbyte by 2 DO
    #Input[counter]:=PEEK_WORD(area:=16#81, dbNumber:=0, byteOffset:=Counter);
END_FOR;
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ah. Vielen Dank.

Genau die Funktion habe ich gesucht. Wusste nicht das man mit Peek auch Eingänge lesen kann.

Das ist nur ein Beispiel. Dachte so könnte ich es besser zeigen was ich suche.

Wegen der Zykluszeit bin ich noch an überlegen ob ich pro Zyklus nur eine kleine Anzahl an Eingängen überprüfe. Das muss ich aber noch austesten. 500 Werte ist bestimmt für einen Zyklus zuviel bei der kleinen ET200SP 1512. K.a.

Danke nochmal Hilft mir erstmal weiter.
 
Hallo,

als Alternative Möglichkeit könntest du einen Datentyp anlegen, in dem ein Array von deinen Eingängen abgebildet ist und dieses dann mit der ersten Adresse beschalten.
Ich denke diese Möglichkeit ist nicht so Zykluszeit fressend.
 
Zurück
Oben