m-d-a
Junior Member / Новичок
Участник № / Member № 5992
отправлено / posted
Здравствуйте. По modbus tcp получаю пакет из 30 слов. Пакет делится на 10 смысловых групп (по 3 значения типа word). Каждая группа была сформирована следующим образом: Взято значение датчика типа real и в первое слово записаны старшие 16 бит real, во второе слово записаны младшие 16 бит real, в третье слово записано состояние датчика 0-10. И так 10 датчиков. Я сформировал групповой запрос на чтение 30 слов (real читать сразу не получается, потому что есть состояние 3 словом). Теперь надо из первых 2 слов собрать real. Нашел несколько тем похожих, но ответа не нашел. Получается решение - написать dll для обработки? Заранее спасибо.
Сообщения / Posts 17 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Надо использовать групповой запрос с привязкой CALL.ChGroupReq к Modbus-переменной R_FIFO_Queue (см. описание канала CALL.ChGroupReq). При этом аргументы для приема данных надо задавать парами REAL и UINT.
Сообщения / Posts 17301 | Из / From: Россия
| IP / IP: IP адрес / IP address |
m-d-a
Junior Member / Новичок
Участник № / Member № 5992
отправлено / posted
В устройстве к сожалению, не поддерживается функция 24. Поддерживается только функция 3.
Сообщения / Posts 17 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Вы должны задать у канала CALL.ChGroupReq ПАРАМЕТР=1, а в аргументе ARG000 - задать значение функции 3.
Сообщения / Posts 17301 | Из / From: Россия
| IP / IP: IP адрес / IP address |