工业数采引擎-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-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);
        }
    }
}

 

image

 

posted @ 2025-08-01 16:45  CHHC  阅读(11)  评论(0)    收藏  举报