/// <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)); }
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); }
/// <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)); }
public ModbusMasterByNModbus4(SerialPortComPortConfigInfo serialPortComPortConfigInfo, ModbusTransportMode plcModbusTransportMode = ModbusTransportMode.Rtu) { this.serialPortComPortConfigInfo = serialPortComPortConfigInfo; this.plcModbusTransportMode = plcModbusTransportMode; }