Fixed Restart Error

This commit is contained in:
Michael Rest
2012-11-21 11:44:59 +01:00
parent 987db389a4
commit 7ee42bf854

View File

@@ -10,6 +10,8 @@
********************************************************************)
PROGRAM _INIT
TON_Delay.IN := 0;
TON_Delay.PT := t#4s;
TON_Restart.IN := 0;
TON_Restart.PT := t#1s;
@@ -18,6 +20,7 @@ END_PROGRAM
PROGRAM _CYCLIC
IF TON_Delay.Q = 1 THEN
TON_Delay.IN := FALSE;
//Host (len = Type (2) + len (2) + data)
ludNextAdr := strcpy (ADR (lBSendBuf), ADR (''));
ludStartAdr := ludNextAdr;
@@ -565,32 +568,35 @@ PROGRAM _CYCLIC
TON_Restart ();
TON_Delay ();
TON_Delay.IN := 1;
CASE enStep OF
//==========================================
enSTEP_INIT:
FUB_UdpOpen.enable := 1;
FUB_UdpOpen.pIfAddr := ADR ('192.168.100.68');
FUB_UdpOpen.enable := 0;
FUB_UdpConnect.enable := 0;
FUB_UdpSend.enable := 0;
FUB_UdpClose.enable := 0;
FUB_UdpOpen.pIfAddr := ADR ('192.168.100.56');
FUB_UdpOpen.port := 25826;
FUB_UdpOpen.options := udpOPT_REUSEADDR;
FUB_UdpConnect.enable := 1;
FUB_UdpConnect.port := 25826;
FUB_UdpConnect.pHost := ADR ('192.168.30.20');
enStep := enSTEP_OPEN;
enStep := enSTEP_OPEN;
//==========================================
enSTEP_OPEN:
FUB_UdpOpen.enable := 1;
luiStatus := FUB_UdpOpen.status;
IF luiStatus = 0 THEN
IF luiStatus = ERR_OK THEN
FUB_UdpOpen.enable := 0;
FUB_UdpConnect.ident := FUB_UdpOpen.ident;
FUB_UdpSend.ident := FUB_UdpOpen.ident;
FUB_UdpClose.ident := FUB_UdpOpen.ident;
enStep := enSTEP_CLIENT;
ELSIF luiStatus <> ERR_FUB_BUSY THEN
ELSIF (luiStatus <> ERR_FUB_BUSY) AND (luiStatus <> ERR_FUB_ENABLE_FALSE) THEN
FUB_UdpOpen.enable := 0;
enStep := enSTEP_ERROR;
ludNextAdr := strcpy (ADR (lStrDebug), ADR ('STEP_OPEN-ERROR: '));
@@ -600,10 +606,10 @@ PROGRAM _CYCLIC
enSTEP_CLIENT:
FUB_UdpConnect.enable := 1;
luiStatus := FUB_UdpConnect.status;
IF luiStatus = 0 THEN
IF luiStatus = ERR_OK THEN
FUB_UdpConnect.enable := 0;
enStep := enSTEP_READY;
ELSIF luiStatus <> ERR_FUB_BUSY THEN
ELSIF (luiStatus <> ERR_FUB_BUSY) AND (luiStatus <> ERR_FUB_ENABLE_FALSE) THEN
FUB_UdpConnect.enable := 0;
enStep := enSTEP_ERROR;
ludNextAdr := strcpy (ADR (lStrDebug), ADR ('STEP_CLIENT-ERROR: '));
@@ -622,28 +628,26 @@ PROGRAM _CYCLIC
FUB_UdpSend.pData := ADR (lBSendBuf);
luiStatus := FUB_UdpSend.status;
IF luiStatus = 0 THEN
IF luiStatus = ERR_OK THEN
FUB_UdpSend.enable := 0;
bSend := 0;
TON_Delay.IN := 1;
TON_Delay.PT := t#10s;
enStep := enSTEP_WAIT;
ELSIF luiStatus <> ERR_FUB_BUSY THEN
ELSIF (luiStatus <> ERR_FUB_BUSY) AND (luiStatus <> ERR_FUB_ENABLE_FALSE) THEN
FUB_UdpSend.enable := 0;
bSend := 0;
enStep := enSTEP_ERROR;
ludNextAdr := strcpy (ADR (lStrDebug), ADR ('STEP_READY-ERROR: '));
ludNextAdr := strcpy (ADR (lStrDebug), ADR ('STEP_SEND-ERROR: '));
END_IF
//==========================================
enSTEP_WAIT:
IF TON_Delay.Q = 1 THEN
TON_Delay.IN := 0;
enStep := enSTEP_READY;
END_IF
enStep := enSTEP_READY;
//==========================================
enSTEP_CLOSE:
FUB_UdpClose.enable := 1;
FUB_UdpClose ();
luiStatus := FUB_UdpClose.status;
strcpy (ADR (sMailHost), ADR ('192.168.30.20'));
@@ -660,8 +664,8 @@ PROGRAM _CYCLIC
ELSIF (luiStatus <> ERR_FUB_BUSY) AND (luiStatus <> ERR_FUB_ENABLE_FALSE) THEN
strcpy (ADR (sMailSubject), ADR ('Temperoven-Collectd Error - Closing'));
FUB_UdpClose.enable := 0;
//enStep := enSTEP_ERROR;
strcpy (ADR (lStrDebug), ADR ('STEP_CLOSE-ERROR: '));
enStep := enSTEP_ERROR;
ludNextAdr := strcpy (ADR (lStrDebug), ADR ('STEP_CLOSE-ERROR: '));
END_IF
//==========================================
enSTEP_ERROR: