/// <summary> /// 设置父节点监控值,同时遍历设置子节点的值(暂时不用) /// </summary> /// <param name="tags"></param> /// <param name="parentNode"></param> private void SetParentMonitorNodes(List <string> tags, Dev_Monitor parentNode) { //根据测点列表,返回一个字典(键:测点名称TagName 值: opc对接获取的值) Dictionary <string, string> tagToValueDic = new Dictionary <string, string>(); string opcServerIp = AppContext.OPCServerIP; opc = new OPCReadAuto(opcServerIp); foreach (var item in tags) { if (!tagToValueDic.ContainsKey(item)) { string tagNameValue = opc.getOPC(item); if (tagNameValue.Equals("BAD")) { tagToValueDic.Add(item, "*"); } else { tagToValueDic.Add(item, tagNameValue); } } } opc.DisConnected(); //断开opc SetMonitorNodeValue(parentNode, tagToValueDic); }
public string getOPC(string tagName) { try { string aa = ""; OPCReadAuto opc = new OPCReadAuto("10.146.33.4"); if (opc.IsConnected == true) { aa = opc.GetOpcValueOne(tagName); } string result = aa.ToString(); if (result == null || result == "") { result = "0"; } return(aa.ToString()); } catch (Exception ex) { Log.Error("getOPC:" + ex.ToString()); return(null); } }