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

Как управлять AXIS из сторонней программы

Добавлено: 05 май 2020, 02:00
VVN
Здравствуйте.
На данный момент задача реализована и все работает, нужно было сделать быстро и делал по принципу, что знаю то и делаю.
Суть задачи, нужно массово программировать устройства на станке.
Вместо шпинделя стоит программатор.
Программа управления программатором на 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, сделать какие либо действия.
Самое главное, как считать состояние исполнения программы.
Подскажите направление.

Re: Как управлять AXIS из сторонней программы

Добавлено: 05 май 2020, 02:28
Serg
В комплекте есть библиотека, которой можно пользоваться из C, python и т.п.

Re: Как управлять AXIS из сторонней программы

Добавлено: 05 май 2020, 10:17
VVN
UAVpilot писал(а):В комплекте есть библиотека, которой можно пользоваться из C, python и т.п.
Если не трудно ткните носом.
Как называется сия библиотека?
Есть ли где примеры?

И еще вопросец.
Где исходники того начального, main, с которого происходит запуск.
Другими словами где парситься запускаемый файл *.ini
Вот это - linuxcnc '/*.ini'

Ковыряюсь в исходниках, но пока туго с пониманием.

Re: Как управлять AXIS из сторонней программы

Добавлено: 05 май 2020, 12:37
MX_Master

Re: Как управлять AXIS из сторонней программы

Добавлено: 05 май 2020, 15:16
Serg
VVN писал(а):Как называется сия библиотека?
liblinuxcnc
liblinuxcnchal
liblinuxcncini
VVN писал(а):Есть ли где примеры?
Да, сам LinuxCNC. :) Начать можно с python.
VVN писал(а):Где исходники того начального, main, с которого происходит запуск.
Их там несколько, LinuxCNC - это несколько параллельных процессов.
VVN писал(а):Другими словами где парситься запускаемый файл *.ini
В библиотеке, см. выше. :)
VVN писал(а):Ковыряюсь в исходниках, но пока туго с пониманием.
Это трудный и неправильный способ. Сначала нужно понять сам LinuxCNC, доки этому хорошо способствуют.

Re: Как управлять AXIS из сторонней программы

Добавлено: 05 май 2020, 21:52
VVN
UAVpilot писал(а):
VVN писал(а):Ковыряюсь в исходниках, но пока туго с пониманием.
Это трудный и неправильный способ. Сначала нужно понять сам LinuxCNC, доки этому хорошо способствуют.
Мы, не ищем, легких путей. ;)
Читаю, и уже есть некоторое понимание.
Общий принцип понятен, механизмы взаимодействия тоже, но там же очень много нюансов. Нельзя прочитав одни доки на столь обширную систему сразу все понять. Нужно смотреть как это сделано, благо исходники есть. Изучая подобные системы все равно остается много неясностей, иногда одна вскользь брошенная фраза ставит в голове все на места. Поэтому и спрашиваю здесь.
UAVpilot писал(а):
VVN писал(а):Есть ли где примеры?
Да, сам LinuxCNC. :) Начать можно с python.
Эхе хе питон, а как без питона, как на С.
У меня основная программа на Qt, из нее вроде можно вызвать питоновский скрипт, но не разу такого не делал.
Да и питоном разбираться особо не хочется.
UAVpilot писал(а):
VVN писал(а):Где исходники того начального, main, с которого происходит запуск.
Их там несколько, LinuxCNC - это несколько параллельных процессов.
Не но есть же начальная точка отсчета, откуда все остальное строиться.
UAVpilot писал(а): liblinuxcnc
liblinuxcnchal
liblinuxcncini
Это наверное может помочь "отцу русской демократии", нужны примеры.

Рассматривал сегодня файл halui.cc.

В принципе это шаблон для создания своего компонента.
Через halui пины, у меня сейчас все работает.
Вопрос за малым, как дернуть за пин из сторонней программы, причем без питона, на С.

Re: Как управлять AXIS из сторонней программы

Добавлено: 06 май 2020, 03:39
aekhv
VVN писал(а):Да и питоном разбираться особо не хочется.
Не реклама! Вот недавно прикупил себе, изучаю: https://www.litres.ru/pol-berri/izuchae ... -25562287/

Для начинающих чайников (таких как я) очень доходчиво и интересно написано. Но КьюТи всё равно не брошу, потому что он хороший. :hehehe: :good: