Модуль EtherCat: как общаться с Linux

Я собираюсь связать мастер EtherCAT(CX2020) с ПК с ОС Linux (ubuntu) для хранения значений из ПЛК на сервере и записи.

Сетевой протокол EthearCAT должен быть доступен для связи с установленным twincat windows plc.

Но я не мог найти путь для Linux.

Есть ли решение?

1 ответ

Решение

Существуют различные способы связи с CX2020 из Linux, все зависит от ваших требований и предназначения.

Ничего не зная об этом, один из вариантов - использовать протокол Beckhoff ADS. На всех ПЛК Beckhoff по умолчанию установлен ADS, и вы можете (с правильной настройкой учетных данных для ADS) обмениваться данными с библиотекой ADS. Преимущество ADS в том, что он с открытым исходным кодом, и, следовательно, можно получить код для Linux.

Исходный код ADS доступен по адресу: https://github.com/Beckhoff/ADS

Вам в основном нужно:
1. Скомпилируйте / установите библиотеку на вашем компьютере с Linux
2. Создайте ADS/AMS-маршрут к вашему CX2020
3. Создайте программу, которая использует этот маршрут для связи с ПЛК. С помощью ADS вы можете обращаться к переменным непосредственно в памяти CX2020 (как для чтения, так и для записи!).

Существует много готовых библиотек-оболочек для всех распространенных языков программирования, которые вы можете использовать непосредственно в Linux. Если вы знакомы с Python, я бы порекомендовал проверить PyADS ( https://github.com/stlehmann/pyads), который имеет хорошую базу пользователей и множество примеров, доступных по всей сети.

Другие вопросы по тегам