Ingo dV
Level-1
- Beiträge
- 61
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Moin!
Leider muss ich mein geliebtes AWL (teilweise) aufgeben, da Herr Siemens kein AWL in die 1200er eingebaut hat.
Ich lerne also gerade SCL und würde gerne durch euch prüfen lassen ob ich die Dinge so richtig sehen.
Hier ist mein AWL Code (Info - alle Werte sind REAL):
Und hier der SCL Code (Info - #Regeln.V_Min ist INT)
Und hier meine Fragen:
V11 - muss ich ENO aktivieren (wie bei Step7 - OK Flag setzten) oder ist die Funktion immer ein?
Ist die Funktionswahl ENO richtig - in AWL habe ich das mit SPO gelöst?
In AWL habe ich aus #Regeln.V_Min erst einen REAL Wert gemacht. Sehe ich es richtig das SCL V11 eine Autokonvertierung macht?
Ich habe eine 'Rechenergebnis Variable' gespart in dem ich bei der ersten Rechnung eine Variable nutze, die in einer weiteren Rechnung mit sich selbst verändert wird.
Darf ich das in SCL so machen?
Schon mal vielen Dank für eure Antworten
Leider muss ich mein geliebtes AWL (teilweise) aufgeben, da Herr Siemens kein AWL in die 1200er eingebaut hat.
Ich lerne also gerade SCL und würde gerne durch euch prüfen lassen ob ich die Dinge so richtig sehen.
Hier ist mein AWL Code (Info - alle Werte sind REAL):
Code:
L #V_Soll // Geschwindigkeifaktor =
L #V_min_REAL // Letzte aktuelle Speed - Vmin / Reststrecke
-R //
L #Reststrecke //
/R //
SPO RNUL // Sprung bei Ergebnis 'Overflow'
L #Tacho_x2 // V-Bremsen bei Restweg = Geschwindigkeitsfaktor * Tacho_x2
*R //
L #V_Soll //
TAK //
-R //
SPPZ RSTW // Sprung bei Ergebnis grösser/gleich '0'
RNUL: L 0.000000e+000 // V auf '0' begrenzen
RSTW: T #V_Bremsen_RestWeg // *** V-Bremsen bei Restweg
L #V_Soll // Sicherheitsabfrage
>R //
SPB RNUL // *** Rücksprung zur Begrenzung
Und hier der SCL Code (Info - #Regeln.V_Min ist INT)
Code:
#V_Bremsen_RestWeg := (#V_Soll - #Regeln.V_Min) / #Reststrecke;
IF ENO = false THEN;
#V_Bremsen_RestWeg := 0.0;
ELSE;
#V_Bremsen_RestWeg := #V_Soll - #V_Bremsen_RestWeg * #Tacho_x2;
IF #V_Bremsen_RestWeg < 0.0 OR #V_Bremsen_RestWeg > #V_Soll THEN;
#V_Bremsen_RestWeg := 0.0;
END_IF;
END_IF;
Und hier meine Fragen:
V11 - muss ich ENO aktivieren (wie bei Step7 - OK Flag setzten) oder ist die Funktion immer ein?
Ist die Funktionswahl ENO richtig - in AWL habe ich das mit SPO gelöst?
In AWL habe ich aus #Regeln.V_Min erst einen REAL Wert gemacht. Sehe ich es richtig das SCL V11 eine Autokonvertierung macht?
Ich habe eine 'Rechenergebnis Variable' gespart in dem ich bei der ersten Rechnung eine Variable nutze, die in einer weiteren Rechnung mit sich selbst verändert wird.
Code:
[B]#V_Bremsen_RestWeg[/B] := #V_Soll - [B]#V_Bremsen_RestWeg[/B] * #Tacho_x2;
Schon mal vielen Dank für eure Antworten
Zuletzt bearbeitet: