TIA DB Wert lässt sich nicht überschreiben / zurücksetzen

AlexWitzig

Level-1
Beiträge
30
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Morgen Leute,

ich versuche gerade verzweifelt einen Betriebsstundenzähler zu implementieren
nur lassen sich meine Werte im DB nicht zurücksetzen und haben
immer "sonderbare" werte.
Auch wenn ich mit einem Move-Befehl die werte auf 0 setzen möchte
bleiben die werte bei 256 / 2784 und 100_663_552
Hätte gerne ein Bild hinzugefügt aber dies lässt sich iwie nicht hochladen.

Gruß Alex
 
Kann es sein, dass dein Betriebsstungenzähler z.B. ein Doppelwort ist und du nur ein Wort oder Byte ablöscht?
Versuch noch einmal ein Bild hochzuladen. Sollte eigentlich kein Problem sein. Screenshot => mit Paint als JPEG speichern
und über den Button "Grafik einfügen" hochladen.
 
In deinem Screenshot ist der Merker "m_0.4_res" FALSE. Solange dieser FALSE ist, werden die Move-Befehle nicht ausgeführt. Geht das rücksetzen auf 0 auch nicht, wenn du diesen auf TRUE setzt?
Wie sieht dein Code in deinem Betriebsstundenzähler-Baustein aus?

-chris
 
Zuletzt bearbeitet:
Ja genau wenn ich diesen auf TRUE setzen steht eine 0 drin. Bei false werden die alten werte wieder auf die dubiosen werte geladen.

Der Zähler sieht derzeit so aus. Wollte testen ob des so funktioniert.

https://ibb.co/jJX4JDL
 
Zuletzt bearbeitet:
Werde die Werte in einem anderen Programmteil verwendet?

Ändere aber als erstes mal die Schnittstelle von deinem Betriebsstundenzähler. Lege deine Ausgangsvariablen (Stunden, Minuten, Sekunden) in den InOut-Bereich deines FCs

-chris
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So wie ich das sehe, verwendet er Sekunden, Minuten, Stunden als INOUT, da er sie im Baustein liest und schreibt.
Entweder interne Variablen als STAT definieren (FB) und dann als OUT rausgeben oder INOUT verwenden.

Sie wurden zwar gelesen und auch geschrieben, als wären es INOUTS, aber waren nur als OUT deklariert. Sieht man an der orangenen Farbe beim Lesezugriff (da erscheint auch ein Hinweis beim kompilieren > Lesender Zugriff auf Ausgangsvariablen oder so ähnlich).

Also wie auch von dir vorgeschlagen auf INOUTs ändern :)


-chris
 
Was hast du jetzt genau gemacht?

Wenn du #Stunden, #Minuten und #Sekunden als InOut deklariert hast, musst du jetziges NW2 mit dem Rücksetzen ans Ende deines Bausteins verschieben. Oder du verwendest Out und stat anstatt InOut. Dann sollte es jeweils richtig funktionieren....
 
Zurück
Oben