Изменения документа Управление шпинделем по Modbus на примере Sunfar E550 и платы расширения PLCM-B1-G2
Редактировал(а) Edgar Allan Poe 2024/04/23 14:11
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
-
Вложения (0 изменено, 0 добавлено, 8 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,62 +1,0 @@ 1 -Для управления шпинделем по Modbus через плату расширения PLCM-B1-G2 Вам понадобится частотный преобразователь (далее ЧП) с поддержкой управления по Modbus RTU, например Sunfar E500. 2 - 3 -Порядок настройки управления шпинделем по Modbus следующий: 4 - 5 -1. Настроить ЧП на режим управления по протоколу Modbus RTU (RS-485) и запомнить настройки COM-порта в ЧП (количество бит в секунду, биты данных, четность и стоповые биты). 6 - 7 -Пример для Sunfar E500. 8 - 9 -|=(% style="text-align: center; width: 150px;" %)Код функции|=(% style="text-align: center; width: 100px;" %)Значение|=(% style="text-align: center;" %)Описание 10 -|(% style="width:150px" %)F0.00 |(% style="width:100px" %)2|Источник задания частоты - внешняя передача данных 11 -|(% style="width:150px" %)F0.02|(% style="width:100px" %)0002|Выбор канала команды запуска - последовательный порт передачи данных 12 -|(% style="width:150px" %)F4.00|(% style="width:100px" %)0114|Настройка передачи данных - выбор скорости: 9600 бит/с, проверка на чётность, протокол передачи данных Modbus 13 - 14 -(% style="margin-left: 30.0px;" %) 15 -2. Подключить ЧП к плате расширения PLCM-B1-G2 по интерфейсу RS-485. 16 - 17 -(% style="margin-left: 30.0px;" %) 18 -3. Приобрести опцию "[[Работа по протоколу MODBUS>>url:http://pumotix.ru/#soft]]" или активировать пробный период для данной опции в меню "Конфигурация" → "Менеджер лицензий" → "Общие опции". 19 - 20 -(% style="margin-left: 30.0px;" %) 21 -4. Включить и настроить Modbus в меню "Конфигурация" → "Настройка Modbus". 22 - 23 -Создайте нового Modbus-мастера. Номер COM-порта - PLCM. Остальные настройки должны быть в точности такими же, как в ЧП (на скриншоте пример стандартной настройки COM-порта Sunfar E500). 24 - 25 -(% style="text-align: center;" %) 26 -[[image:/xwiki/bin/download/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/Modbus/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%88%D0%BF%D0%B8%D0%BD%D0%B4%D0%B5%D0%BB%D0%B5%D0%BC%20%D0%BF%D0%BE%20Modbus%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5%20Sunfar%20E500%20%D0%B8%20%D0%BF%D0%BB%D0%B0%D1%82%D1%8B%20%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F%20PLCM-B1-G2/WebHome/master_plcm.png?width=366&height=300&rev=1.1||alt="master_plcm.png" data-xwiki-image-style-alignment="center" height="300" width="366"]] 27 - 28 -Для управления ЧП и считывания статусов с ЧП необходимо добавить регистры. Например, для Sunfar E500 необходимо настроить регистры с именами **SpindleMode**, **SpindleRPM** и **SpindleStatus**. 29 - 30 -Рекомендуем использовать именно эти названия, так как в дальнейшем к регистрам будет обращение из фоновых операций по их именам. 31 - 32 -(% style="text-align: center;" %) 33 -[[image:/xwiki/bin/download/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/Modbus/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%88%D0%BF%D0%B8%D0%BD%D0%B4%D0%B5%D0%BB%D0%B5%D0%BC%20%D0%BF%D0%BE%20Modbus%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5%20Sunfar%20E500%20%D0%B8%20%D0%BF%D0%BB%D0%B0%D1%82%D1%8B%20%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F%20PLCM-B1-G2/WebHome/registers_plcm.png?width=787&height=350&rev=1.1||alt="registers_plcm.png" data-xwiki-image-style-alignment="center" height="350" width="787"]] 34 - 35 -{{success}} 36 -Номера регистров необходимо задавать в виде десятеричных значений. 37 -{{/success}} 38 - 39 -{{warning}} 40 -В инструкции на частотный преобразователь данные значения могут быть указаны в HEX (шестнадцатеричном виде), например, 0x1001, 0x1002. 41 -{{/warning}} 42 - 43 -(% style="margin-left: 30.0px;" %) 44 -5. Создать новую фоновую операцию (макрос) через [[окно управления макросами>>doc:Руководство пользователя.Описание M-кодов.Управление макросами и фоновыми операциями.WebHome]]. 45 - 46 -Основная задача фонового макроса - отслеживать текущее состояние и обороты шпинделя и отправлять значения в частотный преобразователь по Modbus. 47 - 48 -Пример [[фонового макроса>>doc:Руководство пользователя.Описание фоновых операций.Создание фоновой операции.WebHome]] **modbus_spindle.bm** для управления шпинделем по ModBus размещен во вложении. Данный файл нужно добавить в список фоновых операций. 49 - 50 -**[[Скачать фоновый макрос>>attach:modbus_spindle.zip]]** 51 - 52 -{{warning}} 53 -Обращение к регистрам Modbus из макросов осуществляется по имени Modbus-регистра с учетом регистра! Например, **SpindleRPM** и **SpindleRpm** - это разные регистры. 54 -{{/warning}} 55 - 56 -(% style="margin-left: 30.0px;" %) 57 -6. Включить фоновую операцию. Убедиться, что операция стартовала и работает нормально. Об этом будет свидетельствовать зеленый индикатор справа от названия операции. 58 - 59 -(% style="text-align: center;" %) 60 -[[image:/xwiki/bin/download/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/Modbus/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%88%D0%BF%D0%B8%D0%BD%D0%B4%D0%B5%D0%BB%D0%B5%D0%BC%20%D0%BF%D0%BE%20Modbus%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5%20Sunfar%20E500%20%D0%B8%20%D0%BF%D0%BB%D0%B0%D1%82%D1%8B%20%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F%20PLCM-B1-G2/WebHome/2021-11-29%2014_18_03-%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D0%B0%D0%BC%D0%B8.png?width=680&height=500&rev=1.1||alt="2021-11-29 14_18_03-Управление макросами.png" data-xwiki-image-style-alignment="center" height="500" width="680"]] 61 - 62 -Если все настроено правильно, то шпиндель теперь должен включаться и выключаться. При изменении оборотов шпинделя в PUMOTIX они, соответственно, должны изменяться и на ЧП.
- 2021-11-29 14_18_03-Управление макросами.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Knetyaga - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -28.5 KB - Содержимое
- Macros_Manager_wndw.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Knetyaga - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -26.0 KB - Содержимое
- Modbus_Settings_example_E500.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Knetyaga - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -42.6 KB - Содержимое
- master_plcm.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Knetyaga - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -9.4 KB - Содержимое
- modbus_master_en.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Knetyaga - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -9.1 KB - Содержимое
- modbus_spindle (1).bm
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Knetyaga - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -933 bytes - Содержимое
-
... ... @@ -1,38 +1,0 @@ 1 -function handle() 2 - local desired_rpm = GetCurSpindleRPM() 3 - if (not IsRealDeviceConnected()) then 4 - desired_rpm = 0 5 - end 6 - 7 - local value, is_online = ReadModbusRegisterUpdated("SpindleStatus") 8 - Sleep(30) 9 - local mode_updated = is_online and (value == get_mode(desired_rpm)) 10 - 11 - if (prev_rpm == nil or prev_rpm ~= desired_rpm or not mode_updated) then 12 - if (send_spindle_control_command(desired_rpm)) then 13 - prev_rpm = desired_rpm 14 - end 15 - end 16 -end 17 - 18 -function send_spindle_control_command(rpm) 19 - local mode = get_mode(rpm) 20 - 21 - local Hz = math.floor(math.abs(rpm) / 60 * 10 + 0.5) 22 - 23 - local success_1 = WriteModbusRegister("SpindleMode", mode) 24 - Sleep(30) 25 - local success_2 = WriteModbusRegister("SpindleRPM", Hz) 26 - return success_1 and success_2 27 -end 28 - 29 -function get_mode(rpm) 30 - local mode = 3 -- Stop 31 - if (rpm > 0) then 32 - mode = 1 -- Forward 33 - elseif (rpm < 0) then 34 - mode = 2 -- Reverse 35 - end 36 - 37 - return mode 38 -end
- modbus_spindle.zip
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Knetyaga - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -672 bytes - Содержимое
- registers_plcm.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Knetyaga - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -40.2 KB - Содержимое