-> Hier kostenlos registrieren
Hallo zusammen,
ich habe vor ein paar Jahren mal beruflich mit S7 gearbeitet und befasse mich seit ein paar Tagen wieder mit dem Thema, da ich für einen bekannten ein kleine Programmierung machen soll.
Am Anfang dachte ich dass es ja ganz simple ist was er will. Doch nun hänge ich an einem Punkt fest wo ich absolut nicht weiter weiß.
Es ist doch schon zulange her dass ich mich richtig mit der Thematik befasst habe.
Hier nun die Anforderung des Programmes:
es gibt einen Motor der mit verschiedenen Zeiten in einer vordefinierten Reihenfolge an und abgeschaltet wird.
z. B. 5s an, 3s aus, 10s an, 15s aus, usw...
Ich dachte mir das ganze so:
Ich lege einen DB (Typ S5Time)an mit dem Array Motor_AN und Motor_AUS wo ich die entsprechenden Zeiten in Reihenfolge ablege.
Dann nehme ich eine Einschalt- (S_Severz) und Ausschaltverzögerung (S_Averz) in Reihe und zähle nach jedem Durchgang einen Zähler (Z1) um 1 nach oben.
Diesen Zähler verwende ich dann zum Aufruf des Arrays direkt am TW der EV bzw. AV.
Und hier dachte ich dass ich das einfach so verwenden kann: DBx.Motor_AN[Z1]
Nur leider hat das ganze nicht hin.
Wo ist der Fehler bei dem ganzen?
ich vermute mal an der Verendung der Variablen, oder?
Grüße Steffen
ich habe vor ein paar Jahren mal beruflich mit S7 gearbeitet und befasse mich seit ein paar Tagen wieder mit dem Thema, da ich für einen bekannten ein kleine Programmierung machen soll.
Am Anfang dachte ich dass es ja ganz simple ist was er will. Doch nun hänge ich an einem Punkt fest wo ich absolut nicht weiter weiß.
Es ist doch schon zulange her dass ich mich richtig mit der Thematik befasst habe.
Hier nun die Anforderung des Programmes:
es gibt einen Motor der mit verschiedenen Zeiten in einer vordefinierten Reihenfolge an und abgeschaltet wird.
z. B. 5s an, 3s aus, 10s an, 15s aus, usw...
Ich dachte mir das ganze so:
Ich lege einen DB (Typ S5Time)an mit dem Array Motor_AN und Motor_AUS wo ich die entsprechenden Zeiten in Reihenfolge ablege.
Dann nehme ich eine Einschalt- (S_Severz) und Ausschaltverzögerung (S_Averz) in Reihe und zähle nach jedem Durchgang einen Zähler (Z1) um 1 nach oben.
Diesen Zähler verwende ich dann zum Aufruf des Arrays direkt am TW der EV bzw. AV.
Und hier dachte ich dass ich das einfach so verwenden kann: DBx.Motor_AN[Z1]
Nur leider hat das ganze nicht hin.
Wo ist der Fehler bei dem ganzen?
ich vermute mal an der Verendung der Variablen, oder?
Grüße Steffen