ClassicLadder (CL)
- Alex-Shamilich
- Новичок
- Сообщения: 18
- Зарегистрирован: 30 мар 2015, 10:05
- Репутация: 14
- Настоящее имя: Alex Shamilich
- Откуда: Москва
- Контактная информация:
Re: ClassicLadder (CL)
Вопрос к знатокам - прочитал описания ладдера и по русски, и по нерусски. Принцип понял, но не могу толком понять чего с этим делать в рамках домашнего 4D станка.
А может ли кто-то совсем на пальцах реальные (не абстрактно-тестовые) применения этого дела привести?
А может ли кто-то совсем на пальцах реальные (не абстрактно-тестовые) применения этого дела привести?
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ClassicLadder (CL)
можно и на пальцах - но думаю это будет не во всех случаях понятно , и от того не интересно...Alex-Shamilich писал(а):А может ли кто-то совсем на пальцах реальные (не абстрактно-тестовые) применения этого дела привести?
потому как ладдер - это упрощенно - релейные схемы (попродвинутей немного только)))
вот если бы у тебя появились конкретные задачи - тогда можно было бы продемонстрировать "выгоду" CL
а так,как самый простой вариант , реально работающий на станках - смена инструмента на токарнике (поворотная голова на 6-8 инструментов)
эти примеры CL на форуме присутствуют...
=============
ну а совсем-совсем на пальцах:
вот стоит задача:
как закончиться программа , включить через 3 секунды ,ну допустим ,лампочку на 5 секунд...
можно это решить и в "железе" , но с CL это реализуется за пару минут: в хал
коммутируем пин halui.program.is-running (пин показывает , что программа выполняется) с входом нашей схемы %I0 (в хал это
будет пин classicladder.0.in-00 )
а выход %Q0 (в хал это будет пин classicladder.0.out-00 ) коммутируем ,ну допустим ,в выходом парпорта parport.0.pin-03-out ,
на который вешаем реле с лампочкой...
пример конечно бесполезный , да еще и с ошибкой , но отвечает требованию - "на пальцах"
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ClassicLadder (CL)
а реальные...Alex-Shamilich писал(а): (не абстрактно-тестовые)
ну вот ,к примеру работает такая у меня схемка: но даже если опишу что да куда - это будет не совсем понятно и совсем не интересно...
так что ,имхо,лучше ставить свои задачи и пробовать их воплотить в CL...
а если что не получается - тут завсегда можно получить помощь...
- Alex-Shamilich
- Новичок
- Сообщения: 18
- Зарегистрирован: 30 мар 2015, 10:05
- Репутация: 14
- Настоящее имя: Alex Shamilich
- Откуда: Москва
- Контактная информация:
Re: ClassicLadder (CL)
Спасибо за обстоятельный ответ
Про релейные схемы я вроде понял. Как скогфигурировать HAL в целом тоже понятно. Раньше даже мог более менее понять как работает механическая АТС в дотранзисторные времена.
Сейчас вот столкнулся с проблемой - мануал читаю, вроде инструмент есть, интерсный, но куда и зачем его реально прикрутить/использовать пока не соображу.
То что я чего то пока не вижу совсем не значит что этого нет
Т.е. в итоге получается инструмент для автоматизации чего-то, в зависимости от чего то еще.
Конвейерную линию какую-нибудь автоматизировать - да вполне, а для пока хобби-домашних мелких задач - оно нужно ?
Про релейные схемы я вроде понял. Как скогфигурировать HAL в целом тоже понятно. Раньше даже мог более менее понять как работает механическая АТС в дотранзисторные времена.
Сейчас вот столкнулся с проблемой - мануал читаю, вроде инструмент есть, интерсный, но куда и зачем его реально прикрутить/использовать пока не соображу.
То что я чего то пока не вижу совсем не значит что этого нет
Т.е. в итоге получается инструмент для автоматизации чего-то, в зависимости от чего то еще.
Конвейерную линию какую-нибудь автоматизировать - да вполне, а для пока хобби-домашних мелких задач - оно нужно ?
-
- Мастер
- Сообщения: 428
- Зарегистрирован: 10 май 2012, 15:30
- Репутация: 33
- Настоящее имя: Евгений
- Откуда: Rostov-on-Don
- Контактная информация:
Re: ClassicLadder (CL)
А как в debian we... установить и связать с реалтаймом(linuxcnc)?nkp писал(а):.Пользуем 0.8.010: добавил в шапку
"Ты не дрыгайся! Показывай свою гравицаппу. Если фирменная вещь — возьмём!"
"А этот паца́к все время говорит на языках, продолжения которых не знает!"
"А этот паца́к все время говорит на языках, продолжения которых не знает!"
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ClassicLadder (CL)
в linuxcnc classicladder есть по умолчанию...plotik писал(а):А как в debian we... установить и связать с реалтаймом(linuxcnc)?
в хал файл прописываешь примерно такие строки:
Код: Выделить всё
loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10
loadusr classicladder твой_файл_ладдера.clp
addf classicladder.0.refresh servo-thread
или ты про что то другое?
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: ClassicLadder (CL)
Вопрос такой.nkp писал(а):loadrt classicladder_rt numPhysInputs=15 numPhysOutputs=15 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10
loadusr classicladder твой_файл_ладдера.clp
addf classicladder.0.refresh servo-thread
Команда "loadrt" загружает компонент HAL реального времени. Функции компонента реального времени должны быть добавлены в поток, чтобы они обновлялись со скоростью потока. Вы не можете загрузить компонент пользовательского пространства в пространство реального времени.
Команда "loadusr" компонент HAL пользовательского пространства. Программы пользовательского пространства это отдельные процессы, который опционально может общаться с другими компонентами HAL через пины и параметры. Вы не можете загрузить компоненты реального времени в пользовательское пространство.
Теперь, что такое classicladder_rt и classiclader?
Я правильно понимаю, что программа ЭА работает не в real-time, а работает в пользовательском пространстве?
upd:
Если SERVO_PERIOD = 1000000 нс, то servo-thread = 1000000*10^-9 с = 0.001 c = 1 мкс?
"loadusr classicladder custom.clp" загрузит программу custom.clp "когда нибудь" и будет выполнять ее каждый интервал servo_thread, т.е. 1 мкс, но поскольку это не компонент RT, то могут быть "зависания"?
Последний раз редактировалось Lexxa 18 ноя 2015, 10:36, всего редактировалось 1 раз.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ClassicLadder (CL)
компонент CL работает в реалтайме...
его же GUI - нет...
его же GUI - нет...
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: ClassicLadder (CL)
Lexxa писал(а):upd:
Если SERVO_PERIOD = 1000000 нс, то servo-thread = 1000000*10^-9 с = 0.001 c = 1 мкс?
"loadusr classicladder custom.clp" загрузит программу custom.clp "когда нибудь" и будет выполнять ее каждый интервал servo_thread, т.е. 1 мкс, но поскольку это не компонент RT, то могут быть "зависания"?
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ClassicLadder (CL)
мы не можем строить предположения на ложном высказыванииLexxa писал(а): но поскольку это не компонент RT
CL - реалтайм компонент...
мы можем загрузить его ,со всеми объявленными элементами(на скрине обведены) без строки
loadusr ...
имхо,этой строкой мы единожды загружаем пользовательский файл соеденений элементов CL(схему)
кстати ,время выполнения всех секций мы можем наблюдать в верхнем правом углу gui
Последний раз редактировалось nkp 18 ноя 2015, 11:27, всего редактировалось 1 раз.
- Lexxa
- Мастер
- Сообщения: 2703
- Зарегистрирован: 16 дек 2011, 16:48
- Репутация: 319
- Настоящее имя: Алексей
- Откуда: ryazan
- Контактная информация:
Re: ClassicLadder (CL)
nkp писал(а): верхнем правом углу gui
по идее там должна быть 1 мс еслиclassicladder.0.refresh FP
The rung update rate. Add this to the servo thread. You can added it to a faster thread but it Will update no faster than once every 1 millisecond (1000000 ns).
Код: Выделить всё
classicladder.0.refresh servo_thread
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ClassicLadder (CL)
в таком случае - когда выполнять другие компоненты?Lexxa писал(а):по идее там должна быть 1 мс
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: ClassicLadder (CL)
чета попробовал ладдер все понравилось и почти получило , только вот при загрузке в LinuxCNC ладдера увидил, что все пины (входные, выходные) формата S32, а мне надо чтоб были БИТ , это все пины нада конвертировать в хел файле в бит или можно изменить в настройках ладдера чтобы все пины были "бит"
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ClassicLadder (CL)
БИТ - это самые распространенные пины ладдера :solo писал(а): все пины (входные, выходные) формата S32, а мне надо чтоб были БИТ
%I0 входы --||-- classicladder.0.in-00
%Q0 выходы --()-- classicladder.0.out-00
===============
S32 пины в хал имеют вид :
%W0 вход classicladder.0.s32in.00
%W0 выход classicladder.0.s32out.00
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: ClassicLadder (CL)
спасибо
просто когда запустил ладдер в LinuxCNC и посмотрел пины classicladder то понял что пины S32 и бит создаются ладдером все автоматически не зависимо от того используютя ли эти пины в схеме ладдера или нет
Как только ладдер облегчает процесс расширения возможностей LinuxCNC
просто когда запустил ладдер в LinuxCNC и посмотрел пины classicladder то понял что пины S32 и бит создаются ладдером все автоматически не зависимо от того используютя ли эти пины в схеме ладдера или нет
Как только ладдер облегчает процесс расширения возможностей LinuxCNC
-
- Мастер
- Сообщения: 3673
- Зарегистрирован: 08 фев 2016, 16:33
- Репутация: 1010
- Настоящее имя: Манн Геннадий Геннадьевич
- Откуда: Москва
- Контактная информация:
Re: ClassicLadder (CL)
Прочитал тему, мало что понял, попробовал снова, ситуация повторилась.
Подскажите как через CL укзать, что датчик нормально замкнутый? (в моем контроллере этой команды нет, изготовитель говорит, можно попробовать через CL)
Подскажите как через CL укзать, что датчик нормально замкнутый? (в моем контроллере этой команды нет, изготовитель говорит, можно попробовать через CL)
http://www.cnc-club.ru/forum/viewtopic. ... 76#p304076 Поставки оборудования для ваших станков
https://www.instagram.com/dtw.moscow/
dtw.moscow@gmail.com
https://www.instagram.com/dtw.moscow/
dtw.moscow@gmail.com
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: ClassicLadder (CL)
наверное через CL не как не узнать (хота межет и можно но я не знаю ) , узнать состояние датчика можно если запустить чпу и зайти в станок - хал метр , или показать установки хел и там выбрать нужный пин и посмотреть в каком состоянии пин сейчас находится , а как по мне если просто надо инвертировать пин то проще это сделать используя компонент нот Re: EMC2 Integrators Manual Перевод на русский язык #37MGG писал(а):Подскажите как через CL укзать, что датчик нормально замкнутый?
-
- Мастер
- Сообщения: 3673
- Зарегистрирован: 08 фев 2016, 16:33
- Репутация: 1010
- Настоящее имя: Манн Геннадий Геннадьевич
- Откуда: Москва
- Контактная информация:
Re: ClassicLadder (CL)
Спасибо! Ковыряю этот компонент, вечером попробую.solo писал(а):аверное через CL не как не узнать (хота межет и можно но я не знаю ) , узнать состояние датчика можно если запустить чпу и зайти в станок - хал метр , или показать установки хел и там выбрать нужный пин и посмотреть в каком состоянии пин сейчас находится , а как по мне если просто надо инвертировать пин то проще это сделать используя компонент нот Re: EMC2 Integrators Manual Перевод на русский язык #37
http://www.cnc-club.ru/forum/viewtopic. ... 76#p304076 Поставки оборудования для ваших станков
https://www.instagram.com/dtw.moscow/
dtw.moscow@gmail.com
https://www.instagram.com/dtw.moscow/
dtw.moscow@gmail.com
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: ClassicLadder (CL)
в хел файл добавь вот так если мне память не изменяет
Код: Выделить всё
#загружаешь компонент
loadrt not count=1
#добавляем компонент в сервоцикл , чтоб работал в LinuxCNC
addf not.0 servo-thread
# соединяем пин входа "нет" с датчиком
net not_in not.0.in
net not_in (через пробел пин куда подключен датчик)
# соединаем пин выхода"нет" с входом LinuxCNC
net not_out not.0.out
net not_out (через пробел пишеш куда в LinuxCNC заводишь сигнал с датчика )
-
- Почётный участник
- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: ClassicLadder (CL)
%IFxx - Word memory xx (Float in pin) (converted to S32 in Classic Ladder)
Это, что получается, о нормальной работе с плавающей точкой можно забыть? (((
Это, что получается, о нормальной работе с плавающей точкой можно забыть? (((