Perfektionist
Level-1
- Beiträge
- 3.557
- Reaktionspunkte
- 524
-> Hier kostenlos registrieren
folgenden Code hat mir eine 6ES7 318-3EL00-0AB0 V2.8.2 nicht korrekt abarbeiten wollen:
Geschichte dazu gefällig? Ja, klar: ein kleines Testprogramm, das ich vor einem halben Jahr auf einer 319 V2.7.2 entwickelt habe, lief gestern auf der CPU mit V2.8.2 nicht an. Und nun begann die Fehlersuche: es stellte sich heraus, dass ein Zähler, der entsprechend des oben angegebenen Codes gebildet wurde, nicht lief. Und paradoxer Weise lief der Zähler während Status doch so einigermaßen (wenngleich nicht korrekt, wie sich nun zwischenzeitlich rausstelle).
Ergebnis der wissenschaftlichen Untersuchung des Problems:
auf der CPU mit FW-Stand 2.8.2 und 2.8.3 läuft das oben angegebene Programm nur, wenn man z.B. den (oben auskommentierten) NOP1-Befehl einfügt. Auf der auf 2.7.2 gedowngradeten CPU läuft das Programm anstandslos ohne irgendwelche Workarounds.
So, das gibt halt wieder einen Servicerequest (schade, dass Siemens nicht gleich direkt eine Kontaktstelle für Bugmeldungen hat).
[edit] weitergehende Versuche haben gezeigt, dass es in der Sequenz
hängt. egal, wo ich da den NOP 1 einfüge - danach geht es. Oder ich formuliere:
, das funktioniert dann auch so, wie man sich das denkt ...
Code:
L EB 0
SLD 24 // linksbündig schieben
L MD 0
TAK
T MD 0
// NOP 1
TAK
-D
L AB 0
SLD 24
+D
SSD 24
T AB 0
Ergebnis der wissenschaftlichen Untersuchung des Problems:
auf der CPU mit FW-Stand 2.8.2 und 2.8.3 läuft das oben angegebene Programm nur, wenn man z.B. den (oben auskommentierten) NOP1-Befehl einfügt. Auf der auf 2.7.2 gedowngradeten CPU läuft das Programm anstandslos ohne irgendwelche Workarounds.
So, das gibt halt wieder einen Servicerequest (schade, dass Siemens nicht gleich direkt eine Kontaktstelle für Bugmeldungen hat).
[edit] weitergehende Versuche haben gezeigt, dass es in der Sequenz
Code:
L MD 0
TAK
T MD 0
TAK
Code:
L EB 0
SLD 24 // linksbündig schieben
L MD 0
TAK
T MD 0
[B][COLOR=red]//[/COLOR][/B] TAK
-D
[B][COLOR=red]NEGD[/COLOR][/B]
L AB 0
SLD 24
+D
SSD 24
T AB 0
Zuletzt bearbeitet: