TIA SCL: Eingänge über Schleife in DB kopieren

Zizou

Level-1
Beiträge
41
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich möchte alle meine Eingänge (Bit) in eine DB-Variable kopieren.
Am Besten über eine Schleife 8 Eingangsbits in eine Byte-Variable.
In AWL habe ich das bisher immer mit BLKMOV gemacht.

Beispiel:
E1.0 bis E1.7 sollen in die Variable Eingangsstatus1 (Datentyp BYTE) kopiert werden.
SCL:
BLKMOV(SRCBLK := P#E0.0 BYTE 1, DSTBLK=> Eingangsstatus1);

Damit bekomme ich jetzt einen Fehler "Der Zugriff auf ein optimierten Speicherbereich ist nicht zulässig"

Hat jemand eine Idee wie ich das machen muss?
 
Damit bekomme ich jetzt einen Fehler "Der Zugriff auf ein optimierten Speicherbereich ist nicht zulässig"
Schreibt Dir Siemens doch:
Wenn Du das unbedingt auf diesem Weg machen möchtst, dann darf der DB nicht optimiert sein!

Vermutlich gibt es aber elegantere Wege (z.B. mittels udt), die aber davon abhängen, was hinterher mit den Daten weiter passieren soll.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
damit ich mal weiter komme, habe ich den DB mal auf "nicht optimiert" geändert.

Und jetzt stehe ich vor dem nächsten Problem:
Wie kann ich den einen Eingang über eine Schleifenvariable angeben?
%E0.0 müste zu %E[Variable,0]
bzw.
P#%E0.0 müste zu P#%E[Variable,0]

Das muss doch in SCL möglich sein
 
Zurück
Oben