Так не надо там ничего мудрить, функция извлечения бит в ОЛ имеется и её можно проверить, в смысле подайте на вход значение 65536 или 131072, эти значения должны соответствовать 16 или 17 биту, в смысле, неужели хотя бы в симуляторе нельзя минуту потратить и всё проверить, в смысле, проблему найти, может у Вас значения поступают не более 65535, поэтому эти биты всегда в состоянии логического "0"!
Попробуйте отдельно читать 99 и 100 регистр!
И, Вы используете макрос вставки(записи) бит очень не оптимальный, сильно переусложнённый, в смысле, можно подсмотреть в моём проекте, намного проще!
Последний раз редактировалось Сергей0308; 26.05.2024 в 18:36.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Так у вас дело не в блоке, а в чтении с Модуля. Сам блок работает правильно. 1 Работа бит.jpg
Последний бит включает число 134217728
Это 27 бит, но так как у вас счёт с 1 бита ( а не с 0), то получился 28.
Скорее всего сетевая переменная не передаёт число больше 65535. Надо сделать сетевую с адресом 100 и посмотреть в ней число.
Так же попробовать переставить регистры (байты) галочкой.
Последний раз редактировалось kondor3000; 26.05.2024 в 18:42.
Вот это хороший вопрос, что приходит не более 65535. К сожалению модуля ввода у меня под рукой нет, объект пытаюсь запустить удаленно. Ранее проблем с модулем ввода не было, это именно с обновленной версии модуля какая-то фигня. Ранее опрос делался 2-мя регистрами и проблем не было. а сей час по мимо того что он сдвоенные так еще и на оборот.... Вход 16, это 1 бит, очень усложняет наладку.
Прочитайте модуль когда замкнут только первый вход и посмотрите что ПРка прочитает. Может надо байты местами поменять?
Получил я модуль на руки.
Проблема действительно не в самом коде, а в настройка сети.
Сам модуль на заводских настройках сети!
В лоджике я добавил шаблон из менеджера компонентов, и отредактировал его под один регистр.
Вот в этом шаблоне стояла галочка "старшим байтом".
Получается, что если подать сигнал на 1ый вход, сетился 9 в лоджике!
Если убрать эту галочку, все работает корректно!
Это я смог понять только когда модуль оказался в у меня на столе, а не в щите с подключенными приборами.
Всем огромное спасибо!!!