-> Hier kostenlos registrieren
Hallo zusammen,
meine BC100 SPS läuft soweit und ich habe angefangen mit Codesys etwas Code zu schreiben, um zu testen.
Mir ist leider aufgefallen, dass bei bestimmtem Code die SPS die Verbindung komplett abbricht und man einen Power Cycle machen muss, um sich erneut zu verbinden.
Wie ist es möglich, dass bei manchem Code die Verbindung abbricht und nicht mehr geht, während bei anderem Code alles funktioniert?
Hier ein Codebeispiel bei dem alles läuft:
Hier ein Beispiel, bei dem nichts mehr geht und neu gestartet werden muss:
Liegt es an der while-Schleife oder an irgend einem Fehler?
Wahrscheinlich ist schon etwas falsch, aber warum es dann zu einem Absturz und Verbindungsabbruch kommt, kann ich mir nicht erklären.
PS: Gibt es eigentlich eine Möglichkeit die Gerätebenutzeranmeldung zu deaktivieren? Das nervt ziemlich... Immer eingeben BN: admin PW: wago
Konfiguration der SPS ist als Bild im Anhang zu finden.
Danke im Voraus!
meine BC100 SPS läuft soweit und ich habe angefangen mit Codesys etwas Code zu schreiben, um zu testen.
Mir ist leider aufgefallen, dass bei bestimmtem Code die SPS die Verbindung komplett abbricht und man einen Power Cycle machen muss, um sich erneut zu verbinden.
Wie ist es möglich, dass bei manchem Code die Verbindung abbricht und nicht mehr geht, während bei anderem Code alles funktioniert?
Hier ein Codebeispiel bei dem alles läuft:
Code:
PROGRAM PLC_PRG
VAR
DO_1 AT %QX0.0 : BOOL;
DO_2 AT %QX0.1 : BOOL;
StartTimer : BOOL; //Start Timer Variable
TimerOut : BOOL; // Variable für Timer Output
timer : TON; // Timer-Instanz
END_VAR
// Timer initialisieren
timer(IN := TRUE, PT := T#1S);
// Überprüfen, ob der Timer abgelaufen ist
IF timer.Q THEN
DO_1 := NOT DO_1; // Zustand umschalten
DO_2 := NOT DO_2; // Zustand umschalten
timer(IN := FALSE); // Timer zurücksetzen
timer(IN := TRUE, PT := T#1S); // Timer erneut starten
END_IF
Hier ein Beispiel, bei dem nichts mehr geht und neu gestartet werden muss:
Code:
PROGRAM PLC_PRG
VAR
DO_1 AT %QX0.0 : BOOL;
DO_2 AT %QX0.1 : BOOL;
DO_3 AT %QX0.2 : BOOL;
StartTimer : BOOL; //Start Timer Variable
TimerOut : BOOL; // Variable für Timer Output
timer : TON; // Timer-Instanz
END_VAR
// Timer initialisieren
timer(IN := TRUE, PT := T#1S);
WHILE NOT timer.Q DO
DO_3 := NOT DO_3; //Zustand umschalten beim Warten
END_WHILE
DO_1 := NOT DO_1; // Zustand umschalten
DO_2 := NOT DO_2; // Zustand umschalten
timer(IN := FALSE); // Timer zurücksetzen
Liegt es an der while-Schleife oder an irgend einem Fehler?
Wahrscheinlich ist schon etwas falsch, aber warum es dann zu einem Absturz und Verbindungsabbruch kommt, kann ich mir nicht erklären.
PS: Gibt es eigentlich eine Möglichkeit die Gerätebenutzeranmeldung zu deaktivieren? Das nervt ziemlich... Immer eingeben BN: admin PW: wago
Konfiguration der SPS ist als Bild im Anhang zu finden.
Danke im Voraus!