LinuxCNC Documentation

СИНТАКСИС

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 SINT

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

motion-controller.time OUT SINT

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

motion.adaptive-feed IN REAL

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

motion.analog-in-NN IN REAL

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

motion.analog-out-NN OUT REAL

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

motion.coord-error OUT BOOL

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

motion.coord-mode OUT BOOL

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

motion.current-vel OUT REAL

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

motion.digital-in-NN IN BOOL

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

motion.digital-out-NN OUT BOOL

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

motion.distance-to-go OUT REAL

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

motion.enable IN BOOL

If this bool is driven FALSE, motion stops, the machine is placed in the "machine off" state, and a message is displayed for the operator. For normal motion, drive this bool TRUE.

motion.eoffset-active OUT BOOL

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

motion.eoffset-limited OUT BOOL

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

motion.feed-hold IN BOOL

When Feed Stop Control is enabled with M53 P1, and this bool is TRUE, the feed rate is set to 0.

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

motion.feed-inhibit IN BOOL

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

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

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

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

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

motion.feed-upm OUT REAL

Поточна швидкість подачі в одиницях програми 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 REAL

Поточна швидкість подачі в дюймах на хвилину для 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 REAL

Поточна швидкість подачі в дюймах за секунду для 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 REAL

Поточна швидкість подачі в мм за хвилину для 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 REAL

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

motion.homing-inhibit IN BOOL

If this bool is TRUE, initiation of any joint homing move (including "Home All") is disallowed and an error is reported. By default, homing is allowed in joint mode whenever motion is enabled.

motion.is-all-homed OUT BOOL

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

motion.jog-inhibit IN BOOL

If this bool is TRUE, jogging of any joint or axis is disallowed and an error is reported.

motion.jog-stop IN BOOL

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

motion.jog-stop-immediate IN BOOL

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

motion.jog-is-active OUT BOOL

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

motion.in-position OUT BOOL

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

motion.misc-error-NN IN BOOL

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

motion.motion-enabled OUT BOOL

+

motion.motion-type OUT SINT

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

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

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

motion.program-line OUT SINT

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

motion.requested-vel OUT REAL

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

motion.servo.last-period OUT UINT

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 REAL

Kinematics modules that define the functions kinematicsSwitchable() and kinematicsSwitch() receive the integer value of this pin to select the machine kinematics functions. Extra G-code commands are required to synchronize task and motion before and after changes to the pin value. Deprecated: the interpreter does not see this pin, so limits and look ahead go on using the kinematics it last knew about. Use the G-code words G12.1 P- and G13.1, which ask motion directly and synchronize task and motion themselves. Motion reports the deprecation once, the first time the pin is used to change the kinematics. The pin is in a grace period: it keeps working for now, but is meant to be removed in the future.

motion.kins-type OUT REAL

The kinematics currently in force, whether it was selected by G12.1, by G13.1 or from motion.switchkins-type. A kinematics type the module refuses is not reported here.

motion.teleop-mode OUT BOOL

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

motion.tooloffset.L OUT REAL

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

motion.tp-reverse OUT BOOL

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

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 (sint, out)
    The current G-code line number being executed.

  • motion.interp.motion-type (sint, 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 (real, out)
    The interpreted feedrate for the current segment in units per minute.

Interpreter Geometric Pins

  • motion.interp.heading (real, 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 (real, 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 (real, out)
    The absolute X-coordinate of the center point for the current arc. 0 if in YZ plane

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

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

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

  • motion.interp.iscircle (bool, 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 REAL

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

axis.L.eoffset-clear IN BOOL

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

axis.L.eoffset-counts IN SINT

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

axis.L.eoffset-enable IN BOOL

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

axis.L.eoffset-request OUT REAL

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

axis.L.eoffset-scale IN REAL

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

axis.L.jog-accel-fraction IN REAL

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

axis.L.jog-counts IN SINT

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

axis.L.jog-enable IN BOOL

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

axis.L.jog-scale IN REAL

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

axis.L.jog-vel-mode IN BOOL

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

axis.L.kb-jog-active OUT BOOL

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

axis.L.pos-cmd OUT REAL

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

axis.L.teleop-pos-cmd OUT REAL
axis.L.teleop-tp-enable OUT BOOL

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

axis.L.teleop-vel-cmd OUT REAL

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

axis.L.teleop-vel-lim OUT REAL

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

axis.L.wheel-jog-active OUT BOOL

+

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

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

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

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

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

joint.N.active OUT BOOL (DEBUG)

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

joint.N.amp-enable-out OUT BOOL

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

joint.N.amp-fault-in IN BOOL

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

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

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

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

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

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

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

joint.N.coarse-pos-cmd OUT REAL (DEBUG)
joint.N.error OUT BOOL (DEBUG)

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

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

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

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

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

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

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

joint.N.faulted OUT BOOL (DEBUG)
joint.N.free-pos-cmd OUT REAL (DEBUG)

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

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

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

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

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

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

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

joint.N.home-sw-in IN BOOL

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

joint.N.homed OUT BOOL (DEBUG)

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

joint.N.homing OUT BOOL

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

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

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

joint.N.index-enable IO BOOL

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

joint.N.is-unlocked IN BOOL

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

joint.N.jog-accel-fraction IN REAL

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

joint.N.jog-counts IN SINT

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

joint.N.jog-enable IN BOOL

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

joint.N.jog-scale IN REAL

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

joint.N.jog-vel-mode IN BOOL

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

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

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

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

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

joint.N.motor-pos-cmd OUT REAL

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

joint.N.motor-pos-fb IN REAL

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

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

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

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

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

joint.N.pos-cmd OUT REAL

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

joint.N.pos-fb OUT REAL

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

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

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

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

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

joint.N.unlock OUT BOOL

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

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

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

joint.N.jerk-cmd OUT REAL (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 BOOL (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 BOOL

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

spindle.M.at-speed IN BOOL

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

spindle.M.brake OUT BOOL

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

spindle.M.forward OUT BOOL

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

spindle.M.index-enable IO BOOL

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

spindle.M.inhibit IN BOOL

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

spindle.M.is-oriented IN BOOL

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

spindle.M.locked OUT BOOL

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

spindle.M.on OUT BOOL

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

spindle.M.orient OUT BOOL

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

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

spindle.M.orient-angle OUT REAL

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

spindle.M.orient-fault IN SINT

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

spindle.M.orient-mode OUT BOOL

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

spindle.M.reverse OUT BOOL

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

spindle.M.revs IN REAL

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

spindle.M.speed-cmd-rps OUT REAL

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

spindle.M.speed-in IN REAL

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

spindle.M.speed-out OUT REAL

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

spindle.M.speed-out-abs OUT REAL

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

spindle.M.speed-out-rps OUT REAL

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

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

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

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

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

motion-command-handler.tmax RW SINT

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

motion-command-handler.tmax-increased RO BOOL
motion-controller.tmax RW SINT

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

motion-controller.tmax-increased RO BOOL

+

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), є сумнівною.

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