funktioniert alles super.
Hmm, Du solltest aufhören, Dir Dein Programm aus gefundenen Codeschnipseln zusammenzustoppeln ohne zu verstehen, was der Code tut. Bei ALLEN Dir unbekannten Anweisungen schaue in die Operationsbeschreibung und lies diese so oft, bis Du sie verstanden hast. Eine Steuerung muß kontrolliert steuern und nicht zufällig.
Wenn Du AWL nicht richtig beherrschst dann programmiere besser in KOP oder FUP, da kann man viele Fehler gar nicht erst machen.
Kommentare haben zwar keinen Einfluß auf das Programm, doch falsche Kommentare verwirren und erschweren das Verstehen des Programmcodes.
OB21: Wo ist die VKE-Bildung für das "S Z1" geblieben??? Ohne kontrollierte Beeinflussung des VKE wird der Code nicht mehr zuverlässig funktionieren, sobald VKE-beeinflussender Code davor gesetzt wird.
(Die Zuweisung an MW12 mußt Du nicht so umständlich machen, schließlich hast Du ja gerade Z1 auf 1 gesetzt. Ein "L KH 1001" (besser: "L KT 001.1") + "T MW 12" reicht - ist aber eine Geschmacksfrage.)
FB_4: Nach den Vergleichen (>F, <F) solltest Du "SPB =" statt "SPZ =" verwenden. Die SPZ "verschleppen" das VKE, weil sie das VKE nicht begrenzen. Die nicht-Begrenzung des VKE wird zu Fehlern bei nachfolgenden Verknüpfungen führen.
Aber auf einmal habe ich das Problem, das mein Timer1 nicht mehr startet.
Der Code steht im Netzwerk6 im OB1. M1.1=1, T1=0 also UN T1=1.
Wo liegt mein fehler?
Code:
U M 1.1 ;Merker Start
UN T 1 ;Timer Lauflicht
L KT 001.2 ;Lade Zeitwert 0,5sek
SI T 1 ;Start Timer Lauflicht
***
Timer brauchen zum starten eine Flanke am Eingang. Ist M1.1 schon vor dem allerersten "SI T1" True? Dann erkennt "SI T1" keine Flanke und der Timer startet nicht.
Was steht vor dem "U M1.1"? Vielleicht ist auch das VKE nicht begrenzt.
Timer sollte man nicht mit sich selbst verriegeln. Da gehört immer ein Hilfsmerker hin. Wenn der Timer funktioniert, dann wird man ihn nach dem "SI T1" nicht abfragen können, weil er da fast immer True ist. Also schreibe besser:
Code:
U M 1.1 ;Merker Start
UN M 0.1 ;T1 Timer Lauflicht
L KT 001.2 ;Lade Zeitwert 1 sek
SI T 1 ;Start Timer Lauflicht
U T 1
= M 0.1
***
Und im OB21 füge hinzu:
Code:
U M 0.1 ;muß hier 0 sein
L KT 001.2 ;irgendein gültiger Zeitwert
SI T 1 ;Timer mit VKE=0 aufrufen
Statt "SI" würde ich "SE" nehmen (Geschmacksfrage)
"KT 001.2" bedeutet nicht 0,5s sondern 1,0s
Harald