Страница 1 из 3

Программирование LPT порта вручную

Добавлено: 22 окт 2012, 14:54
osminoglover
Помогите разобраться с процессом программирования LPT команд вручную.
Как это вообще происходит?
Где найти команды?
Куда их писать?
Не нашел ничего. :thinking:

Re: Программирование LPT порта вручную

Добавлено: 22 окт 2012, 15:19
Rafiq
Под ДОСом элементарно. Все линии, как входные так и выходные, отображаются на регистры порта, и их можно независимо друг от друга устанавливать и опрашивать. Описания регистров можно найти в Сети. В Юниксе и Винде сложнее, все должно делаться через драйвер, который должен позволять "ногодрыгание". Ну и реального масштаба времени не будет, хотя в Линуксе есть реалтаймовое расширение ядра (LinuxCNC использует RTAI)

Re: Программирование LPT порта вручную

Добавлено: 22 окт 2012, 15:47
osminoglover
Ребята с паяльниками впаяли в контроллер плату, юзаю линукс, нужно поставить на ногу ltp порта команду остановки если на него поступит "1".
Как открыть конфиг контроллера? (Честно говоря я не знаю правильно ли я сейчас написал) И просто добавить пару строк кода.
Вид должен быть: "Если на 1 пин (1) то остановить привод".
Как это сделать? Может быть в ЕМС 2 Есть настройки?

Re: Программирование LPT порта вручную

Добавлено: 22 окт 2012, 16:03
Nick
osminoglover писал(а):Может быть в ЕМС 2 Есть настройки?
Есть - это Estop или Авост по нашему.

Только не понятно, в какую сторону ты это хочешь:
1. Как только компьютер поставит 1 останавливать контроллер
или
2. Как только контроллер скажет остановить (поставит на пине 1) останавливать выполнение LinuxCNC?

Re: Программирование LPT порта вручную

Добавлено: 22 окт 2012, 16:43
Rafiq
osminoglover писал(а):Ребята с паяльниками впаяли в контроллер плату, юзаю линукс, нужно поставить на ногу ltp порта команду остановки если на него поступит "1".
Как открыть конфиг контроллера? (Честно говоря я не знаю правильно ли я сейчас написал) И просто добавить пару строк кода.
Вид должен быть: "Если на 1 пин (1) то остановить привод".
Как это сделать? Может быть в ЕМС 2 Есть настройки?
Так бы и сказал, что в LinuxCNC надо сконфигурить, а я то думал напрямую программить хочешь :D

Re: Программирование LPT порта вручную

Добавлено: 22 окт 2012, 16:47
Rafiq
Nick писал(а): Только не понятно, в какую сторону ты это хочешь:
Кстати, есть вроде EStop выход - т.е. от компа к контроллеру. В Маче вроде висит на 1 пине по умолчанию. Хотя это если так подумать и не нужно - если нажать EStop на компе, компу для остановки станка достаточно просто прекратить подачу Step на шаговики, ну и ШИМа на шпиндель, если он есть, до кучи.

Re: Программирование LPT порта вручную

Добавлено: 22 окт 2012, 18:07
Nick
Rafiq писал(а):EStop на компе, компу для остановки станка достаточно просто прекратить подачу Step на шаговики, ну и ШИМа на шпиндель, если он есть, до кучи.
Ну вообще по хорошему надо все вырубить, для этого в контроллерах и существует пин Enable. Причем как писали на LinuxCNC Естоп это не кнопочка "типо остановиться посмотреть, что не так", а "еб$#@$ вырубить все на$#@ и причем как можно скорее"!

Re: Программирование LPT порта вручную

Добавлено: 22 окт 2012, 18:51
nkp
Nick писал(а):как писали на LinuxCNC Естоп это не кнопочка "типо остановиться посмотреть, что не так", а "еб$#@$ выбить все на$#@ и причем как можно скорее"!
:hehehe:
разве на "их" языке можно так ёмко и доходчиво объяснить??!!

Re: Программирование LPT порта вручную

Добавлено: 22 окт 2012, 19:32
Rafiq
Nick писал(а):"еб$#@$ вырубить все на$#@ и причем как можно скорее"!
+1 :D :D
P.S. Насчет Enable верно, но на моем контроллере они на LPT не выведены :(

Re: Программирование LPT порта вручную

Добавлено: 22 окт 2012, 19:47
Nick
nkp писал(а):разве на "их" языке можно так ёмко и доходчиво объяснить??!!
Я точно не помню как у они это описали, но я спрашивал, можно ли при появлении Estop плавно тормозить станок, на что мне ответили, что Естоп это не
просто stop, а "O FUCK STOP!!!", или как-то так :)

Re: Программирование LPT порта вручную

Добавлено: 23 окт 2012, 08:58
osminoglover
Да, нужен Estop, именное Estop. Поднял записи чувака который до меня работал, у него тоже был именно Estop, только этот му*ак потер за собой конфиги на станке и я теперь не могу понять как его применить... Куда его написать. Я даже не знаю ноль должен подаваться на пин или единица.
Просто скажите как эта команда должна выглядеть куда и как её вписать.
Пожалуйста!

Re: Программирование LPT порта вручную

Добавлено: 23 окт 2012, 09:01
osminoglover
Rafiq писал(а):Так бы и сказал, что в LinuxCNC надо сконфигурить, а я то думал напрямую программить хочешь
Так как это сделать? Как применить Estop?

Re: Программирование LPT порта вручную

Добавлено: 23 окт 2012, 09:30
Rafiq
osminoglover писал(а):
Rafiq писал(а):Так бы и сказал, что в LinuxCNC надо сконфигурить, а я то думал напрямую программить хочешь
Так как это сделать? Как применить Estop?
Надо смотреть документацию на контроллер. На какие пины LPT выведены линии сигналов Enable драйверов (если вообще выведены, на моем контроллере нет, например). А потом в Stepconf (утилита конфигурирования ШД в комплекте с LinuxCNC) просто указать номера этих пинов, возможно, понадобится установить галочку "Инвертировать".

Кстати, надо уточнить - именно от компа к станку, или от станка (грибок) к компу?

Re: Программирование LPT порта вручную

Добавлено: 23 окт 2012, 09:54
osminoglover
Rafiq писал(а):Кстати, надо уточнить - именно от компа к станку, или от станка (грибок) к компу?
От станка к компу. В смысле инвертировать? Что это даёт и как он инвертируется?
Свободные пины: 1; 8; 9; 10; 11; 14; 17.

Re: Программирование LPT порта вручную

Добавлено: 23 окт 2012, 10:21
Nick
как ты настраиваешь пины через stepconf?
Тогда просто в нужном пине ставишь Estop выход.
Как тут на картинке:
Конфигурация EMC2 LinuxCNC #201
Если вручную правишь, то скидывай свои hal и ini файлы, скажем чего там прописать.

ЗЫ тему переместил в раздел Linux.

Re: Программирование LPT порта вручную

Добавлено: 23 окт 2012, 10:54
Rafiq
От станка к компу проще. EStop выход (смотрим со стороны контроллера) есть на всех контроллерах, его не может не быть. Но все равно нужны доки на контроллер, узнать номер пина. Конкретно для моего контроллера - вроде бы 13, насколько помню.

Nick, в конфиге есть EStop выход (от компа к контроллеру) на первом пине, он как раз и заводится на Enable драйверов?

Re: Программирование LPT порта вручную

Добавлено: 23 окт 2012, 11:01
Nick
Rafiq писал(а):Nick, в конфиге есть EStop выход (от компа к контроллеру) на первом пине, он как раз и заводится на Enable драйверов?
да. про него на сколько я понимаю речь и идет.

Кстати, osminoglover, а для каких целей используется этот пин? Не для контроля выезда за пределы осей случаем?

Re: Программирование LPT порта вручную

Добавлено: 23 окт 2012, 11:06
Rafiq
Nick писал(а): да. про него на сколько я понимаю речь и идет.
Кстати, osminoglover, а для каких целей используется этот пин? Не для контроля выезда за пределы осей случаем?
Ну, сам ТС сказал, ему нужно от станка к компу (т.е. EStop вход):
osminoglover писал(а): От станка к компу.
Про EStop - выход это только мой вопрос, просто для развития :)

Re: Программирование LPT порта вручную

Добавлено: 23 окт 2012, 11:08
Nick
О, точно... :)
Но вопрос остается, для каких целей это надо?

Re: Программирование LPT порта вручную

Добавлено: 23 окт 2012, 11:15
Rafiq
EStop выход? Если станок и комп на удалении друг от друга, должна быть возможность стопануть из любого из этих мест. Соответственно нужна кнопка не только возле станка, но и на компе тоже.