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-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);}} }