Browse Source

update plcgroup

pull/15/head
Gavin 9 years ago
parent
commit
18f9d0cec5
  1. 1
      SCADA/Program/DataService/PLCGroup.cs
  2. 25
      SCADA/Program/ModbusDriver/ModbusRTUDriver.cs
  3. BIN
      SCADA/dll/ModbusDriver.dll

1
SCADA/Program/DataService/PLCGroup.cs

@ -978,6 +978,7 @@ namespace DataService
} }
else else
{ {
if (addr.ByteOrder.HasFlag(ByteOrder.BigEndian)) prcv[iShort1] = IPAddress.HostToNetworkOrder(prcv[iShort1]);
if (addr.DataSize <= 2) if (addr.DataSize <= 2)
{ {
if (prcv[iShort1] != cache[iShort]) _changedList.Add(index); if (prcv[iShort1] != cache[iShort]) _changedList.Add(index);

25
SCADA/Program/ModbusDriver/ModbusRTUDriver.cs

@ -33,7 +33,8 @@ namespace ModbusDriver
} }
string _port = "COM1"; string _port = "COM1";
public string ServerName [Category("串口设置"), Description("串口号")]
public string PortName
{ {
get { return _port; } get { return _port; }
set { _port = value; } set { _port = value; }
@ -48,6 +49,7 @@ namespace ModbusDriver
} }
private int _timeOut = 3000; private int _timeOut = 3000;
[Category("串口设置"), Description("通迅超时时间")]
public int TimeOut public int TimeOut
{ {
get { return _timeOut; } get { return _timeOut; }
@ -56,7 +58,7 @@ namespace ModbusDriver
private int _baudRate = 9600; private int _baudRate = 9600;
[Description("波特率")] [Category("串口设置"), Description("波特率")]
public int BaudRate public int BaudRate
{ {
get { return _baudRate; } get { return _baudRate; }
@ -65,14 +67,14 @@ namespace ModbusDriver
// private SerialPort _serialPort; // private SerialPort _serialPort;
private int _dataBits = 8; private int _dataBits = 8;
[Description("数据位")] [Category("串口设置"), Description("数据位")]
public int DataBits public int DataBits
{ {
get { return _dataBits; } get { return _dataBits; }
set { _dataBits = value; } set { _dataBits = value; }
} }
private StopBits _stopBits = StopBits.One; private StopBits _stopBits = StopBits.One;
[Description("停止位")] [Category("串口设置"), Description("停止位")]
public StopBits StopBits public StopBits StopBits
{ {
get { return _stopBits; } get { return _stopBits; }
@ -80,8 +82,8 @@ namespace ModbusDriver
} }
private Parity _parity = Parity.None; private Parity _parity = Parity.None;
[Description("奇偶校验")] [Category("串口设置"), Description("奇偶校验")]
public Parity parity public Parity Parity
{ {
get { return _parity; } get { return _parity; }
set { _parity = value; } set { _parity = value; }
@ -270,6 +272,12 @@ namespace ModbusDriver
所以PDU应为: 253字节 */ 所以PDU应为: 253字节 */
get { return 0xFD; } //0xFD 十进制为253 get { return 0xFD; } //0xFD 十进制为253
} }
private string _serverName = "unknown";
public string ServerName
{
get { return _serverName; }
set { _serverName = value; }
}
public DeviceAddress GetDeviceAddress(string address) public DeviceAddress GetDeviceAddress(string address)
{ {
@ -321,7 +329,7 @@ namespace ModbusDriver
dv.Start = int.Parse(address.Substring(1)); dv.Start = int.Parse(address.Substring(1));
dv.Start--; dv.Start--;
dv.Bit--; dv.Bit--;
dv.ByteOrder = ByteOrder.Network; dv.ByteOrder = ByteOrder.BigEndian;
} }
break; break;
case '3': case '3':
@ -337,7 +345,7 @@ namespace ModbusDriver
dv.Start = int.Parse(address.Substring(1)); dv.Start = int.Parse(address.Substring(1));
dv.Start--; dv.Start--;
dv.Bit--; dv.Bit--;
dv.ByteOrder = ByteOrder.Network; dv.ByteOrder = ByteOrder.BigEndian;
} }
break; break;
} }
@ -544,7 +552,6 @@ namespace ModbusDriver
#endregion #endregion
} }
public sealed class Modbus public sealed class Modbus
{ {
public const byte fctReadCoil = 1; public const byte fctReadCoil = 1;

BIN
SCADA/dll/ModbusDriver.dll

Binary file not shown.
Loading…
Cancel
Save