Управляем серводвигателем при помощи ПЛК Berghof 2007 по CANopen интерфейсу (Часть 1)

в 7:47, , рубрики: berghof, canopen, codesys 3, delta, плк, Промышленное программирование, серводвигатель, сервопривод, метки: ,

Воспользовавшись поиском на Хабре по ключевым словам «ПЛК Berghof», «CANopen», «Codesys 3» отметил отсутствие руководств по быстрому старту с использованием вышеуказанного контроллера. Вследствие этого решил исправить недостаток. Результатом данного руководства будет готовый проект, который позволит регулировать скорость и направление движения серводвигателя по CANopen интерфейсу.

Используемая среда разработки — «Codesys» версии 3.5. На просторах интернета подавляющее большинство роликов и руководств описывают морально устаревшую версию 2.3, которая кардинально отличается как по интерфейсу, так и по функциональным возможностям. В этом руководстве не будет использоваться режим эмуляции. Все будет работать на реальных железках.

Что мы имеем: помимо ПЛК Berghof 2007 (или любого другого), необходим сервопривод DELTA ASDA-2M и серводвигатель DELTA ECMA-E11310RS.

Примечание: при подключении удостоверьтесь, что мощности сервопривода и серводвигателя одинаковые.
Первым делом подключаем питание к ПЛК и сервоприводу. Соединяем сервопривод с серводвигателем. Все согласно техническому описанию на соответствующие приборы. Для соединения по CANopen интерфейсу подойдет обычный кабель для ЛВС (хотя использоваться в нем будет только три провода). Для этого соединяем вход разъема CN6 сервопривода с разъемом X7 ПЛК.

Примечание: согласно технической документации, к концу CANopen сети еще необходимо подключение терминального резистора (так же как и в 485-интерфейсе), однако для одного-двух устройств все будет работать и без него.

Запускаем среду разработки Codesys 3.5.

Устанавливаем target-файл для ПЛК. Эта процедура выполнятся только в первый раз.

В верхнем меню выбираем: Инструменты -> Менеджер пакетов -> Установить. Далее указываете папку, в которой расположен файл. Target-файл, как правило, поставляется вместе с контроллером. Результат должен быть таким же как и на рисунке.

Управляем серводвигателем при помощи ПЛК Berghof 2007 по CANopen интерфейсу (Часть 1) - 1

Создаем новый стандартный проект. В качестве языка программирования основной программы выбираем CFC. В качестве используемой платформы — семейство Berghof MX6.

Управляем серводвигателем при помощи ПЛК Berghof 2007 по CANopen интерфейсу (Часть 1) - 2

Примечание: можно долго спорить о преимуществах и недостатках используемых языков программирования, однако, CFC является в достаточной мере наглядным, чтобы, не вникая в низкоуровневые тонкости работы модулей, контролировать выполнение основной программы.

Теперь нужно подключить сервопривод. Для этого присоединяем EDS-файл, который содержит информацию о его настройках, регистрах и т.д. Данный файл можно скачать с официального сайта производителя. В верхнем меню выбираете: Инструменты->Установить устройство затем выбираете скачанный EDS-файл.

Теперь можно создавать сеть. В панели устройства нажимаем правой кнопкой на Device->Добавить устройство — выбираете «CANbus».

Управляем серводвигателем при помощи ПЛК Berghof 2007 по CANopen интерфейсу (Часть 1) - 3

После этого у Вас два пути: если Вы будете использовать одно slave-устройство, то можно добавить CANopen Device. Если вы хотите оставить возможность масштабирования системы, тогда следует добавить CANopen_Manager. Теперь вы можете добавить до 255 ведомых устройств. Если EDS-файл установлен корректно, то в перечне добавляемых устройств должно появиться «ASDA_A2_Drive».

Управляем серводвигателем при помощи ПЛК Berghof 2007 по CANopen интерфейсу (Часть 1) - 4

Следующим этапом является настройка сетевого соединения. В настройках CANbus устанавливаем требуемую скорость соединения. У меня расстояние между ПЛК и сервоприводом будет составлять всего несколько метров, поэтому я оставил максимальную скорость передачи 1 Мбит/с. В свойствах ASDA_A2_Drive устанавливаем сетевой адрес сервопривода в графе ID-узла, к примеру — 9.

Примечание: Сетевой адрес должен быть уникальным. Помимо данной графы, сетевой адрес также нужно настроить на самом сервоприводе. В нашем конкретном случае необходимо установить значение 9 в регистр Р3-00. Это можно сделать при помощи клавиш на передней панели, или удаленно при помощи программы ASDA_Soft, подключив сервопривод к компьютеру по USB.

Аналогичным образом установите значение 0x401 в регистре P3-01 сервопривода, соответствующее скорости 1 Мбит/c. В регистр P3-09 значение 0x5055 для синхронизации.

Затем в этих же настройках устанавливаем галочку «Экспертные установки». Она нужна для последующего добавления и настройки регистров.

Теперь можно проверить работоспособность собранной схемы. В верхнем меню выбираем Онлайн -> Логин(или Alt+F8). Во вкладке «Установки соединения» вбиваем адрес ПЛК контроллера (ищите его в паспорте). Обратите внимание, если между CANbus, CANopen_Manager и ASDA+A2_Drive отображаются замкнутые по кругу стрелочки, то соединение установлено корректно.

Управляем серводвигателем при помощи ПЛК Berghof 2007 по CANopen интерфейсу (Часть 1) - 5

В ином случае проверьте соответствие адресов, разъемов, прозвоните кабель, проверьте настройки скорости передачи данных.

На этом заканчивается этап подключения и конфигурации оборудования. Во второй и заключительной части будет описано настройка регистров и написание программы с построением визуализации.

Автор: jurodivij

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js