- Beiträge
 - 3.741
 
- Reaktionspunkte
 - 1.072
 
-> 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?
	
 
 