コード例 #1
0
        /// <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);
        }
コード例 #2
0
ファイル: ModbusDevice.cs プロジェクト: yuanliya/Auto
 /// <summary>
 /// 带参数构造函数
 /// </summary>
 /// <param name="commProxy">通信设备代理</param>
 /// <param name="protocalProxy">具体MODBUS通信协议</param>
 public ModbusDevice(IStreamResource commProxy, IModbusProtocal protocalProxy)
 {
     this.commProxy     = commProxy;
     this.protocalProxy = protocalProxy;
 }
コード例 #3
0
ファイル: MJJController.cs プロジェクト: yuanliya/Auto
 public MJJController(IStreamResource commProxy, IModbusProtocal protocalProxy)
     : base(commProxy, protocalProxy)
 {
 }