/// <summary> /// 窗口服务构造函数 /// </summary> /// <param name="modbus">modbus设置</param>[] /// <param name="slaveConfig">从机信息</param> /// <param name="warningCabinetId">警示灯从机id(1-4)</param> /// private SerialPortService(Modbussetting modbus, List <SlaveConfig> slaveConfig, ushort warningCabinetId) { try { _ModbusSetting = modbus; _SlaveConfig = slaveConfig; _WarningCabinetId = warningCabinetId; //if (_serialPort != null) // _serialPort.Dispose(); if (_serialPort == null || !_serialPort.IsOpen) { _serialPort = new SerialPort(_ModbusSetting.PortName, _ModbusSetting.BaudRate, (Parity)_ModbusSetting.Parity, _ModbusSetting.DataBits, (StopBits)_ModbusSetting.StopBits); _modbusSerialMaster = ModbusSerialMaster.CreateRtu(new SerialPortAdapter(_serialPort)); } //设置Modbus通讯的超时时间 _modbusSerialMaster.Transport.ReadTimeout = TimeoutMilliseconds; _modbusSerialMaster.Transport.WriteTimeout = TimeoutMilliseconds; if (!_serialPort.IsOpen) { _serialPort.Open(); } } catch (Exception ex) { SaveErrLogHelper.SaveErrorLog(string.Empty, ex.ToString()); } }
public TCPPortService(Modbussetting modbus, SlaveConfig slaveConfig, bool isMaster) { this.modbus = modbus; this.slaveConfig = slaveConfig; this.isMaster = isMaster; }
public static SerialPortService Instance(Modbussetting modbus, List <SlaveConfig> slaveConfig, ushort warningCabinetId) { return(new SerialPortService(modbus, slaveConfig, warningCabinetId)); }