условие для вьйполнение custom.hal ??

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

условие для вьйполнение custom.hal ??

Сообщение dinkata »

Какие возможности сделат
halui.machine.is-on (bit, out) - indicates machine on
условие для вьйпполнение custom.hal .
Т.е. хочется вся логика в custom.hal вьйполнялос после включение станка .
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: условие для вьйполнение custom.hal ??

Сообщение Serg »

HAL конфиг не выполняется до или после, он выполняется весь и сразу, ибо это не программа, а язык описания логических схем.
Ты ж не будешь втыкать в розетку оголённые провода и после этого подсоединять к ним остальные электрокомпоненты... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: условие для вьйполнение custom.hal ??

Сообщение nkp »

стоит отметить,что мы всегда можем "подгрузить" любую строку HAL ,
или набор строк (что равносильно файлу HAL)...
например(может не самый оптимальный - но все же)):
загружаем наш емс...
пишем файл hal.sh с нашими строками:

Код: Выделить всё

halcmd loadrt pid num_chan=1
halcmd addf pid.0.do-pid-calcs   servo-thread

halcmd loadrt abs count=1
halcmd addf abs.0 servo-thread
halcmd loadrt mux2 count=1
halcmd addf mux2.0 servo-thread

halcmd setp mux2.0.in0 1
halcmd setp mux2.0.in1 2

halcmd net abs axis.0.joint-vel-cmd  abs.0.in
halcmd net sel  mux2.0.sel  abs.0.is-positive
делаем его исполняемым...
теперь при его запуске наш компонент "подгрузится" в емс
-------------
из емс мы можем его запустить MDI-командой ,которая запустит М-код с активацией нашего скрипта hal.sh
-----------
только условие надо будет : если halui.machine.is-on TRUE И axis.0.homed TRUE И axis.1.homed TRUE И axis.2.homed TRUE то halui.mdi-command-<nn>
==============
ну конечно этот способ для "подгрузки" строк в конфиг ,который запускается и уже работает ;)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: условие для вьйполнение custom.hal ??

Сообщение Serg »

Только вот при повторном запуске "всё сломается"...

Рекомендую рассматривать HAL не как последовательность исполняемых команд, а именно как описание схемы - жизнь сразу станет проще и понятнее. :)
Я б в похожей ситуации сразу-бы "создал" всю схему, но сделал-бы так, чтобы сигналы в эту её часть поступали только при выполнении нужных условий...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: условие для вьйполнение custom.hal ??

Сообщение dinkata »

UAVpilot писал(а): сразу-бы "создал" всю схему, но сделал-бы так, чтобы сигналы в эту её часть поступали только при выполнении нужных условий...
Если не трудно дайте простой пример ,пожалуйста
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: условие для вьйполнение custom.hal ??

Сообщение dinkata »

UAVpilot писал(а): а именно как описание схемы
:D
та проблем в том ,опишеш если знаеш язьйк
net svet klutch => lamp # ето понятно

if klutch1 == 1 then
net svet2 klutch2 => lamp 2 # а ето как опишеш ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: условие для вьйполнение custom.hal ??

Сообщение PKM »

Посмотри Classicladder
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: условие для вьйполнение custom.hal ??

Сообщение Serg »

dinkata писал(а):а ето как опишеш ?

Код: Выделить всё

net klutch1 => and2.in0
net klutch2 => and2.in1
net svet2 and2.out => lamp2
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

Вернуться в «LinuxCNC»