using System; using System.Collections.Generic; using System.Linq; using System.Text; using ORiN2.ManagedCAO; namespace Sample { class Program { static void Main(string[] args) { CCaoEngine caoEng = null; try { // Create Cao objects caoEng = new CCaoEngine(); CCaoWorkspaces caoWss = caoEng.Workspaces; CCaoWorkspace caoWs = caoWss[0]; CCaoControllers caoCtrls = caoWs.Controllers; var connOpt = "Conn=TCP:192.168.0.10,ConnTimout=5000,Timout=5000"; // Connect to air particle sensor CCaoController caoCtrl = caoWs.AddController("ZNPDS_Sample", "CaoProv.OMRON.ZNPDS", null, connOpt); // Get error status CCaoVariable caoVarErrorStatus; caoVarErrorStatus = caoCtrl.AddVariable("@ERROR_STATUS", null); var errorStatus = caoVarErrorStatus.Value; var value = (errorStatus != null) ? Convert.ToString(errorStatus) : string.Empty; Console.WriteLine("@ERROR_STATUS:" + value); // Get mode switch status CCaoVariable caoVarMode; caoVarMode = caoCtrl.AddVariable("@MODE", null); var mode = caoVarMode.Value; value = (mode != null) ? Convert.ToString(mode) : string.Empty; Console.WriteLine("@MODE:" + value); // Get measured value CCaoVariable caoVarMeasurement; caoVarMeasurement = caoCtrl.AddVariable("@MEASUREMENT", null); var measurement = caoVarMeasurement.Value; value = (measurement != null && measurement is Array) ? string.Join(",", (object[])measurement) : string.Empty; Console.WriteLine("@MEASUREMENT:" + value); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { if (caoEng != null) { caoEng.Dispose(); caoEng = null; } } } } }