Comments 2
Разъясните пожалуйста: 'о реальном':
- на одном ModbusSlave устройстве ~150 датчиков?
- что имеется ввиду под 'синхронизация состояния всех датчиков'?
- на одном ModbusSlave устройстве ~150 датчиков?
Нет, в данном случае, "около 12000" — имеется ввиду, все датчики используемые в проекте. Т.е. это число включает в себя, не только то, что получается от ModbusSlave устройств, но и от других систем с которыми ведётся взаимодействие, а также, датчики которые необходимы для внутреннего функционирования алгоритмов. Поэтому ModbusSlave устройства в данном случае — вполне обычные, с разным количеством регистров (от 20 до 80).
- что имеется ввиду под 'синхронизация состояния всех датчиков'?
В давней статье были приведены "типичные структуры системы на базе uniset". Смысл в том, что на каждом контроллере запускается своя "SharedMemory" в которой "зарегистрированы" ВСЕ датчики (со всех узлов в сети). Т.е. алгоритмы запущенные на том или ином контроллере всегда имеют доступ ко всем датчикам в системе, независимо от того, где эти датчики находятся. Поэтому стоит задача синхронизировать состояние всех SM между собой. Этим занимаются процессы сетевого обмена (могут быть разные протоколы), запускаемые на каждом узле. Их задача, посылать в сеть информацию которая формируется на данном узле (взять из SM послать в сеть) и принимать информацию от других узлов (процессов обмена), сохраняя её в SM. В результате, с задержкой на сетевой обмен, на каждом узле SM содержит всю актуальную информацию по всей системе. Это и называется в данном случае "синхронизация состояния всех датчиков". Т.е. обеспечение того, чтобы на всех узлах SM содержала одинаковое, актуальное текущее состояние датчиков. При этом по сути уже не важно где запускать алгоритм управления (в целом они даже могу динамически мигрировать с узла на узел если надо), потому-что на любом узле "всё есть".
Sign up to leave a comment.
libuniset2 — библиотека для создания АСУ. Лучше один раз увидеть…Часть 6 (Заключительная)