12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using System;
- using ProjectBase.Data.Logs;
- using SIMDP.Device;
- using ProjectBase.Util;
- namespace SIMDP.Project
- {
- class ModbusRtuDemo : ModbusRtu
- {
- #region 重写父类函数
- public override void actionStart()
- {
- }
- public override void actionStop()
- {
- }
- public override void actionTimer()
- {
- try
- {
- if (!port.IsOpen)
- port.Open();
- // 轮询监控节点
- 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 });
- }
- }
- port.Close();
- redis.Publish<string>(SysEnvironment.OpcDataChannel, "");
- }
- catch (Exception ex)
- {
- LogHelper.log.Error("actionTimer发生异常,将断开重连:" + ex.Message);
- Disconnect();
- }
- }
- #endregion
- #region 自定义功能
- public void 数据更新(object value)
- {
- LogHelper.log.Debug("数据更新Start, value=" + value.ToString());
- }
- #endregion
- }
- }
|