Це програма HAL, що не працює в реальному часі, для керування частотними перетворювачами серії S11 від Toshiba.
vfs11_vfd підтримує послідовні та TCP-з’єднання. Послідовні з’єднання можуть бути RS232 або RS485. RS485 підтримується в повно- та напівдуплексному режимі. TCP-з’єднання можуть бути пасивними (очікування вхідного з’єднання) або активними вихідними з’єднаннями, що може бути корисно для підключення до пристроїв на базі TCP або через термінальний сервер.
Незалежно від типу підключення, vfs11_vfd працює як головний пристрій Modbus.
Цей компонент завантажується за допомогою команди halcmd "loadusr":
loadusr -Wn spindle-vfd vfs11_vfd -n spindle-vfd
Наведена вище команда говорить: loadusr, чекайте завантаження named, компонент vfs11_vfd, named spindle-vfd
1. Параметри командного рядка
«vfs11_vfd» здебільшого налаштовується через параметри INI-файлу. Параметри командного рядка:
-
-n or --name <halname> : встановити назву компонента HAL
-
-I або --ini <назва_iniфайлу>: взяти конфігурацію з цього INI-файлу. За замовчуванням використовується змінна середовища INI_ФАЙЛ_НАЗВА.
-
-S або --section <назва розділу>: взяти конфігурацію з цього розділу в INI-файлі. За замовчуванням використовується значення VFS11.
-
«-d або --debug» увімкне виведення повідомлень налагодження у консоль.
-
-m або --modbus-debug увімкнути повідомлення Modbus у виводі консолі
-
-r або --report-device повідомляє про властивості пристрою в консолі під час запуску
Налагодження можна ввімкнути або вимкнути, надіславши сигнал USR1 до процесу vfs11_vfd. Налагодження Modbus можна ввімкнути або вимкнути, надіславши сигнал USR2 до процесу vfs11_vfd (приклад: kill -USR1 `pidof vfs11_vfd`).
|
Note
|
Що якщо є помилки конфігурації послідовного порту, увімкнення детального режиму може призвести до потоку помилок тайм-ауту. |
2. Піни
Де <n> — це vfs11_vfd або ім’я, задане під час завантаження з опцією -n.
-
<n>.acceleration-pattern (біт, in) якщо значення true, встановлює часи розгону та уповільнення, як визначено в регістрах F500 та F501 відповідно. Використовується в ПІД-контурах для вибору коротших часів наростання/зниження, щоб уникнути коливань.
-
<n>.alarm-code (s32, out) ненульове значення, якщо накопичувач перебуває в стані тривоги. Бітове зображення, що описує інформацію про тривогу (див. опис регістра FC91). Використовуйте err-reset (див. нижче), щоб скинути тривогу.
-
<n>.at-speed (біт, вихід), коли привід працює на заданій швидкості (див. допуск швидкості нижче)
-
<n>.current-load-percentage (число з плаваючою комою, вихід), що надходить від частотно-регульованого перетворювача (ЧРП)
-
<n>.dc-brake (біт, in) увімкнути гальмо постійного струму. Також вимикає шпиндель.
-
<n>.enable (біт, вхід) увімкнення частотного перетворювача. Якщо значення false (хибність), усі робочі параметри все ще зчитуються, але керування звільняється, а керування панеллю вмикається (залежно від налаштувань частотного перетворювача).
-
<n>.err-reset (біт, вхід) скидає помилки (тривоги, тобто стан відключення та аварійної зупинки). Скидання частотно-регульованого приводу може спричинити 2-секундну затримку до його перезавантаження та повторного запуску Modbus.
-
<n>.estop (біт, in) переводить частотний перетворювач у стан аварійної зупинки. Робота неможлива, доки не буде очищено за допомогою скидання помилки або повторного ввімкнення/вимкнення живлення.
-
<n>.frequency-command (float, out) поточна цільова частота в Гц, встановлена за допомогою команди швидкості (яка в обертах на хвилину) з частотно-регульованого перетворювача
-
<n>.frequency-out (float, out) поточна вихідна частота частотного перетворювача
-
<n>.inverter-load-percentage (float, out) звіт про поточне навантаження від частотного перетворювача
-
<n>.is-e-stopped (біт, вихід) ЧРП перебуває в стані аварійної зупинки (миготить "E" на панелі). Використовуйте err-reset для перезавантаження ЧРП та очищення стану аварійної зупинки.
-
<n>.is-stopped (біт, вихід) істина, коли частотний перетворювач повідомляє про вихід 0 Гц
-
<n>.max-rpm (float, R) фактичне обмеження обертів на хвилину на основі максимальної частоти, яку може генерувати VFD, та значень, зазначених на табличці двигуна. Наприклад, якщо номінальна частота становить 50 Гц, а номінальна частота обертання — 1410 об/хв, але VFD може генерувати до 80 Гц, то max-rpm буде дорівнювати 2256 (80*1410/50). Обмеження частоти зчитується з VFD під час запуску. Щоб збільшити верхню межу частоти, необхідно змінити параметри UL і FH на панелі. Інструкції щодо налаштування максимальної частоти див. в посібнику VF-S11.
-
<n>.modbus-ok (біт, вихід) true, коли сеанс Modbus успішно встановлено, і останні 10 транзакцій повернуто без помилок.
-
<n>.motor-RPM (float, out) розраховане поточне значення обертів за хвилину, від частотного перетворювача
-
<n>.output-current-percentage (float, out) від частотного перетворювача
-
<n>.output-voltage-percentage (float, out) від частотного перетворювача
-
<n>.output-voltage (float, out) від частотного перетворювача
-
<n>.speed-command (float, in) швидкість, що надсилається до частотного перетворювача (ЧРП) в об/хв. Надсилання швидкості, що перевищує максимальні об/хв двигуна, встановлені в ЧРП, є помилкою
-
<n>.spindle-fwd (bit, in) 1 для FWD та 0 для REV, надсилається до частотного перетворювача
-
<n>.spindle-on (bit, in) 1 для УВІМК. та 0 для ВИМК. надсилається на частотно-регульований перетворювач, увімкнено лише під час роботи
-
<n>.spindle-rev (bit, in) 1 для УВІМК. та 0 для ВИМК., увімкнено лише під час роботи
-
<n>.jog-mode (біт, вхід) 1 для увімкнення та 0 для вимкнення, увімкнення «режиму поштовху» VF-S11. Регулювання швидкості вимкнено, а вихідна частота визначається регістром F262 (заздалегідь встановлено на 5 Гц). Це може бути корисно для орієнтації шпинделя. У звичайному режимі VFD вимикається, якщо частота падає нижче 12 Гц.
-
<n>.status (s32, out) Стан приводу частотно-регульованого перетворювача (див. інструкцію з експлуатації комунікаційних функцій TOSVERT VF-S11, регістр FD01). Растрове зображення.
-
<n>.trip-code (s32, out) код відключення, якщо VF-S11 перебуває у стані відключення.
-
<n>.error-count (s32, out) кількість транзакцій Modbus, які повернули помилку
-
<n>.max-speed (bit, in) ігноруйте параметр часу циклу та запускайте Modbus на максимальній швидкості, що призведе до збільшення навантаження на процесор. Рекомендовано використовувати під час позиціонування шпинделя.
3. Параметри
Де <n> — це vfs11_vfd або ім’я, задане під час завантаження з опцією -n.
-
<n>.frequency-limit (float, RO) верхня межа, зчитана з налаштувань частотно-регульованого перетворювача.
-
<n>.loop-time (float, RW) як часто опитується Modbus (інтервал за замовчуванням 0,1 секунди)
-
<n>.nameplate-HZ (float, RW) Задана частота двигуна в Гц (за замовчуванням 50). Використовується для розрахунку цільової частоти (разом із значенням заданої частоти обертання двигуна) для цільового значення обертів двигуна, заданого командою швидкості.
-
<n>.nameplate-RPM (float, RW) Обороти двигуна на заводській табличці (за замовчуванням 1410)
-
<n>.rpm-limit (float, RW) не перевищувати програмне обмеження для обертів двигуна (за замовчуванням — nameplate-RPM).
-
<n>.tolerance (float, RW) допуск швидкості (за замовчуванням 0,01) для визначення того, чи шпиндель обертається на швидкості (0,01 означає: вихідна частота знаходиться в межах 1% від цільової частоти)
4. INI-файл конфігурації
Тут перелічено всі опції, які розуміє vfs11_vfd. Типові налаштування для RS-232, RS-485 та TCP можна знайти в src/hal/user_comps/vfs11_vfd/*.ini.
[VFS11] # послідовне з'єднання TYPE=rtu # послідовний порт DEVICE=/dev/ttyS0 # TCP-сервер - очікування вхідного з'єднання TYPE=tcpserver # номер порту tcp для TYPE=tcpserver або tcpclient PORT=1502 # TCP-клієнт – активне вихідне з’єднання TYPE=tcpclient # пункт призначення для підключення, якщо TYPE=tcpclient TCPDEST=192.168.1.1 #---------- meaningful only if TYPE=rtu ------- # деталі послідовного пристрою # 5 6 7 8 BITS= 5 # парні непарні жодні PARITY=none # 110, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 BAUD=19200 # 1 2 STOPBITS=1 #rs232 rs485 SERIAL_MODE=rs485 # up down none # ця функція може не працювати зі стандартним пакетом Ubuntu # libmodbus5/libmodbus-dev і генерувати попередження. # Виконання продовжиться, як якщо б було задано RTS_MODE=up. RTS_MODE=up #--------------------- # таймери Modbus у секундах # міжсимвольний таймер BYTE_TIMEOUT=0.5 # таймер пакетів RESPONSE_TIMEOUT=0.5 # цільовий ідентифікатор Modbus TARGET=1 # у разі збою вводу/виводу, спробуйте перепідключитися після сну # протягом RECONNECT_DELAY секунд RECONNECT_DELAY=1 # різні параметри DEBUG=10 MODBUS_DEBUG=0 POLLCYCLES=10
5. HAL приклад
# # приклад використання драйвера частотного перетворювача VF-S11 # # loadusr -Wn spindle-vfd vfs11_vfd -n spindle-vfd # підключіть контакти напрямку шпинделя до частотного перетворювача (ЧП) net vfs11-fwd spindle-vfd.spindle-fwd <= spindle.0.forward net vfs11-rev spindle-vfd.spindle-rev <= spindle.0.reverse # підключіть шпиндель на штифті до VF-S11 net vfs11-run spindle-vfd.spindle-on <= spindle.0.on # підключіть VF-S11 на швидкості до руху на швидкості net vfs11-на-швидкості spindle.0.на-швидкості <= spindle-vfd.на-швидкості # підключіть шпиндель RPM до VF-S11 net vfs11-RPM spindle-vfd.speed-command <= spindle.0.speed-out # підключити гальмо постійного струму VF-S11 # оскільки воно споживає енергію під час вимкнення шпинделя, контакт гальма постійного струму # краще приводити в дію за допомогою монофлопа, який спрацьовує на спаді фронту включення шпинделя #net vfs11-spindle-brake spindle.N.brake => spindle-vfd.dc-brake # використовувати режим поштовху VFS11 для орієнтації шпинделя # див. orient.9 та motion.9 net spindle-orient spindle.0.orient spindle-vfd.max-speed spindle-vfd.jog-mode # мати пріоритет над панеллю керування setp spindle-vfd.enable 1
6. Робота панелі
Драйвер vfs11_vfd має пріоритет над керуванням панеллю, поки він увімкнений (див. контакт «enable»), ефективно вимикаючи панель. Скидання контакту «enable» знову вмикає панель. Контакти та параметри все ще можна налаштовувати, але вони не будуть записані у VFD, доки не буде встановлено контакт «enable». Параметри роботи все ще зчитуються, коли управління шиною вимкнено. Вихід із драйвера vfs11_vfd у контрольований спосіб звільнить VFD від шини та відновить управління панеллю.
Докладнішу інформацію див. у посібнику для інтеграторів LinuxCNC. Детальний опис регістрів частотно-регульованих приводів Toshiba див. у «Посібнику з комунікаційних функцій TOSVERT VF-S11» (номер документа Toshiba E6581222) та «Посібнику з експлуатації TOSVERT VF-S11» (номер документа Toshiba E6581158).
7. Відновлення помилок
vfs11_vfd відновлюється після помилок вводу/виводу наступним чином: спочатку всі виводи HAL встановлюються у значення за замовчуванням, і драйвер переходить у режим сну на RECONNECT_DELAY секунд (за замовчуванням 1 секунда).
-
Послідовний режим (
TYPE=rtu): у разі помилки закрити та знову відкрити послідовний порт. -
Режим TCP-сервера (
TYPE=tcpserver): після втрати TCP-з’єднання драйвер знову перейде до очікування вхідних з’єднань. -
Режим TCP-клієнта (
TYPE=tcpclient): після втрати TCP-з’єднання драйвер знову підключиться до TCPDEST:PORTNO.
8. Налаштування частотного перетворювача VFS11 для використання в Modbus
8.1. Підключення послідовного порту
VF-S11 має роз’єм RJ-45 для послідовної передачі даних. На жаль, він не має стандартного роз’єму RS-232 і логічних рівнів. Рекомендований Toshiba спосіб: підключіть перетворювач USB-послідовний USB001Z до приводу і підключіть USB-порт до ПК. Більш дешевою альтернативою є саморобний інтерфейс ( підказки від служби підтримки Toshiba, схема підключення).
Примітка: вихід 24 В з частотного перетворювача не має захисту від короткого замикання.
Заводські налаштування послідовного порту за замовчуванням — 9600/8/1/парні, протокол за замовчуванням використовує власний «Toshiba Inverter Protocol».
8.2. Налаштування Modbus
Перед тим, як VF-S11 почне взаємодіяти з цим модулем, необхідно налаштувати кілька параметрів. Це можна зробити вручну за допомогою панелі керування або через послідовний канал зв’язку. Компанія Toshiba постачає програму для Windows під назвою «PCM001Z», яка може зчитувати/налаштовувати параметри в VFD. Примітка: PCM001Z підтримує тільки протокол інвертора Toshiba. Отже, останнім параметром, який потрібно змінити, є протокол — встановіть його з Toshiba Inverter Protocol на Modbus; після цього програма для Windows стане непотрібною.
Щоб збільшити верхню межу частоти, потрібно змінити параметри UL та FH на панелі. Я збільшив їх з 50 до 80.
Дивіться dump-params.mio для опису нестандартних параметрів VF-S11 моєї конфігурації. Цей файл призначений для інтерактивна утиліта modio Modbus.
9. Примітка щодо програмування
Драйвер vfs11_vfd використовує бібліотеку libmodbus версії 3, яка є новішою за код версії 2, що використовується в gs2_vfd.
Пакет Ubuntu libmodbus5 та libmodbus-dev доступні лише починаючи з Ubuntu 12 («Precise Pengolin»). Більше того, ці пакети не підтримують прапорці MODBUS_RTS_MODE_*. Тому, під час компіляції vfs11_vfd з використанням цієї бібліотеки може з’явитися попередження, якщо в файлі INI вказано RTS_MODE=.
Щоб скористатися повним функціоналом на Lucid and Precise:
-
вилучити пакети libmodbus:
sudo apt-get remove libmodbus5 libmodbus-dev -
зібрати та встановити libmodbus версії 3 з вихідного коду, як описано here.
Libmodbus не збирається на Ubuntu Hardy, тому vfs11_vfd недоступний на Hardy.