EtherCAT на WinV3 CDS3

В этом примере мы рассмотрим шаг за шагом всю простоту подключения I/O модулей по шине EtherCAT. Процедура подключения и настройки шины описанна в системе помощи CoDeSys, но иногда хэлп кажется сложнее, чем мог быть для простого старта от запуска системы программирования до первых зажженых лампочек на I/O.

И так, наша цель обмен данными между контроллером и I/O модулем по EtherCAT. Контроллером в примере будет выступать Win V3.
Модуль I/O я собрал на комплекте разработчкика BECK DK60 доукомплектованный EtherCAT шиной на плате FB60-EC01, которая в свою очередь является некой платформой для EtherCAT-Stamp FB1120 от Beckhoff. Не будем заострять внимание на этих деталях, а просто назовем это - I/O модуль, подадим на него питание и подключим его обычным кросс кабелем к сетевой плате компьютера на котором работает WinV3.

С каждым EtherCAT I/O модулем идет xml файл описания устройства. При помощи этого файла зарегистрируем I/O Модуль в системе программирования CoDeSys в меню Tools -> Devise Repository.

Для того чтобы обычный Ethernet адаптер компьютера мог выступать в роли EtherCAT под управлением WinV3 понадобится cкачать и установить драйвер winpcap (http://www.winpcap.org/).
Затем нужно внести строчку Component.2=SysEthernet в файл CoDeSysControl.cfg, который по умолчанию распологается по пути C:\Program Files\3S CoDeSys\GatewayPLC
Обратите внимание на цифру после слова Component. Эта цифра порядковый номер компонета должна соответствовать уже существующему списку компонентов в CoDeSysControl.cfg, т.е. если в вашем cfg уже объявленно N комонентов, то строку которую вы должны добавить Component.N+1=SysEthernet.
Выполнив изменения не забудте перезагрузить WinV3.

Запускаем систему программирования и создаем шаблонный проект на любом вам по нраву языке и делаем все настройки коммуникации Gateway с ПЛК, как обычно.
Добавляем в дерево устройств EtherCAT Master (Рис 1)

1_8.jpg

Рис 1

Двойным щелчком по добавленому устройству переходим на вкладку с настройками и нажимаем кнопку Browse (Обзор). Выбираем мак адресс подключенной к I/O модулю сетевой платы и нажимаем OK (рис 2).

2_8.jpg
Рис 2

После этого подключаемся к контроллеру online и далее после загрузки проекта можно отключится от ПЛК или продолжить в режиме online сканирование устройств EtherCAT.
Для этого правой клавишей мышки на EtherCAT_Master выбрать Scan for Devises (Сканирование Устройств).Если все настройки были верны, то в появившемся окне должен отобразится подключенный I/O модуль. Нажимаем Copy all devises to project (копировать все устройства в проект)и подключенное устройство автоматически добавляется в проект (рис 3)

3_8.jpg
Рис 3

Двойным щелчком на добавленном слэейве перейдем в закладку свойств EtherCAT I/O Mapping, ставим галочку Alvays update variables (Всегда обновлять переменные) и запускаем проект на исполнение.(Рис 4)

4_8.jpg
Рис 4

Если шина EtherCAT запустилась нормально, то Мастер и Слэйв должны пометиться зеленым значком, а регистры I/O модуля ожить и отоброзить состояния входов. В моем случае на входах модуля установлено значение 252 , на выходе 0.

Третье число Counter - это не совсем классический случай и на него внимания можно не обращать. Но для заинтересовавшихся поясню.
Мой I/O модуль сконструирован на элементах BECK DK60 который по сути сам является контроллером и может выполнять функции более сложные, чем представлять из себя I/O модуль. И для примера на борту этого контроллера крутится программа инкрементирующая переменную, которая передается по EtherCAT вместе с каналами I/O другому контроллеру WinV3, где мы ее и видим.