rchConfigGet will read out the RTCU Communication Hub parameters previously set from the RTCU IDE, or the rchConfigSet function.
Input:
None
Output:
enabled : BOOL
Whether the parameters are valid..
address : STRING
The IP address or symbolic name of the server.
port : DINT
The IP port the device should use to connect to the server.
iface : SINT
The network interface the device should use to connect to the server.
secure : BOOL
Whether a standard or secure connection is to be used.
loginkey : STRING
The key (password) the device should use to connect to the server.
cryptkey[n] : SINT
The key used to encrypt communication on a standard connection to the server.
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.
Declaration:
FUNCTION_BLOCK rchConfigGet;
VAR_OUTPUT
enabled : BOOL;
address : STRING;
port : DINT;
iface : SINT;
secure : BOOL;
loginkey : STRING;
cryptkey : ARRAY [1..16] OF SINT;
MaxConnectionAttempt : INT;
MaxSendReqAttempt : INT;
ResponseTimeout : INT;
AliveFreq : DINT;
END_VAR;
Example:
INCLUDE rtcu.inc
PROGRAM example;
VAR
parm : rchConfigGet;
reset : BOOL := FALSE;
END_VAR;
parm();
IF NOT rchAutoConnectGet() THEN
rchAutoConnectSet(enable := ON);
reset := TRUE;
END_IF;
IF NOT parm.enabled OR parm.secure OR parm.port <> 5001 OR
parm.CryptKey[1] <> 0 OR parm.CryptKey[2] <> 0 OR
parm.CryptKey[3] <> 0 OR parm.CryptKey[4] <> 0 OR
parm.CryptKey[5] <> 0 OR parm.CryptKey[6] <> 0 OR
parm.CryptKey[7] <> 0 OR parm.CryptKey[8] <> 0 OR
parm.CryptKey[9] <> 0 OR parm.CryptKey[10] <> 0 OR
parm.CryptKey[11] <> 0 OR parm.CryptKey[12] <> 0 OR
parm.CryptKey[13] <> 0 OR parm.CryptKey[14] <> 0 OR
parm.CryptKey[15] <> 0 OR parm.CryptKey[16] <> 0 OR
parm.iface <> 2 OR strCompare(str1 := parm.address, str2 := "gw.rtcu.dk") <> 0 OR
strCompare(str1 := parm.loginkey, str2 := "AABBCCDD") <> 0 THEN
rchConfigSet(enable := TRUE,
address := "gw.rtcu.dk",
port := 5001,
iface := 2,
loginkey := "AABBCCDD",
secure := FALSE);
reset := TRUE;
END_IF;
IF reset THEN
boardReset();
END_IF;
netOpen(iface := 2);
BEGIN
END;
END_PROGRAM;
|