Mein lieber Herr Siemens...
Warum muss in STEP 7 (TIA Portal) V12 hinter einem Sprungbefehl die Anweisung SET eingefügt werden, um eine Erstabfrage sicher zu stellen?
(laut FAQ-Gruppe "S7-1500 CPU 15xx -- S7-Programm erstellen -- Bausteine und Funktionen aufrufen" und Bestellnummern soll sich dieser Beitrag auf
S7-1500 beziehen)
Also je länger ich diesen Siemens-Support-Beitrag lese, desto mehr fühle ich mich verarscht. :evil:
Daß der Beispielcode total sinnfrei ist und der Beispielcode auch überhaupt nicht zur zu erklärenden Problematik passt - OK, da ist dem Schreiber halt nichts richtiges eingefallen. Doch wenn dann auch noch angebliche Screenshots des TIA-Programmstatus gefakt werden, das verwirrt dann doch mächtig. (siehe Bild aus dem Siemens-Beitrag im Anhang)
Ich verstehe überhaupt nicht, wieso in dem als Beispiel gewählten Code an der Marke "n_OK:" ein SET kommen soll ("muss"). Ist der Compiler so buggy, das er ohne das SET kein Programm liefert, was dem dokumentierten Verhalten von SPB/JC entspricht?
Systemhandbuch: STEP 7 Professional V12.0 (01/2013) - Seite 3680 schrieb:
SPB: Springen bei VKE = 1
[...]
Die Anweisung "Springen bei VKE = 1" setzt sowohl bei erfüllter als auch bei nicht erfüllter Bedingung das VKE auf "1".
Systemhandbuch: STEP 7 Professional V12.0 (01/2013) - Seite 3567 schrieb:
SET: VKE auf 1 setzen
Mit der Anweisung "VKE auf 1 setzen" setzen Sie das aktuelle Verknüpfungsergebnis (VKE) auf den Signalzustand "1".
SET beeinflußt also nur das VKE - was anderes ist nicht dokumentiert.
Systemhandbuch: STEP 7 Professional V12.0 (01/2013)
Was nicht klar wird: Ist dieses Einfügen der SET-Operation nur eine Empfehlung an Programmierer die nicht wissen was sie tun ("Angst-SET") oder ist es ein Workarround wegen fehlerhafter Übersetzung des Compilers oder meckert echt der Compiler, wenn nach der Marke kein SET steht? MUSS das SET tatsächlich eingefügt werden?
Preisfrage: Muß nach der Zeile "End: NOP 0" nun auch zuerst ein SET kommen, bevor eine neue Verknüpfung beginnt? (schließlich wird ja auch zur Marke "End" gesprungen und das NOP beinflußt das VKE ja nicht)
Beitrags-ID:67519310 Datum:2013-03-14 schrieb:
Vorgehensweise im TIA Portal
[...]
Die Anweisung SET setzt das VKE und das Statusbit auf "1" und wird unabhängig von der Bedingung ausgeführt. Auch die Statusbits OR und /ER werden zurückgesetzt und somit beginnt nach dem SET-Befehl eine neue Verknüpfung.
Weiß der FAQ-Schreiber nicht, daß es laut Systemhandbuch zu TIA V12 Seite 2204 und laut
dieser FAQ die Statusbits STA, OR und /ER bei S7-1500 überhaupt gar nicht gibt?!
Solche sinnfreien Werbeaussagen haben meines Erachtens nichts in einem technischen Support-Beitrag zu suchen:
Beitrags-ID:67519310 Datum:2013-03-14 schrieb:
Vorteile
- Änderungen im AWL-Code können Sie mit übersichtlicher und mit weniger Aufwand durchführen.
- Laufzeitfehler werden Ihnen bereits beim Übersetzen angezeigt.
Laufzeitfehler ... ja nee is klar ... super Compiler
und weniger Aufwand
Der Hinweis zur Security falls der Beispielcode in einer vernetzten SPS eingesetzt wird ist in diesem FAQ allerdings äußerst wichtig ...
Von welchem durchschnittlichen Intelligenzlevel eines TIA-Programmierers geht Siemens eigentlich aus?
Werden solche FAQ-Beiträge neuerdings von billig-Zeitarbeitern aus Textbausteinen in die Tastatur geklopft und wartet Siemens dann auf "die Reifung", bis irgendjemand mit Ahnung was richtiges draus macht?
Beitrags-ID:67519310 Datum:2013-03-14 schrieb:
Diskutieren Sie diesen FAQ
Sie haben eine andere Lösung oder eine andere Anwendung?
Sie kommen mit dieser Lösung nicht klar?
Diskutieren Sie diesen FAQ hier!
Ich glaube, diesen FAQ sollte man zu den Fragen an Siemens beim Forumtreffen hinzufügen.
Harald