Мигание диодом через LINUX CNC

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
chepe1988
Новичок
Сообщения: 15
Зарегистрирован: 17 май 2015, 21:36
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Мигание диодом через LINUX CNC

Сообщение chepe1988 »

Доброе утро товарищи.
1) Пытаюсь помигать диодом с LPT.
Запускаю через консоль halcmd следующее:

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

# components
loadrt trivkins 
loadrt probe_parport 
loadrt hal_parport cfg="0x378 out" 
loadrt stepgen step_type=0 ctrl_type=v
loadrt threads name1=fast fp1=0 period1=50000 name2=slow period2=1000000
# pin aliases
# param aliases
# signals
# nets
net proba2 => parport.0.pin-02-out
net proba2 <= stepgen.0.dir
# parameter values
setp parport.0.debug1   0x00000000
setp parport.0.debug2   0x00000000
setp parport.0.pin-01-out-invert        FALSE
setp parport.0.pin-01-out-reset        FALSE
setp parport.0.pin-02-out-invert        FALSE
setp parport.0.pin-02-out-reset        FALSE
setp parport.0.pin-03-out-invert        FALSE
setp parport.0.pin-03-out-reset        FALSE
setp parport.0.pin-04-out-invert        FALSE
setp parport.0.pin-04-out-reset        FALSE
setp parport.0.pin-05-out-invert        FALSE
setp parport.0.pin-05-out-reset        FALSE
setp parport.0.pin-06-out-invert        FALSE
setp parport.0.pin-06-out-reset        FALSE
setp parport.0.pin-07-out-invert        FALSE
setp parport.0.pin-07-out-reset        FALSE
setp parport.0.pin-08-out-invert        FALSE
setp parport.0.pin-08-out-reset        FALSE
setp parport.0.pin-09-out-invert        FALSE
setp parport.0.pin-09-out-reset        FALSE
setp parport.0.pin-14-out-invert        FALSE
setp parport.0.pin-14-out-reset        FALSE
setp parport.0.pin-16-out-invert        FALSE
setp parport.0.pin-16-out-reset        FALSE
setp parport.0.pin-17-out-invert        FALSE
setp parport.0.pin-17-out-reset        FALSE
setp parport.0.read.tmax            0
setp parport.0.reset-time   0x00001388
setp parport.0.reset.tmax            0
setp parport.0.write.tmax            0
setp parport.read-all.tmax            0
setp parport.write-all.tmax            0
# realtime thread/function links
addf stepgen.update-freq slow
addf stepgen.make-pulses fast
addf parport.0.write fast
Затем запускаю потоки с помощью start.
Мигаю светодиодом посредством изменения вручную setp parport.0.pin-02-out-invert со значения FALSE на TRUE - работает.
Но совершенно не понятно а как можно автоматизировать этот процесс?
Как программно мигать без моего участия?

2) Совершенно не понимаю как G-код перевести в генерацию сигналов на pin.
То есть хочу выполнить какой-нибудь G-код и увидеть по светодиоду, что он выполняется.
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Мигание диодом через LINUX CNC

Сообщение verser »

chepe1988 писал(а):..Совершенно не понимаю как G-код перевести в генерацию сигналов на pin.
То есть хочу выполнить какой-нибудь G-код и увидеть по светодиоду, что он выполняется.
Берем, например, виртуальный пин digital-out №0, соединяем

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

net dout-00 motion.digital-out-00 => parport.0.pin-02-out-invert 
тогда, не вдаваясь в подробности какой физический уровень является логическим нулем,
из g-code управляем так
M64 P0 - включит диод
M65 P0 - выключит
chepe1988
Новичок
Сообщения: 15
Зарегистрирован: 17 май 2015, 21:36
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Мигание диодом через LINUX CNC

Сообщение chepe1988 »

А как мне запустить этот G-код?
Просто вбить его в консоли?
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Мигание диодом через LINUX CNC

Сообщение NightV »

где ты видел чтобы Gcode запускали из консоли?
это обычный код программы, типа G1 G0
Всё просто! если знаешь КАК!
chepe1988
Новичок
Сообщения: 15
Зарегистрирован: 17 май 2015, 21:36
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Мигание диодом через LINUX CNC

Сообщение chepe1988 »

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

Re: Мигание диодом через LINUX CNC

Сообщение Nick »

Вообще стандартный способ мигания пином - компонент siggen.
http://linuxcnc.org/docs/2.5/html/man/m ... gen.9.html

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

loadrt siggen 
addf siggen.0.update servo-thread
Пин siggen.N.clock bit out будет моргать на частоте siggen.N.frequency float in Гц

А какая общая задача? Сдается мне это не самое главное диодом моргать....
chepe1988
Новичок
Сообщения: 15
Зарегистрирован: 17 май 2015, 21:36
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Мигание диодом через LINUX CNC

Сообщение chepe1988 »

С siggen тоже пробовал помигать светодиодом. Но почему-то ничего не вышло с ним. Возможно потому, что я не выставил frequency, а оставил всё по умолчанию.
Пробный код для siggen приведу позже, так как удалил его.
Хочу управлять шаговым двигателем в последствии, а потом можно над чем-нибудь более серьёзным задуматься.

Готовые программы совершенно не дают мне понимания, что происходит. Как G-код переводится в последовательность, и как определяется сколько времени генерировать сигналы.
Аватара пользователя
tooshka
Почётный участник
Почётный участник
Сообщения: 1803
Зарегистрирован: 24 окт 2012, 14:26
Репутация: 209
Настоящее имя: Андрей
Откуда: Нижний Новгород
Контактная информация:

Re: Мигание диодом через LINUX CNC

Сообщение tooshka »

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

Re: Мигание диодом через LINUX CNC

Сообщение Nick »

chepe1988 писал(а):Хочу управлять шаговым двигателем
Ага, уже лучше, для шаговиков есть stepgen:
http://linuxcnc.org/docs/2.5/html/man/m ... gen.9.html
chepe1988 писал(а):Готовые программы совершенно не дают мне понимания, что происходит. Как G-код переводится в последовательность, и как определяется сколько времени генерировать сигналы.
Все определяется настройками, открывай стандартную конфигурацию на три оси и смотри. Там все прописано, скорости, ускорения, длины сигналов.

А по поводу Gкода - так это отдельная тема, иго интерпретирует интерпретатор, вычисляет траекторию, потом планировщик вычисялет скорости и выдает задания приводам.

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

Re: Мигание диодом через LINUX CNC

Сообщение Serg »

tooshka писал(а):Я так понимаю человек ПЛК из Лснс делает? Интересно!
Больше похоже на то, что из LinuxCNC пытается сделать LinuxCNC старательно избегая использования штатных функций...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Мигание диодом через LINUX CNC

Сообщение torvn77 »

tooshka писал(а):Я так понимаю человек ПЛК из Лснс делает? Интересно!
Чего тут интересного или не обычного,я это понял как только конфигурацию hal'а выучил.
chepe1988
Новичок
Сообщения: 15
Зарегистрирован: 17 май 2015, 21:36
Репутация: 0
Настоящее имя: Андрей
Контактная информация:

Re: Мигание диодом через LINUX CNC

Сообщение chepe1988 »

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

Re: Мигание диодом через LINUX CNC

Сообщение Nick »

chepe1988 писал(а):Запускал G-код через StepConf.
Интересно, как ты умудрился Gкод через stepconf запустить? :)

ЗЫ если ты таким образом хотел увидеть как мигает диод воткнутый в LPT - то так скорее всего ничего не увидишь, только если воткнуть его в пин dir, т.к. step включается только на 0,0005с или около того...
Ответить

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