Test von SCL-Code

broesel

Level-1
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie kann ich SCL-Code, bzw, einezelne Bausteine mit dem Simulator testen? Oder gibt es da andere möglichkeiten.
In KOP/FUP ist ja kein Problem, aber in SCL.

Danke
 
Unter Extras/Einstellungen/Compiler muss die Option "Debug Info erstellen" aktiviert sein. Dann neu übersetzen und laden. Weiterhin müssen die Programmversionen (SCL/STEP7) kompatibel sein.

Gruß, Onkel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Entschuldige Dagobert, ich meinte das Beobachten von Variablen
und Zuständen.
Das mit dem Kompilieren ist kein Problem.
In KOP/FUP kann kann ich doch auch die binären Zustände eines FB oder FC beobachten.

Danke
 
Einfach im SCL-Compiler auf die Brille klicken, und du hast eine ähnliche Anzeige wie im AWL Editor bei Status Baustein.

Gruß Centi
 
Vielleicht ein kleines Beispiel dazu:

Ein FC1 bekommt vom OB1 zwei Werte übergeben. Dies geschieht in AWL/FUP/KOP. Zwei Eingänge(E0.1,E0.2) starten über ein UND-Gatter den FC1.
Im FC1(SCL)werden die beiden Werte verglichen und sollen je nachdem ein Rückgabewert an den OB1 zurückgeben(Bool)A4.0.

FUNCTION FC1 : void
VAR_INPUT

Wert1:INT; Wert2:INT;

END_VAR

// Anweisungsteil
BEGIN

IF Wert1 <= 30 THEN Ausgabe1:=1 ; END_IF;
IF Wert2 <= 30 THEN Ausgabe2:=0 ; END_IF;




END_FUNCTION

Ich versuche dauernd das ganze in den PLCSIM zu laden.
Entweder ich bekomme die Meldung:

Der Baustein(ONLINE) konnte nicht geladen werden!
wenn ich nur den FC1 lade.

oder wenn ich den OB1 lade passiert irgendwie nix.

Kann ich das ganze, die Variablen im FC1 " BEOBACHTEN".
Oder wie ist das vorgehen dort.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sollte problemlos gehen. Mal zur Vorgehensweise. Zuerst PLCSIM starten, dann die Hardwarkonfig deines Projektes übertragen, die CPU in PLCSIM auf RUN-P. Anschließend (oder auch vor RUP-P) die Bausteine in die CPU übertragen. Danach kann man den Baustein online beobachten.
 
Danke Ralle.

Klappt jetzt. Hatte die Hardware nicht geladen.

Hatte letztens in FUP/KOP programmiert und da ging es auch ohne
Harware laden.
 
PS:

Dein SCL-Programm wird gar nicht übersetzt, da fehlerhaft!

Code:
FUNCTION FC1 : void
VAR_INPUT
  Wert1:INT;
  Wert2:INT;
END_VAR

VAR_OUTPUT
  Ausgabe1:BOOL; 
  Ausgabe2:BOOL;
END_VAR

// Anweisungsteil
BEGIN

  IF Wert1 <= 30 THEN Ausgabe1:=1 ; END_IF;
  IF Wert2 <= 30 THEN Ausgabe2:=0 ; END_IF;

END_FUNCTION

So wird es überhaupt erstmal übersetzt.
Die Ausgänge werden nicht richtig behandelt! Wo werden sie auf den korrespondierenden Wert gebracht?

Also vielleicht so?

Code:
FUNCTION FC1 : void
VAR_INPUT
  Wert1:INT;
  Wert2:INT;
END_VAR

VAR_OUTPUT
  Ausgabe1:BOOL; 
  Ausgabe2:BOOL;
END_VAR

// Anweisungsteil
BEGIN

  IF Wert1 <= 30 THEN 
    Ausgabe1:=1; 
  ELSE 
    Ausgabe1:=0; 
  END_IF;
  
  IF Wert2 <= 30 THEN 
    Ausgabe2:=0; 
  ELSE 
    Ausgabe2:=1; 
  END_IF;

END_FUNCTION

Falls du diese Logic für die Ausgänge wolltest ;)!
 
Zurück
Oben