Здравствуйте.
На данный момент задача реализована и все работает, нужно было сделать быстро и делал по принципу, что знаю то и делаю.
Суть задачи, нужно массово программировать устройства на станке.
Вместо шпинделя стоит программатор.
Программа управления программатором на Qt.
Программатор мой у него есть дополнительные порты, которыми я без проблем управляю.
Сейчас, все работает, следующем образом.
С выводами LPT порта связаны пины управления halui
halui.program.run - запускаем программу на исполнение
halui.program.resume — снять программу с паузы
и пины состояния станка
halui.program.is-pause – встали на паузу
halui.program.is-idle - не работаем
Это все заведено на плату программатора, который может запустить станок и считывает текущее состояние программы.
В AXIS загружается примитивная УП, которая работает по принципу.
Поехали в точку, опустили иголки программатора, встали на паузу.
Программатор считал состояние, halui.program.is-pause, делает свои дела.
Затем выдает сигнал, halui.program.resume, программа идет дальше.
И так по кругу.
Еще раз говорю, что сделал так как описал ибо, нужно было быстро и я знал это будет работать, сейчас хочу восполнить пробелы знаний.
Можно ли каким либо образом избавиться от дерганья пинами на LPT.
Как программно, из моей программы, сказать AXIS, сделать какие либо действия.
Самое главное, как считать состояние исполнения программы.
Подскажите направление.
Как управлять AXIS из сторонней программы
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Как управлять AXIS из сторонней программы
В комплекте есть библиотека, которой можно пользоваться из C, python и т.п.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Новичок
- Сообщения: 16
- Зарегистрирован: 10 мар 2019, 22:57
- Репутация: 0
- Настоящее имя: Вадим
- Откуда: Энергодар, Украина
- Контактная информация:
Re: Как управлять AXIS из сторонней программы
Если не трудно ткните носом.UAVpilot писал(а):В комплекте есть библиотека, которой можно пользоваться из C, python и т.п.
Как называется сия библиотека?
Есть ли где примеры?
И еще вопросец.
Где исходники того начального, main, с которого происходит запуск.
Другими словами где парситься запускаемый файл *.ini
Вот это - linuxcnc '/*.ini'
Ковыряюсь в исходниках, но пока туго с пониманием.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Как управлять AXIS из сторонней программы
liblinuxcncVVN писал(а):Как называется сия библиотека?
liblinuxcnchal
liblinuxcncini
Да, сам LinuxCNC. Начать можно с python.VVN писал(а):Есть ли где примеры?
Их там несколько, LinuxCNC - это несколько параллельных процессов.VVN писал(а):Где исходники того начального, main, с которого происходит запуск.
В библиотеке, см. выше.VVN писал(а):Другими словами где парситься запускаемый файл *.ini
Это трудный и неправильный способ. Сначала нужно понять сам LinuxCNC, доки этому хорошо способствуют.VVN писал(а):Ковыряюсь в исходниках, но пока туго с пониманием.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Новичок
- Сообщения: 16
- Зарегистрирован: 10 мар 2019, 22:57
- Репутация: 0
- Настоящее имя: Вадим
- Откуда: Энергодар, Украина
- Контактная информация:
Re: Как управлять AXIS из сторонней программы
Мы, не ищем, легких путей.UAVpilot писал(а):Это трудный и неправильный способ. Сначала нужно понять сам LinuxCNC, доки этому хорошо способствуют.VVN писал(а):Ковыряюсь в исходниках, но пока туго с пониманием.
Читаю, и уже есть некоторое понимание.
Общий принцип понятен, механизмы взаимодействия тоже, но там же очень много нюансов. Нельзя прочитав одни доки на столь обширную систему сразу все понять. Нужно смотреть как это сделано, благо исходники есть. Изучая подобные системы все равно остается много неясностей, иногда одна вскользь брошенная фраза ставит в голове все на места. Поэтому и спрашиваю здесь.
Эхе хе питон, а как без питона, как на С.UAVpilot писал(а):Да, сам LinuxCNC. Начать можно с python.VVN писал(а):Есть ли где примеры?
У меня основная программа на Qt, из нее вроде можно вызвать питоновский скрипт, но не разу такого не делал.
Да и питоном разбираться особо не хочется.
Не но есть же начальная точка отсчета, откуда все остальное строиться.UAVpilot писал(а):Их там несколько, LinuxCNC - это несколько параллельных процессов.VVN писал(а):Где исходники того начального, main, с которого происходит запуск.
Это наверное может помочь "отцу русской демократии", нужны примеры.UAVpilot писал(а): liblinuxcnc
liblinuxcnchal
liblinuxcncini
Рассматривал сегодня файл halui.cc.
В принципе это шаблон для создания своего компонента.
Через halui пины, у меня сейчас все работает.
Вопрос за малым, как дернуть за пин из сторонней программы, причем без питона, на С.
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
- Контактная информация:
Re: Как управлять AXIS из сторонней программы
Не реклама! Вот недавно прикупил себе, изучаю: https://www.litres.ru/pol-berri/izuchae ... -25562287/VVN писал(а):Да и питоном разбираться особо не хочется.
Для начинающих чайников (таких как я) очень доходчиво и интересно написано. Но КьюТи всё равно не брошу, потому что он хороший.