diff --git a/SCADA/Program/DataService/PLCGroup.cs b/SCADA/Program/DataService/PLCGroup.cs index f0a0e61..cfab38b 100644 --- a/SCADA/Program/DataService/PLCGroup.cs +++ b/SCADA/Program/DataService/PLCGroup.cs @@ -978,6 +978,7 @@ namespace DataService } else { + if (addr.ByteOrder.HasFlag(ByteOrder.BigEndian)) prcv[iShort1] = IPAddress.HostToNetworkOrder(prcv[iShort1]); if (addr.DataSize <= 2) { if (prcv[iShort1] != cache[iShort]) _changedList.Add(index); diff --git a/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs b/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs index 88a6853..65d6eda 100644 --- a/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs +++ b/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs @@ -33,7 +33,8 @@ namespace ModbusDriver } string _port = "COM1"; - public string ServerName + [Category("串口设置"), Description("串口号")] + public string PortName { get { return _port; } set { _port = value; } @@ -48,6 +49,7 @@ namespace ModbusDriver } private int _timeOut = 3000; + [Category("串口设置"), Description("通迅超时时间")] public int TimeOut { get { return _timeOut; } @@ -56,7 +58,7 @@ namespace ModbusDriver private int _baudRate = 9600; - [Description("波特率")] + [Category("串口设置"), Description("波特率")] public int BaudRate { get { return _baudRate; } @@ -65,14 +67,14 @@ namespace ModbusDriver // private SerialPort _serialPort; private int _dataBits = 8; - [Description("数据位")] + [Category("串口设置"), Description("数据位")] public int DataBits { get { return _dataBits; } set { _dataBits = value; } } private StopBits _stopBits = StopBits.One; - [Description("停止位")] + [Category("串口设置"), Description("停止位")] public StopBits StopBits { get { return _stopBits; } @@ -80,8 +82,8 @@ namespace ModbusDriver } private Parity _parity = Parity.None; - [Description("奇偶校验")] - public Parity parity + [Category("串口设置"), Description("奇偶校验")] + public Parity Parity { get { return _parity; } set { _parity = value; } @@ -270,6 +272,12 @@ namespace ModbusDriver 所以PDU应为: 253字节 */ get { return 0xFD; } //0xFD 十进制为253 } + private string _serverName = "unknown"; + public string ServerName + { + get { return _serverName; } + set { _serverName = value; } + } public DeviceAddress GetDeviceAddress(string address) { @@ -321,7 +329,7 @@ namespace ModbusDriver dv.Start = int.Parse(address.Substring(1)); dv.Start--; dv.Bit--; - dv.ByteOrder = ByteOrder.Network; + dv.ByteOrder = ByteOrder.BigEndian; } break; case '3': @@ -337,7 +345,7 @@ namespace ModbusDriver dv.Start = int.Parse(address.Substring(1)); dv.Start--; dv.Bit--; - dv.ByteOrder = ByteOrder.Network; + dv.ByteOrder = ByteOrder.BigEndian; } break; } @@ -544,7 +552,6 @@ namespace ModbusDriver #endregion } - public sealed class Modbus { public const byte fctReadCoil = 1; diff --git a/SCADA/dll/ModbusDriver.dll b/SCADA/dll/ModbusDriver.dll index 64bc277..d5eeeb5 100644 Binary files a/SCADA/dll/ModbusDriver.dll and b/SCADA/dll/ModbusDriver.dll differ