using ProjectBase.Data.Logs; using SIMDP.Device; using ProjectBase.Util; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using SIMDP.Model; namespace SIMDP.Project { /// /// 仅用于代码测试 /// class OpcUaDemo : PlcOpcUA { #region 数据定义 #endregion #region 重写父类函数 public override void actionStart() { } public override void actionStop() { } public override void actionConnected() { } public override void actionTimer() { try { // 轮询监控节点 foreach (var p in monitorPoints) { object value; if (!Read(p, out value)) continue; if (!value.Equals(p.value)) { p.value = value; if (p.proc != null) p.proc.Invoke(this, new object[] { value }); } } redis.Publish(SysEnvironment.OpcDataChannel, ""); // 处理无线按钮呼叫信号 //DealWirelessButtonCall(); } catch (Exception ex) { LogHelper.log.Error("读取PLC(" + m_OpcUaClient.OpcUaName + ")信号(" + ")发生异常:" + ex.Message); m_OpcUaClient.Disconnect(); SetRedisPlcDisConnect(); } } #endregion } }