-> Hier kostenlos registrieren
Hallo,
ich soll eine Richtungswahl für ein Ziffernrad (0-9) in SCL programmieren. Ich soll das Ziffernrad vom jeweiligen IST Wert auf dem schnellsten Weg zum Sollwert drehen. Dazu gibt es ein altes Programm in AWL als Vorlage, welches auf einer S7 300 lief. Ich habe jetzt eine S7 1214C, die kein AWL kann, und habe keinen Plan wie ich diesen Teil des Programms umsetzen soll.
Kann mir da jemand weiterhelfen?
ich soll eine Richtungswahl für ein Ziffernrad (0-9) in SCL programmieren. Ich soll das Ziffernrad vom jeweiligen IST Wert auf dem schnellsten Weg zum Sollwert drehen. Dazu gibt es ein altes Programm in AWL als Vorlage, welches auf einer S7 300 lief. Ich habe jetzt eine S7 1214C, die kein AWL kann, und habe keinen Plan wie ich diesen Teil des Programms umsetzen soll.
Code:
L #setpoint
L #actual_value
<I
SPBB m001
-I //check if more or less as 5 positions
L 5
>I
SPBB m006 //if more than 5 positions > direction -
SPA m003 //if less than 5 positions > direction +
m001: NOP 0
L #setpoint
L #actual_value
-I
L 5
>I
SPBB m003
//If the result is a negative number and direction must be +
L #setpoint
L #actual_value
-I
L L#65532
<I
SPBB m003
m006: NOP 0
S #backwards //direction -
SPA m002
m003: NOP 0
R #backwards //no direction -
m002: NOP 0
UN #home //if wheel is not homeposition
SPBB m010 //jump to end
L 0
T #actual_value
m010: NOP 0
Kann mir da jemand weiterhelfen?