From 5e69945cc46eafb35ef07d81d3e83324d279ea16 Mon Sep 17 00:00:00 2001 From: Gavin Date: Tue, 26 Dec 2017 16:38:17 +0800 Subject: [PATCH] add serialPort param --- SCADA/Program/ModbusDriver/ModbusRTUDriver.cs | 36 +++++++++++++++--- SCADA/dll/ModbusDriver.dll | Bin 22528 -> 23040 bytes 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs b/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs index b08d16df..88a68532 100644 --- a/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs +++ b/SCADA/Program/ModbusDriver/ModbusRTUDriver.cs @@ -47,19 +47,45 @@ public bool IsClosed } } - 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 @@ public bool Connect() { 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 f7db08de2bbb7c3b72c944c3f4db808f0ef1ff16..64bc277426c823bd37649e5e1330923d3ac8e209 100644 GIT binary patch delta 7866 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 delta 7326 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