В любом случае, благодарю.
Согласен про modbus.lib. А вот чтобы убедится что устройство работает надо запрос сделать с КС (верно?)(у меня их два на столе).Зачем тебе считать КС если modbus.lib это сама делает. Тебе надо убедиться, что твое устройство работает по протоколу Modbus RTU.
Capzap, товарищ! (Обратился бы по имени, так всё-таки правильней). Я понял ваш посыл - добиваться своим умом и трудом. Каждый должен быть на своём месте и оттачивать мастерство. Честно, того же мнения. В этом и есть смысл развития...
Эх, сейчас бы машину декомпрессии времени, разобрался бы детальней с задачей.
Ну да ладно. Ухожу на повторный круг образования. По результату сообщу.
Продолжаем разбор.
Как правильно получить контрольную сумму, для модбас? Тренируюсь на МВА.
Скриншот 21-05-2021 174202.jpg
Думал прогнать через проверку CRC и добавить недостающие байты, но ноля не получается.
Скриншот 21-05-2021 174401.jpg
Добавил байты
Скриншот 21-05-2021 174908_2.jpg
Нет ноля.
Скриншот 21-05-2021 174939_2.jpg
Обыкновенно CRC_GEN вычисляет контрольную сумму, которая присоединеняется к оригинальному сообщению. Если теперь снова вычислить контрольную сумму сообщения вместе с присоединенной к нему контрольной суммой, то в результате получится 0.
Последний раз редактировалось Павел_Хабаровск; 21.05.2021 в 11:36.
Разобрался с получением КС в десятичном формате. Как перевести в 16#?
218 перевожу в HEX получается DA а в запросе должно 16#8B
Скриншот 21-05-2021 190844_3.jpg
а как же здравый смысл? owen.png
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Да, такие же цифры. Но в КС младший байт из примера обозначен 8B.
Вот и думаю как получили.
Ладно там в примере запрос в шестнадцатеричном формате нужен для смещения точки. Т.к. предстоит считывать дискреты, то это можно опустить.
А здравый смысл преобладает в спокойном состоянии.
Затяжные сюрпризы с протоколом производителя, без опыта организации связки, да в командировке заставляют размозжить мозги. Состояние полёта в на орбиту.