Размер конфигурации (не ОЗУ под регистры, а описания) ограничен 100кБ. Вы многократно вышли за пределы, в результате ПЛК отбрасывает выходящую за пределы 100кБ информацию.
Вам правильно подсказали, что надо использовать библиотеку Slave.
А вот ругаться не следует.
P.S. А SCADA система с 21000 регистров - это прямой путь в ад отладки. Если Вы делаете реальный проект, а не пилите бабло - пора бы пересмотреть концепцию.
По опыту пользователи даже с 1000 регистров уже имели колоссальные проблемы с временем цикла, т.к. их надо обрабатывать, использовать в коде, менять значения. Либо эти тысячи были для галочки и реально никогда не использовались.
Да даже забить несколько сотен переменных, задать им имена (работа через %Q - это гарантия проблем со стабильностью кода), описать, добавить код контроля диапазона и др. банальные и нужные вещи - объём работы слишком велик.
И объект с 21000 (да пусть и с 600) переменными - это что-то типа большого курятника, свинарника с датчиками в каждой курице. Явно задача для распределённой системы, а не вешать всё на 1 ПЛК, экономя 100000 и потеряв миллионы, когда пьяный монтажник по ошибке залезет не в тот шкаф.
Не говоря уже об количестве труднообнаруживаемых ошибок в таком большом проекте.




Ответить с цитированием
