Обмен данными между контроллерами 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 используется.