- Beiträge
- 3.588
- Reaktionspunkte
- 1.038
-> Hier kostenlos registrieren
Hallo zusammen,
Twincat 3 Engineering Build 4024.60
Twincat 3 Runtime Build 4024.7
Ich bekomme alle 2s ein Heartbeat Signal per MQTT welches ich auswerte.
Bevor ich das Topic subscribe und den Inhalt auswerte (handle_mqtt_messages, setze ich es auf false:

Ich hab jetzt mal den Zähler genommen und quick and dirty einen Workaround daraus gestrickt:
Das Bit wird im statischen Bereich mit false initialisiert:
Der TON ist auch im statischen Bereich
Wieso reagiert mein TON auf ein nicht vorhandenes rising edge Signal?
Twincat 3 Engineering Build 4024.60
Twincat 3 Runtime Build 4024.7
Ich bekomme alle 2s ein Heartbeat Signal per MQTT welches ich auswerte.
Code:
// Evaluate heartbeat topic
ELSIF FIND(sTopicRcv,sMQTTTopicHeartbeat) > 0 THEN
xHeartbeat:= TRUE;
END_IF
Bevor ich das Topic subscribe und den Inhalt auswerte (handle_mqtt_messages, setze ich es auf false:
Code:
IF bEnableMQTT THEN
xHeartbeat:= FALSE; // Reset heartbeat every cycle
fbMqttClient.Execute(bEnableMQTT);
handle_mqtt_messages(iDeltaTime);

Ich hab jetzt mal den Zähler genommen und quick and dirty einen Workaround daraus gestrickt:
Code:
IF xHeartbeat THEN
iCount:= 1;
END_IF
// Evaluate heartbeat from nope
IF iCount <> 0 THEN
TON_Heartbeat(IN:= NOT xHeartbeat, PT:= T#2M, Q=> xTwincatRestart);
END_IF;
Das Bit wird im statischen Bereich mit false initialisiert:
Code:
VAR_STAT
xHeartbeat : BOOL := FALSE;
Der TON ist auch im statischen Bereich
Wieso reagiert mein TON auf ein nicht vorhandenes rising edge Signal?