Hallo Community,
ich möchte ein kleines SCL Programm mit PLCSim simulieren und testen, da ich noch keine Hardware habe.
Die SCL Quelle lässt sich fehlerfrei übersetzen und erzeugt die Bausteine FC10 und OB1.
Wird nun versuche den Baustein OB1 in PLCSim zu laden, wird folgende Fehlermeldung von Step 7 angezeigt:
294:23 Der Baustein OB1 konnte nicht kopiert werden.
Soll der Kopiervorgang fortgesetzt werden?
Wird in der SCL Quelle die Erzeugung des OB1 auskommentiert und dieser stattdessen manuell als FUP Baustein erstellt, so kommt es beim Laden nicht zu dem angegebenen Fehler. Das Programm funktioniert dann auch wie gewünscht.
Ich habe schon lange im Internet recherchiert um eine Lösung für mein Problem zu finden. Die Lösungsansätze für ähnliche Probleme, welche hier im Forum gepostet wurden, habe ich ebenfalls versucht umzusetzen. Leider blieben meine Bemühungen bisher erfolglos.
Daher bitte ich nun hier um Hilfe zur Lösung dieses Problems.
Das Programm soll die positive Flanke eines Tasters (Eingang E 1.0) erkennen und eine Lampe (Ausgang A 1.0) einschalten. Bei erneuter Betätigung des Tasters soll die Lampe dann wieder ausgeschaltet werden.
Symboltabelle:
SCL Quelle:
Vielen Dank für die Hilfe im Voraus
Gruß
sinumerik.user
ich möchte ein kleines SCL Programm mit PLCSim simulieren und testen, da ich noch keine Hardware habe.
Die SCL Quelle lässt sich fehlerfrei übersetzen und erzeugt die Bausteine FC10 und OB1.
Wird nun versuche den Baustein OB1 in PLCSim zu laden, wird folgende Fehlermeldung von Step 7 angezeigt:
294:23 Der Baustein OB1 konnte nicht kopiert werden.
Soll der Kopiervorgang fortgesetzt werden?
Wird in der SCL Quelle die Erzeugung des OB1 auskommentiert und dieser stattdessen manuell als FUP Baustein erstellt, so kommt es beim Laden nicht zu dem angegebenen Fehler. Das Programm funktioniert dann auch wie gewünscht.
Ich habe schon lange im Internet recherchiert um eine Lösung für mein Problem zu finden. Die Lösungsansätze für ähnliche Probleme, welche hier im Forum gepostet wurden, habe ich ebenfalls versucht umzusetzen. Leider blieben meine Bemühungen bisher erfolglos.
Daher bitte ich nun hier um Hilfe zur Lösung dieses Problems.
Das Programm soll die positive Flanke eines Tasters (Eingang E 1.0) erkennen und eine Lampe (Ausgang A 1.0) einschalten. Bei erneuter Betätigung des Tasters soll die Lampe dann wieder ausgeschaltet werden.
Symboltabelle:
Symbol | Adresse | Datentyp |
Ausgang | A 1.0 | BOOL |
Eingang | E 1.0 | BOOL |
Hand | FC 10 | FC 10 |
Zyklus | OB 1 | OB 1 |
SCL Quelle:
Code:
FUNCTION Hand : VOID
VAR_INPUT
in1 : BOOL;
END_VAR
VAR_OUTPUT
out1 : BOOL;
END_VAR
VAR_TEMP
// temporäre Variablen
flag : BOOL;
imph : BOOL;
zaehler : INT;
END_VAR
imph := in1 AND NOT flag ;
flag := in1 ;
IF imph THEN
zaehler := zaehler + 1;
END_IF;
CASE zaehler OF
1 :
out1 := true;
2 :
out1 := false;
zaehler := 0;
ELSE:
// Anweisungen_ELSE
;
END_CASE;
END_FUNCTION
ORGANIZATION_BLOCK Zyklus
VAR_TEMP
// reserviert
// temporäre Variablen
END_VAR
// Anweisungen
Hand(in1:= Eingang,out1 := Ausgang);
END_ORGANIZATION_BLOCK
Gruß
sinumerik.user