+/- 1 к адресу делали?
+/- 1 к адресу делали?
3 вначале, это область памяти, как я понимаю. В доке написано что область входных регистров, так почему вы читаете 3ей командой, для холдинг регистров, когда надо 4ой...
PS Вот это гляньте, там только области 5значные, а у вас 6значные...
https://masteropc.ru/faq_modbusuniversal
Последний раз редактировалось МихаилГл; 26.07.2025 в 05:02.
Чего тут думать, если в документе явно сказано, что это регистры ввода. Лидирующая 3-ка - это просто мнемонический указатель на тип регистра, т.е. регистр ввода. Не функции, а регистра. Функция чтения будет 4. Так же в документе явно указано, что это логические адреса, т.е. физический будет на 1 меньше.
Последний раз редактировалось imaex; 26.07.2025 в 06:10. Причина: удалил ошибочное.
Попробовал, функцией READ INPUT REGISTR адресс ввёл 49288, 349289 убрал 3 отнял 1. Опрашиваю в массив, с масива ФБ OCL.WORD2_TO_REAL преобразую в число с плавающей запятой.
Данные приходят, но не то что нужно, фактически Q1 варьируется от 0 до 300, а Q2 стабильно в районе 50.
Либо регистр не тот, либо преобразовываю неправильно?
Так а вы не отнимайте 1, введите как есть, или наоборот прибавьте 1.
И вообще, выпишите 4 байта принятых, и есть масса калькуляторов онлайн из hex, где вам покажут числа при разном расположении байт.
Так тоже пробовал, FALSE на TRUE менял, тоже не те значения
Не отнимая ввожу, та же ошибка что и вначале.
+1 49290 ввожу, равные два стабильные значения 9.95683