LinuxCNC Documentation

СИНТАКСИС

Інтерфейс Mesa Smart-Serial — це запатентований інтерфейс зі швидкістю 2,5 Мбіт/с між картами Mesa Anything-IO та низкою допоміжних пристроїв, які називаються «smart-serial remotes» (розумні послідовні пульти дистанційного керування). Дистанційні карти виконують різноманітні функції, але зазвичай вони поєднують різні класи вводу-виводу. Дистанційні карти самоконфігуруються, тобто вони повідомляють головному драйверу LinuxCNC Hostmot2, які функції виконують їхні контакти та як їх слід називати.

Багато серійних пультів дистанційного керування пропонують різні роз’єми залежно від режиму, в якому вони запускаються. Це налаштовується за допомогою опції sserial_port_N= в hm2_pci modparam. Дивіться сторінку довідки hostmot2 для більш детальної інформації.

Цілком ймовірно, що ця документація назавжди застаріє.

Кожна плата Anything-IO може підключати до 8 послідовних пультів дистанційного керування до кожного роз’єму (50-контактні роз’єми на 5I20/5I22/5I23/7I43 або 25-контактні роз’єми на 5I25, 6I25 і 7I80). Пульти дистанційного керування згруповані в «порти» до 8 «каналів». Зазвичай кожен роз’єм є одним 8-канальним портом, але це не завжди так.

ПОРТИ

Окрім контактів для кожного каналу/пристрою, детально описаних нижче, є три контакти для кожного порту та три параметри.

Pins:

error-count (u32, ro):: Вказує стан обробника помилок Smart Serial, див. розділ параметрів для отримання додаткової інформації.

Parameters:

fault-lim (u32 r/w):: Коли лічильник помилок досягне цього порогу, інтерфейс Smart Serial на відповідному порту буде зупинений, а помилка буде виведена в dmesg. Разом ці три контакти дозволяють контролювати ступінь відмовостійкості, дозволений в інтерфейсі. Значення за замовчуванням означають, що якщо більше ніж одна транзакція з десяти завершується з помилкою більше ніж 20 разів, то буде згенеровано серйозну помилку. Якщо інкремент буде встановлено на нуль, то помилка ніколи не буде згенерована, і система буде продовжувати роботу незалежно від цього. І навпаки, встановлення зменшення на нуль, порогу на 1 і обмеження на 1 означає, що абсолютно ніякі помилки не будуть допускатися. (Ця структура скопійована безпосередньо з практики використання ЕБУ автомобілів.)

Будь-які інші параметри, окрім наведених вище, створюються самою картою з даних у віддаленій прошивці. Їх можна встановити у файлі HAL за допомогою команди "setp" звичайним способом.

Note

Оскільки пульт дистанційного керування Smart-Serial може передавати на головну карту тільки дані, що не стосуються процесів, у режимі налаштування, для зміни значення параметра необхідно зупинити та перезапустити порт Smart-Serial, пов’язаний із картою.

Note
У випадку параметрів, що починаються з "nv" (які зберігаються в енергонезалежній пам’яті), ефект не буде помітний до наступного вимкнення та вимкнення живлення приводу.

Незмінні значення не будуть перезаписані, тому команди "setp" можна безпечно залишити у файлі HAL або видалити їх, як вам зручно.

ПРИСТРОЇ

Інші виводи та параметри, створені в HAL, залежать від виявлених пристроїв. Наведений нижче список пристроїв Smart Serial аж ніяк не є вичерпним.

8I20

8I20 — це трифазний привід потужністю 2,2 кВт для безщіткових двигунів постійного струму та сервомоторів змінного струму. Контакти та параметри 8I20 мають такі назви: «hm2__<BoardType>_.<BoardNum>.8i20. <PortNum>.<ChanNum>.<Pin>», наприклад «hm2_5i23.0.8i20.1.3.current» встановлює фазний струм для приводу, підключеного до четвертого каналу другого послідовного порту першої плати 5I23. Зверніть увагу, що послідовні порти не обов’язково відповідають за розташуванням або номером фізичним портам на платі.

Pins:

angle (float in)

Кут повороту ротора двигуна у частках повного оберту фази. Кут 0,5 означає, що двигун знаходиться на відстані пів обороту / 180 градусів / π радіан від нульового положення. Нульове положення вважається положенням, яке займає двигун без навантаження при подачі позитивного напруги на фазу A (або U) і підключенні B і C (або V і W) до -V або 0 V. 6-полюсний двигун матиме 3 нульові положення на один фізичний оберт. Зверніть увагу, що привід 8I20 автоматично додає кут випередження/запізнювання фази, і що цей вивід повинен бачити необроблений кут ротора. Існує модуль HAL (bldc), який обробляє складність різних типів двигунів і приводів.

current (float, in)

Команда фазного струму для приводу. Масштабується від -1 до +1 для максимальних струмів у прямому та зворотному напрямку. Абсолютне значення струму встановлюється параметром max_current.

bus-voltage (float, ro)

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

temp (float, ro)

Температура водія в градусах Цельсія.

comms (u32, ro)

Стан зв’язку приводу. Див. посібник для отримання додаткової інформації.

стан та несправність. (bit, ro)

Експортуються наступні біти помилок/стану. Для отримання додаткової інформації див. посібник 8I20:
fault.U-current / fault.U-current-not fault.V-current / fault. V-current-not fault.W-current / fault.W-current-not fault.bus-high / fault.bus-high-not fault.bus-overv / fault.bus-overv-not fault.bus-underv / fault.bus-underv-not fault.framingr / fault.framingr-not fault.module / fault.module-not fault.no-enable / fault. no-enable-не несправність.overcurrent / несправність.overcurrent-не несправність.overrun / несправність.overrun-не несправність.overtemp / несправність.overtemp-не несправність.watchdog / несправність.watchdog-не
+
status.brake-old / status.brake-old-not status.brake-on / status.brake-on-not status.bus-underv / status.bus-underv-not status.current-lim / status.current-lim-no status.ext-reset / status.ext-reset-not status.no-enable / status. no-enable-not status.pid-on / status.pid-on-not status.sw-reset / status.sw-reset-not status.wd-reset / status.wd-reset-not

Параметри:

Експортуються такі параметри. Див. PDF-документацію, яку можна завантажити з Mesa, для отримання додаткової інформації:

hm2_5i25.0.8i20.0.1.angle-maxlim
hm2_5i25.0.8i20.0.1.angle-minlim
hm2_5i25.0.8i20.0.1.angle-scalemax
hm2_5i25.0.8i20.0.1.current-maxlim
hm2_5i25.0.8i20.0.1.current-minlim
hm2_5i25.0.8i20.0.1.current-scalemax
hm2_5i25.0.8i20.0.1.nvbrakeoffv
hm2_5i25.0.8i20.0.1.nvbrakeonv
hm2_5i25.0.8i20.0.1.nvbusoverv
hm2_5i25.0.8i20.0.1.nvbusundervmax
hm2_5i25.0.8i20.0.1.nvbusundervmin
hm2_5i25.0.8i20.0.1.nvkdihi
hm2_5i25.0.8i20.0.1.nvkdil
hm2_5i25.0.8i20.0.1.nvkdilo
hm2_5i25.0.8i20.0.1.nvkdp
hm2_5i25.0.8i20.0.1.nvkqihi
hm2_5i25.0.8i20.0.1.nvkqil
hm2_5i25.0.8i20.0.1.nvkqilo
hm2_5i25.0.8i20.0.1.nvkqp
hm2_5i25.0.8i20.0.1.nvmaxcurrent
hm2_5i25.0.8i20.0.1.nvrembaudrate
hm2_5i25.0.8i20.0.1.swrevision
hm2_5i25.0.8i20.0.1.unitnumber
max_current (float, rw)

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

serial_number (u32, ro)

Серійний номер підключеного накопичувача. Він також вказаний на етикетці на накопичувачі.

7I64

7I64 — це плата вводу-виводу з 24 входами та 24 виходами. Виводи та параметри 7I64 мають назви, такі як "hm2<BoardType>.<BoardNum>.7i64.<PortNum>.<ChanNum>.<Pin>", for example hm2_5i23.0.7i64.1.3.output-01.

Pins:

7i64.0.0.output-NN (bit, in)

Запис 1 або TRUE в цей вивід увімкне вихідний драйвер NN. Зверніть увагу, що виходи є драйверами (перемикачами), а не вихідними напругами. Стан показує світлодіод, розташований поруч із роз’ємом на платі. Вихід можна інвертувати, встановивши відповідний параметр.

7i64.0.0.input-NN (bit, out)

Значення входу NN. Зверніть увагу, що входи ізольовані, і обидва контакти кожного входу мають бути підключені, зазвичай до сигналу та землі сигналу. (Це не обов’язково має бути земля плати.)

7i64.0.0.input-NN-not (bit, out)

Інвертована копія відповідного вхідного значення.

7i64.0.0.analog0 & 7i64.0.0.analog1 (float, out)

Два аналогові входи (від 0 до 3,3 В) на платі.

Parameters:

7i64.0.0.output-NN-invert (bit, rw)

Встановлення цього параметра на 1 / TRUE інвертує вихідне значення, таким чином, запис 0 у .gpio.NN.out увімкне вихід і навпаки.

7I76

7I76 насправді не є інтелектуальним послідовним пристроєм. Він служить роз’ємом для ряду інших функцій Hostmot2. Є з’єднання для 5 генераторів кроків (про які див. головну сторінку довідки hostmot2). Контакти stepgen пов’язані з 5I25 (hm2_5i25.0.stepgen.00…​.), тоді як контакти smart-serial пов’язані з 7I76 (hm2_5i25.0.7i76.0.0.output-00).

Pins:

7i76.0.0.input-NN-not (bit in):: (NN = від 0 до 31) Для зручності надано інвертовану копію входів. Два комплементарні виводи можуть бути підключені до різних сигнальних мереж.

Parameters:

7I77

7i76.0.0.swrevision (u32 ro):: Номер версії вбудованої прошивки. Для оновлення та зміни цієї прошивки існують утиліти (докладніше див. у man setserial).

7I77 — це 6-осьова плата сервоуправління. Аналогові виходи є інтелектуальними послідовними пристроями, але енкодери є звичайними енкодерами hostmot2, і більш детальну інформацію про них можна знайти на сторінці довідки hostmot2.

Pins:

7i77.0.1.analogoutN (float in):: (N = від 0 до 5) Це керує аналоговим виходом 7I77.

Parameters:

7I69

7i77.0.0.analogoutN-scalemax (float rw):: (N = від 0 до 5) Аналогове масштабування швидкості. Це запит швидкості, який відповідатиме повномасштабному виходу з виводу керування шпинделем. Наприклад, при напрузі приводу 10 В і максимальному масштабі 10000 об/хв значення 10000 RPM на виводі spinout дасть вихідну напругу 10 В. Однак, якщо spinout-maxlim встановлено на 5000 RPM, то напруга вище 5 В не буде виходити.

7I69 — це 48-канальна плата цифрового вводу-виводу. Її можна налаштувати у чотирьох різних режимах:

РЕЖИМ 0

Двонаправлений режим (48 бітів вхід, 48 бітів вихід)

РЕЖИМ 1

Режим лише введення (48 біт вхід)

РЕЖИМ 2

Режим лише виводу (48 біт на вихід)

РЕЖИМ 3

24/24-бітний режим (24 вхідні біти = біти 0..23 та 24 вихідні біти = біти 24..47)

РЕЖИМ 4

Двонаправлений режим (48 біт на вході, 48 біт на виході) плюс 4 канали кодера MPG на входах від 0 до 7

Pins:

7i69.0.0.input-NN-not (bit out):: Цифровий вхід, інвертований.

Parameters:

7I70

7i69.0.0.swrevision (u32 ro):: Номер версії вбудованої прошивки. Існують утиліти для оновлення та зміни цієї прошивки.

7I70 — це віддалена ізольована карта з 48 входами. Входи 7I70 вимірюють позитивні вхідні сигнали відносно загального заземлення поля. Вхідний опір становить 10 кОм, а вхідна напруга може коливатися від 5 В до 32 В постійного струму. Усі входи мають світлодіодні індикатори стану. Загальне заземлення входу гальванічно ізольоване від каналу зв’язку.

7I70 має три режими, які можна вибрати за допомогою програмного забезпечення. Ці різні режими вибирають різні набори даних 7I70, які передаються між хостом і 7I70 під час обміну даними в режимі реального часу. Для високошвидкісних застосувань вибір правильного режиму може зменшити розміри передачі даних, що призведе до підвищення максимальної швидкості оновлення.

РЕЖИМ 0

Режим введення (лише 48 біт вхідних даних)

РЕЖИМ 1

Вхід плюс аналоговий режим (48 біт вхідних даних плюс 6 каналів аналогових даних)

РЕЖИМ 2

Вхідна напруга плюс польова напруга

Pins:

7i70.0.0.input-NN-not (bit in):: (NN = від 0 до 47) Для зручності надано інвертовану копію входів. Два комплементарні виводи можуть бути підключені до різних сигнальних мереж.

Parameters:

7I71

7i69.0.0.swrevision (u32 ro):: Номер версії вбудованої прошивки. Існують утиліти для оновлення та зміни цієї прошивки.

7I71 — це віддалена ізольована карта з 48 виходами. 48 виходів — це драйвери живлення від 8 до 28 В постійного струму (загальне + поле живлення) з максимальною силою струму 300 мА. Усі виходи мають світлодіодні індикатори стану.

7I71 має два програмно-вибіркові режими. Для високошвидкісних застосувань вибір правильного режиму може зменшити розміри переданих даних, що призведе до вищої максимальної швидкості оновлення:

РЕЖИМ 0

Режим лише виводу (лише 48 біт вихідних даних)

РЕЖИМ 1

Виходи плюс напруга зворотного поля для зчитування

Pins:

7i71.0.0.output-NN (bit out):: (NN = від 0 до 47) 48 цифрових виходів. Зміщення сигналу може бути інвертовано параметром інвертування.

Parameters:

7I73

7i69.0.0.swrevision (u32 ro):: Номер версії вбудованої прошивки. Існують утиліти для оновлення та зміни цієї прошивки.

7I73 — це підвісний пульт дистанційного керування або інтерфейс панелі керування в режимі реального часу.

7I73 підтримує до чотирьох входів енкодера 50 кГц для MPG, 8 цифрових входів і 6 цифрових виходів, а також клавіатуру з 64 клавішами. Якщо використовується клавіатура меншого розміру, стає доступною більша кількість цифрових входів і виходів. Також передбачено до восьми аналогових входів від 0,0 В до 3,3 В. 7I73 може керувати 4-рядковим 20-символьним РК-дисплеєм для локальних застосувань DRO.

7I73 має 3 програмно вибираних режими даних процесу. Ці різні режими вибирають різні набори даних 7I73, які передаються між хостом і 7I73 під час обміну даними процесу в режимі реального часу. Для високошвидкісних застосувань вибір правильного режиму може зменшити розміри передачі даних, що призведе до підвищення максимальної швидкості оновлення

РЕЖИМ 0

I/O + ENCODER

РЕЖИМ 1

Вхід/вихід + енкодер + аналоговий вхід

РЕЖИМ 2

Вхід/вихід + енкодер + аналоговий вхід Швидкий дисплей

Pins:

7i73.0.1.output-NN (bit in):: До 22 цифрових виходів (залежно від конфігурації)

Parameters:

7i73.0.1.output-00-invert (u32 ro)::

Для отримання додаткової інформації про використання вищезазначеного див. посібник Mesa.