Exemple #1
0
        /*
         * decodeResponseMessage函数,处理Response命令的函数
         * 虚函数,方法已实现,会自动给出消息的Response答复
         * 如有需要,可在仪器类中重写该函数
         */
        public virtual void decodeResponseMessage(ModbusMessage s)
        {
            ModbusMessageDataCreator creator = new ModbusMessageDataCreator();

            creator.addKeyPair("Result", "OK");
            string msg = ModbusMessageHelper.createModbusMessage(ModbusMessage.messageTypeToByte(ModbusMessage.MessageType.RESPONSE), creator.getDataBytes());

            this.SendMsg(msg);
        }
Exemple #2
0
        /*
         * SendModBusMsg函数,以ModBus协议的方式发送数据
         * ModbusMessage.MessageType 有{ CMD, RESPONSE, GET, SET, REPORT }
         * Key 和 Value 分别指的是生成ModBusMessage的键和值
         * 通常来说Key为变量名,Value为该变量的值,示例:SendModBusMsg(ModbusMessage.MessageType.REPORT,"MPF_PlateNum","10");
         * 函数完成的就是将这组Key,Value封装成ModBusMessage然后发送出去
         */
        public void SendModBusMsg(ModbusMessage.MessageType type, String key, Object value)
        {
            ModbusMessageDataCreator creator = new ModbusMessageDataCreator();

            creator.addKeyPair(key, (String)value);
            string msg = ModbusMessageHelper.createModbusMessage(ModbusMessage.messageTypeToByte(type), creator.getDataBytes());

            this.SendMsg(msg);
        }
Exemple #3
0
        /*
         * SendModBusMsg函数,以ModBus协议的方式发送数据
         * ModbusMessage.MessageType 有{ CMD, RESPONSE, GET, SET, REPORT }
         * htable指的是多组的Key和Value,主要用于多个键以及值的数据发送
         * 函数完成的就是将这htable包含的多组Key,Value封装成ModBusMessage然后发送出去
         */
        public void SendModBusMsg(ModbusMessage.MessageType type, Hashtable htable)
        {
            ModbusMessageDataCreator creator = new ModbusMessageDataCreator();

            foreach (DictionaryEntry de in htable)
            {
                creator.addKeyPair((string)de.Key, (string)de.Value);
            }
            string msg = ModbusMessageHelper.createModbusMessage(ModbusMessage.messageTypeToByte(type), creator.getDataBytes());

            this.SendMsg(msg);
        }