diff --git a/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs b/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs index b08d16d..88a6853 100644 --- a/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs +++ b/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs @@ -47,19 +47,45 @@ namespace ModbusDriver } } - private int _timeOut = 1000; + private int _timeOut = 3000; public int TimeOut { get { return _timeOut; } set { _timeOut = value; } } + private int _baudRate = 9600; + [Description("波特率")] public int BaudRate { get { return _baudRate; } set { _baudRate = value; } } + // private SerialPort _serialPort; + + private int _dataBits = 8; + [Description("数据位")] + public int DataBits + { + get { return _dataBits; } + set { _dataBits = value; } + } + private StopBits _stopBits = StopBits.One; + [Description("停止位")] + public StopBits StopBits + { + get { return _stopBits; } + set { _stopBits = value; } + } + + private Parity _parity = Parity.None; + [Description("奇偶校验")] + public Parity parity + { + get { return _parity; } + set { _parity = value; } + } List _grps = new List(); public IEnumerable Groups @@ -77,15 +103,15 @@ namespace ModbusDriver { try { + if (_timeOut <= 0) _timeOut = 1000; if (_serialPort == null) _serialPort = new SerialPort(_port); - if (_timeOut <= 0) _timeOut = 1000; _serialPort.ReadTimeout = _timeOut; _serialPort.WriteTimeout = _timeOut; _serialPort.BaudRate = _baudRate; - _serialPort.DataBits = 8; - _serialPort.Parity = Parity.Even; - _serialPort.StopBits = StopBits.One; + _serialPort.DataBits = _dataBits; + _serialPort.Parity = _parity; + _serialPort.StopBits = _stopBits; _serialPort.Open(); return true; } diff --git a/SCADA/dll/ModbusDriver.dll b/SCADA/dll/ModbusDriver.dll index f7db08d..64bc277 100644 Binary files a/SCADA/dll/ModbusDriver.dll and b/SCADA/dll/ModbusDriver.dll differ