/// <summary>
        /// 创建Modbus主站
        /// </summary>
        /// <param name="serialPortComPortConfigInfo">串口端口配置信息</param>
        /// <param name="modbusType">协议类型</param>
        /// <returns>PlcModbus对象</returns>
        public static IModbus Create(SerialPortComPortConfigInfo serialPortComPortConfigInfo, ModbusType modbusType)
        {
            ModbusTransportMode modbusTransportMode = ModbusTransportMode.Rtu;

            if (modbusType == ModbusType.ModbusMasterAscii)
            {
                modbusTransportMode = ModbusTransportMode.Ascii;
            }

            return(new ModbusMasterByNModbus4(serialPortComPortConfigInfo, modbusTransportMode));
        }
Example #2
0
 public SerialPortComPort(SerialPortComPortConfigInfo serialPortConfigInfo, ILoggerFactory loggerFactory = null)
 {
     this.serialPortConfigInfo = serialPortConfigInfo;
     this.serialPort           = new System.IO.Ports.SerialPort(
         serialPortConfigInfo.PortName,
         serialPortConfigInfo.BaudRate,
         serialPortConfigInfo.Parity,
         serialPortConfigInfo.DataBits,
         serialPortConfigInfo.StopBits);
     this.serialPort.DataReceived += (s, e) => OnDataReceived(s, new DataReceivedEventArgs()
     {
         BytesToRead = serialPort.BytesToRead
     });
     this.loggerFactory = loggerFactory;
     this.Name          = serialPortConfigInfo.Name;
     this.connectionStateChangedEventManager = new ConnectionStateChangedEventManager(Name, loggerFactory);
 }
Example #3
0
 /// <summary>
 ///创建通讯端口
 /// </summary>
 /// <param name="serialPortConfigInfo">串口端口配置信息</param>
 /// <param name="loggerFactory">日志工厂</param>
 /// <returns>通讯端口</returns>
 public static IComPort Create(SerialPortComPortConfigInfo serialPortConfigInfo, ILoggerFactory loggerFactory = null)
 {
     return(new SerialPortComPort(serialPortConfigInfo, loggerFactory));
 }
Example #4
0
 public ModbusMasterByNModbus4(SerialPortComPortConfigInfo serialPortComPortConfigInfo, ModbusTransportMode plcModbusTransportMode = ModbusTransportMode.Rtu)
 {
     this.serialPortComPortConfigInfo = serialPortComPortConfigInfo;
     this.plcModbusTransportMode      = plcModbusTransportMode;
 }