• C# Modbus 之 EasyModbus


    直接上代码

     public int EasyModbusReadInputRegisters()
            {
                ModbusClient modbusClient = new ModbusClient(_spHelper.ConfigSerialPort.PortName);
                try
                {
                    modbusClient.UnitIdentifier = _dcuInfo.siteId;
                    modbusClient.Baudrate = _spHelper.ConfigSerialPort.BaudRate;
                    modbusClient.Parity = (System.IO.Ports.Parity)_spHelper.ConfigSerialPort.Parity;
                    modbusClient.StopBits = (System.IO.Ports.StopBits)_spHelper.ConfigSerialPort.StopBits;
                    modbusClient.ConnectionTimeout = 500;
                    modbusClient.Connect();
                    int[] result = modbusClient.ReadInputRegisters(54, 1);  //地址号
                    modbusClient.Disconnect();
                    return result[0];
                }
                catch (Exception ex)
                {
                    modbusClient.Disconnect();
                    return -1;
                }
                
            }
    
            public bool EasyWriteMultipleRegisters()
            {
                ModbusClient modbusClient = new ModbusClient(_spHelper.ConfigSerialPort.PortName);
                try
                {
                    modbusClient.UnitIdentifier = _dcuInfo.siteId;
                    modbusClient.Baudrate = _spHelper.ConfigSerialPort.BaudRate;
                    modbusClient.Parity = (System.IO.Ports.Parity)_spHelper.ConfigSerialPort.Parity;
                    modbusClient.StopBits = (System.IO.Ports.StopBits)_spHelper.ConfigSerialPort.StopBits;
                    modbusClient.ConnectionTimeout = 500;
                    modbusClient.Connect();
                    int[] registers = new int[] { 3250, 3110 }; //要写的值
                    ushort startAddress = 54;  //从某个地址开始写
                    modbusClient.WriteMultipleRegisters(startAddress, registers);
                    modbusClient.Disconnect();
                    return true;
                }
                catch (Exception ex)
                {
                    if (modbusClient.Connected)
                    {
                        modbusClient.Disconnect();
                    }
                    return false;
                }
                
            }
    
  • 相关阅读:
    C语言 · 阶乘计算 · 基础练习
    C语言 · 查找整数 · 基础练习
    UML课程复习重点
    运维参考
    mysql语法总结
    Python杂篇
    Python练习题
    Python参考
    k8s中ipvs和iptables选择
    安装cni网络插件-非必须
  • 原文地址:https://www.cnblogs.com/jxl123456/p/15534010.html
Copyright © 2020-2023  润新知