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

2. DLT645设备 -> Dtu -> Server

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

调用方法
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-00 PointName = "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); } } }

qq:505645074

浙公网安备 33010602011771号