System information

Table Of Contents
i.LON SmartServer 2.0 Programmer’s Reference
21-22
{
int nLen = str.Length / 2;
byte[] arr = new byte[nLen];
for (int i = 0; i < nLen; i++)
{
string strByte = str.Substring(i * 2, 2);
arr[i] = Byte.Parse(strByte, System.Globalization.NumberStyles.HexNumber);
}
return arr;
}
static void Main(string[] args)
{
iLON_SoapCalls.BindClientToSmartServer();
iLON_SmartServer.iLON100portTypeClient SmartServer = iLON_SoapCalls._iLON;
try
{
//create LONNetworkScanCommandInvoke item and ScanCommand attribute
iLON_SmartServer.LON_Network_ScanCommand_Invoke networkScan =
new iLON_SmartServer.LON_Network_ScanCommand_Invoke();
networkScan.ScanCommand = iLON_SmartServer.LON_Network_eScanCommand.SetScan;
//***set LONNetworkScanCommandInvoke properties***
//1. Set network UCPTname
networkScan.UCPTname = "Net";
//2. Set Scan Command
//a. set scan frequency
iLON_SmartServer.LON_Network_ScanCommand_InvokeCommand scanFrequency =
new iLON_SmartServer.LON_Network_ScanCommand_InvokeCommand();
scanFrequency.UCPTcommand = iLON_SmartServer.LON_Device_IlonNi_eCommand.ScanOnce;
//b. set scan status
iLON_SmartServer.E_LonString scanStatus = new iLON_SmartServer.E_LonString();
scanStatus.LonFormat = "UCPTstatus";
scanStatus.Value = "STATUS_REQUEST";
scanFrequency.UCPTstatus = scanStatus;
//c. add scan command to LONNetworkScanCommandInvoke item
networkScan.Command = new
iLON_SmartServer.LON_Network_ScanCommand_InvokeCommand[1];
networkScan.Command[0] = scanFrequency;
//3. Set UCPTscan
iLON_SmartServer.E_LonString domain = new iLON_SmartServer.E_LonString();
domain.LonFormat = "ucptScan";
domain.Value = "NST_ILON_DOMAIN";
networkScan.UCPTscan = new iLON_SmartServer.E_LonString[1];
networkScan.UCPTscan[0] = domain;
//send InvokeCmd
iLON_SmartServer.Item_Coll itemColl = new iLON_SmartServer.Item_Coll();
itemColl.Item = new iLON_SmartServer.Item[1];
itemColl.Item[0] = networkScan;
SmartServer.InvokeCmd(ref itemColl);
Console.WriteLine("starting scan");
//send the GetScan command to check network scan progress
iLON_SmartServer.LON_Network_ScanCommand_Invoke networkScan_Check =
new iLON_SmartServer.LON_Network_ScanCommand_Invoke();
networkScan_Check.ScanCommand = iLON_SmartServer.LON_Network_eScanCommand.GetScan;
networkScan_Check.UCPTname = "Net";
iLON_SmartServer.Item_Coll itemColl_Check = new iLON_SmartServer.Item_Coll();
itemColl_Check.Item = new iLON_SmartServer.Item[1];
itemColl_Check.Item[0] = networkScan_Check;