sockGetGWParm will read out the RTCU Communication Hub Parameters previously set from the RTCU IDE or by using the sockSetGWParm function.
On NX32L architecture devices this will read the fallback configuration, see also rchFallbackGet.
Input:
None
Output:
GWEnabled : BOOL
Determines whether the RTCU Communication Hub service will start automatically.
(See Autostart feature)
GWIP : STRING
The IP address or symbolic name of the RTCU Communication Hub.
GWPort : DINT
The IP port the device should use to connect to the RTCU Communication Hub.
GWKey : STRING
The key (password) the device should use to connect to the RTCU Communication Hub.
MaxConnectionAttempt : INT
Max number of connection attempts before the network media reconnects.
MaxSendReqAttempt : INT
Max number of send-request attempts before send fails.
ResponseTimeout : INT
Time waiting for response in seconds.
AliveFreq : DINT
Frequency for sending self-transactions in seconds.
CryptKey[n] : SINT
The key used to encrypt communication with the RTCU Communication Hub.
Declaration:
FUNCTION_BLOCK sockGetGWParm;
VAR_OUTPUT
GWEnabled : BOOL;
GWIP : STRING;
GWPort : DINT;
GWKey : STRING;
MaxConnectionAttempt : INT;
MaxSendReqAttempt : INT;
ResponseTimeout : INT;
AliveFreq : DINT;
CryptKey : ARRAY[1..16] OF SINT;
END_VAR;
Example:
INCLUDE rtcu.inc
PROGRAM test;
VAR
gprsParm : sockGetTCPIPParm;
gwParm : sockGetGWParm;
parmReset : BOOL := FALSE;
CryptKey : ARRAY[1..16] OF SINT;
END_VAR;
gprsParm();
gwParm();
IF gprsParm.IP <> 0 OR gprsParm.SubnetMask <> 0 OR gprsParm.Gateway <> 0 OR
gprsParm.DNS1 <> 0 OR gprsParm.DNS2 <> 0 OR gprsParm.Authenticate <> 0 OR
strCompare(str1 := gprsParm.Username, str2 := "") <> 0 OR
strCompare(str1 := gprsParm.Password, str2 := "") <> 0 OR
strCompare(str1 := gprsParm.APN, str2 := "internet") <> 0 THEN
sockSetTCPIPParm(APN := "internet");
parmReset := TRUE;
END_IF;
IF NOT gwParm.GWEnabled OR gwParm.GWPort <> 5001 OR gwParm.CryptKey[1] <> 0 OR
gwParm.CryptKey[2] <> 0 OR gwParm.CryptKey[3] <> 0 OR gwParm.CryptKey[4] <> 0 OR
gwParm.CryptKey[5] <> 0 OR gwParm.CryptKey[6] <> 0 OR gwParm.CryptKey[7] <> 0 OR
gwParm.CryptKey[8] <> 0 OR gwParm.CryptKey[9] <> 0 OR gwParm.CryptKey[10] <> 0 OR
gwParm.CryptKey[11] <> 0 OR gwParm.CryptKey[12] <> 0 OR gwParm.CryptKey[13] <> 0 OR
gwParm.CryptKey[14] <> 0 OR gwParm.CryptKey[15] <> 0 OR gwParm.CryptKey[16] <> 0 OR
strCompare(str1 := gwParm.GWIP, str2 := "gw.rtcu.dk") <> 0 OR
strCompare(str1 := gwParm.GWKey, str2 := "AABBCCDD") <> 0 THEN
CryptKey[1] := 0;
CryptKey[2] := 0;
CryptKey[3] := 0;
CryptKey[4] := 0;
CryptKey[5] := 0;
CryptKey[6] := 0;
CryptKey[7] := 0;
CryptKey[8] := 0;
CryptKey[9] := 0;
CryptKey[10] := 0;
CryptKey[11] := 0;
CryptKey[12] := 0;
CryptKey[13] := 0;
CryptKey[14] := 0;
CryptKey[15] := 0;
CryptKey[16] := 0;
sockSetGWParm(GWEnabled := TRUE, GWIP := "gw.rtcu.dk", GWPort := 5001, GWKey := "AABBCCDD", CryptKey := ADDR(CryptKey));
parmReset := TRUE;
END_IF;
IF parmReset THEN
boardReset();
END_IF;
gsmPower(power := TRUE);
gprsOpen();
BEGIN
...
END;
END_PROGRAM;
|