Воспользовавшись поиском на Хабре по ключевым словам «ПЛК 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-файл, как правило, поставляется вместе с контроллером. Результат должен быть таким же как и на рисунке.
Создаем новый стандартный проект. В качестве языка программирования основной программы выбираем CFC. В качестве используемой платформы — семейство Berghof MX6.
Примечание: можно долго спорить о преимуществах и недостатках используемых языков программирования, однако, CFC является в достаточной мере наглядным, чтобы, не вникая в низкоуровневые тонкости работы модулей, контролировать выполнение основной программы.
Теперь нужно подключить сервопривод. Для этого присоединяем EDS-файл, который содержит информацию о его настройках, регистрах и т.д. Данный файл можно скачать с официального сайта производителя. В верхнем меню выбираете: Инструменты->Установить устройство затем выбираете скачанный EDS-файл.
Теперь можно создавать сеть. В панели устройства нажимаем правой кнопкой на Device->Добавить устройство — выбираете «CANbus».
После этого у Вас два пути: если Вы будете использовать одно slave-устройство, то можно добавить CANopen Device. Если вы хотите оставить возможность масштабирования системы, тогда следует добавить CANopen_Manager. Теперь вы можете добавить до 255 ведомых устройств. Если EDS-файл установлен корректно, то в перечне добавляемых устройств должно появиться «ASDA_A2_Drive».
Следующим этапом является настройка сетевого соединения. В настройках 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 отображаются замкнутые по кругу стрелочки, то соединение установлено корректно.
В ином случае проверьте соответствие адресов, разъемов, прозвоните кабель, проверьте настройки скорости передачи данных.
На этом заканчивается этап подключения и конфигурации оборудования. Во второй и заключительной части будет описано настройка регистров и написание программы с построением визуализации.
Используемая среда разработки — «Codesys» версии 3.5. На просторах интернета подавляющее большинство роликов и руководств описывают морально устаревшую версию 2.3, которая кардинально отличается как по интерфейсу, так и по функциональным возможностям. В этом руководстве не будет использоваться режим эмуляции. Все будет работать на реальных железках.
Что мы имеем: помимо ПЛК Berghof 2007 (или любого другого), необходим сервопривод DELTA ASDA-2M и серводвигатель DELTA ECMA-E11310RS.
Примечание: при подключении удостоверьтесь, что мощности сервопривода и серводвигателя одинаковые.
Первым делом подключаем питание к ПЛК и сервоприводу. Соединяем сервопривод с серводвигателем. Все согласно техническому описанию на соответствующие приборы. Для соединения по CANopen интерфейсу подойдет обычный кабель для ЛВС (хотя использоваться в нем будет только три провода). Для этого соединяем вход разъема CN6 сервопривода с разъемом X7 ПЛК.
Примечание: согласно технической документации, к концу CANopen сети еще необходимо подключение терминального резистора (так же как и в 485-интерфейсе), однако для одного-двух устройств все будет работать и без него.
Запускаем среду разработки Codesys 3.5.
Устанавливаем target-файл для ПЛК. Эта процедура выполнятся только в первый раз.
В верхнем меню выбираем: Инструменты -> Менеджер пакетов -> Установить. Далее указываете папку, в которой расположен файл. Target-файл, как правило, поставляется вместе с контроллером. Результат должен быть таким же как и на рисунке.
Создаем новый стандартный проект. В качестве языка программирования основной программы выбираем CFC. В качестве используемой платформы — семейство Berghof MX6.
Примечание: можно долго спорить о преимуществах и недостатках используемых языков программирования, однако, CFC является в достаточной мере наглядным, чтобы, не вникая в низкоуровневые тонкости работы модулей, контролировать выполнение основной программы.
Теперь нужно подключить сервопривод. Для этого присоединяем EDS-файл, который содержит информацию о его настройках, регистрах и т.д. Данный файл можно скачать с официального сайта производителя. В верхнем меню выбираете: Инструменты->Установить устройство затем выбираете скачанный EDS-файл.
Теперь можно создавать сеть. В панели устройства нажимаем правой кнопкой на Device->Добавить устройство — выбираете «CANbus».
После этого у Вас два пути: если Вы будете использовать одно slave-устройство, то можно добавить CANopen Device. Если вы хотите оставить возможность масштабирования системы, тогда следует добавить CANopen_Manager. Теперь вы можете добавить до 255 ведомых устройств. Если EDS-файл установлен корректно, то в перечне добавляемых устройств должно появиться «ASDA_A2_Drive».
Следующим этапом является настройка сетевого соединения. В настройках 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 отображаются замкнутые по кругу стрелочки, то соединение установлено корректно.
В ином случае проверьте соответствие адресов, разъемов, прозвоните кабель, проверьте настройки скорости передачи данных.
На этом заканчивается этап подключения и конфигурации оборудования. Во второй и заключительной части будет описано настройка регистров и написание программы с построением визуализации.
Поделиться с друзьями
igor_suhorukov
Так и не нашел цену на DELTA ASDA-2M / DELTA ECMA-E11310RS…
jurodivij
Мы закупали через посредников. Цена порядка 50 т. р.
igor_suhorukov
Это включая кабели для энкодера и двигателя? Какая мощность сервопривода?
jurodivij
Мощность 1 кВт. Кабели были в комплекте, правда не помню к чему прилагались к двигателю или сервоприводу.