Echelon i.LON SmartServer Technical Information Page 375

  • Download
  • Add to my manuals
  • Print
  • Page
    / 443
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 374
i.LON SmartServer 2.0 Programmer’s Reference
21-23
//Check scan status
bool scanDone = false;
while (!scanDone)
{
SmartServer.InvokeCmd(ref itemColl_Check);
iLON_SmartServer.InvokeCmdResponse scanCheck_Response =
new iLON_SmartServer.InvokeCmdResponse();
scanCheck_Response.iLonItem = itemColl_Check;
iLON_SmartServer.LON_Network_ScanCommand_Invoke scanStatusCheck =
(iLON_SmartServer.LON_Network_ScanCommand_Invoke)scanCheck_Response.iLonItem.Item[0];
//if the scan is done set scanDone flag to true
if (scanStatusCheck.Command[0].UCPTstatus.Value == "STATUS_DONE")
{
Console.WriteLine("Network Scan Status = " +
scanStatusCheck.Command[0].UCPTstatus.Value);
scanDone = true;
}
//if the scan is not done, keep scanDone flag at false, wait 10 seconds, and check again
else if (scanStatusCheck.Command[0].UCPTstatus.Value == "STATUS_PENDING")
{
Console.WriteLine("Network Scan Status = " +
scanStatusCheck.Command[0].UCPTstatus.Value);
Thread.Sleep(10000);
}
}
// A "<network>/#DeviceDiscovery" data logger is automatically created by the network scan
// read the Data Logger and process the data of the discovered data
iLON_SmartServer.UFPTdataLogger_Data deviceDiscovered =
new iLON_SmartServer.UFPTdataLogger_Data();
deviceDiscovered.UCPTname = "Net/#DeviceDiscovery";
iLON_SmartServer.Item_Coll itemColl_DataLog = new iLON_SmartServer.Item_Coll();
itemColl_DataLog.xSelect = "//Item[@xsi:type=\"UFPTdataLogger_Data\"]";
itemColl_DataLog.Item = new iLON_SmartServer.Item[1];
itemColl_DataLog.Item[0] = deviceDiscovered;
iLON_SmartServer.Item_DataColl dataLogger = SmartServer.Read(itemColl_DataLog);
Console.WriteLine(
"Devices Discovered = " + (dataLogger.Item.Length - 1));
Console.WriteLine("==========================================================");
iLON_SmartServer.Item_CfgColl itemCfgColl = new iLON_SmartServer.Item_CfgColl();
//Create a new ItemCfgColl to store discovered devices
itemCfgColl.Item = new iLON_SmartServer.Item_Cfg[dataLogger.Item.Length - 1];
for (int i = 1; i < dataLogger.Item.Length; i++)
//we start at 1 to account for the metaData item in Data Logger
{
iLON_SmartServer.UFPTdataLogger_Data dataLoggerData =
(iLON_SmartServer.UFPTdataLogger_Data)dataLogger.Item[i];
if (dataLoggerData != null)
{
Console.WriteLine("Device #" + i + ": Neuron ID and Program ID = " +
dataLoggerData.UCPTvalue[0].Value);
}
// -------------- CREATING DISCOVERED LONWORKS DEVICES--------------
//Create a new LON_Device_Cfg Item and add it to ItemCfgColl
iLON_SmartServer.LON_Device_Cfg my_LON_Device =
new iLON_SmartServer.LON_Device_Cfg();
itemCfgColl.Item[i - 1] = my_LON_Device;
//subtract 1 for the metaData item in Data Logger
//parse Neuron ID and Program ID from Data Logger
String NID_PID = dataLoggerData.UCPTvalue[0].Value;
String NID = NID_PID.Substring(0, 12);
Page view 374
1 2 ... 370 371 372 373 374 375 376 377 378 379 380 ... 442 443

Comments to this Manuals

No comments