sockGetGWParm (Functionblock)

Top  Previous  Next

Architecture:

X32 / NX32 / NX32L

Device support:

All

Firmware version:

1.21 / 1.00.00


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
  //RTCU Communication Hub parameters:
  GWEnabled            : BOOL;
  GWIP                 : STRING;
  GWPort               : DINT;
  GWKey                : STRING;
 
//advanced settings:
  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;
 
// Check mobile network and Hub settings
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
  // Set APN and keep the default values for the others
  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
  // Clear encryption key
  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;
  // Set Gateway parameters
  sockSetGWParm(GWEnabled := TRUE, GWIP := "gw.rtcu.dk", GWPort := 5001, GWKey := "AABBCCDD", CryptKey := ADDR(CryptKey));
  parmReset := TRUE;
END_IF;
IF parmReset THEN
  // Reset device before the changes are used
  boardReset();
END_IF;
 
gsmPower(power := TRUE);
gprsOpen();
 
BEGIN
  ...
END;
END_PROGRAM;