Какие возможности сделат
halui.machine.is-on (bit, out) - indicates machine on
условие для вьйпполнение custom.hal .
Т.е. хочется вся логика в custom.hal вьйполнялос после включение станка .
условие для вьйполнение custom.hal ??
- dinkata
- Мастер
- Сообщения: 1028
- Зарегистрирован: 05 сен 2014, 09:07
- Репутация: 391
- Настоящее имя: Диньо
- Откуда: Болгария
- Контактная информация:
условие для вьйполнение custom.hal ??
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: условие для вьйполнение custom.hal ??
HAL конфиг не выполняется до или после, он выполняется весь и сразу, ибо это не программа, а язык описания логических схем.
Ты ж не будешь втыкать в розетку оголённые провода и после этого подсоединять к ним остальные электрокомпоненты...
Ты ж не будешь втыкать в розетку оголённые провода и после этого подсоединять к ним остальные электрокомпоненты...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: условие для вьйполнение custom.hal ??
стоит отметить,что мы всегда можем "подгрузить" любую строку HAL ,
или набор строк (что равносильно файлу HAL)...
например(может не самый оптимальный - но все же)):
загружаем наш емс...
пишем файл hal.sh с нашими строками:
делаем его исполняемым...
теперь при его запуске наш компонент "подгрузится" в емс
-------------
из емс мы можем его запустить MDI-командой ,которая запустит М-код с активацией нашего скрипта hal.sh
-----------
только условие надо будет : если halui.machine.is-on TRUE И axis.0.homed TRUE И axis.1.homed TRUE И axis.2.homed TRUE то halui.mdi-command-<nn>
==============
ну конечно этот способ для "подгрузки" строк в конфиг ,который запускается и уже работает
или набор строк (что равносильно файлу 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 ??
Только вот при повторном запуске "всё сломается"...
Рекомендую рассматривать HAL не как последовательность исполняемых команд, а именно как описание схемы - жизнь сразу станет проще и понятнее.
Я б в похожей ситуации сразу-бы "создал" всю схему, но сделал-бы так, чтобы сигналы в эту её часть поступали только при выполнении нужных условий...
Рекомендую рассматривать HAL не как последовательность исполняемых команд, а именно как описание схемы - жизнь сразу станет проще и понятнее.
Я б в похожей ситуации сразу-бы "создал" всю схему, но сделал-бы так, чтобы сигналы в эту её часть поступали только при выполнении нужных условий...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- dinkata
- Мастер
- Сообщения: 1028
- Зарегистрирован: 05 сен 2014, 09:07
- Репутация: 391
- Настоящее имя: Диньо
- Откуда: Болгария
- Контактная информация:
Re: условие для вьйполнение custom.hal ??
Если не трудно дайте простой пример ,пожалуйстаUAVpilot писал(а): сразу-бы "создал" всю схему, но сделал-бы так, чтобы сигналы в эту её часть поступали только при выполнении нужных условий...
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
- dinkata
- Мастер
- Сообщения: 1028
- Зарегистрирован: 05 сен 2014, 09:07
- Репутация: 391
- Настоящее имя: Диньо
- Откуда: Болгария
- Контактная информация:
Re: условие для вьйполнение custom.hal ??
UAVpilot писал(а): а именно как описание схемы
та проблем в том ,опишеш если знаеш язьйк
net svet klutch => lamp # ето понятно
if klutch1 == 1 then
net svet2 klutch2 => lamp 2 # а ето как опишеш ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: условие для вьйполнение custom.hal ??
Посмотри Classicladder
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: условие для вьйполнение custom.hal ??
dinkata писал(а):а ето как опишеш ?
Код: Выделить всё
net klutch1 => and2.in0
net klutch2 => and2.in1
net svet2 and2.out => lamp2Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...