Чтение состояния регистра-номер 03 функционального кода 1) сообщение о запросе основной станции Текст сообщения Длина Ассортимент соотношение цена/качество Образец От адрес станции 1 байт 0x01 ~ 0x1F 0x01 Функция код 1 байт 0x03 0x03 Начальный адрес 2 байт 0x0000 ~ 0x001F 0x0000 Вход Кол-во 2 байт 0x0001 ~ 0x0020 0x0001 Проверка CRC 2 байт 0x0000 ~ 0xffff 0x840A Примечание 1: Пример сообщения с запросом на мастер-станцию, прочтите 1 удерживающий регистр (4X0001) от 0. 2) нормальное сообщение ответа от станции Текст сообщения Длина Ассортимент соотношение цена/качество Образец От адрес станции 1 байт 0x01 ~ 0x1F 0x01 Функция код 1 байт 0x03 0x03 Количество байт 1 байт N 0x02 Вход данных N байт 0x09C4 Проверка CRC 2 байт 0x0000 ~ 0xffff 0xBF87 Обратите внимание на количество байт данных в 1:N = ответ. Примечание 2: Выходные данные считываются из нормального ответа сообщения станции пример 0x09C4, и соответствующий ток: (2500/4096) * 20 = 12,2 мА (0 ~ 4095 соответствует 0 до 20 мА). Аналоговый Входной-04 функциональный код 1) сообщение о запросе основной станции Текст сообщения Длина Ассортимент соотношение цена/качество Образец От адрес станции 1 байт 0x01 ~ 0x1F 0x01 Функция код 1 байт 0x04 0x04 Начальный адрес 2 байт 0x0000 ~ 0x001F 0x0000 Вход Кол-во 2 байт 0x0001 ~ 0x0020 0x0001 Проверка CRC 2 байт 0x0000 ~ 0xffff 0x 31CA Примечание 1: Пример сообщения с запросом на мастер-станцию, прочтите 1 Журнал хранения (3X0001) от 0. 2) нормальное сообщение ответа от станции Текст сообщения Длина Ассортимент соотношение цена/качество Образец От адрес станции 1 байт 0x01 ~ 0x1F 0x01 Функция код 1 байт 0x03 0x04 Количество байт 1 байт N 0x02 Вход данных N байт 0x09C4 Проверка CRC 2 байт 0x0000 ~ 0xffff 0x5609 Обратите внимание на количество байт данных в 1:N = ответ. Примечание 2: Выходные данные считываются из нормального ответа сообщения станции пример 0x09C4, и соответствующий ток: (2500/4096) * 20 = 12,2 мА (0 ~ 4095 соответствует 0 до 20 мА). Считывание аналогового ввода (0x04) Отправка хоста: addr 04 regH regL numH numL crcH crcL. Возврат с машины: addr 04 len d0H d0L... DnH dnL црч угпс Объяснение: адрес регистра начинает подсчитывать от 0, numH numL сказал номер аналога для чтения. Эта карта имеет 5 аналоговых входов с использованием 12 битацп, и каждая аналоговая информация занимает два байта. Например, чтобы прочитать второй и третий пути, адрес регистра составляет 0001, а количество регистров-0002. Если вы хотите прочитать все аналоговые данные с первого до восьмого, то зарегистрируйте адрес 0000, зарегистрируйте номер 0008. Данные 0-0x3FF возвращаются, чтобы представить Собранный аналог, например, аналоговое количество 0-20mA, данные чтения 18C, десятичное число 396, И текущее значение-I = 20mA * 396/1023 = 7.742mA. Датчик обычно 4-20 мА. Если значение меньше 4 мА, линия подключения неисправна. Пример: чтение аналогового количества с первого до восьмого Отправка хоста: 010400000008 F1 CC Возврат с машины: 0104 0C d0H d0L... D5H d5L црч угпс Код источника VC для аналоговый вход, выход (четкие Примечания): /Чтение единого состояния регистра /Ip_Addr от машины MODBUS адрес /Адрес регистра данных data_Addr UInt16 readBUF (байт ip_Addr, UInt16 data_Addr) { UInt16 CRC; /Проверьте значение Байт [] MSG = Новый байт [8]; /массив инструкций Msg[0] = ip_Addr; /с машины. Msg[1] = 0x04; /чтение единого регистра Msg[2] = (байт) (data_Addr > 8); /высокий адрес регистрации Msg[3] = data_Addr (байт); /низкий зарегистрированный адрес Msg[4] = 0x00; /длина данных для чтения Msg[5] = 0x01; /длина считывания базы данных CRC = CRC16 (MSG, 6); /CRC Msg[6] = (байт) (CRC > 8); /Проверьте 8 Msg[7] = CRC (байт); /Проверьте Низкий 8 Comm.Write (MSG); /read request to send frames (Receive_A_Frame); /рамка приема сигнала возврата /Добавить сюда: оценка полученных данных } ......... Больше исходного кода, пожалуйста, выберите следующий запрос Wangwang. -Примеры настройки программного обеспечения 1N = |