当前位置: 首页 > news >正文

工业数采引擎-DTU

DTU配置注册包及心跳包(对应设备配置->设备SN),模块工作方式:TcpClient,首次连接成功后,DTU发送上来的注册包作为链路SessionId

1. ModbusRtu设备 -> Dtu -> Server

image

2. DLT645设备 -> Dtu -> Server

image

3. 自定义设备 -> Dtu -> Server

image

调用方法

using FusionDrive.DtuServer.Util;
using FusionDrive.DtuServer.Util.dtu;namespace FusionDrive.DtuServer
{internal class Program{static DtuServer_NDB DtuServer_Modbus = new DtuServer_NDB();static DtuServer_NDB DtuServer_Dlt645 = new DtuServer_NDB();static void Main(string[] args){DtuMgr.ClearLink();//StartDTUService_Modbus();//StartDTUService_DLT645();StartDTUService_Custom();Console.ReadLine();}static void StartDTUService_Modbus(){ // 启动modbus_dtu服务DtuServer_Modbus.Start(9501, "ModbusDtuServer"); // 初始化轮询点位PointAction dtuAction1 = new PointAction(new Util.model.EquipInfo(){EquipName = "DtuClient_ModbusRtu",EquipSN = "pzXklIseRWC2H3Wd",ProtocolModel = 3,ConnectParam = @"{""SalveId"":1,""AddressStartWithZero"":false}",},new List<Util.model.EquipPoint>(){new Util.model.EquipPoint(){PointName = "点位1",Address = "x=3;105",DataType = 1,DataFormat = "CDAB"}});dtuAction1.Start();}static void StartDTUService_DLT645(){// 启动dlt645_dtu服务DtuServer_Dlt645.Start(9502, "DLT645DtuServer");// 初始化轮询点位PointAction dtuAction2 = new PointAction(new Util.model.EquipInfo(){EquipName = "DtuClient_DLT645",EquipSN = "1w0bxMPFdxg5wyF9",ProtocolModel = 4,ConnectParam = @"{""Station"":""000000000028"",""Type"":""97""}",},new List<Util.model.EquipPoint>(){new Util.model.EquipPoint(){// 功能码// 97   B6-11// 07   02-01-01-00PointName = "A相电压",Address = "B6-11",DataType = 9,DataFormat = "CDAB"}});dtuAction2.Start();}static void StartDTUService_Custom(){// 启动custom_dtu服务DtuServer_Custom.Start(9503);// 初始化轮询点位var info = new Util.model.EquipInfo(){EquipName = "DtuClient_OHM",EquipSN = "b7NmwKPSCVoorCsz",ProtocolModel = 100,ConnectParam = @"{""Decode"":""ohm"",""EncodeData"":[""*TRG\r\n""],""EncodeType"":""ASCII""}",};UidMgr.AddClient(info.EquipSN, info);}}
}

image

http://www.dtcms.com/a/310551.html

相关文章:

  • CSS属性值计算规则:从声明到渲染的精确过程
  • 《C++》STL--list容器详解
  • 【读文献】Capacitor-drop AC-DC
  • 移除 Excel 文件(.xlsx)的工作表保护
  • Ubuntu 系统下使用 lsusb 命令识别 USB 设备及端口类型详解
  • 从“多、老、旧”到“4i焕新”:品牌官方商城(小程序/官网/APP···)的范式跃迁与增长再想象
  • 数据结构与算法——字典(前缀)树的实现
  • Rockchip RK3568J +FPGA边缘智能系统及储能网关
  • 以太网是什么网,什么网是以太网
  • spring cloud alibaba ——sidecar服务异构
  • Vite+React组件库提速方案
  • 区块链概述
  • 嵌入式 C 语言入门:函数封装与参数传递学习笔记 —— 从定义到内存机制
  • Syzkaller实战教程6:[重要]初始种子加载机制剖析第二集
  • 如何理解卷积,和自注意力机制的局限与优势(个人理解)
  • C++中typename基本用法
  • Nastool+cpolar:群晖NAS用户的全场景影音自由方案
  • 理解HTTP协议
  • 网络配置+初始服务器配置
  • Effective C++ 条款15:在资源管理类中提供对原始资源的访问
  • 在 Docker 中启动 Nginx 并挂载配置文件到宿主机目录
  • MyBatis知识点
  • 烽火HG680-KX-海思MV320芯片-2+8G-安卓9.0-强刷卡刷固件包
  • 电子电气架构 --- 加速48V技术应用的平衡之道
  • 机器学习sklearn:处理缺失值
  • 应用分层
  • 菜鸟教程Shell笔记 数组 运算符 echo命令
  • Qwen2 RotaryEmbedding 位置编码仅仅是第一层有吗
  • 深度学习-梯度爆炸与梯度消失
  • Node.js的用途和安装方法