СИНТАКСИС
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)