Проблемы с задержками не было. Был вопрос большого количества переменных Модбас и путаницы, связанной с этим. И хотелось работать с данными, как с массивами, что и сделал.
10 String для удобства. К ПЛК подключено 5 ПР. Большинство данных передаются от ПЛК к ПР и обратно без обработки контроллером. ПР может за раз работать с 11 регистрами максимум. Поэтому и получилось 5 Пр по 2 пакета. На панели сделал такую же разбивку, чтобы напрямую присваивать массив от Панели к ПР и обратно. То есть, есть два массива (от String переменных) от панели, которые я просто присваиваю двум массивам , привязанных к двум String ПР. Да и к тому же в панели у меня адреса разбиты по ПР. Все данные ПР№1 идут от 512 адреса панели , Пр№2 от 1012 адреса и т.д. Так гораздо проще управлять проектом и меньше шансов допустить ошибку.
Весь проект выкладывать не буду, надо долго объяснять, что для чего. Да и стыдно, первый проект на КДС
С адресами мог конечно напутать, перепроверю еще раз, но в реальной работе все хорошо, все передается, куда надо.
Предвидя подозрения на медленную связь ПЛК с ПР - при автоматическом изменении режима от ПЛК (без панели) все меняется быстро.
Вот немного скриншотов, чтобы понять, как реализовал чтение/запись на примере одного пакета:
01.png 02.png
03.png 04.png
05.png