Moin Casius,
der Sprungverteiler ist doch nur der Verteiler!
Die eigendlichen Zustände kommen jeder in ein eigenes Netzwerk.
Das hat den Vorteil das ich jeden Zustand sauber im Netzwerkkopf
dokumentieren kann und im Onlinestatus im Sprungverteiler sofort sehe
welcher Zustand gerade bearbeitet wird.
Die SPL Anweisung hat noch eine andere schöne Eigenschaft.
Hat die Zustandsvariable mal eine nicht vorhandene Nummer, kann ich im Defaultteil schön darauf reagieren.
Meist mache ich es auch so, dass meine normalen Anlagenzustände
erst ab Nummer_1 beginnen, dass hat den Vorteil, das ich bei der
Zustandvisuallisierung (z.B. WinCC) für die Zustandnummer_0
eine rot unterlegten Zustandstext ausgebe der mir sofort zeigt das
meine schöne Zustandsmachine offensichtlich noch nie durchlaufen wurde.
Die SPL Anweisung ist auch meist erheblich schneller als deine Methode.
Nach eine paar Tips:
Schreibt man vor der SPL Anweisung eindann kann man folgendes machen:
Code:
S10: L 10
T StepNR
S Auto_Heben
man sparrt einen haufen SET/CLR befehle ein und
das Programm wird kürzer. Du braucht das VKE übriges auch nicht zu setzen, weil es beim Zustandsvergleich und anschliessendem SPB
sowieso immer gesetzt wird.
Wenn du deine Methode weiterverwenden willst, gibt es noch einen Trick
wie du Anweisungen einsparen kannst:
Code:
L StepNR
L 10
==I
SPBN nS10 // nicht Zustand 10
//____________Bearbeitung S10_______________
...
...
//____________Ende_S10_____________________
+ 10 // Accu1 ist jetzt 20, Zustandsnummer bleibt in Accu2
==I
SPBN nS20
usw.
Ein neuladen der Zustandsnummer wird nicht mehr nötig.
Bookmarks