示例#1
2
        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

        }
示例#2
2
        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());
        }
示例#3
1
        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;
        }
示例#4
1
        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>();
        }
示例#5
1
        /// <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;
            }
        }
示例#6
1
        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;
        }
示例#7
1
        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;
            }
        }
示例#8
1
        /// <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.");
            }
        }
示例#9
1
 public bool Close()
 {
     try {
         if (piServer != null && piServer.Connected)
             piServer.Close();
     }
     catch (Exception ex) {
         pSdk = null;
         _ErrorInfo = ex.Message;
         return false;
     }
     return true;
 }
示例#10
1
 //<<<<<<<<<<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
 }
示例#11
1
        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();
        }
示例#12
1
        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;
            }
        }
示例#13
1
 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);
 }
示例#14
1
        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";
            }
        }
示例#15
1
        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;
        }
示例#16
1
        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;
        }
示例#17
0
 public MainForm()
 {
     InitializeComponent();
     pisdk = new PISDK.PISDK();
     pisrv = pisdk.Servers.DefaultServer;
     pisrv.Open();
 }
示例#18
0
        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);
        }
示例#19
0
 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);
 }
示例#20
0
        /// <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);
            }
        }
示例#21
0
        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());
        }
示例#22
0
        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);
        }
示例#23
0
        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);
        }
示例#24
0
        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;
        }
示例#25
0
        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();
        }
示例#26
0
        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";
            }
        }
        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);
        }
示例#28
0
        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
        }
示例#29
0
        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
        }