Страница 4 из 6
Re: как сделат customhal ?
Добавлено: 17 сен 2014, 08:48
dinkata
Nick писал(а):почему не хочешь все это настроить через pncconf
сделал уже примерная конфигурация ,насколько правильна ..
добавляю hal
Nick писал(а):А как сейчас делается CW CWW?
там куча блокировок ,для ЦАП надо указат направление вращение ,но для PWM Generator надо ли указьйват или он смотрит
М03 либо М04 ?
Re: как сделат customhal ?
Добавлено: 17 сен 2014, 08:53
dinkata
как я понял ..надо в конфигурация указат PWM 5 для шпинделя ,да ?
Re: как сделат customhal ?
Добавлено: 17 сен 2014, 09:01
nkp
dinkata писал(а):PWM Generator надо ли указьйват или он смотрит М03 либо М04 ?
"он смотрит"...
по команде m3 s1000 будет к примеру +2.5V ,
а при m4 s1000 будет -2.5V
dinkata писал(а):указат PWM 5 для шпинделя ,да ?
да
Re: как сделат customhal ?
Добавлено: 17 сен 2014, 09:17
dinkata
nkp писал(а):по команде m3 s1000 буде
спасибо.....иду дальше
Re: как сделат customhal ?
Добавлено: 24 сен 2014, 19:22
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.
Re: как сделат customhal ?
Добавлено: 24 сен 2014, 19:52
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
Re: как сделат customhal ?
Добавлено: 24 сен 2014, 21:08
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
-------------------
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 06:41
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 ,здесь запутался
Тогда вопрос- нигде не указано сколько макс.количество %Ixxx ..и другие
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 08:40
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)
да - точно !
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 08:56
dinkata
спасибо nkp ,иду дальше хотя медлено ....
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 12:15
dinkata
Уважаемьйе знатоки ,посмотрите пожалуйста ,правильно ли я подвключил к classicladder пиньй ,неуверен особо на те из iocontrol ,
те которьйе включаются из М кодов ,правильно ли ввел функция weighted_sum wsum ?
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 15:06
Nick
Кстати, вместо weighted_sum можно все в ladder заветси и там уже делать присвоения/проверки, но можно и через weighted sum, через него наверное быстрее и правильнее, но через ladder может быть нагляднее...
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 17:02
dinkata
Nick писал(а):но через ladder может быть нагляднее...
спасибо ,мне надо быстрее .А синтаксис и другие правильно привязаньйе ?
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 17:08
Nick
А смысл, ladder всеравно больше 1мс не будет работать, этого должно хватить за глаза, для смены то инструмента...
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 17:12
Nick
вроде все более нормально.
Запускать пробовал?
# ориентация будет без енкодера как сделат чтоб небьйли motion.spindle-orient-fault
просто не подсоединяй его и все.
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 17:21
dinkata
Nick писал(а):росто не подсоединяй его и все.
надо сигнал когда в програме ест М19 ...или можно по другому ?
Nick писал(а):Запускать пробовал?
пока жду 7i64
с етими регистрами как справится
%IWxxx - Word memory xxx (S32 in pin)
%QWxxx - Word memory xxx (S32 out pin)
ест ли связ между %IW0 и %QW0 ,кто для чтения кто для запис !!!???
пробую classicladder windows в симуляция но запутался
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 17:33
Nick
dinkata писал(а):ест ли связ между %IW0 и %QW0 ,кто для чтения кто для запис !!!???
нет, но их можно связать. Ты можешь использовать их, например, в сравнениях.
dinkata писал(а):пробую classicladder windows в симуляция но запутался
дак лучше пробуй в самом linuxcnc!
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 17:38
dinkata
Nick писал(а): Ты можешь использовать их, например, в сравнениях.
ето и хочу делат ,вопрос наверно надо отправит так
-будет ли запис в %IW0 при етом :
net poccur => classicladder.0.s32in-00 <= wsum.0.sum
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 17:44
dinkata
Nick писал(а): ladder всеравно больше 1мс не будет работать
больше или менше... ,разве скан менше 1 мс
Read Inputs
Solve Logic
Update Outputs
Re: как сделат customhal ?
Добавлено: 25 сен 2014, 18:33
dinkata
%IWxxx - Word memory xxx (S32 in pin) ввод в регистрам Ladder - для чтения
%QWxxx - Word memory xxx (S32 out pin) вьйвод из регистрма Ladder -для запис
наверно так ,да ?