-> Hier kostenlos registrieren
Hallo zusammen,
ich habe folgende Aufgabenstellung:
Ich möchte in einem Datenbaustein beliebiger Länge bei einer poitiven Flanke eines Eingangs in jedem ersten Byte eines Doppelwortes das Bit 5 (z.B. DB201.DBX0.5) auf 0 setzen.
Ich habe daher folgendes programmiert:
Zunächst rufe ich den SFC24 auf und speicher die Datenbausteinlänge lokal ab (#DBlength)
Meine Schleife sieht dann wie folgt aus:
U "E 8.4"
FP M 80.5
= L 0.0
U L 0.0
AUF "Status RohstoffM"
L 0
T #Bytenr
ANF: L #Bytenr
SLD 3
LAR1
L 5
+AR1
R DBX [AR1,P#0.0]
L #Bytenr
L 4
+I
L #Bytenr
L #DBlength
>=I
SPB END
SPA ANF
END: NOP 0
Leider kann ich es hier nicht simulieren. Daher habe ich zwei Fragen:
1. Ist das so überhaupt funktionsfähig?
2. Wenn ja, geht die CPU eventuell auf Stop, wenn ich damit einen Datenbaustein mit einer Länge von z.B. 884 Bytes durchratter (zu lange Zykluszeit)?
Für Hilfe wäre ich dankbar
ich habe folgende Aufgabenstellung:
Ich möchte in einem Datenbaustein beliebiger Länge bei einer poitiven Flanke eines Eingangs in jedem ersten Byte eines Doppelwortes das Bit 5 (z.B. DB201.DBX0.5) auf 0 setzen.
Ich habe daher folgendes programmiert:
Zunächst rufe ich den SFC24 auf und speicher die Datenbausteinlänge lokal ab (#DBlength)
Meine Schleife sieht dann wie folgt aus:
U "E 8.4"
FP M 80.5
= L 0.0
U L 0.0
AUF "Status RohstoffM"
L 0
T #Bytenr
ANF: L #Bytenr
SLD 3
LAR1
L 5
+AR1
R DBX [AR1,P#0.0]
L #Bytenr
L 4
+I
L #Bytenr
L #DBlength
>=I
SPB END
SPA ANF
END: NOP 0
Leider kann ich es hier nicht simulieren. Daher habe ich zwei Fragen:
1. Ist das so überhaupt funktionsfähig?
2. Wenn ja, geht die CPU eventuell auf Stop, wenn ich damit einen Datenbaustein mit einer Länge von z.B. 884 Bytes durchratter (zu lange Zykluszeit)?
Für Hilfe wäre ich dankbar