/// <summary> /// 工厂模式实现通信类对象 /// </summary> /// <param name="DevAddr"></param> /// <returns></returns> public IModbusProtocal GetProtocalProxy() { IModbusProtocal proxy = null; // 从配置文件中读取当前设备的通信模式 string commMode = GetCommunicationProtocal(); switch (commMode) { case "ModbusRTU": // 设备采用串口通信 // 生成串口类对象 proxy = new ModbusRTUProtocal(); break; case "ModbusTCP": // 设备采用以太网通信 // 生成以太网对象 proxy = new ModbusTCPProtocal(); break; default: break; } return(proxy); }
/// <summary> /// 带参数构造函数 /// </summary> /// <param name="commProxy">通信设备代理</param> /// <param name="protocalProxy">具体MODBUS通信协议</param> public ModbusDevice(IStreamResource commProxy, IModbusProtocal protocalProxy) { this.commProxy = commProxy; this.protocalProxy = protocalProxy; }
public MJJController(IStreamResource commProxy, IModbusProtocal protocalProxy) : base(commProxy, protocalProxy) { }