LinuxCNC Documentation

ІМ’Я

hal_manualtoolchange – компонент HAL, що не працює в режимі реального часу, для ручної зміни інструментів.

СИНТАКСИС

loadusr hal_manualtoolchange

ОПИС

hal_manualtoolchange — це компонент LinuxCNC, що не працює в режимі реального часу, який дозволяє користувачам, що мають верстати без автоматичних пристроїв зміни інструментів, здійснювати зміну інструментів вручну. При використанні, коли зустрічається зміна інструменту M6, компонент руху зупинить шпиндель і призупинить програму. Компонент hal_manualtoolchange отримає сигнал від компонента руху, що змусить його відобразити вікно зміни інструменту, яке запропонує користувачеві ввести номер інструменту, який потрібно завантажити, на основі останнього запрограмованого номера T. Діалогове вікно залишатиметься активним, доки не буде натиснуто кнопку «продовжити». Після натискання кнопки «Продовжити» hal_manualtoolchange подасть сигнал компоненту руху про завершення заміни інструменту, що дозволить руху знову увімкнути шпиндель і продовжити виконання програми.

Крім того, компонент hal_manualtoolchange містить контакт hal для кнопки, який можна підключити до фізичної кнопки, щоб завершити зміну інструменту та видалити вікно запиту. (hal_manualtoolchange.change_button).

hal_manualtoolchange можна використовувати, навіть коли AXIS не використовується як графічний інтерфейс. Цей компонент найбільш корисний, якщо у вас є попередньо налаштовані інструменти та ви використовуєте таблицю інструментів.

ПІНИ

hal_manualtoolchange.number s32 in

Отримує останній запрограмований Т-номер.

hal_manualtoolchange.change bit in

Отримує сигнал для зміни інструменту.

hal_manualtoolchange.changed bit out

Означає, що зміну інструменту завершено.

hal_manualtoolchange.change_button bit in

Закріпіть, щоб зовнішній перемикач сигналізував про завершення зміни інструменту.

ВИКОРИСТАННЯ

Зазвичай компонент завантажується у файл HAL, а відповідні виводи підключаються до компонентів motion та io. Наступні рядки є типовими для файлу HAL при використанні нереального часу компонента hal_manualtoolchange.

loadusr -W hal_manualtoolchange

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

net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change

При виконанні коду M6 рух встановлює iocontrol.0.tool-change у високий стан, що вказує на зміну інструменту. Цей вивід повинен бути підключений до hal_manualtoolchange.change. Це призводить до відображення на екрані діалогового вікна «Зміна інструменту» і очікування, поки користувач натисне кнопку «Продовжити» у діалоговому вікні або натисне зовнішню кнопку.

net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed

Коли натискається кнопка «Продовжити» у діалоговому вікні «Зміна інструменту», вивід hal_manualtoolchange.changed встановлюється у високий рівень, який повинен бути підключений до виводу iocontrol.0.tool-changed, що вказує контролеру руху на те, що зміна інструменту завершена і можна продовжувати виконання програми G-коду.

net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number

Коли в програмі G-коду виконується команда T, номер інструменту зберігається в iocontrol.0.tool-prep-number. Цей контакт повинен бути підключений до hal_manualtoolchange.number. Значення цього контакту, номер інструменту, відображається в діалоговому вікні зміни інструменту, щоб користувач знав, який інструмент слід завантажити.

net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared

Контакт iocontrol.0.tool-prepare перейде в стан «істина», коли буде запрошено підготовку інструменту Tn. Оскільки автоматичного змінювача інструменту немає, цей контакт слід підключити до iocontrol.0.tool-prepared, щоб вказати, що інструмент підготовлено.

Якщо ви хочете використовувати зовнішню кнопку для сигналізації компоненту hal_manualtoolchange про завершення заміни інструменту, просто підключіть кнопку до HAL (через вхідний контакт parport або вхід hostmot2 gpio або подібний) і підключіть її безпосередньо до контакту hal_manualtoolchange.change_button. Наприклад:

net tool-changed-btn hal_manualtoolchange.change_button <= parport.0.pin-15-in

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

motion(1), iocontrol(1), halcmd(1).