Esempio n. 1
0
        /// <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());
            }
        }
Esempio n. 2
0
 public TCPPortService(Modbussetting modbus, SlaveConfig slaveConfig, bool isMaster)
 {
     this.modbus      = modbus;
     this.slaveConfig = slaveConfig;
     this.isMaster    = isMaster;
 }
Esempio n. 3
0
 public static SerialPortService Instance(Modbussetting modbus, List <SlaveConfig> slaveConfig, ushort warningCabinetId)
 {
     return(new SerialPortService(modbus, slaveConfig, warningCabinetId));
 }