C# OPC操作

來源:互聯網
上載者:User

標籤:

OPCAutomation.OPCServer clsOPCServer = new OPCAutomation.OPCServer();OPCGroup clsOPCGroup;OPCGroups clsOPCGroups;OPCItem clsOPCItem;OPCItem[] AllOPCItem;Boolean bolConnect()        {            //return true;            try            {                if (clsOPCGroup == null)                {                    clsOPCServer = new OPCServer();                    t.Elapsed += new System.Timers.ElapsedEventHandler(theout);  //到達時間的時候執行事件;                    t.AutoReset = false;  //設定是執行一次(false)還是一直執行(true);                       t.Enabled = true;  //是否執行System.Timers.Timer.Elapsed事件;                       t.Start();                    clsOPCServer.Connect(strOPCServer, strOPCServerIP);                    if (clsOPCServer.ServerState == (int)OPCServerState.OPCRunning)                    {                        t.Stop();                        t.Dispose();                        clsLoad.WriteLog("OPC服務串連成功");                    }                    clsOPCGroups = clsOPCServer.OPCGroups;                    clsOPCGroup = clsOPCGroups.Add(strOPCGroup);                }                return true;            }            catch (Exception ex)            {                clsLoad.WriteLog("OPC服務串連錯誤" + "主機IP" + strOPCServerIP + "服務名:" + strOPCServer + "訪問組名:" + strOPCGroup + "明細" + ex.ToString());                return false;            }        }        Boolean bolAddItem()        {            string sql;            try            {                List<string> items = new List<string>();                                foreach (string st in station)                {                    sql = "select * from Land where ST=‘" + st + "‘";                    List<string> columns = clsSql.GetColumnStrings(sql, "off");                    for (int m = 3; m < columns.Count; m++)                    {                        items.Add(columns[m]);                    }                }                AllOPCItem = new OPCItem[items.Count];                for (int m = 0; m < items.Count; m++)                {                    AllOPCItem[m]=clsOPCGroup.OPCItems.AddItem(items[m], m);                    hw.Add(items[m],m);                }                return true;            }            catch (Exception ex)            {                clsLoad.WriteLog("OPC服務添加錯誤" + ex.ToString());                return false;            }        }        object ReadOPC(string O_Adrs) //位元組型變數        {            object objValue = "";            object objQuality;            object objTimeStamp;            int ct;            try            {                ct = (int)hw[O_Adrs];                AllOPCItem[ct].Read(Convert.ToInt16(OPCAutomation.OPCDataSource.OPCDevice), out objValue, out objQuality, out objTimeStamp);                return objValue;            }            catch (Exception ex)            {                //MessageBox.Show("讀取OPC 地址 " + O_Adrs + "錯誤");                clsLoad.err = "讀取OPC 地址 " + O_Adrs + "錯誤";                clsLoad.WriteLog("OPC讀取狀態" + O_Adrs + "錯誤" + ex.ToString());                return 0;            }        }        bool WriteOPC(object intStatus, string O_Adrs) //        {            int ct;            try            {                ct = (int)hw[O_Adrs];                AllOPCItem[ct].Write(intStatus);                return true;            }            catch (Exception ex)            {                clsLoad.err = "寫OPC 地址 " + O_Adrs + "錯誤";                clsLoad.WriteLog("寫OPC 地址狀態" + O_Adrs + "錯誤" + ex.ToString());                return false;            }        }

 

C# OPC操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.