Все оказалось непредсказуемо просто, дело было в минимальной длине цикла работы контроллера, увеличил до 10мс и стало все ок.


Цитата Сообщение от 1exan Посмотреть сообщение
Вообще, если планируете использовать Modbus.lib, посмотрите эту тему. Я пробовал, очень удобно
Да, думаю, что скоро буду переходить на данный способ связи с модулями.


Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
Внесу комментарий, как автор универсального диспетчера...

Библиотека для случаев, когда ПЛК - мастер!!!
ТС спрашивает, конечно, как с помощью ПЛК считать из панели 10 регистров, т.е. видимо, подразумевает, что ПЛК - мастер в связке с панелью.
Но в подавляющем большинстве случаев в связке ПЛК-панель, мастером должна быть панель!!!

Быть может ТС не правильно создает архитектуру системы?
Да, про мастера и слейва иногда забываю, но тут панель просто использовалась как устройство с регистрами, дальше контроллер пойдет в поле.


Цитата Сообщение от kondor3000 Посмотреть сообщение
Так у вас и в коде только 1 регистр считывается, с байтами 0 и 1, надо добавить х1, х2, х3, х4 .....х10 с разными последующими байтами из буфера естественно 1 Кусок кода.jpg
Тогда и Quantity:=10, заработает. Панель надеюсь Слейв у вас.

А вообще считывать регистры группой, можно и через конфигурацию, с помощью String, до 40 штук за раз. https://owen.ru/forum/showthread.php...l=1#post244022
Тут вопрос был не колличестве преобразованных переменных, а в самой способности считать весь пакет в регистр. Со string я бы не додумался, тоже решает мою проблему, попробовал, все читается как надо в string, спасибо.