Frage zu TON

der_NooB

Level-2
Beiträge
146
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich arbeite weiterhin mit CODESYS und ST und versuche mehr alleine zu erledigen, bevor ich hier nachfrage. Leider bin ich in eine Sackgasse geraten.

Wenn ich meinem Wert als Integer gebe, sollte er in Millisekunden angezeigt werden, und dann sollte er bei ET wieder als Integer angezeigt werden.

Meine Fragen sind:

  • Warum kann ich in meinem Programm nicht sehen, dass ich online bin? ich meine da den unterm Abschnitt
  • Warum wird der Wert nicht übernommen, wenn ich ihn als Integer initialisiere, und warum sehe ich keinen Countdown?

danke
 

Anhänge

  • 2.png
    2.png
    22,8 KB · Aufrufe: 35
Ich arbeite nicht mit Codesys, aber ich bin mir sicher, es hängt damit zusammen, dass Du sowohl für PT als auch ET die Variable iZeit verwendest:

Du gibst der Variable iZeit einen Wert, den Du *1000 an PT überweist.
Direkt danach wird der Variable iZeit aber der Wert von ET/1000 zugewiesen, der zu diesem Zeitpunkt 0 sein dürfte.

Im nächsten Zyklus wird PT wieder der Wert von iZeit*1000 zugewiesen, der jetzt jedoch bei 0 und nicht mehr bei Deiner ursprünglichen Vorgabe ist.
...
 
Sind doch alle Signale richtig:
Du hast xStart auf TRUE.
Damit ist IN auf TRUE.
ET=30s --> Zeit ist abgelaufen, TON hat durchgeschaltet.
Q = TRUE

Es paßt alles, wenn man davon ausgeht, daß Du den Screenshot >30s nach dem Programmstart gemacht hast. Was erwartest Du noch darüber hinaus zu sehen?
Warum die Diagnose "ich sehe nicht, daß das Programm läuft"?
Wenn es nicht liefe, wären die Werte nicht so, wie sie sind.
 
Sind doch alle Signale richtig:
Du hast xStart auf TRUE.
Damit ist IN auf TRUE.
ET=30s --> Zeit ist abgelaufen, TON hat durchgeschaltet.
Q = TRUE

Es paßt alles, wenn man davon ausgeht, daß Du den Screenshot >30s nach dem Programmstart gemacht hast. Was erwartest Du noch darüber hinaus zu sehen?
Warum die Diagnose "ich sehe nicht, daß das Programm läuft"?
Wenn es nicht liefe, wären die Werte nicht so, wie sie sind.
genau Programm läuft aber unten normalerweise konnte ich es auch sehen
 
Was willst Du da noch sehen?
Du hast eine statische Programmsituation erzeugt...
Setze mal xStart zurück, dann kannst Du den TON neu starten und siehst auch was.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Programm läuft, sieht man auch am Return. Das muss eine Darstellungsweise sein die normalerweise nicht so eingestellt ist. Entweder in den Debug Einstellungen oder bei der Ansicht nachschauen.
 
Da du ja lernen möchtest
Time ist ein 32bit DWord und sollte auch so behandelt werden. z.B. DWORD_TO_TIME(...
Nicht wie im Test;)
 
Zuletzt bearbeitet:
Da du ja lernen möchtest
Time ist ein 32bit DWord und sollte auch so behandelt werden. z.B. DWORD_TO_TIME(...
Nicht wie im Test;)
Aber wenn der Bediener die Zeit als Ziffern eingibt (Int), kann sie nicht zu DWord werden. Für Ziffern sind entweder REAL oder INT geeignet. Andernfalls handelt es sich um Bitcontainer oder ...
 
Zurück
Oben