Обмен данными между контроллерами beckhoff CX и BX по протоколу ADS (и между двумя CX)
Выполняем проектирование и ПНР систем автоматики.
Обмен данными между контроллерами beckhoff CX и BX по протоколу ADS (и между двумя CX)
Берём переменную из BC в CX.
1. В CX настраиваем маршрутизацию. Прописываем адрес BC. Подключаемся удалённо к CX через CERHOST_204.EXE. Из меню START выбираем RUN.
Ниже описание процесса настройки
Запускаем EXPLORER
Запускаем HARDDISC/SYSTEM/TcAmsRemoteMgr
Нажать ADD и добавить контроллер BC имя, AMS адрес и IP.
Далее опишу как в TwinCAT реализуется обмен данными по ADS.
В контроллере бекхоф BC9020 задаём переменную в области памяти М и адресом 124(может быть любым).
В CX9001 для считывания регистров памяти удалённого контроллера BC в TwinCAT используем функциональный блок ADSREAD из библиотеки TcSystem.lib
На вход netid сажаем AMS адрес удалённого PC. Port (для BC 800). IndexGroup (для области M 0x4020), IndexOffs(адрес переменной в памяти удалённого контроллера 124 если AT %MB124). Timeout время течении которого ожидается ответ иначе выдаёт ошибку ERR и код ошибки ERRID. Коды ошибок на сайте Beckhoff infosys в описании протокола ADS.
Результат записывается в переменную CX counter_from_BC. На основе счётчика TON сделан генератор импульсов, в данном примере импульс каждые 100ms, блок запускается по переднему фронту.
Связь двух CX осуществляется аналогично, но роутер надо настроить на обоих и запустить ADS сервер на слэйве и порт 801 используется.