как сделат customhal ?

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

Re: как сделат customhal ?

Сообщение dinkata »

Nick писал(а):почему не хочешь все это настроить через pncconf
сделал уже примерная конфигурация ,насколько правильна .. :thinking:
добавляю hal
Nick писал(а):А как сейчас делается CW CWW?
там куча блокировок ,для ЦАП надо указат направление вращение ,но для PWM Generator надо ли указьйват или он смотрит
М03 либо М04 ?
Вложения
RV501.hal
(18.84 КБ) 1024 скачивания
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: как сделат customhal ?

Сообщение dinkata »

как я понял ..надо в конфигурация указат PWM 5 для шпинделя ,да ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: как сделат customhal ?

Сообщение nkp »

dinkata писал(а):PWM Generator надо ли указьйват или он смотрит М03 либо М04 ?
"он смотрит"...
по команде m3 s1000 будет к примеру +2.5V ,
а при m4 s1000 будет -2.5V
dinkata писал(а):указат PWM 5 для шпинделя ,да ?
да
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: как сделат customhal ?

Сообщение dinkata »

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

Re: как сделат customhal ?

Сообщение dinkata »

Nick писал(а):Я посмотрел по поводу RANDOM TOOLCHANGER. И вот, что оказывается - все уже сделано до нас.
да ,хорошая ,но как построит ? Ладно решил сначале разобратся с покетов и Тхх.Если в конфигурация вьйберем RANDOM_TOOLCHANGER = 1.
Первая задача крутит магазин (карусель) с покетов.Ето надо случится при команда Тхх.Логика буду делат в classicladder .Для етого начал в
Custom hal следущее (прошу исправляйте ,мои первьйе шаги ):

loadrt weighted_sum wsum_sizes=5
addf process_wsums servo-thread

net wsum.0.bit.0.in <= hm2_5i25.0.7i77.0.0.input-25 # входьй с карусель покетов
net wsum.0.bit.1.in <= hm2_5i25.0.7i77.0.0.input-26
net wsum.0.bit.2.in <= hm2_5i25.0.7i77.0.0.input-27
net wsum.0.bit.3.in <= hm2_5i25.0.7i77.0.0.input-28
net wsum.0.bit.4.in <= hm2_5i25.0.7i77.0.0.input-29
net classicladder.0.in-07 <= hm2_5i25.0.7i77.0.0.input-24 # счетчик покетов

net classicladder.0.s32in-00 <= wsum.0.sum # s32in-00 ето %W в classicladder ,да ?
net classicladder.0.(%B-00 ) <= wsum.0.hold # как надо записат %B-00

net classicladder.0.s32in-01 <= iocontrol.0.tool-prep-pocket # номер покета нужный инструмент
net classicladder.0.s32in-02 <= iocontrol.0.tool-prep-number # номер требуемой инструмент
net classicladder.0.(%B-01 ) <= iocontrol.0.tool-prepare # TRUE when a tool prepare is requested. т.е. при команда Тхх ,да ?
net classicladder.0.(%B-02 ) => iocontrol.0.tool-prepared # TRUE when a tool prepare is completed. когда найдем требуемой покет
делаем TRUE ,да ?

При команда Т12 например ,смотрим где находится покет с нужный инструмент (сколько покетов надо прокрутит) ,крутим карусель ,счетчик отмечивает
прокрученьйе покетов и останавливает карусель. wsum.0.sum должно бьйт =12 .
В таблица инструментов заранее указано в какой покет какой инструмент лежит.
Наверно ошибаюсь , давайте сначале вьйполним команда Тхх ,потом М06.
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: как сделат customhal ?

Сообщение nkp »

dinkata писал(а):net classicladder.0.(%B-00 ) <= wsum.0.hold # как надо записат %B-00
%B - для "внутреннего" использования...
физический выход - %Q00
в hal это будет classicladder.0.out-00
=============
net name_signal classicladder.0.out-00 <= wsum.0.hold
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: как сделат customhal ?

Сообщение nkp »

в hal можно писать двумя "способами":
1.) net name_signal pin_out
командой net мы формируем новый сигнал , даем ему оригинальное(не повторяющееся в данной конфигурации) имя,
и коммутируем его с пином-выходом...
в твоем случае:
classicladder.0.out-00
---------
теперь мы можем коммутировать этот сигнал с одним или несколькими входами:
net name_signal classicladder.0.out-00
net name_signal wsum.0.hold
если нужно передать значение ещё на один вход - пишем:
net name_signal pin_in1
ещё:
net name_signal pin_in2
-------------------
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: как сделат customhal ?

Сообщение dinkata »

Значит для привязка сигналов к classicladder пользуем :
• %Ixxx - Physical input xxx (Boolean) (HAL input bit)
• %Qxxx - Physical output xxx (Boolean) (HAL output bit)
• %IWxxx - Word memory xxx (S32 in pin)
• %QWxxx - Word memory xxx (S32 out pin)

Physical input (Physical output) ето для classicladder ,да ? А не для клем 5i25 или 7i77 ,здесь запутался :D
Тогда вопрос- нигде не указано сколько макс.количество %Ixxx ..и другие
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: как сделат customhal ?

Сообщение nkp »

вот твоя строка из hal :
loadrt classicladder_rt numPhysInputs=50 numPhysOutputs=50 numS32in=50 numS32out=50 numFloatIn=50 numFloatOut=50 numBits=100 numWords=100
ты ней объявляешь:
numPhysInputs=50 - 50 входов (%I)
numPhysOutputs=50 - 50 выходов(%Q)
ну и всё остальное
============================
dinkata писал(а):Physical input (Physical output) ето для classicladder ,да ? А не для клем 5i25 или 7i77 ,здесь запутался
да - это для ладдера
dinkata писал(а):Значит для привязка сигналов к classicladder пользуем :• %Ixxx - Physical input xxx (Boolean) (HAL input bit)• %Qxxx - Physical output xxx (Boolean) (HAL output bit)• %IWxxx - Word memory xxx (S32 in pin)• %QWxxx - Word memory xxx (S32 out pin)
да - точно !
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: как сделат customhal ?

Сообщение dinkata »

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

Re: как сделат customhal ?

Сообщение dinkata »

Уважаемьйе знатоки ,посмотрите пожалуйста ,правильно ли я подвключил к classicladder пиньй ,неуверен особо на те из iocontrol ,
те которьйе включаются из М кодов ,правильно ли ввел функция weighted_sum wsum ?
Вложения
custom.hal
(6.37 КБ) 996 скачиваний
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: как сделат customhal ?

Сообщение Nick »

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

Re: как сделат customhal ?

Сообщение dinkata »

Nick писал(а):но через ladder может быть нагляднее...
спасибо ,мне надо быстрее .А синтаксис и другие правильно привязаньйе ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: как сделат customhal ?

Сообщение Nick »

А смысл, ladder всеравно больше 1мс не будет работать, этого должно хватить за глаза, для смены то инструмента...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: как сделат customhal ?

Сообщение Nick »

вроде все более нормально.
Запускать пробовал?

# ориентация будет без енкодера как сделат чтоб небьйли motion.spindle-orient-fault
просто не подсоединяй его и все.
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: как сделат customhal ?

Сообщение dinkata »

Nick писал(а):росто не подсоединяй его и все.
надо сигнал когда в програме ест М19 ...или можно по другому ?
Nick писал(а):Запускать пробовал?
пока жду 7i64

с етими регистрами как справится
%IWxxx - Word memory xxx (S32 in pin)
%QWxxx - Word memory xxx (S32 out pin)
ест ли связ между %IW0 и %QW0 ,кто для чтения кто для запис !!!???
пробую classicladder windows в симуляция но запутался
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: как сделат customhal ?

Сообщение Nick »

dinkata писал(а):ест ли связ между %IW0 и %QW0 ,кто для чтения кто для запис !!!???
нет, но их можно связать. Ты можешь использовать их, например, в сравнениях.
dinkata писал(а):пробую classicladder windows в симуляция но запутался
дак лучше пробуй в самом linuxcnc!
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: как сделат customhal ?

Сообщение dinkata »

Nick писал(а): Ты можешь использовать их, например, в сравнениях.
ето и хочу делат ,вопрос наверно надо отправит так
-будет ли запис в %IW0 при етом :
net poccur => classicladder.0.s32in-00 <= wsum.0.sum
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: как сделат customhal ?

Сообщение dinkata »

Nick писал(а): ladder всеравно больше 1мс не будет работать
больше или менше... ,разве скан менше 1 мс


Read Inputs

Solve Logic

Update Outputs
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: как сделат customhal ?

Сообщение dinkata »

%IWxxx - Word memory xxx (S32 in pin) ввод в регистрам Ladder - для чтения
%QWxxx - Word memory xxx (S32 out pin) вьйвод из регистрма Ladder -для запис
наверно так ,да ?
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Ответить

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