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

От версии 12.4
отредактировано writer
на 2023/09/20 17:18
Изменить комментарий: clear view права для XWiki.XWikiAdminGroup
К версии 1.3
отредактировано writer
на 2022/08/23 14:01
Изменить комментарий: allow view права для XWiki.XWikiAllGroup

Сводка

Подробности

Свойства страницы
Теги
... ... @@ -1,1 +1,0 @@
1 -интерфейс|функционал|опции|макросы|interface|functions|features|macros
Содержимое
... ... @@ -1,60 +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 -[[image:master_plcm.png||data-xwiki-image-style-alignment="center" height="300" width="366"]]
26 -
27 -Для управления ЧП и считывания статусов с ЧП необходимо добавить регистры. Например, для Sunfar E500 необходимо настроить регистры с именами **SpindleMode**, **SpindleRPM** и **SpindleStatus**.
28 -
29 -Рекомендуем использовать именно эти названия, так как в дальнейшем к регистрам будет обращение из фоновых операций по их именам.
30 -
31 -[[image:registers_plcm.png||data-xwiki-image-style-alignment="center" height="350" width="787"]]
32 -
33 -{{success}}
34 -Номера регистров необходимо задавать в виде десятеричных значений.
35 -{{/success}}
36 -
37 -{{warning}}
38 -В инструкции на частотный преобразователь данные значения могут быть указаны в HEX (шестнадцатеричном виде), например, 0x1001, 0x1002.
39 -{{/warning}}
40 -
41 -(% style="margin-left: 30.0px;" %)
42 -5. Создать новую фоновую операцию (макрос) через [[окно управления макросами>>doc:Руководство пользователя.Описание M-кодов.Управление макросами и фоновыми операциями.WebHome]].
43 -
44 -Основная задача фонового макроса - отслеживать текущее состояние и обороты шпинделя и отправлять значения в частотный преобразователь по Modbus.
45 -
46 -Пример [[фонового макроса>>doc:Руководство пользователя.Описание фоновых операций.Создание фоновой операции.WebHome]] **modbus_spindle.bm** для управления шпинделем по ModBus размещен во вложении. Данный файл нужно добавить в список фоновых операций.
47 -
48 -**[[Скачать фоновый макрос>>attach:modbus_spindle.zip]]**
49 -
50 -{{warning}}
51 -Обращение к регистрам Modbus из макросов осуществляется по имени Modbus-регистра с учетом регистра! Например, **SpindleRPM** и **SpindleRpm** - это разные регистры.
52 -{{/warning}}
53 -
54 -(% style="margin-left: 30.0px;" %)
55 -6. Включить фоновую операцию. Убедиться, что операция стартовала и работает нормально. Об этом будет свидетельствовать зеленый индикатор справа от названия операции.
56 -
57 -(% style="margin-left: 30.0px;" %)
58 -[[image:2021-11-29 14_18_03-Управление макросами.png||data-xwiki-image-style-alignment="center" height="500" width="680"]]
59 -
60 -Если все настроено правильно, то шпиндель теперь должен включаться и выключаться. При изменении оборотов шпинделя в PUMOTIX они, соответственно, должны изменяться и на ЧП.
2021-11-29 14_18_03-Управление макросами.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Knetyaga
Размер
... ... @@ -1,1 +1,0 @@
1 -28.0 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.9 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 -29.9 KB
Содержимое
XWiki.XWikiRights[2]
Разрешить/Запретить
... ... @@ -1,1 +1,0 @@
1 -Запретить
Группы
... ... @@ -1,1 +1,0 @@
1 -XWiki.XWikiAllGroup
Уровни
... ... @@ -1,1 +1,0 @@
1 -view
XWiki.XWikiRights[0]
Разрешить/Запретить
... ... @@ -1,0 +1,1 @@
1 +Разрешить
Группы
... ... @@ -1,0 +1,1 @@
1 +XWiki.XWikiAdminGroup
Уровни
... ... @@ -1,0 +1,1 @@
1 +view
XWiki.XWikiRights[1]
Разрешить/Запретить
... ... @@ -1,0 +1,1 @@
1 +Разрешить
Группы
... ... @@ -1,0 +1,1 @@
1 +XWiki.XWikiAllGroup
Уровни
... ... @@ -1,0 +1,1 @@
1 +view