public static void Main(string[] args) { IedConnection con = new IedConnection (); string hostname; if (args.Length > 0) hostname = args[0]; else hostname = "localhost"; Console.WriteLine("Connect to " + hostname); try { con.Connect(hostname, 102); // create a new data set List<string> dataSetElements = new List<string>(); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn1.mag.f[MX]"); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn2.mag.f[MX]"); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn3.mag.f[MX]"); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn4.mag.f[MX]"); // permanent (domain specific) data set //string dataSetReference = "simpleIOGenericIO/LLN0.ds1"; // temporary (association specific) data set string dataSetReference = "@newds"; // Note: this function will throw an exception when a data set with the same name already exists con.CreateDataSet(dataSetReference, dataSetElements); // reconfigure existing RCB with new data set string rcbReference = "simpleIOGenericIO/LLN0.RP.EventsRCB01"; ReportControlBlock rcb = con.GetReportControlBlock(rcbReference); rcb.GetRCBValues(); // note: the second parameter is not required! rcb.InstallReportHandler(reportHandler, rcb); string rcbDataSetReference = dataSetReference.Replace('.', '$'); rcb.SetDataSetReference(rcbDataSetReference); rcb.SetTrgOps(TriggerOptions.DATA_CHANGED | TriggerOptions.INTEGRITY); rcb.SetIntgPd(5000); rcb.SetRptEna(true); rcb.SetRCBValues(); /* run until Ctrl-C is pressed */ Console.CancelKeyPress += delegate(object sender, ConsoleCancelEventArgs e) { e.Cancel = true; running = false; }; while (running) { Thread.Sleep(1000); } // delete the data set con.DeleteDataSet(dataSetReference); con.Abort(); } catch (IedConnectionException e) { Console.WriteLine(e.Message + " reason: " + e.GetIedClientError().ToString()); } }
public static void Main(string[] args) { IedConnection con = new IedConnection(); string hostname; if (args.Length > 0) { hostname = args[0]; } else { hostname = "localhost"; } Console.WriteLine("Connect to " + hostname); try { con.Connect(hostname, 102); // create a new data set List <string> dataSetElements = new List <string>(); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn1.mag.f[MX]"); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn2.mag.f[MX]"); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn3.mag.f[MX]"); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn4.mag.f[MX]"); // permanent (domain specific) data set //string dataSetReference = "simpleIOGenericIO/LLN0.ds1"; // temporary (association specific) data set string dataSetReference = "@newds"; // Note: this function will throw an exception when a data set with the same name already exists con.CreateDataSet(dataSetReference, dataSetElements); // reconfigure existing RCB with new data set string rcbReference = "simpleIOGenericIO/LLN0.RP.EventsRCB01"; ReportControlBlock rcb = con.GetReportControlBlock(rcbReference); rcb.GetRCBValues(); // note: the second parameter is not required! rcb.InstallReportHandler(reportHandler, rcb); string rcbDataSetReference = dataSetReference.Replace('.', '$'); rcb.SetDataSetReference(rcbDataSetReference); rcb.SetTrgOps(TriggerOptions.DATA_CHANGED | TriggerOptions.INTEGRITY); rcb.SetIntgPd(5000); rcb.SetRptEna(true); rcb.SetRCBValues(); /* run until Ctrl-C is pressed */ Console.CancelKeyPress += delegate(object sender, ConsoleCancelEventArgs e) { e.Cancel = true; running = false; }; while (running) { Thread.Sleep(1000); } // delete the data set con.DeleteDataSet(dataSetReference); con.Abort(); } catch (IedConnectionException e) { Console.WriteLine(e.Message + " reason: " + e.GetIedClientError().ToString()); } // release all resources - do NOT use the object after this call!! con.Dispose(); }
public static void Main(string[] args) { IedConnection con = new IedConnection(); string hostname; if (args.Length > 0) { hostname = args[0]; } else { hostname = "10.0.2.2"; } Console.WriteLine("Connect to " + hostname); try { con.Connect(hostname, 102); List <string> serverDirectory = con.GetServerDirectory(false); foreach (string entry in serverDirectory) { Console.WriteLine("LD: " + entry); } // create a new data set List <string> dataSetElements = new List <string>(); dataSetElements.Add("IEDM1CPUBHKW/DRCS1.ModOnConn.stVal[ST]"); dataSetElements.Add("IEDM1CPUBHKW/DRCS1.ModOnConn.t[ST]"); con.CreateDataSet("IEDM1CPUBHKW/LLN0.ds1", dataSetElements); // get the directory of the data set List <string> dataSetDirectory = con.GetDataSetDirectory("IEDM1CPUBHKW/LLN0.ds1"); foreach (string entry in dataSetDirectory) { Console.WriteLine("DS element: " + entry); } // read the values of the newly created data set DataSet dataSet = con.ReadDataSetValues("IEDM1CPUBHKW/LLN0.ds1", null); MmsValue dataSetValues = dataSet.GetValues(); Console.WriteLine("Data set contains " + dataSetValues.Size() + " elements"); foreach (MmsValue value in dataSetValues) { Console.WriteLine(" DS value: " + value + " type: " + value.GetType()); } // delete the data set con.DeleteDataSet("IEDM1CPUBHKW/LLN0.ds1"); con.Abort(); } catch (IedConnectionException e) { Console.WriteLine(e.Message); } }
public ResultDatasetModel ReadMultipleVariableValues(string hostip, Int32 port, string[] valueaddress) { //instance IedConnection con = new IedConnection(); try { //connection con.Connect(hostip, port); //dataset elements List <string> dataSetElements = new List <string>(); foreach (string address in valueaddress) { dataSetElements.Add(address); } string LDname = dataSetElements[0].Split("/")[0]; string LNname = dataSetElements[0].Split("/")[1].Split(".")[0]; string DSname = "ReadValues"; string dataSetName = LDname + "/" + LNname + "." + DSname; //create dataset con.CreateDataSet(dataSetName, dataSetElements); //read data set DataSet mmsresult = con.ReadDataSetValues(dataSetName, null); List <string> DataSetDirectory = con.GetDataSetDirectory(dataSetName); if (DataSetDirectory != null) { //delete dataset con.DeleteDataSet(dataSetName); } //con close con.Abort(); //get data set values List <Dataset_Result> valuelist = new List <Dataset_Result>(); data_extract dataExtract = new data_extract(); int i = 0; foreach (var value in mmsresult.GetValues()) { var ValueTuple = dataExtract.ExtractValue(value); valuelist.Add(new Dataset_Result { Address = DataSetDirectory[i], Value = ValueTuple }); i += 1; } ResultDatasetModel result = new ResultDatasetModel { data = valuelist, error = false, errormessage = null }; //destroy instance con.Dispose(); //result return(result); } catch (IedConnectionException e) { ResultDatasetModel result = new ResultDatasetModel() { data = null, error = true, errormessage = e.Message.ToString() }; //insert logs into db Submission dbinsert = new Submission { CreatedAt = DateTime.Now, Content = e.Message.ToString() }; _subSvc.Create(dbinsert); //destroy result con.Dispose(); //result return(result); } }
public static void Main(string[] args) { IedConnection con = new IedConnection(); string hostname; if (args.Length > 0) { hostname = args[0]; } else { hostname = "localhost"; } Console.WriteLine("Connect to " + hostname); try { con.Connect(hostname, 102); List <string> serverDirectory = con.GetServerDirectory(false); foreach (string entry in serverDirectory) { Console.WriteLine("LD: " + entry); } // create a new data set List <string> dataSetElements = new List <string>(); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn1.mag.f[MX]"); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn2.mag.f[MX]"); con.CreateDataSet("simpleIOGenericIO/LLN0.ds1", dataSetElements); // get the directory of the data set List <string> dataSetDirectory = con.GetDataSetDirectory("simpleIOGenericIO/LLN0.ds1"); foreach (string entry in dataSetDirectory) { Console.WriteLine("DS element: " + entry); } // read the values of the newly created data set DataSet dataSet = con.ReadDataSetValues("simpleIOGenericIO/LLN0.ds1", null); MmsValue dataSetValues = dataSet.GetValues(); Console.WriteLine("Data set contains " + dataSetValues.Size() + " elements"); foreach (MmsValue value in dataSetValues) { Console.WriteLine(" DS value: " + value + " type: " + value.GetType()); } // delete the data set con.DeleteDataSet("simpleIOGenericIO/LLN0.ds1"); con.Abort(); } catch (IedConnectionException e) { Console.WriteLine(e.Message + " reason: " + e.GetIedClientError().ToString()); } }
public static void Main(string[] args) { IedConnection con = new IedConnection (); string hostname; if (args.Length > 0) hostname = args[0]; else hostname = "localhost"; Console.WriteLine("Connect to " + hostname); try { con.Connect(hostname, 102); List<string> serverDirectory = con.GetServerDirectory(false); foreach (string entry in serverDirectory) { Console.WriteLine("LD: " + entry); } // create a new data set List<string> dataSetElements = new List<string>(); string dataSetName = "simpleIOGenericIO/UNKNOWN.ds1"; //string dataSetName = "simpleIOGenericIO/LLN0.ds1"; dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn1.mag.f[MX]"); dataSetElements.Add("simpleIOGenericIO/GGIO1.AnIn2.mag.f[MX]"); con.CreateDataSet(dataSetName, dataSetElements); // get the directory of the data set List<string> dataSetDirectory = con.GetDataSetDirectory(dataSetName); foreach (string entry in dataSetDirectory) { Console.WriteLine("DS element: " + entry); } // read the values of the newly created data set DataSet dataSet = con.ReadDataSetValues(dataSetName, null); MmsValue dataSetValues = dataSet.GetValues(); Console.WriteLine ("Data set contains " + dataSetValues.Size() + " elements"); foreach (MmsValue value in dataSetValues) { Console.WriteLine(" DS value: " + value + " type: " + value.GetType()); } // delete the data set con.DeleteDataSet(dataSetName); con.Abort(); } catch (IedConnectionException e) { Console.WriteLine(e.Message + " reason: " + e.GetIedClientError().ToString()); } }