Система керування рухом на базі карти 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 оптично ізольованих вхідних контактів: шість по три для прямого підключення двох кінцевих вимикачів та одного датчика самонаведення для кожного шарніра. А також два оптично ізольовані входи аварійної зупинки.
Встановлення:
loadrt hal_gm
Під час завантаження (або спроби завантаження) драйвер виводить деякі корисні повідомлення про налагодження до журналу ядра, які можна переглянути за допомогою dmesg.
В одній системі можна використовувати до 3 плат.
На платі GM6-PCI можна знайти такі роз’єми:
1. I/O роз’єми
| 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.
gm.0.gpio.0.in-0
Виводи HAL оновлюються функцією
gm.<card_no>.read
1.1. Піни
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(біт, вихід) |
Вхідний контакт |
|
(біт, вихід) |
Негативний вхідний контакт |
|
(біт, В) |
Вихідний контакт. Використовується лише тоді, коли GPIO налаштовано на вихід. |
1.2. Параметри
| Піни | Тип і напрямок | Опис параметра |
|---|---|---|
|
(біт, R/W) |
Коли значення True (Істина), відповідний GPIO (інтерфейс введення-виведення) встановлюється на вихід тотемного стовпа, інакше — на вхід з високим імпедансом. |
|
(біт, R/W) |
Якщо значення True (Істина), значення виводу буде інвертовано. Використовується, коли вивод налаштовано як вихід. |
2. Роз’єми осей
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) представлено сім різних конфігурацій систем для оцінки типових застосувань. Також у посібнику з інтеграції систем можна знайти докладний опис модулів осей.
Для оцінки відповідної структури сервоприводу модулі необхідно підключити, як показано на наступній блок-схемі:
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
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(біт, В) |
Якщо значення True, скидає лічильники та позицію до нуля. |
|
(s32, Вихід) |
Необроблений підрахунок – це підрахунки, на які не впливає скидання або індексний імпульс. |
|
(s32, Вихід) |
Позиція в лічильниках кодера. |
|
(float, Вихід) |
Позиція в масштабованих одиницях (=.counts/.position-scale). |
|
(біт, IO) |
Якщо True, підрахунок і позиція округлюються або скидаються (залежно від режиму індексу) при наступному передньому фронті каналу I.
Кожного разу, коли позиція скидається через індекс, вивід |
|
(float, Вихід) |
Швидкість у масштабованих одиницях за секунду. Енкодер GM використовує високочастотний апаратний таймер для вимірювання часу між імпульсами енкодера з метою обчислення швидкості. Це значно зменшує квантувальний шум у порівнянні з простим диференціюванням вихідних даних про положення. Коли виміряна швидкість нижча за мінімальну оцінку швидкості, вихідні дані про швидкість дорівнюють 0. |
| Параметри | Введення тексту та читання/запис | Опис параметра |
|---|---|---|
|
(біт, R/W) |
Якщо значення True, лічильник підраховує кожен передній фронт вхідного сигналу каналу A у напрямку, визначеному каналом B. Це корисно для підрахунку вихідного сигналу одноканального (неквадратурного) або датчика сигналу кроку/напрямку. Якщо значення False, підрахунок відбувається в квадратурному режимі. |
|
(біт, R/W) |
Коли True і .index-enabled також true, .counts і .position округлюються (на основі .counts-per-rev) на передньому фронті каналу I. Це корисно для виправлення помилок декількох імпульсів, спричинених шумом. У режимі округлення важливо правильно встановити параметр .counts-per-rev. Коли .index-mode має значення False, а .index-enabled має значення true, .counts і .position скидаються при імпульсі каналу I. |
|
(s32, R/V) |
Визначте, скільки імпульсів знаходиться між двома імпульсами індексу. Використовується тільки в круговому режимі, тобто коли параметри .index-enabled і .index-mode мають значення True. Енкодер GM обробляє сигнал енкодера в режимі 4x, тому, наприклад, у випадку енкодера 500 CPR його слід встановити на 2000. Цей параметр можна легко виміряти, встановивши .index-enabled True і .index-mode False (так, щоб .counts скидався на імпульсі каналу I), а потім перемістивши вісь вручну і подивившись максимальне значення .counts pin в halmeter. |
|
(біт, R/W) |
Якщо значення True, подія каналу I (скидання або округлення) відбувається на спадаючому фронті сигналу каналу I, інакше – на зростаючому фронті. |
|
(float, R/W) |
Визначте мінімальну виміряну величину швидкості, при якій швидкість буде встановлена як відмінна від нуля. Занадто низьке значення цього параметра призведе до того, що швидкість буде довго повертатися до нуля після припинення надходження імпульсів від енкодера. |
|
(float, R/W) |
Масштабування в кількості відліків на одиницю довжини. .position=.counts/.position-scale. Наприклад, якщо position-scale дорівнює 2000, то 1000 відліків кодера забезпечать позицію 0,5 одиниці. |
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)
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
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(біт, В) |
StepGen генерує імпульси лише тоді, коли цей контакт перебуває в стані "true". |
|
(s32, Вихід) |
Зворотній зв’язок щодо положення в одиницях відліку. |
|
(float, Вихід) |
Зворотній зв’язок щодо положення в одиниці положення. |
|
(float, In) |
Задана позиція в одиницях позиції. Використовується лише в режимі позиції. |
|
(float, In) |
Задана швидкість в одиницях положення за секунду. Використовується лише в режимі швидкості. |
| Параметри | Введення тексту та читання/запис | Опис параметра |
|---|---|---|
|
(u32, R/W) |
При значенні 0 модуль генерує сигнал Step/Dir. При значенні 1 він генерує сигнали Up/Down step. А при значенні 2 він генерує квадратурні вихідні сигнали. |
|
(біт, R/W) |
Якщо значення True (Так), .velocity-cmd використовується як опорне значення, а velocityvcontrol розраховує вихідну частоту імпульсів. Якщо значення False (Неправда), .position-cmd використовується як опорне значення, а position control розраховує вихідну частоту імпульсів. |
|
(біт, R/W) |
Інвертувати вихід каналу 1 (сигнал Step у режимі StepDir) |
|
(біт, R/W) |
Інвертувати вихід каналу 2 (сигнал Dir у режимі StepDir) |
|
(float, R/W) |
Максимальна швидкість в одиницях позиції за секунду. Якщо встановлено значення 0.0, параметр .maxvel ігнорується. |
|
(float, R/W) |
Максимальне прискорення в одиницях положення за секунду в квадраті. Якщо встановлено значення 0.0, параметр .maxaccel ігнорується. |
|
(float, R/W) |
Масштабування в кроках на одиницю довжини. |
|
(u32, R/W) |
Тривалість крокового імпульсу в наносекундах. |
|
(u32, R/W) |
Мінімальний час між двома східчастими імпульсами в наносекундах. |
|
(u32, R/W) |
Мінімальний час між ступінчастим імпульсом та зміною напрямку в наносекундах. |
Для оцінки відповідних значень дивіться часові діаграми нижче:
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 мкс
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
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
gm.<card_no>.power-enable |
(біт, В) |
Якщо цей контакт має значення True, |
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
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(біт, В) |
Увімкнути вихід DAC. Коли увімкнено значення «хибно», вихід DAC дорівнює 0,0 В. |
|
(float, In) |
Значення вихідної напруги DAC у вольтах. |
| Параметри | Тип і напрямок | Опис параметра |
|---|---|---|
|
(float, R/W) |
Зсув додається до значення перед оновленням обладнання. |
|
(float, R/W) |
Максимальна вихідна напруга обладнання у вольтах. |
|
(float, R/W) |
Мінімальна вихідна напруга обладнання у вольтах. |
|
(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. Піни
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(біт, В) |
Увімкнути надсилання довідок про позиції. |
|
(float, In) |
Командна позиція в позиційних підрозділах. |
|
(float, In) |
Зворотній зв’язок щодо положення в одиницях позиції. |
3.2. Параметри
| Параметри | Тип і напрямок | Опис параметра |
|---|---|---|
|
(float, R/W) |
Масштаб на одиницю довжини. |
4. Сторожовий таймер
Сторожовий таймер скидається при виконанні функції:
gm.<card_no>.read
4.1. Піни
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(біт, вихід) |
Вказує на те, що час дії сторожового таймера минув. |
Перевищення сторожового таймера призводить до низького рівня живлення апаратного забезпечення.
4.2. Параметри
| Параметри | Тип і напрямок | Опис параметра |
|---|---|---|
|
(біт, R/W) |
Вмикає сторожовий таймер. |
|
(float, R/W) |
Часовий інтервал у функції gm.<card_no>.read має бути виконаний. Функція gm.<card_no>.read зазвичай додається до servo-thread, тому тайм-аут спостереження зазвичай встановлюється на 3 періоди серво. |
5. Кінцеві, вихідні та аварійні вимикачі
| 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. Піни
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(біт, вихід) |
Вхід для домашнього перемикача |
|
(біт, вихід) |
Вхідний сигнал відключення домашнього перемикача |
|
(біт, вихід) |
Вхід негативного кінцевого вимикача |
|
(біт, вихід) |
Вхідний сигнал негативного кінцевого вимикача |
|
(біт, вихід) |
Вхід позитивного кінцевого вимикача |
|
(біт, вихід) |
Вхідний сигнал кінцевого вимикача з негативним позитивним значенням |
5.2. Параметри
| Параметри | Тип і напрямок | Опис параметра |
|---|---|---|
|
(біт, вихід) |
Вхід Stop 0 |
|
(біт, вихід) |
Вхід Estop 0 з запереченням |
|
(біт, вихід) |
Вхід Stop 1 |
|
(біт, вихід) |
Вхід 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-карта, а кінцем – останній модуль.
Кожен вузол на шині має унікальну 4-бітну адресу, яку можна встановити за допомогою червоного DIP-перемикача.
Зелений світлодіод показує стан модуля:
-
Блимає, коли модуль лише живиться, але не ідентифікований, або коли модуль опущено.
-
Вимкнено, під час ідентифікації (комп’ютер увімкнено, але 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.
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(біт, вихід) |
Вихідний контакт для реле |
| Параметри | Тип і напрямок | Опис параметра |
|---|---|---|
|
(біт, R/W) |
Вихідний контакт реле заперечує |
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.
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(біт, вихід) |
Вхідний контакт |
|
(біт, вихід) |
Негативний вхідний контакт |
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.
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(float, Вихід) |
Значення вхідної напруги ADC у вольтах. |
|
(біт, В) |
Увімкнути вихід DAC. Коли значення «увімкнути» має значення «хибно», вихід DAC встановлюється на 0,0 В. |
|
(float, In) |
Значення вихідної напруги DAC у вольтах. |
| Параметри | Тип і напрямок | Опис параметра |
|---|---|---|
|
(float, R/W) |
Вхідна напруга буде помножена на масштаб, перш ніж буде виведена на контакт .adc-. |
|
(float, R/W) |
Зсув віднімається від вхідної напруги обладнання після застосування множника масштабу. |
|
(float, R/W) |
Зсув додається до значення перед оновленням обладнання. |
|
(float, R/W) |
Максимальна вихідна напруга обладнання у вольтах. |
|
(float, R/W) |
Мінімальна вихідна напруга обладнання у вольтах. |
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 його не можна змінити, і він попередньо запрограмований як нуль. За запитом його можна поставити з попередньо запрограмованим іншим ідентифікатором.
| Піни | Тип і напрямок | Опис піна |
|---|---|---|
|
(float, Вихід) |
Значення вхідної напруги ADC у вольтах. |
|
(біт, В) |
Якщо значення True, скидає лічильники та позицію до нуля. |
|
(s32, Вихід) |
Позиція в лічильниках кодера. |
|
(s32, Вихід) |
Необроблений підрахунок – це підрахунки, на які не впливає скидання. |
|
(float, Вихід) |
Позиція в масштабованих одиницях (=.enc-counts/.enc-position-scale). |
|
(біт, вихід) |
Вхідний контакт |
|
(біт, вихід) |
Негативний вхідний контакт |
| Параметри | Тип і напрямок | Опис параметра |
|---|---|---|
|
(float, R/W) |
Вхідна напруга буде помножена на масштаб, перш ніж буде виведена на контакт .adc-. |
|
(float, R/W) |
Зсув віднімається від вхідної напруги обладнання після застосування множника масштабу. |
|
(float, R/W) |
Масштаб на одиницю довжини. |
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.
-
Помилка: Карта PCI не завантажується, коли перемикач Axis 1. END B активний (низький рівень). Виявлено 16 листопада 2013 року.
-
Причина: Цей перемикач підключено до виводу налаштування завантаження FPGA
-
Виправлення/спостереження за проблемою: Використовуйте інший контакт перемикача або підключіть до цього вхідного контакту перемикача лише нормально розімкнутий перемикач.