PISDK.Server PI_Server; // Creates instance of Pi Server //Connection to Pi Server function public void connect_Server(string PiServerName) { PISDK.PISDK SDK = new PISDK.PISDK(); //Creates new instace of PI SDK PI_Server = SDK.Servers[PiServerName]; // Assign PI server to local machine PI_Server.Open(PI_Server.DefaultUser); // Open connection through default user }
protected void Page_Load(object sender, EventArgs e) { PISDK.PISDK SDK = new PISDK.PISDK(); //Creates new instance of PI SDK PI_SERVER = SDK.Servers["esmartserver-pc"]; //Assign PI server to local machine [Piservername] PI_SERVER.Open("piadmin"); //Open connection through default user //Initialize point data starting at 12:50p rpiCONNECT = updatePointValue("SP14VICE_Connection", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); RPM = updatePointValue("SP14VICE_RPM", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); FLOW = updatePointValue("SP14VICE_Flow", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); PRESSURE = updatePointValue("SP14VICE_Pressure", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); POWER = updatePointValue("F13APA_POWER_BOT1", "12/6/2013 4:50:00 PM", DateTime.Now.ToString()); TEMP = updatePointValue("SP14VICE_Temp", "3/13/2013 1:05:00 PM", DateTime.Now.ToString()); }
System.Timers.Timer m_publishTimer; // Timer to publish data #endregion #region [ Constructors ] /// <summary> /// Receives real-time updates from PI /// </summary> public PIRTInputAdapter() { m_tagKeyMap = new ConcurrentDictionary<string, MeasurementKey>(); m_pi = new PISDK.PISDK(); m_userName = string.Empty; m_password = string.Empty; m_servername = string.Empty; }
System.Timers.Timer m_publishTimer = null; // Timer to publish data #endregion #region [ Constructors ] /// <summary> /// Creates a new <see cref="PIPBInputAdapter"/> with default values for members /// </summary> public PIPBInputAdapter() { m_userName = string.Empty; m_password = string.Empty; m_servername = string.Empty; m_tagKeyMap = new Dictionary<string, MeasurementKey>(); m_pisdk = new PISDK.PISDK(); m_measurements = new List<IMeasurement>(); }
/// <summary> /// Disposes members for garbage collection /// </summary> /// <param name="disposing"></param> protected override void Dispose(bool disposing) { base.Dispose(disposing); if (m_server != null && m_server.Connected) m_server.Close(); m_server = null; if (m_tagKeyMap != null) m_tagKeyMap.Clear(); m_tagKeyMap = null; m_pi = null; m_points = null; m_pipe = null; m_measurements.Clear(); m_measurements = null; if (m_dataThread != null) { m_dataThread.Abort(); m_dataThread = null; } if (m_publishTimer != null) { m_publishTimer.Stop(); m_publishTimer.Elapsed -= m_publishTimer_Tick; m_publishTimer.Dispose(); m_publishTimer = null; } }
public bool Connection() { try { string connectstr = ConfigurationManager.AppSettings["PIConnectionString"].ToString(); //���Ӵ���� ��ִ�йرղ��� if (ConnString != "" && ConnString != connectstr) piServer.Close(); if (piServer.Connected) return true; piServer.Open(connectstr); ConnString = connectstr; } catch (Exception ex) { _ErrorInfo = ex.Message; pSdk = null; return false; } return true; }
protected override void Dispose(bool disposing) { base.Dispose(disposing); m_userName = null; m_password = null; m_servername = null; m_tagFilter = null; m_pisdk = null; m_server = null; m_points = null; m_tagKeyMap.Clear(); m_tagKeyMap = null; m_measurements.Clear(); m_measurements = null; if (m_dataThread != null) { m_dataThread.Abort(); m_dataThread = null; } if (m_publishTimer != null) { m_publishTimer.Stop(); m_publishTimer.Elapsed -= m_publishTimer_Tick; m_publishTimer.Dispose(); m_publishTimer = null; } }
/// <summary> /// Connects to the configured PI server. /// </summary> protected override void AttemptConnection() { m_pi = new PISDK.PISDK(); m_server = m_pi.Servers[m_servername]; // PI server only allows independent connections to the same PI server from STA threads. // We're spinning up a thread here to connect STA, since our current thread is MTA. ManualResetEvent connectionEvent = new ManualResetEvent(false); Thread connectThread = new Thread(() => { try { if (!string.IsNullOrEmpty(m_userName) && !string.IsNullOrEmpty(m_password)) m_server.Open(string.Format("UID={0};PWD={1}", m_userName, m_password)); else m_server.Open(); connectionEvent.Set(); } catch (Exception e) { OnProcessException(e); } }); connectThread.SetApartmentState(ApartmentState.STA); connectThread.Start(); if (!connectionEvent.WaitOne(m_connectTimeout)) { connectThread.Abort(); throw new InvalidOperationException("Timeout occurred while connecting to configured PI server."); } }
public bool Close() { try { if (piServer != null && piServer.Connected) piServer.Close(); } catch (Exception ex) { pSdk = null; _ErrorInfo = ex.Message; return false; } return true; }
//<<<<<<<<<<Connect to PI Server>>>>>>>>>> public void connectToServer(string piServerName) { PISDK.PISDK SDK = new PISDK.PISDK(); // Create new instance of PI SDK piServer = SDK.Servers[piServerName]; // Assign PI Server to local machine piServer.Open(piServer.DefaultUser); // Open connection through default user }
protected void Page_Load(object sender, EventArgs e) { PISDK.PISDK SDK = new PISDK.PISDK(); //Creates new instance of PI SDK PI_SERVER = SDK.Servers["esmartserver-pc"]; //Assign PI server to local machine [Piservername] PI_SERVER.Open("piadmin"); //Open connection through default user //Initialize point data starting at 12:50p rpiCONNECT = updatePointValue("SP14VICE_Connection", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); FREQ = updatePointValue("SP14VICE_Freq", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); RPM = updatePointValue("SP14VICE_RPM", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); FLOW = updatePointValue("SP14VICE_Flow", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); DF = updatePointValue("SP14VICE_DesiredFlow", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); PRESSURE = updatePointValue("SP14VICE_Pressure", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); VOLT = updatePointValue("SP14VICE_TopVoltage1", "3/6/2014 1:20:00 PM", DateTime.Now.ToString()); CURR = updatePointValue("SP14VICE_TopCurrent1", "3/6/2014 1:20:00 PM", DateTime.Now.ToString()); POWER = updatePointValue("SP14VICE_TopPower1", "3/6/2014 1:20:00 PM", DateTime.Now.ToString()); TEMP = updatePointValue("SP14VICE_Temp", "3/13/2013 1:05:00 PM", DateTime.Now.ToString()); USERLOCK = updatePointValue("SP14VICE_Lock", "12/6/2013 4:50:00 PM", DateTime.Now.ToString()); // 1= unlocked, 0 = locked COST.value = findCost(120, (float)0.35).ToString(); //Assume: running pump for 4 hrs/day for 30 days; tier 3 pricing during summer ($.35/kWH) COST.timestamp = DateTime.Now.ToString(); setTableValues(); }
protected override void Dispose(bool disposing) { base.Dispose(disposing); m_pi = null; m_server = null; if (m_tagKeyMap != null) { m_tagKeyMap.Clear(); m_tagKeyMap = null; } }
private void gameTimeButton_click(object sender, EventArgs e) { // Allow the user to set the appropriate properties. if (serialPort.IsOpen) serialPort.Close(); serialPort.PortName = comComboBox.SelectedItem.ToString(); serialPort.BaudRate = 9600; serialPort.Open(); //send the Arduino an 'A' to get it going :) serialPort.Write("A"); if (serialPort.IsOpen) Console.WriteLine(serialPort.PortName + " is open"); serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); serverName = serverTextBox.Text; tagName = tagTextBox.Text; piSDK = new PISDK.PISDKClass(); piServer = piSDK.Servers[serverName]; if (piServer.Connected) Console.WriteLine("Connected to Server"); piPoint = readPIPoint(piServer, tagName); }
protected void Page_Load(object sender, EventArgs e) { ///// Connect to pi server ///// PISDK.PISDK SDK = new PISDK.PISDK(); //Creates new instance of PI SDK PI_SERVER = SDK.Servers["esmartserver-pc"]; //Assign PI server to local machine [Piservername] PI_SERVER.Open("piadmin"); //Open connection through default user //Initialize point data starting at 12:50p rpiCONNECT = updatePointValue("SP14VICE_Connection", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); RPM = updatePointValue("SP14VICE_RPM", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); FLOW = updatePointValue("SP14VICE_Flow", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); PRESSURE = updatePointValue("SP14VICE_Pressure", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); POWER = updatePointValue("F13APA_POWER_BOT1", "12/6/2013 4:50:00 PM", DateTime.Now.ToString()); USERLOCK = updatePointValue("SP14VICE_Lock", "12/6/2013 4:50:00 PM", DateTime.Now.ToString()); // 1= unlocked, 0 = locked if (USERLOCK.value == "1") { lockoutdisp.InnerHtml = "OFF - UNLOCKED"; } else if (USERLOCK.value == "0") { lockoutdisp.InnerHtml = "ON - LOCKED"; } }
public bool ConnectToPI() { try { if (pSdk == null || !piServer.Connected) { pSdk = new PISDK.PISDK(); string piserver_name = ConfigurationManager.AppSettings["PIServer"].ToString(); string connectstr = ConfigurationManager.AppSettings["PIConnectionString"].ToString(); piServer = pSdk.Servers[piserver_name]; if (piServer.Connected) return true; piServer.ConnectTimeout = 120; piServer.Open(connectstr); } } catch (Exception ex) { pSdk = null; _ErrorInfo = ex.Message; return false; } return true; }
public bool Connection(string ServerIP, string PIConnectionString) { try { //���Ӵ���� ��ִ�йرղ��� if (ConnString != "" && ConnString != PIConnectionString) piServer.Close(); piServer.Open(PIConnectionString); ConnString = PIConnectionString; } catch (Exception ex) { _ErrorInfo = ex.Message; pSdk = null; return false; } return true; }
public MainForm() { InitializeComponent(); pisdk = new PISDK.PISDK(); pisrv = pisdk.Servers.DefaultServer; pisrv.Open(); }
List <PIAttributesClass> GetPiData(string tagName) { if (string.IsNullOrEmpty(tagName)) { tagName = "*"; } List <PIAttributesClass> attributes = new List <PIAttributesClass>(); if (tagName.Trim() != "*") { PISDK.PISDK sdk = new PISDK.PISDK(); //Server srv = sdk.Servers["mus-as-126.corp.pdo.om"]; //srv.Open("UID=upoa;PWD=upoa"); string piServer = string.IsNullOrEmpty(ConfigurationSettings.AppSettings["PIServer"]) ? "mus-as-126.corp.pdo.om" : ConfigurationSettings.AppSettings["PIServer"]; string piCredentials = string.IsNullOrEmpty(ConfigurationSettings.AppSettings["PICredentials"]) ? "UID=upoa;PWD=upoa" : ConfigurationSettings.AppSettings["PICredentials"]; Server srv = sdk.Servers[piServer]; srv.Open(piCredentials); PIPoints myPoints = srv.PIPoints; PointList list = srv.GetPoints("tag = '" + tagName + "'"); int count = list.Count > 100 ? 100 : list.Count; for (int i = 1; i <= count; i++) { PIData data = list[i].Data; try { attributes.Add(new PIAttributesClass { Descriptor = (list[i].PointAttributes["Descriptor"].Value).ToString(), EngUnits = (list[i].PointAttributes["EngUnits"].Value).ToString(), Instrumenttag = (list[i].PointAttributes["instrumenttag"].Value).ToString(), PITag = (list[i].PointAttributes["Tag"].Value).ToString(), PointType = (list[i].PointAttributes["pointtype"].Value).ToString() }); } catch (Exception ex) { } } } return(attributes); }
private void gameTimeButton_click(object sender, EventArgs e) { // Allow the user to set the appropriate properties. if (serialPort.IsOpen) { serialPort.Close(); } serialPort.PortName = comComboBox.SelectedItem.ToString(); serialPort.BaudRate = 9600; serialPort.Open(); //send the Arduino an 'A' to get it going :) serialPort.Write("A"); if (serialPort.IsOpen) { Console.WriteLine(serialPort.PortName + " is open"); } serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); serverName = serverTextBox.Text; tagName = tagTextBox.Text; piSDK = new PISDK.PISDKClass(); piServer = piSDK.Servers[serverName]; if (piServer.Connected) { Console.WriteLine("Connected to Server"); } piPoint = readPIPoint(piServer, tagName); }
/// <summary> /// PiHelper构造函数 /// </summary> /// <param name="hostName">pi服务器名</param> /// <param name="uid">登录服务器的用户id</param> /// <param name="pwd">登录密码</param> /// <param name="piPort">pi服务器端口</param> public PiHelper(string hostName, string uid, string pwd, int piPort) { this.hostName = hostName; this.uid = uid; this.pwd = pwd; this.piPort = piPort; piConnectionString = string.Format("UID={0};PWD={1};port={2};Host={3};", uid, pwd, piPort, hostName); try { pisdk = new PISDK.PISDK(); foreach (PISDK.Server Iserver in pisdk.Servers) { if (Iserver.Name.Equals(hostName)) { this.server = Iserver; //初始化PIServer日志 by Nutk'Z 141111 //log4net.ILog log = log4net.LogManager.GetLogger(this.GetType()); //log.Info("初始化PIServer成功"); logs.writelog("初始化PIServer成功"); } } } catch (Exception ex) { log4net.ILog log = log4net.LogManager.GetLogger(this.GetType()); log.Error(ex); } }
protected void Page_Load(object sender, EventArgs e) { PISDK.PISDK SDK = new PISDK.PISDK(); //Creates new instance of PI SDK PI_SERVER = SDK.Servers["esmartserver-pc"]; //Assign PI server to local machine [Piservername] PI_SERVER.Open("piadmin"); //Open connection through default user //Initialize point data starting at 12:50p rpiCONNECT = updatePointValue("SP14VICE_Connection", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); RPM = updatePointValue("SP14VICE_RPM", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); FLOW = updatePointValue("SP14VICE_Flow", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); PRESSURE = updatePointValue("SP14VICE_Pressure", "2/27/2014 12:50:00 PM", DateTime.Now.ToString()); }
List <Pi> getPiData(string tagName, DateTime StartDate, DateTime EndDate, out string unit) { PISDK.PISDK sdk = new PISDK.PISDK(); string piServer = string.IsNullOrEmpty(ConfigurationSettings.AppSettings["PIServer"]) ? "mus-as-126.corp.pdo.om" : ConfigurationSettings.AppSettings["PIServer"]; string piCredentials = string.IsNullOrEmpty(ConfigurationSettings.AppSettings["PICredentials"]) ? "UID=upoa;PWD=upoa" : ConfigurationSettings.AppSettings["PICredentials"]; Server srv = sdk.Servers[piServer]; srv.Open(piCredentials); string nameConcat = ""; int i = 0; PISDK.PIPoints myPoints = srv.PIPoints; PointList list = srv.GetPoints("tag = '*" + tagName + "*'"); int count = list.Count; PIData data = list[1].Data; unit = list[1].PointAttributes["EngUnits"].Value.ToString(); PIValues values; List <string> stringValues = new List <string>(); List <DateTime> timeValues = new List <DateTime>(); List <Pi> piData = new List <Pi>(); try { values = data.RecordedValues(StartDate, EndDate); foreach (PIValue value in values) { try { if (value.Value.GetType().IsCOMObject) { stringValues.Add((value.Value as DigitalState).Name.ToString()); PITimeServer.PITime pt = value.TimeStamp; } else { stringValues.Add((value.Value).ToString()); Pi p = new Pi(); p.time = value.TimeStamp.LocalDate; p.value = Convert.ToString(value.Value); p.tag = tagName; piData.Add(p); } } catch (Exception ex) { //throw ex; } } } catch (Exception ex) { } return(piData); }
float GetCurrentValue(string tagname) { float currentvalue = 0; PISDK.PISDK sdk = new PISDK.PISDK(); //PISDK.Server srv = sdk.Servers["mus-as-126.corp.pdo.om"]; //srv.Open("UID=upoa;PWD=upoa"); string piServer = string.IsNullOrEmpty(ConfigurationSettings.AppSettings["PIServer"]) ? "mus-as-126.corp.pdo.om" : ConfigurationSettings.AppSettings["PIServer"]; string piCredentials = string.IsNullOrEmpty(ConfigurationSettings.AppSettings["PICredentials"]) ? "UID=upoa;PWD=upoa" : ConfigurationSettings.AppSettings["PICredentials"]; Server srv = sdk.Servers[piServer]; srv.Open(piCredentials); PISDK.PIPoints myPoints = srv.PIPoints; try { PIValue value = myPoints[tagname].Data.Snapshot; currentvalue = value.Value; } catch (Exception ex) { } return(currentvalue); }
private void Form1_Load(object sender, EventArgs e) { SDK = new PISDK.PISDK(); string defaultServerName = SDK.Servers.DefaultServer.Name; if (!string.IsNullOrEmpty(defaultServerName)) { textBoxServer.Text = defaultServerName; } dateTimePicker1.Format = DateTimePickerFormat.Custom; dateTimePicker1.CustomFormat = "dd.MM.yyyy HH:mm:ss"; dateTimePickerStart.Format = DateTimePickerFormat.Custom; dateTimePickerStart.CustomFormat = "dd.MM.yyyy HH:mm:ss"; dateTimePickerEnd.Format = DateTimePickerFormat.Custom; dateTimePickerEnd.CustomFormat = "dd.MM.yyyy HH:mm:ss"; btnStop.Enabled = false; textBox4.Enabled = false; }
List <Pi> getPiData(string tagName, DateTime StartDate, DateTime EndDate) { ////DateTime startTime = DateTime.Now.AddSeconds(-1); ////DateTime endTime = DateTime.Now; ////TimeSpan span = new TimeSpan(0, 5, 0); PISDK.PISDK sdk = new PISDK.PISDK(); //PISDK.Server srv = sdk.Servers["mus-as-126.corp.pdo.om"]; //srv.Open("UID=upoa;PWD=upoa"); string piServer = string.IsNullOrEmpty(ConfigurationSettings.AppSettings["PIServer"]) ? "mus-as-126.corp.pdo.om" : ConfigurationSettings.AppSettings["PIServer"]; string piCredentials = string.IsNullOrEmpty(ConfigurationSettings.AppSettings["PICredentials"]) ? "UID=upoa;PWD=upoa" : ConfigurationSettings.AppSettings["PICredentials"]; Server srv = sdk.Servers[piServer]; srv.Open(piCredentials); string nameConcat = ""; int i = 0; PISDK.PIPoints myPoints = srv.PIPoints; PointList list = srv.GetPoints("tag = '*" + tagName + "*'"); int count = list.Count; PIData data = list[1].Data; PIValues values; List <string> stringValues = new List <string>(); List <DateTime> timeValues = new List <DateTime>(); List <Pi> piData = new List <Pi>(); try { ////DateTime DateTimeStart = new DateTime(); ////DateTimeStart = Convert.ToDateTime(StartDate); ////DateTime DateTimeEnd = new DateTime(); ////DateTimeEnd = Convert.ToDateTime(EndDate); ////if (!string.IsNullOrEmpty(Request.Form["txtStartDate"])) ////{ //// TimeSpan timeSpan = new TimeSpan(int.Parse(ddlHoursStart.SelectedValue), int.Parse(ddlMinutesStart.SelectedValue), 0); //// DateTimeStart.Add(timeSpan); //// DateTimeEnd.AddHours(int.Parse(ddlHoursEnd.SelectedValue)); //// DateTimeEnd.AddMinutes(int.Parse(ddlMinutesEnd.SelectedValue)); ////} values = data.RecordedValues(StartDate, EndDate); foreach (PIValue value in values) { try { if (value.Value.GetType().IsCOMObject) { stringValues.Add((value.Value as DigitalState).Name.ToString()); PITimeServer.PITime pt = value.TimeStamp; } else { stringValues.Add((value.Value).ToString()); Pi p = new Pi(); p.time = value.TimeStamp.LocalDate; p.value = Convert.ToString(value.Value); p.tag = tagName; piData.Add(p); } } catch (Exception ex) { //throw ex; } } } catch (Exception ex) { } return(piData); }
PISDK.Server piServer; //Create instance of PI Server //<<<<<<<<<<Connect to PI Server>>>>>>>>>> public void connectToServer(string piServerName) { PISDK.PISDK SDK = new PISDK.PISDK(); // Create new instance of PI SDK piServer = SDK.Servers[piServerName]; // Assign PI Server to local machine piServer.Open(piServer.DefaultUser); // Open connection through default user }