Редактировал(а) Edgar Allan Poe 2024/04/23 14:11

От версии 1.4
отредактировано writer
на 2022/08/23 14:01
Изменить комментарий: deny view права для XWiki.XWikiAllGroup
К версии 11.1
отредактировано writer
на 2023/06/06 14:44
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,0 +1,62 @@
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,0 +1,1 @@
1 +XWiki.Knetyaga
Размер
... ... @@ -1,0 +1,1 @@
1 +28.5 KB
Содержимое
Macros_Manager_wndw.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Knetyaga
Размер
... ... @@ -1,0 +1,1 @@
1 +26.0 KB
Содержимое
Modbus_Settings_example_E500.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Knetyaga
Размер
... ... @@ -1,0 +1,1 @@
1 +42.6 KB
Содержимое
master_plcm.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Knetyaga
Размер
... ... @@ -1,0 +1,1 @@
1 +9.4 KB
Содержимое
modbus_master_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Knetyaga
Размер
... ... @@ -1,0 +1,1 @@
1 +9.1 KB
Содержимое
modbus_spindle (1).bm
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Knetyaga
Размер
... ... @@ -1,0 +1,1 @@
1 +933 bytes
Содержимое
... ... @@ -1,0 +1,38 @@
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,0 +1,1 @@
1 +XWiki.Knetyaga
Размер
... ... @@ -1,0 +1,1 @@
1 +672 bytes
Содержимое
registers_plcm.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Knetyaga
Размер
... ... @@ -1,0 +1,1 @@
1 +40.2 KB
Содержимое