LinuxCNC Documentation
This page is 99% translated. Untranslated text is shown in English.

СИНТАКСИС

loadrt motmod [base_period_nsec=period] [base_thread_fp=0 or 1] [servo_period_nsec=period] [traj_period_nsec=period] ] [num_dio=[1-64]_ | names_dout=name[,…​] names_din=name[,…​]] [num_aio=[1-64] | names_aout=name[,…​] _names_ain=*name[,…​]] ] [num_spindles=[1-8]] [unlock_joints_mask=_jointmask] [num_extrajoints=[0-16]]

Обмеження для наступних елементів є налаштуваннями часу компіляції:

num_joints

Максимальна кількість суглобів встановлена за допомогою EMCMOT_MAX_JOINTS.

num_dio

Максимальна кількість цифрових виводів вводу-виводу встановлюється параметром EMCMOT_MAX_DIO. Мінімальна кількість — 1, якщо параметр num_dio не вказано, за замовчуванням використовується значення DEFAULT_DIO.

names_dout

Розділений комами список імен для цифрових вивідних контактів. Цей параметр є взаємовиключним з num_dio, але може поєднуватися з names_din. Можна вказати максимум EMCMOT_MAX_DIO імен. Цифровий вихідний контакт за замовчуванням має імена типу motion.digital-out-00, тоді як names_dout=is-homing-x,is-homing-y створить контакти HAL motion.dout-is-homing-x та motion.dout-is-homing-y.

names_din

Розділений комами список імен для цифрових вхідних контактів. Цей параметр є взаємовиключним з num_dio, але може поєднуватися з names_dout. Можна вказати максимум EMCMOT_MAX_DIO імен. Цифровий вхідний контакт за замовчуванням має імена типу motion.digital-in-00, тоді як names_din=homed-x,homed-y створить контакти HAL motion.din-homed-x та motion.din-homed-y.

num_aio

Максимальна кількість аналогових виводів вводу-виводу встановлюється EMCMOT_MAX_AIO. Мінімальне значення — 1, якщо num_aio не вказано, за замовчуванням використовується значення DEFAULT_AIO.

names_aout

Розділений комами список імен для аналогових вихідних контактів. Цей параметр є взаємовиключним з num_aio, але може поєднуватися з names_ain. Можна вказати максимум EMCMOT_MAX_AIO імен. Аналоговий вихідний контакт за замовчуванням має імена типу motion.analog-out-00, тоді як names_aout=feedrate1,feedrate2 створить контакти HAL motion.aout-feedrate1 та motion.aout-feedrate2.

names_ain

Розділений комами список імен для аналогових вхідних контактів. Цей параметр є взаємовиключним з num_aio, але може поєднуватися з names_aout. Можна вказати максимум EMCMOT_MAX_AIO імен. За замовчуванням аналогові вхідні контакти мають імена типу motion.analog-in-00, тоді як names_ain=proxy1,proxy2 створить контакти HAL motion.ain-proxy1 та motion.ain-proxy2.

num_misc_error

Максимальна кількість додаткових вхідних помилок встановлюється EMCMOT_MAX_MISC_ERRORS.

names_misc_errors

Розділений комами список імен для додаткових входів помилок. Цей параметр є взаємовиключним з num_misc_error. При використанні num_misc_error додаткові вхідні контакти помилок матимуть імена на зразок motion.misc-error-00, тоді як names_misc_errors=overtemp,undertemp створить контакти hal motion.err-overtemp та motion.err-undertemp.

num_spindles

Максимальна кількість шпинделів встановлюється EMCMOT_MAX_SPINDLES.

Назви контактів, що починаються з "joint" або "axis", зчитуються та оновлюються функцією контролера руху.

ОПИС

Note
The base_thread_fp parameter is deprecated and ignored. All threads now unconditionally save and restore floating point state. This parameter will be removed in a future version.

Ці контакти та параметри створюються модулем motmod у режимі реального часу. Цей модуль забезпечує інтерфейс HAL для планувальника руху LinuxCNC. В основному motmod приймає список контрольних точок і генерує добре збалансований та обмежений потоком спільних положень, який подається на приводи двигунів.

Додатковий параметр num_extrajoints визначає кількість суглобів, які беруть участь у поверненні в вихідне положення, але не використовуються для кінематичних перетворень. Після повернення в вихідне положення управління «додатковим» суглобом передається до виводу HAL команди posthome (joint.N.posthome-cmd), а значення зворотного зв’язку двигуна ігнорується. «Додаткові» суглоби повинні управлятися незалежними планувальниками/контролерами руху (зазвичай за допомогою компонентів limit3 HAL). Додаткові з’єднання можуть бути виведені з базового положення тільки тоді, коли рух відключений.

Максимальне значення num_extrajoints дорівнює значенню num_joints. (Зверніть увагу, що використання максимального значення не дозволить виконувати операції у світових координатах). Значення num_joints має дорівнювати сумі кількості суглобів, що використовуються для розрахунків кінематики, та кількості «додаткових» суглобів.

Параметр num_joints зазвичай встановлюється за допомогою налаштування INI-файлу [KINS]JOINTS=value. Параметр num_extrajoints встановлюється за допомогою додаткового параметра motmod [EMCMOT]motmod num_extrajoints=value. Нумерація виводів HAL для всіх з’єднань починається з нуля [0 …​ num_joints-1]. При зазначенні «додаткові» суглоби присвоюються останнім num_extrajoints в послідовності нумерації. Наприклад, вказавши [KINS]JOINTS=5 і [EMCMOT]motmod num_extrajoints=2 для конфігурації trivkins з 3 з’єднаннями [KINS] KINEMATICS=trivkins coordinates=xyz, використовуються з’єднання 0,1,2 для кінематичних з’єднань і з’єднання 3,4 для «додаткових» з’єднань.

Завжди створюється однакова кількість цифрових або аналогових виводів вводу-виводу. Наприклад, якщо names_din вказано з двома контактами, буде створено два контакти з іменами входу та два контакти з іменами виходу за замовчуванням. У випадках, коли names_dout вказано з двома контактами, а names_din — з трьома контактами, буде створено два контакти з іменами виходу та один контакт з іменем виходу за замовчуванням, а також три контакти з іменами входу. Цей принцип застосовується незалежно до цифрових та аналогових контактів вводу-виводу, що дозволяє реалізувати такі сценарії, як наявність трьох цифрових контактів та двох аналогових контактів.

ШТИФТИ РУХУ

motion-command-handler.time OUT S32

Time (in ns) for the motion module motion-command-handler

motion-controller.time OUT S32

Time (in ns) for the motion module motion-controller

motion.adaptive-feed IN FLOAT

Коли адаптивна подача ввімкнена за допомогою M52 P1, задана швидкість множиться на це значення. Цей ефект є мультиплікативним із значенням перевищення рівня подачі NML та motion.feed-hold. Негативні значення є дійсними і запускають шлях G-коду у зворотному напрямку.

motion.analog-in-NN IN FLOAT

Ці контакти використовуються режимом очікування вводу M66 Enn.

motion.analog-out-NN OUT FLOAT

Ці штифти використовуються в M67-68.

motion.coord-error OUT BIT

TRUE, коли рух зіткнувся з помилкою, такою як перевищення програмного ліміту

motion.coord-mode OUT BIT

ІСТИНА, коли рух відбувається в "координованому режимі", на відміну від "режиму телеоп"

motion.current-vel OUT FLOAT

Поточна декартова швидкість

motion.digital-in-NN IN BIT

Ці контакти використовуються режимом очікування вводу M66 Pnn.

motion.digital-out-NN OUT BIT

Ці контакти керуються словами з M62 по M65.

motion.distance-to-go OUT FLOAT

Відстань, що залишилася в поточному русі

motion.enable IN BIT

Якщо цей біт має значення FALSE (хибка), рух зупиняється, машина переводиться у стан "вимкнено", і для оператора відображається повідомлення. Для нормального руху встановіть цей біт у значення TRUE (істина).

motion.eoffset-active OUT BIT

Вказує на активність зовнішніх зміщень (ненульових)

motion.eoffset-limited OUT BIT

Вказує на те, що рух із зовнішніми зміщеннями був обмежений м’яким обмеженням ([AXIS_L]MIN_LIMIT,MAX_LIMIT).

motion.feed-hold IN BIT

Коли керування зупинкою подачі ввімкнено за допомогою M53 P1, і цей біт має значення TRUE, швидкість подачі встановлюється на 0.

Примітка: блокування подачі застосовується до команд G-коду, а не до поштовхів.

motion.feed-inhibit IN BIT

Коли цей контакт має значення TRUE (істина), рух машини для команд G-коду заборонено.

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

Якщо машина перебуває посеред руху (не синхронізованого зі шпинделем), коли цей контакт переходить у стан TRUE, машина сповільниться до повної зупинки з максимально дозволеним прискоренням.

Рух відновлюється, коли цей штифт стає ХИБНИМ.

Примітка: блокування подачі застосовується до команд G-коду, а не до поштовхів.

motion.feed-upm OUT FLOAT

Поточна швидкість подачі в одиницях програми G-коду за хвилину для motion.motion-type feed(2) і arc(3). Значення дорівнює значенню F програми G-коду, помноженому на поточне значення перевищення швидкості подачі та налаштування motion.adaptive-feed (якщо M52 активний). Значення дорівнює нулю, якщо підтверджено motion.feed-hold або motion.feed-inhibit. Якщо одиниці виміру (G20 або G21) не вказані у файлі G-коду, то одиниці виміру будуть останніми використаними одиницями.

motion.feed-inches-per-minute OUT FLOAT

Поточна швидкість подачі в дюймах на хвилину для motion.motion-type feed(2) та arc(3). Значення є еквівалентом у дюймах значення F програми G-коду, помноженим на поточне значення перевищення швидкості подачі та налаштування motion.adaptive-feed (якщо M52 активний). Значення дорівнює нулю, якщо motion.feed-hold або motion.feed-inhibit підтверджені.

motion.feed-inches-per-second OUT FLOAT

Поточна швидкість подачі в дюймах за секунду для motion.motion-type feed(2) та arc(3). Значення є еквівалентом у дюймах значення F програми G-коду, помноженим на поточне значення перевищення швидкості подачі та налаштування motion.adaptive-feed (якщо M52 активний). Значення дорівнює нулю, якщо motion.feed-hold або motion.feed-inhibit підтверджені.

motion.feed-mm-per-minute OUT FLOAT

Поточна швидкість подачі в мм за хвилину для motion.motion-type feed(2) і arc(3). Значення є еквівалентом в мм значення F програми G-коду, помноженим на поточне значення перевищення швидкості подачі та налаштування motion.adaptive-feed (якщо M52 активний). Значення дорівнює нулю, якщо motion.feed-hold або motion.feed-inhibit підтверджені.

motion.feed-mm-per-second OUT FLOAT

Поточна швидкість подачі в мм за секунду для motion.motion-type feed(2) і arc(3). Значення є еквівалентом в мм значення F програми G-коду, помноженим на поточне значення перевищення швидкості подачі та налаштування motion.adaptive-feed (якщо M52 активний). Значення дорівнює нулю, якщо motion.feed-hold або motion.feed-inhibit підтверджені.

motion.homing-inhibit IN BIT

Якщо цей біт має значення TRUE (ІСТИНА), ініціювання будь-якого спільного руху самонаведення (включаючи "Home All") заборонено, і повідомляється про помилку. За замовчуванням самонаведення дозволено в спільному режимі, коли рух увімкнено.

motion.is-all-homed OUT BIT

ІСТИНА, якщо всі активні з’єднання відведені до вихідної точки.

motion.jog-inhibit IN BIT

Якщо цей біт має значення TRUE (ІСТИНА), штовхання будь-якого з’єднання або осі заборонено, і повідомляється про помилку.

motion.jog-stop IN BIT

Якщо будь-який поштовховий рух активний, коли стан виводу змінюється на TRUE, то цей поштовховий рух буде зупинено після досягнення відповідних значень прискорення.

motion.jog-stop-immediate IN BIT

Якщо будь-який поштовховий рух активний, коли стан виводу змінюється на TRUE, то цей поштовховий рух буде негайно зупинено.

motion.jog-is-active OUT BIT

TRUE, якщо будь-який суглоб або вісь.

motion.in-position OUT BIT

TRUE якщо машина знаходиться на потрібному положенні (тобто наразі не рухається до заданого положення).

motion.misc-error-NN IN BIT

Додаткові вхідні дані для помилок, таких як датчики перегріву, попередження про низький рівень охолоджувальної рідини, помилки користувацьких компонентів HAL. Якщо встановлено значення TRUE, це призведе до відключення верстата. Подібно до spindle.amp-fault-in.

motion.motion-enabled OUT BIT

+

motion.motion-type OUT S32

Ці значення взяті з src/emc/nml_intf/motion_types.h:

0: Холостий (без руху)
1: Траверс
2: Лінійна подача
3: Подача дуги
4: Зміна інструменту
5: Зондування
6: Поворотне розблокування для траверсу
motion.on-soft-limit OUT BIT
motion.probe-input IN BIT

G38.n використовує значення на цьому виводі для визначення моменту контакту зонда. TRUE (ІСТИНА) – якщо контакт зонда замкнутий (торкається), FALSE (ХИБНІСТЬ) – якщо контакт зонда розімкнутий.

motion.program-line OUT S32

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

motion.requested-vel OUT FLOAT

Поточна запитувана швидкість в одиницях користувача за секунду. Це значення є налаштуванням F-слова з файлу G-коду, яке може бути зменшене з урахуванням обмежень швидкості та прискорення верстата. Значення на цьому виводі не відображає перевищення подачі або будь-які інші налаштування.

motion.servo.last-period OUT U32

Time (in ns) between invocations of the servo thread. Typically, this number divided by the CPU speed gives the time in seconds, and can be used to determine whether the realtime motion controller is meeting its timing constraints

motion.switchkins-type IN float

Модулі кінематики, що визначають функції kinematicsSwitchable() та kinematicsSwitch(), отримують цілочисельне значення цього виводу для вибору функцій кінематики машини. Для синхронізації завдання та руху до і після зміни значення виводу можуть знадобитися додаткові команди G-коду.

motion.teleop-mode OUT BIT

Режим руху – телеоптичний (доступне штовхання по осях за координатами).

motion.tooloffset.L OUT FLOAT

Поточне зміщення інструменту для кожної осі, де (L – літера осі, одна з: x y z a b c u v w)

motion.tp-reverse OUT BIT

Планування траєкторії зворотне (зворотний біг)

Interpreter Metadata Pins

These pins provide geometric intent and interpreter state for the segment of motion currently being executed. Unlike standard position feedback, these values are synchronized with the trajectory planner’s execution point.

Interpreter Status Pins

  • motion.interp.line-number (s32, out)
    The current G-code line number being executed.

  • motion.interp.motion-type (s32, out)
    The type of motion currently in progress:

    • 0: None

    • 1: Rapid (G0)

    • 2: Feed (G1)

    • 3: Arc (G2, G3)

    • 4: Tool Change/Other

  • motion.interp.feedrate (float, out)
    The interpreted feedrate for the current segment in units per minute.

Interpreter Geometric Pins

  • motion.interp.heading (float, out)
    The XY plane heading of the current linear move in degrees. Measured counter-clockwise from the +X axis (0 to 360). This could be used to control a tangential knife.

  • motion.interp.arc-radius (float, out)
    The radius of the current circular move. This value is 0.0 during linear moves. This could be used to modify plasma cutting parameters based on the arc radius and when hole cutting.

  • motion.interp.arc-center-x (float, out)
    The absolute X-coordinate of the center point for the current arc. 0 if in YZ plane

  • motion.interp.arc-center-y (float, out)
    The absolute Y-coordinate of the center point for the current arc. 0 if in XZ plane

  • motion.interp.arc-center-z (float, out)
    The absolute Y-coordinate of the center point for the current arc if in XZ or YZ plane.

  • motion.interp.normal-heading (float, out)
    the heading from the current point back to the arc centre for the current arc.

  • motion.interp.iscircle (bit, out)
    True if the current arc is a full circle and not a helix.

Note
These pins represent the commanded geometric intent from the interpreter and are updated in real-time as each motion segment is consumed by the trajectory planner.

ШТИФТИ ОСІ

(L — це літера осі, одна з: x y z a b c u v w)

axis.L.eoffset OUT FLOAT

Поточне зовнішнє зміщення.

axis.L.eoffset-clear IN BIT

Очистити запит на зовнішнє зміщення

axis.L.eoffset-counts IN S32

Підраховує вхідні дані для зовнішнього зміщення. Значення eoffset-counts передаються до внутрішнього регістру. Застосоване зовнішнє зміщення є добутком значень регістру та значення eoffset-scale. Регістр обнуляється при кожному запуску машини. Якщо машина вимикається з активним зовнішнім зміщенням, перед повторним запуском вивід eoffset-counts слід встановити на нуль.

axis.L.eoffset-enable IN BIT

Увімкнути зовнішнє зміщення (також потрібне налаштування INI-файлу для [AXIS_L]OFFSET_AV_RATIO)

axis.L.eoffset-request OUT FLOAT

Налагоджувальний контакт для запитуваного зовнішнього зміщення.

axis.L.eoffset-scale IN FLOAT

Масштаб для зовнішнього зміщення.

axis.L.jog-accel-fraction IN FLOAT

Встановлює прискорення для бігового переміщення колеса на частку від max_acceleration INI для осі. Значення більше 1 або менше нуля ігноруються.

axis.L.jog-counts IN S32

Підключіться до контакту "counts" зовнішнього енкодера, щоб використовувати фізичне поворотне колесо.

axis.L.jog-enable IN BIT

Якщо значення TRUE (і в ручному режимі), будь-яка зміна параметра "jog-counts" призведе до руху. Якщо значення false, параметр "jog-counts" ігнорується.

axis.L.jog-scale IN FLOAT

Встановлює відстань, на яку переміщується кожен лічильник на "підрахунку поштовхів", у машинних одиницях вимірювання.

axis.L.jog-vel-mode IN BIT

При значенні FALSE (за замовчуванням) колесо управління працює в режимі положення. Вісь буде рухатися точно на величину, що відповідає шкалі колеса, за кожним рахунком, незалежно від того, скільки часу це займе. При значенні TRUE колесо працює в режимі швидкості — рух зупиняється, коли колесо зупиняється, навіть якщо це означає, що заданий рух не завершено.

axis.L.kb-jog-active OUT BIT

(активний біг по осі безкоштовного планувальника (клавіатура або халуї))

axis.L.pos-cmd OUT FLOAT

Командована позиція осі. Між координатами осі та двигуна може бути кілька зміщень: компенсація люфту, компенсація похибки гвинта та зміщення початкової позиції. Зовнішні зміщення повідомляються окремо (axis.L.eoffset).

axis.L.teleop-pos-cmd OUT FLOAT
axis.L.teleop-tp-enable OUT BIT

TRUE, якщо для цієї осі ввімкнено "планувальник телеоптичних опцій".

axis.L.teleop-vel-cmd OUT FLOAT

Задана швидкість осі.

axis.L.teleop-vel-lim OUT FLOAT

Обмеження швидкості для планувальника телеоперацій.

axis.L.wheel-jog-active OUT BIT

+

Штифти шарніра

N номер суглоба (0 …​ кількість_суглобів-1))

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

joint.N.acc-cmd OUT FLOAT (DEBUG)

Командне прискорення суглоба.

joint.N.active OUT BIT (DEBUG)

ІСТИНА, коли цей суглоб активний.

joint.N.amp-enable-out OUT BIT

TRUE якщо підсилювач для цього з’єднання має бути ввімкнений.

joint.N.amp-fault-in IN BIT

Має бути встановлене на TRUE, якщо виявлено зовнішню несправність підсилювача для цього з’єднання.

joint.N.backlash-corr OUT FLOAT (DEBUG)

Необроблене значення компенсації люфту або гвинта.

joint.N.backlash-filt OUT FLOAT (DEBUG)

Фільтровані значення компенсації люфту або гвинта (з урахуванням обмежень руху).

joint.N.backlash-vel OUT FLOAT (DEBUG)

Швидкість компенсації люфту або гвинта.

joint.N.coarse-pos-cmd OUT FLOAT (DEBUG)
joint.N.error OUT BIT (DEBUG)

TRUE, коли в цьому з’єднанні сталася помилка, наприклад, закриття кінцевого вимикача.

joint.N.f-error OUT FLOAT (DEBUG)

Фактична наступна помилка.

joint.N.f-error-lim OUT FLOAT (DEBUG)

Наступна межа помилки.

joint.N.f-errored OUT BIT (DEBUG)

TRUE коли цей суглоб перевищив наступну межу похибки.

joint.N.faulted OUT BIT (DEBUG)
joint.N.free-pos-cmd OUT FLOAT (DEBUG)

«Вільний планувальник» наказав позицію для цього суглоба.

joint.N.free-tp-enable OUT BIT (DEBUG)

TRUE коли для цього суглоба увімкнено "вільний планувальник".

joint.N.free-vel-lim OUT FLOAT (DEBUG)

Обмеження швидкості для вільного планувальника.

joint.N.home-state OUT S32 (DEBUG)

стан кінцевого автомата самонаведення

joint.N.home-sw-in IN BIT

Має бути встановлене на TRUE, якщо початковий перемикач для цього з’єднання замкнутий.

joint.N.homed OUT BIT (DEBUG)

TRUE, якщо з’єднання було переведено в основну точку.

joint.N.homing OUT BIT

ІСТИНА, якщо з’єднання наразі переміщується в початкове положення.

joint.N.in-position OUT BIT (DEBUG)

TRUE, якщо джонг використовує "вільний планувальник" і зупинився.

joint.N.index-enable IO BIT

Слід підключити до контакту ввімкнення індексування енкодера з’єднання, щоб увімкнути повернення до індексного імпульсу.

joint.N.is-unlocked IN BIT

Вказує, що шарнір розблоковано (див. ШТИФТИ РОЗБЛОКУВАННЯ ШЛІНА).

joint.N.jog-accel-fraction IN FLOAT

Встановлює прискорення для бігового переміщення колеса рівним частці від max_acceleration INI для з’єднання. Значення більше 1 або менше нуля ігноруються.

joint.N.jog-counts IN S32

Підключіться до контакту "counts" зовнішнього енкодера, щоб використовувати фізичне поворотне колесо.

joint.N.jog-enable IN BIT

Якщо значення TRUE (і в ручному режимі), будь-яка зміна параметра "jog-counts" призведе до руху. Якщо значення false, параметр "jog-counts" ігнорується.

joint.N.jog-scale IN FLOAT

Встановлює відстань, на яку переміщується кожен лічильник на "підрахунку поштовхів", у машинних одиницях вимірювання.

joint.N.jog-vel-mode IN BIT

При значенні FALSE (за замовчуванням) колесо управління працює в режимі положення. Шарнір буде рухатися точно на величину, що відповідає шкалі колеса, за кожну одиницю відліку, незалежно від того, скільки часу це займе. При значенні TRUE колесо працює в режимі швидкості — рух зупиняється, коли колесо зупиняється, навіть якщо це означає, що заданий рух не буде завершено.

joint.N.kb-jog-active OUT BIT (DEBUG)

(безкоштовний планувальник спільних активних пробіжок (клавіатура або халуї))

joint.N.motor-offset OUT FLOAT (DEBUG)

Зміщення двигуна суглоба встановлюється при переміщенні суглоба в початкове положення.

joint.N.motor-pos-cmd OUT FLOAT

Командне положення для цього суглоба.

joint.N.motor-pos-fb IN FLOAT

Фактичне положення цього суглоба.

joint.N.neg-hard-limit OUT BIT (DEBUG)

Негативна жорстка межа для суглоба

joint.N.neg-lim-sw-in IN BIT

Має бути встановлено на TRUE, якщо спрацював негативний кінцевий вимикач для цього з’єднання.

joint.N.pos-cmd OUT FLOAT

Положення, що задається суглобом (на відміну від двигуна). Між координатами суглоба та двигуна може бути кілька зміщень: компенсація люфту, компенсація помилки гвинта та зміщення додому.

joint.N.pos-fb OUT FLOAT

Положення суглоба за зворотним зв’язком. Це значення обчислюється з фактичного положення двигуна за вирахуванням зміщень суглоба. Корисно для візуалізації машини.

joint.N.pos-hard-limit OUT BIT (DEBUG)

Додатна жорстка межа для суглоба.

joint.N.pos-lim-sw-in IN BIT

Має бути встановлено на TRUE, якщо спрацював позитивний кінцевий вимикач для цього з’єднання.

joint.N.unlock OUT BIT

TRUE, якщо вісь є заблокованим з’єднанням (зазвичай поворотним) і надається команда на переміщення (див. ШТИФТИ РОЗБЛОКУВАННЯ З’ЄДНАННЯ).

joint.N.vel-cmd OUT FLOAT (DEBUG)

Задана швидкість суглоба.

joint.N.jerk-cmd OUT FLOAT (DEBUG)

The joint’s commanded jerk (rate of change of acceleration). Only active when S-curve trajectory planning is enabled (INI file [TRAJ]PLANNER_TYPE=1 and [TRAJ]MAX_LINEAR_JERK>0). Jerk limits are set via INI file [JOINT_N]MAX_JERK or via the ini.N.max_jerk HAL pin.

joint.N.wheel-jog-active OUT BIT (DEBUG)

+

Штифти JOINT для постів

Кожен шарнір, позначений як «додатковий», має контакт HAL joint.N.posthome-cmd. Значення контакту ігнорується до повернення в початкове положення. Після повернення в початкове положення значення контакту збільшується на значення зміщення двигуна і передається до joint.N.motor-pos-cmd.

Штифти розблокування JOINT

Штифти, що використовуються для розблокування з’єднання (joint.N.unlock, joint.N.is-unlock), створюються відповідно до параметра unlock_joints_mask=jointmask для motmod. Ці штифти можуть бути необхідні для блокування індексаторів (зазвичай поворотного з’єднання).

Біти маски спільного доступу: (lsb)0:joint0, 1:joint1, 2:joint2, …​

Приклад: loadrt motmod …​ unlock_joints_mask=0x38 створює розблокувальні контакти для з’єднань 3, 4, 5.

Штифти шпинделя

(M – номер шпинделя (0 …​ кількість_шпинделів-1))

spindle.M.amp-fault-in IN BIT

Має бути встановлене на TRUE, якщо виявлено зовнішню несправність підсилювача для цього шпинделя.

spindle.M.at-speed IN BIT

Рух буде призупинено, поки цей вивід не стане TRUE, за таких умов: перед першим переміщенням подачі після кожного запуску шпинделя або зміни швидкості; перед початком кожного ланцюжка рухів, синхронізованих зі шпинделем; а також у режимі CSS під час кожного переходу з швидкого переміщення на подачу.

spindle.M.brake OUT BIT

TRUE (ІСТИНА), коли слід застосувати гальмо шпинделя.

spindle.M.forward OUT BIT

TRUE (ІСТИНА), коли шпиндель має обертатися вперед.

spindle.M.index-enable I/O BIT

Для правильної роботи синхронізованих рухів шпинделя цей сигнал має бути підключений до контакту ввімкнення індексу енкодера шпинделя.

spindle.M.inhibit IN BIT

Коли значення TRUE (ІСТИНА), швидкість шпинделя встановлюється та утримується на рівні 0.

spindle.M.is-oriented IN BIT

Контакт підтвердження орієнтації шпинделя. Завершує цикл орієнтації. Якщо орієнтація шпинделя була справжньою, коли було підтверджено орієнтацію шпинделя, контакт орієнтації шпинделя очищується, а контакт блокування шпинделя підтверджується. Також підтверджується контакт гальма шпинделя.

spindle.M.locked OUT BIT

Повний штифт, орієнтований на шпиндель. Очищається будь-яким з M3, M4 або M5.

spindle.M.on OUT BIT

ІСТИНА, коли шпиндель має обертатися.

spindle.M.orient OUT BIT

Вказує на початок циклу орієнтації шпинделя. Встановлюється за допомогою M19. Скидається за допомогою будь-якої з M3, M4 або M5.

Якщо значення spindle-orient-fault не дорівнює нулю під час значення spindle-orient-true, команда M19 не виконується з повідомленням про помилку.

spindle.M.orient-angle OUT FLOAT

Бажана орієнтація шпинделя для M19. Значення параметра R-слова M19 плюс значення параметра INI [RS274NGC]ORIENT_OFFSET.

spindle.M.orient-fault IN S32

Введено код помилки для орієнтаційного циклу. Будь-яке значення, відмінне від нуля, призведе до переривання орієнтаційного циклу.

spindle.M.orient-mode OUT BIT

Бажаний режим обертання шпинделя. Відображає слово параметра M19 P.

spindle.M.reverse OUT BIT

TRUE (ІСТИНА), коли шпиндель має обертатися назад.

spindle.M.revs IN FLOAT

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

spindle.M.speed-cmd-rps FLOAT OUT

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

spindle.M.speed-in IN FLOAT

Фактичний зворотний зв’язок щодо швидкості шпинделя в обертах за секунду; використовується для режимів G96 (постійна поверхнева швидкість) та G95 (подача на оберт).

spindle.M.speed-out OUT FLOAT

Бажана швидкість шпинделя в обертах за хвилину.

spindle.M.speed-out-abs OUT FLOAT

Бажана швидкість шпинделя в обертах за хвилину, завжди додатна незалежно від напрямку обертання шпинделя.

spindle.M.speed-out-rps OUT FLOAT

Бажана швидкість шпинделя в обертах за секунду.

spindle.M.speed-out-rps-abs OUT FLOAT

Бажана швидкість шпинделя в обертах за секунду, завжди додатна незалежно від напрямку обертання шпинделя.

ПАРАМЕТРИ РУХУ

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

motion-command-handler.tmax RW S32

Show information about the execution time of these HAL functions in ns.

motion-command-handler.tmax-increased RO S32
motion-controller.tmax RW S32

Show information about the execution time of these HAL functions in ns.

motion-controller.tmax-increased RO BIT

+

motion.debug-*

Ці значення використовуються для налагодження.

ФУНКЦІЇ

Зазвичай ці функції додаються до серво-потоку в показаному порядку.

motion-command-handler

Отримувати та обробляти вхідні команди руху. Для цієї функції створено контакт motion-command-handler.time та параметри motion-command-handler.tmax,tmax-increased.

motion-controller

Запускає контролер руху LinuxCNC. Для цієї функції створено контакт motion-controller.time та параметри motion-controller.tmax,tmax-increased.

ПОМИЛКИ

Ця сторінка посібника неповна.

Ідентифікація контактів, класифікованих за допомогою (DEBUG), є сумнівною.

ДИВІТЬСЯ ТАКОЖ

iocontrol(1), milltask(1), spindle(9)