Система керування рухом на базі карти General Mechatronics GM6-PCI

Для отримання детального опису зверніться до https://www.generalmechatronics.com/data/products/robot_controller/PCI_UserManual_eng.pdf [Посібник із системної інтеграції].

Карта управління рухом GM6-PCI базується на FPGA та інтерфейсі PCI bridge ASIC. Невелику автоматизовану виробничу комірку можна контролювати за допомогою короткої процедури інтеграції системи. На наступному малюнку показано типове підключення пристроїв, пов’язаних із системою управління:

  • Він може керувати до шести осей, кожна з яких може бути кроковим двигуном, інтерфейсом шини CAN або аналоговим сервоприводом.

  • GPIO: Чотири по вісім контактів вводу/виводу розміщені на стандартних плоских кабельних роз’ємах.

  • Модулі розширення вводу-виводу RS485: шина RS485 була розроблена для взаємодії з компактними модулями розширення, що встановлюються на DIN-рейку. Наразі доступні 8-канальні цифрові входи, 8-канальні релейні виходи та аналогові модулі вводу-виводу (4 виходи +/-10 В та 8 входів +/-5 В). До шини можна підключити до 16 модулів.

  • 20 оптично ізольованих вхідних контактів: шість по три для прямого підключення двох кінцевих вимикачів та одного датчика самонаведення для кожного шарніра. А також два оптично ізольовані входи аварійної зупинки.

Система сервокерування GM

Встановлення:

loadrt hal_gm

Під час завантаження (або спроби завантаження) драйвер виводить деякі корисні повідомлення про налагодження до журналу ядра, які можна переглянути за допомогою dmesg.

В одній системі можна використовувати до 3 плат.

На платі GM6-PCI можна знайти такі роз’єми:

Роз'єми та світлодіоди карти GM6-PCI
Figure 1. Роз’єми та світлодіоди карти GM6-PCI

1. I/O роз’єми

Нумерація контактів роз'ємів GPIO
Figure 2. Нумерація контактів роз’ємів GPIO
Table 1. Розпіновка роз’ємів GPIO
9 7 5 3 1

IOx/7

IOx/5

IOx/3

IOx/1

VCC

10 8 6 4 2

GND

IOx/6

IOx/4

IOx/2

IOx/0

Кожен контакт можна налаштувати як цифровий вхід або вихід. Карта керування рухом GM6-PCI має 4 роз’єми загального призначення для вводу-виводу (GPIO), кожен з яких має вісім настроюваних входів-виходів. Кожен контакт GPIO та назва параметра починаються наступним чином:

gm.<card_no>.gpio.<gpio_con_no>

де <gpio_con_no> становить від 0 до 3.

Стан першого контакту першого роз’єму GPIO на карті GM6-PCI.
gm.0.gpio.0.in-0

Виводи HAL оновлюються функцією

gm.<card_no>.read

1.1. Піни

Table 2. Контакти GPIO
Піни Тип і напрямок Опис піна

.in-<0-7>

(біт, вихід)

Вхідний контакт

.in-not-<0-7>

(біт, вихід)

Негативний вхідний контакт

.out-<0-7>

(біт, В)

Вихідний контакт. Використовується лише тоді, коли GPIO налаштовано на вихід.

1.2. Параметри

Table 3. Параметри GPIO
Піни Тип і напрямок Опис параметра

.is-out-<0-7>

(біт, R/W)

Коли значення True (Істина), відповідний GPIO (інтерфейс введення-виведення) встановлюється на вихід тотемного стовпа, інакше — на вхід з високим імпедансом.

.invert-out-<0-7>

(біт, R/W)

Якщо значення True (Істина), значення виводу буде інвертовано. Використовується, коли вивод налаштовано як вихід.

2. Роз’єми осей

Нумерація контактів роз'ємів осей
Figure 3. Нумерація контактів роз’ємів осей
Table 4. Розпіновка роз’ємів осей

1

Енкодер А

2

+5 Volt (PC)

3

Енкодер B

4

Індекс кодера

5

Розлом

6

Живлення ввімкнено

7

Крок/CCW/B

8

Напрямок/CW/A

9

Земля (PC)

10

Послідовна лінія DAC

2.1. Модулі інтерфейсу Axis

Невеликі інтерфейсні модулі, що монтуються на DIN-рейку, забезпечують простий спосіб підключення різних типів сервомодулів до роз’ємів осей. У посібнику з інтеграції систем (https://www.generalmechatronics.com/data/products/robot_controller/PCI_UserManual_eng.pdf) представлено сім різних конфігурацій систем для оцінки типових застосувань. Також у посібнику з інтеграції систем можна знайти докладний опис модулів осей.

Для оцінки відповідної структури сервоприводу модулі необхідно підключити, як показано на наступній блок-схемі:

Інтерфейси сервоосі
Figure 4. Інтерфейси сервоосі

2.2. Енкодер

Плата керування рухом GM6-PCI має шість модулів енкодера. Кожен модуль енкодера має три канали:

  • Канал-A

  • Канал-B

  • Канал-I (індекс)

Він здатний рахувати сигнали квадратурного енкодера або сигнали кроку/напрямку. Кожен модуль енкодера підключається до входів відповідного роз’єму осі RJ50.

Кожна назва виводу та параметра енкодера починається так:

gm.<card_no>.encoder.<axis_no>

де <номер_осі> має значення від 0 до 5. Наприклад, gm.0.encoder.0.position посилається на положення модуля енкодера осі 0.

Плата GM6-PCI підраховує сигнал енкодера незалежно від LinuxCNC. Піни HAL оновлюються функцією:

gm.<card_no>.read
Table 5. Виводи енкодера
Піни Тип і напрямок Опис піна

.reset

(біт, В)

Якщо значення True, скидає лічильники та позицію до нуля.

.rawcounts

(s32, Вихід)

Необроблений підрахунок – це підрахунки, на які не впливає скидання або індексний імпульс.

.counts

(s32, Вихід)

Позиція в лічильниках кодера.

.position

(float, Вихід)

Позиція в масштабованих одиницях (=.counts/.position-scale).

.index-enabled

(біт, IO)

Якщо True, підрахунок і позиція округлюються або скидаються (залежно від режиму індексу) при наступному передньому фронті каналу I. Кожного разу, коли позиція скидається через індекс, вивід index-enabled встановлюється в 0 і залишається 0, поки підключений вивід HAL не встановить його.

.velocity

(float, Вихід)

Швидкість у масштабованих одиницях за секунду. Енкодер GM використовує високочастотний апаратний таймер для вимірювання часу між імпульсами енкодера з метою обчислення швидкості. Це значно зменшує квантувальний шум у порівнянні з простим диференціюванням вихідних даних про положення. Коли виміряна швидкість нижча за мінімальну оцінку швидкості, вихідні дані про швидкість дорівнюють 0.

Table 6. Параметри енкодера
Параметри Введення тексту та читання/запис Опис параметра

.counter-mode

(біт, R/W)

Якщо значення True, лічильник підраховує кожен передній фронт вхідного сигналу каналу A у напрямку, визначеному каналом B. Це корисно для підрахунку вихідного сигналу одноканального (неквадратурного) або датчика сигналу кроку/напрямку. Якщо значення False, підрахунок відбувається в квадратурному режимі.

.index-mode

(біт, R/W)

Коли True і .index-enabled також true, .counts і .position округлюються (на основі .counts-per-rev) на передньому фронті каналу I. Це корисно для виправлення помилок декількох імпульсів, спричинених шумом. У режимі округлення важливо правильно встановити параметр .counts-per-rev. Коли .index-mode має значення False, а .index-enabled має значення true, .counts і .position скидаються при імпульсі каналу I.

.counts-per-rev

(s32, R/V)

Визначте, скільки імпульсів знаходиться між двома імпульсами індексу. Використовується тільки в круговому режимі, тобто коли параметри .index-enabled і .index-mode мають значення True. Енкодер GM обробляє сигнал енкодера в режимі 4x, тому, наприклад, у випадку енкодера 500 CPR його слід встановити на 2000. Цей параметр можна легко виміряти, встановивши .index-enabled True і .index-mode False (так, щоб .counts скидався на імпульсі каналу I), а потім перемістивши вісь вручну і подивившись максимальне значення .counts pin в halmeter.

.index-invert

(біт, R/W)

Якщо значення True, подія каналу I (скидання або округлення) відбувається на спадаючому фронті сигналу каналу I, інакше – на зростаючому фронті.

.min-speed-estimate

(float, R/W)

Визначте мінімальну виміряну величину швидкості, при якій швидкість буде встановлена як відмінна від нуля. Занадто низьке значення цього параметра призведе до того, що швидкість буде довго повертатися до нуля після припинення надходження імпульсів від енкодера.

.position-scale

(float, R/W)

Масштабування в кількості відліків на одиницю довжини. .position=.counts/.position-scale. Наприклад, якщо position-scale дорівнює 2000, то 1000 відліків кодера забезпечать позицію 0,5 одиниці.

Налаштування модуля енкодера осі 0 для отримання сигналу квадратурного енкодера 500 CPR та використання скидання в кругле положення.
setp gm.0.encoder.0.counter-mode 0         # 0: quad, 1: stepDir
setp gm.0.encoder.0.index-mode 1           # 0: скидання позиції за індексом, 1: округлення позиції за індексом
setp gm.0.encoder.0.counts-per-rev 2000    # Процесор GM обробляє енкодер у режимі 4x, 4x500=2000
setp gm.0.encoder.0.index-invert 0         #
setp gm.0.encoder.0.min-speed-estimate 0.1 # в одиниці позиції/с
setp gm.0.encoder.0.position-scale 20000   # 10 обертів енкодера змушують машину переміститися на одну одиницю позиції (10x2000)
Підключення положення енкодера до зворотного зв’язку щодо положення шарніра LinuxCNC
net Xpos-fb gm.0.encoder.0.position => joint.0.motor-pos-fb

2.3. Модуль StepGen

Карта управління рухом GM6-PCI має шість модулів StepGen, по одному для кожного з’єднання. Кожен модуль має два вихідні сигнали. Він може генерувати імпульси Step/Direction, Up/Down або Quadrature (A/B). Кожен модуль StepGen підключений до контактів відповідного роз’єму осі RJ50.

Кожна назва виводу та параметра StepGen починається так:

gm.<card_no>.stepgen.<axis_no>

де <номер_осі> має значення від 0 до 5. Наприклад, gm.0.stepgen.0.position-cmd посилається на команду позиціонування модуля StepGen осі 0 на картці 0.

Плата GM6-PCI генерує крокові імпульси незалежно від LinuxCNC. Виводи HAL оновлюються функцією

gm.<card_no>.write
Table 7. Виводи модуля StepGen
Піни Тип і напрямок Опис піна

.enable

(біт, В)

StepGen генерує імпульси лише тоді, коли цей контакт перебуває в стані "true".

.count-fb

(s32, Вихід)

Зворотній зв’язок щодо положення в одиницях відліку.

.position-fb

(float, Вихід)

Зворотній зв’язок щодо положення в одиниці положення.

.position-cmd

(float, In)

Задана позиція в одиницях позиції. Використовується лише в режимі позиції.

.velocity-cmd

(float, In)

Задана швидкість в одиницях положення за секунду. Використовується лише в режимі швидкості.

Table 8. Параметри модуля StepGen
Параметри Введення тексту та читання/запис Опис параметра

.step-type

(u32, R/W)

При значенні 0 модуль генерує сигнал Step/Dir. При значенні 1 він генерує сигнали Up/Down step. А при значенні 2 він генерує квадратурні вихідні сигнали.

.control-type

(біт, R/W)

Якщо значення True (Так), .velocity-cmd використовується як опорне значення, а velocityvcontrol розраховує вихідну частоту імпульсів. Якщо значення False (Неправда), .position-cmd використовується як опорне значення, а position control розраховує вихідну частоту імпульсів.

.invert-step1

(біт, R/W)

Інвертувати вихід каналу 1 (сигнал Step у режимі StepDir)

.invert-step2

(біт, R/W)

Інвертувати вихід каналу 2 (сигнал Dir у режимі StepDir)

.maxvel

(float, R/W)

Максимальна швидкість в одиницях позиції за секунду. Якщо встановлено значення 0.0, параметр .maxvel ігнорується.

.maxaccel

(float, R/W)

Максимальне прискорення в одиницях положення за секунду в квадраті. Якщо встановлено значення 0.0, параметр .maxaccel ігнорується.

.position-scale

(float, R/W)

Масштабування в кроках на одиницю довжини.

.steplen

(u32, R/W)

Тривалість крокового імпульсу в наносекундах.

.stepspace

(u32, R/W)

Мінімальний час між двома східчастими імпульсами в наносекундах.

.dirdelay

(u32, R/W)

Мінімальний час між ступінчастим імпульсом та зміною напрямку в наносекундах.

Для оцінки відповідних значень дивіться часові діаграми нижче:

Діаграми синхронізації опорного сигналу
Figure 5. Діаграми синхронізації опорного сигналу
Налаштування модуля StepGen осі 0 для генерації 1000 крокових імпульсів на одиницю позиції
setp gm.0.stepgen.0.step-type 0         # 0:stepDir, 1:UpDown, 2:Quad
setp gm.0.stepgen.0.control-type 0      # 0:Pos. control, 1:Vel. Control
setp gm.0.stepgen.0.invert-step1 0
setp gm.0.stepgen.0.invert-step2 0
setp gm.0.stepgen.0.maxvel 0            # не встановлюйте maxvel для генератора кроків,
                                        # нехай інтерполятор контролює його.
setp gm.0.stepgen.0.maxaccel 0          # не встановлюйте максимальне прискорення для
                                        # генератора кроків, нехай інтерполятор контролює його.
setp gm.0.stepgen.0.position-scale 1000 # 1000 кроків/одиниця позиції
setp gm.0.stepgen.0.steplen 1000        # 1000 нс = 1 мкс
setp gm.0.stepgen.0.stepspace1000       # 1000 нс = 1 мкс
setp gm.0.stepgen.0.dirdelay 2000       # 2000 нс = 2 мкс
Підключіть StepGen до опорного положення осі 0 та увімкніть контакти
net Xpos-cmd joint.0.motor-pos-cmd => gm.0.stepgen.0.position-cmd
net Xen joint.0.amp-enable-out => gm.0.stepgen.0.enable

2.4. Сигнали ввімкнення та несправності

Плата керування рухом GM6-PCI має один вихід увімкнення та один вхід несправності HAL-контакти, обидва підключені до кожного роз’єму осі RJ50 та до роз’єму CAN.

Виводи HAL оновлюються функцією:

gm.<card_no>.read
Table 9. Контакти сигналів увімкнення та несправності
Піни Тип і напрямок Опис піна

gm.<card_no>.power-enable

(біт, В)

Якщо цей контакт має значення True,
* і час дії таймера Watch Dog не минув
* і немає збою живлення
тоді контакти ввімкнення живлення роз’ємів Axis та CAN встановлені на високий рівень, інакше – на низький.

gm.<card_no>.power-fault

(біт, вихід)

Вхідний сигнал несправності живлення.

2.5. Вісь DAC

Карта управління рухом GM6-PCI має шість модулів драйвера DAC послідовної осі, по одному для кожного з’єднання. Кожен модуль підключений до контакту відповідного роз’єму осі RJ50. Кожен контакт DAC осі та назва параметра починаються наступним чином:

gm.<card_no>.dac.<axis_no>

де <номер_осі> має значення від 0 до 5. Наприклад, gm.0.dac.0.value посилається на вихідну напругу модуля DAC осі 0.

Виводи HAL оновлюються функцією:

gm.<card_no>.write
Table 10. Виводи DAC Axis
Піни Тип і напрямок Опис піна

.enable

(біт, В)

Увімкнути вихід DAC. Коли увімкнено значення «хибно», вихід DAC дорівнює 0,0 В.

.value

(float, In)

Значення вихідної напруги DAC у вольтах.

Table 11. Параметри DAC Axis
Параметри Тип і напрямок Опис параметра

.offset

(float, R/W)

Зсув додається до значення перед оновленням обладнання.

.high-limit

(float, R/W)

Максимальна вихідна напруга обладнання у вольтах.

.low-limit

(float, R/W)

Мінімальна вихідна напруга обладнання у вольтах.

.invert-serial

(float, R/W)

Карта GM6-PCI зв’язується з апаратним забезпеченням DAC за допомогою швидкої послідовної передачі даних, що дозволяє значно скоротити затримку в порівнянні з PWM. Модуль DAC рекомендується ізолювати, що виключає послідовну лінію зв’язку. У разі ізоляції залиште цей параметр за замовчуванням (0), а в разі відсутності ізоляції встановіть для цього параметра значення 1.

3. Сервопідсилювачі CAN-шини

Карта управління рухом GM6-PCI має модуль CAN для керування сервопідсилювачами CAN. Впровадження протоколів вищого рівня, таких як CANopen, є подальшим розвитком. Наразі підсилювачі потужності, що виробляються GM, мають драйвер вищого рівня, який експортує контакти та параметри до HAL. Вони отримують опорні значення положення та надають зворотний зв’язок від енкодера через шину CAN.

Кадри є стандартними (11-бітними) ідентифікаційними кадрами з довжиною даних 4 байти. Швидкість передачі даних становить 1 Мбіт/с. Ідентифікатори команд положення для осей 0..5 мають значення 0x10..0x15. Ідентифікатори зворотного зв’язку положення для осей 0..5 мають значення 0x20..0x25.

Ці конфігурації можна змінити шляхом модифікації hal_gm.c та перекомпіляції LinuxCNC.

Кожна назва виводу та параметра CAN починається так:

gm.<card_no>.can-gm.<axis_no>

де <номер_осі> має значення від 0 до 5. Наприклад, gm.0.can-gm.0.position посилається на вихідне положення осі 0 в одиницях вимірювання положення.

Виводи HAL оновлюються функцією:

gm.<card_no>.write

3.1. Піни

Table 12. Контакти CAN-модуля
Піни Тип і напрямок Опис піна

.enable

(біт, В)

Увімкнути надсилання довідок про позиції.

.position-cmd

(float, In)

Командна позиція в позиційних підрозділах.

.position-fb

(float, In)

Зворотній зв’язок щодо положення в одиницях позиції.

3.2. Параметри

Table 13. Параметри CAN-модуля
Параметри Тип і напрямок Опис параметра

.position-scale

(float, R/W)

Масштаб на одиницю довжини.

4. Сторожовий таймер

Сторожовий таймер скидається при виконанні функції:

gm.<card_no>.read

4.1. Піни

Table 14. Піни сторожового таймера
Піни Тип і напрямок Опис піна

gm.<card_no>.watchdog-expired

(біт, вихід)

Вказує на те, що час дії сторожового таймера минув.

Перевищення сторожового таймера призводить до низького рівня живлення апаратного забезпечення.

4.2. Параметри

Table 15. Параметри сторожового таймера
Параметри Тип і напрямок Опис параметра

gm.<card_no>.watchdog-enable

(біт, R/W)

Вмикає сторожовий таймер.
Настійно рекомендується вмикати сторожовий таймер, оскільки він може вимкнути всі сервопідсилювачі, знявши всі сигнали ввімкнення у разі помилки ПК.

gm.<card_no>.watchdog-timeout-ns

(float, R/W)

Часовий інтервал у функції gm.<card_no>.read має бути виконаний. Функція gm.<card_no>.read зазвичай додається до servo-thread, тому тайм-аут спостереження зазвичай встановлюється на 3 періоди серво.

5. Кінцеві, вихідні та аварійні вимикачі

Нумерація контактів роз'єму для відведення та кінцевого вимикача
Figure 6. Нумерація контактів роз’єму перемикача самонаведення та кінцевого вимикача
Table 16. Розпіновка роз’ємів кінцевого та початкового перемикачів
25 23 21 19 17 15 13 11 9 7 5 3 1

GND

1/End-

2/End+

2/Hom-ing

3/End-

4/End+

4/Hom-ing

5/End-

6/End+

6/Hom-ing

E-Стій 2

V+ (Ext.)

26 24 22 20 18 16 14 12 10 8 6 4 2

GND

1/End+

1/Hom-ing

2/End-

3/End+

3/Hom-ing

4/End-

5/End+

5/Hom-ing

6/End-

E-Стій 1

V+ (Ext.)

Плата керування рухом GM6-PCI має два вхідні вимикачі кінцевого положення та один вхідний вимикач для кожного шарніра. Усі назви цих контактів починаються так:

gm.<card_no>.joint.<axis_no>

де <axis_no> має значення від 0 до 5. Наприклад, gm.0.joint.0.home-sw-in вказує на стан перемикача осі 0 "home".

Виводи HAL оновлюються функцією:

gm.<card_no>.read

5.1. Піни

Table 17. Штифти кінцевого та початкового перемикачів
Піни Тип і напрямок Опис піна

.home-sw-in

(біт, вихід)

Вхід для домашнього перемикача

.home-sw-in-not

(біт, вихід)

Вхідний сигнал відключення домашнього перемикача

.neg-lim-sw-in

(біт, вихід)

Вхід негативного кінцевого вимикача

.neg-lim-sw-in-not

(біт, вихід)

Вхідний сигнал негативного кінцевого вимикача

.pos-lim-sw-in

(біт, вихід)

Вхід позитивного кінцевого вимикача

.pos-lim-sw-in-not

(біт, вихід)

Вхідний сигнал кінцевого вимикача з негативним позитивним значенням

5.2. Параметри

Table 18. Параметри аварійного вимикача
Параметри Тип і напрямок Опис параметра

gm.0.estop.0.in

(біт, вихід)

Вхід Stop 0

gm.0.estop.0.in-not

(біт, вихід)

Вхід Estop 0 з запереченням

gm.0.estop.1.in

(біт, вихід)

Вхід Stop 1

gm.0.estop.1.in-not

(біт, вихід)

Вхід Estop 1 з негативним сигналом

6. Світлодіоди стану

6.1. CAN

Колір: Помаранчевий

  • Блимає під час передачі даних.

  • Увімкнено, коли будь-який з буферів заповнений – помилка зв’язку.

  • Вимкнено, коли немає передачі даних.

6.2. RS485

Колір: Помаранчевий

  • Блимає під час ініціалізації модулів на шині

  • Увімкнено, коли встановлено обмін даними між усіма ініціалізованими модулями.

  • Вимкнено, коли будь-який з ініціалізованих модулів вибув через помилку.

6.3. EMC

Колір: Білий

  • Блимає, коли LinuxCNC працює.

  • Інакше вимкнено.

6.4. Boot

Колір: Зелений

  • Увімкнено, коли система успішно завантажилася.

  • Інакше вимкнено.

6.5. Error

Колір: Червоний

  • Вимкнено, коли в системі немає несправностей.

  • Блимає, коли виникає помилка зв’язку PCI.

  • Увімкнено, коли сторожовий таймер переповнений.

7. Модулі розширення вводу/виводу RS485

Ці модулі були розроблені для розширення можливостей вводу/виводу та функцій по лінії RS485 плати керування рухом GM6-PCI.

Доступні типи модулів:

  • 8-канальний релейний вихідний модуль — забезпечує вісім релейних виходів NO-NC на триполюсному клемному роз’ємі для кожного каналу.

  • 8-канальний модуль цифрового входу - має вісім оптично ізольованих цифрових вхідних контактів.

  • 8-канальний модуль ADC та 4-канальний модуль DAC – має чотири виходи цифро-аналогового перетворювача та вісім аналого-цифрових входів. Цей модуль також оптично ізольований від карти GM6-PCI.

Автоматичне розпізнавання вузлів

Кожен вузол, підключений до шини, розпізнався платою GM6-PCI автоматично. Під час запуску LinuxCNC драйвер автоматично експортує піни та параметри всіх доступних модулів.

Обробка несправностей

Якщо модуль не відповідає регулярно, карта GM6-PCI відключає модуль. Якщо модуль з виходом не отримує дані з правильним CRC регулярно, модуль переходить у стан помилки (зелений світлодіод блимає) і переводить всі виходи у стан помилки.

З’єднання вузлів

Модулі на шині повинні бути з’єднані послідовно з топологією, з кінцевими резисторами на кінці. Початком топології є PCI-карта, а кінцем – останній модуль.

Підключення вузлів RS485 до карти GM6-PCI
Figure 7. Підключення вузлів RS485 до карти GM6-PCI
Адресація

Кожен вузол на шині має унікальну 4-бітну адресу, яку можна встановити за допомогою червоного DIP-перемикача.

Статус LED

Зелений світлодіод показує стан модуля:

  • Блимає, коли модуль лише живиться, але не ідентифікований, або коли модуль опущено.

  • Вимкнено, під час ідентифікації (комп’ютер увімкнено, але LinuxCNC не запущено)

  • Увімкнено, коли зв’язок здійснюється безперервно.

7.1. Модуль релейних виходів

Інформацію про роз’єм, підключення та електричні характеристики модуля див. у посібнику з інтеграції системи «https://www.generalmechatronics.com/data/products/robot_controller/PCI_UserManual_eng.pdf».

Усі виводи та параметри оновлюються наступною функцією:

gm.<card_no>.rs485

Його слід додати до потоку сервоприводу або іншого потоку з більшим періодом, щоб уникнути перевантаження процесора. Кожна назва виводу та параметра модуля RS485 починається так:

gm.<card_no>.rs485.<module ID>

де <ідентифікатор модуля> має значення від 00 до 15.

Table 19. Контакти модуля релейних виходів
Піни Тип і напрямок Опис піна

.relay-<0-7>

(біт, вихід)

Вихідний контакт для реле

Table 20. Параметри модуля релейних виходів
Параметри Тип і напрямок Опис параметра

.invert-relay-<0-7>

(біт, R/W)

Вихідний контакт реле заперечує

HAL приклад
  gm.0.rs485.0.relay-0   # Перше реле вузла.
# gm.0                   # Ідентифікує першу карту управління рухом GM6-PCI (адреса PCI-карти = 0)
#     .rs485.0           # Вибирає вузол з адресою 0 на шині RS485
#             .relay-0   # Вибирає перше реле

7.2. Модуль цифрового входу

Інформацію про роз’єм, підключення та електричні характеристики модуля див. у посібнику з інтеграції системи «https://www.generalmechatronics.com/data/products/robot_controller/PCI_UserManual_eng.pdf».

Усі виводи та параметри оновлюються наступною функцією:

gm.<card_no>.rs485

Його слід додати до потоку сервоприводу або іншого потоку з більшим періодом, щоб уникнути перевантаження процесора. Кожна назва виводу та параметра модуля RS485 починається так:

gm.<card_no>.rs485.<module ID>

де <ідентифікатор модуля> має значення від 00 до 15.

Table 21. Контакти модуля цифрового входу та виходу
Піни Тип і напрямок Опис піна

.in-<0-7>

(біт, вихід)

Вхідний контакт

.in-not-<0-7>

(біт, вихід)

Негативний вхідний контакт

HAL приклад
  gm.0.rs485.0.in-0   # Перший вхід вузла.
# gm.0                # Ідентифікує першу карту управління рухом GM6-PCI (адреса PCI-карти = 0)
#     .rs485.0        # Вибирає вузол з адресою 0 на шині RS485
#             .in-0   # Вибирає перший цифровий вхідний модуль

7.3. Модуль DAC & ADC

Інформацію про роз’єм, підключення та електричні характеристики модуля див. у посібнику з інтеграції системи «https://www.generalmechatronics.com/data/products/robot_controller/PCI_UserManual_eng.pdf».

Усі виводи та параметри оновлюються наступною функцією:

gm.<card_no>.rs485

Його слід додати до потоку сервоприводу або іншого потоку з більшим періодом, щоб уникнути перевантаження процесора. Кожна назва виводу та параметра модуля RS485 починається так:

gm.<card_no>.rs485.<module ID>

де <ідентифікатор модуля> має значення від 00 до 15.

Table 22. Виводи модулів DAC & ADC
Піни Тип і напрямок Опис піна

.adc-<0-7>

(float, Вихід)

Значення вхідної напруги ADC у вольтах.

.dac-enable-<0-3>

(біт, В)

Увімкнути вихід DAC. Коли значення «увімкнути» має значення «хибно», вихід DAC встановлюється на 0,0 В.

.dac-<0-3>

(float, In)

Значення вихідної напруги DAC у вольтах.

Table 23. Параметри модулів DAC & ADC
Параметри Тип і напрямок Опис параметра

.adc-scale-<0-7>

(float, R/W)

Вхідна напруга буде помножена на масштаб, перш ніж буде виведена на контакт .adc-.

.adc-offset-<0-7>

(float, R/W)

Зсув віднімається від вхідної напруги обладнання після застосування множника масштабу.

.dac-offset-<0-3>

(float, R/W)

Зсув додається до значення перед оновленням обладнання.

.dac-high-limit-<0-3>

(float, R/W)

Максимальна вихідна напруга обладнання у вольтах.

.dac-low-limit-<0-3>

(float, R/W)

Мінімальна вихідна напруга обладнання у вольтах.

HAL приклад
  gm.0.rs485.0.adc-0   # Перший аналоговий канал вузла.
# gm.0                 # Ідентифікує першу карту управління рухом GM6-PCI (адреса PCI-карти = 0)
#     .rs485.0         # Вибирає вузол з адресою 0 на шині RS485
#             .adc-0   # Вибирає перший аналоговий вхід модуля

7.4. Модуль підвіски для навчання

Інформацію про роз’єм, підключення та електричні характеристики модуля див. у посібнику з інтеграції системи «https://www.generalmechatronics.com/data/products/robot_controller/PCI_UserManual_eng.pdf».

Усі виводи та параметри оновлюються наступною функцією:

gm.<card_no>.rs485

Його слід додати до потоку сервоприводу або іншого потоку з більшим періодом, щоб уникнути перевантаження процесора. Кожна назва виводу та параметра модуля RS485 починається так:

gm.<card_no>.rs485.<module ID>

де <ідентифікатор модуля> становить від 00 до 15. Зверніть увагу, що на модулі Teach Pendant його не можна змінити, і він попередньо запрограмований як нуль. За запитом його можна поставити з попередньо запрограмованим іншим ідентифікатором.

Table 24. Штифти модуля Teach Pendant
Піни Тип і напрямок Опис піна

.adc-<0-5>

(float, Вихід)

Значення вхідної напруги ADC у вольтах.

.enc-reset

(біт, В)

Якщо значення True, скидає лічильники та позицію до нуля.

.enc-counts

(s32, Вихід)

Позиція в лічильниках кодера.

.enc-rawcounts

(s32, Вихід)

Необроблений підрахунок – це підрахунки, на які не впливає скидання.

.enc-position

(float, Вихід)

Позиція в масштабованих одиницях (=.enc-counts/.enc-position-scale).

.in-<0-7>

(біт, вихід)

Вхідний контакт

.in-not-<0-7>

(біт, вихід)

Негативний вхідний контакт

Table 25. Параметри модуля підвіски для навчання
Параметри Тип і напрямок Опис параметра

.adc-scale-<0-5>

(float, R/W)

Вхідна напруга буде помножена на масштаб, перш ніж буде виведена на контакт .adc-.

.adc-offset-<0-5>

(float, R/W)

Зсув віднімається від вхідної напруги обладнання після застосування множника масштабу.

.enc-position-scale

(float, R/W)

Масштаб на одиницю довжини.

HAL приклад
  gm.0.rs485.0.adc-0  # Перший аналоговий канал вузла.
# gm.0                # Ідентифікує першу карту управління рухом GM6-PCI (адреса PCI-карти = 0)
#     .rs485.0        # Вибирає вузол з адресою 0 на шині RS485
#             .adc-0  # Вибирає перший аналоговий вхід модуля

8. Виправлення

8.1. Виправлення щодо карти GM6-PCI

Номер версії в цьому розділі стосується версії пристрою плати GM6-PCI.

Версія 1.2
  • Помилка: Карта PCI не завантажується, коли перемикач Axis 1. END B активний (низький рівень). Виявлено 16 листопада 2013 року.

  • Причина: Цей перемикач підключено до виводу налаштування завантаження FPGA

  • Виправлення/спостереження за проблемою: Використовуйте інший контакт перемикача або підключіть до цього вхідного контакту перемикача лише нормально розімкнутий перемикач.