Gmoccapy добавление своих кнопок

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

Re: Gmoccapy добавление своих кнопок

Сообщение Serg »

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

$ glade --version
glade 3.20.0
$ glade-gtk2 --version
glade3 3.8.0
$
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
sergeybur
Новичок
Сообщения: 28
Зарегистрирован: 24 янв 2020, 19:42
Репутация: 1
Настоящее имя: Сергей
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение sergeybur »

UAVpilot писал(а):$ glade-gtk2 --version
Нет такой команды.
Какой пакет поставить?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение nkp »

sergeybur писал(а):Какой пакет поставить?
это вроде на все случаи жизни

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

To enable the linuxcnc glade-gtk2 widget's in Ubuntu / Mint / Kali, etc. you have to install a little bit more file's :

http://www.linuxcnc.org/dists/wheezy/base/

for 32 bit :

http://www.linuxcnc.org/dists/wheezy/base/binary-i386/libgladeui-1-11_3.8.0-0ubuntu6_i386.deb

http://www.linuxcnc.org/dists/wheezy/base/binary-i386/glade-gtk2_3.8.0-0ubuntu6_i386.deb

http://www.linuxcnc.org/dists/wheezy/base/binary-i386/glade-gnome_3.8.0-0ubuntu6_i386.deb

for 64 bit :

http://www.linuxcnc.org/dists/wheezy/base/binary-amd64/libgladeui-1-11_3.8.0-0ubuntu6_amd64.deb

http://www.linuxcnc.org/dists/wheezy/base/binary-amd64/glade-gtk2_3.8.0-0ubuntu6_amd64.deb

http://www.linuxcnc.org/dists/wheezy/base/binary-amd64/glade-gnome_3.8.0-0ubuntu6_amd64.deb

First maybe install glade and geanny :
sudo apt-get install glade
sudo apt-get install geanny
Install the files in terminal like :

sudo dpkg -i libgladeui-1-11_3.8.0-0ubuntu6_amd64.deb

sudo dpkg -i glade-gtk2_3.8.0-0ubuntu6_amd64.deb

sudo dpkg -i glade-gnome_3.8.0-0ubuntu6_amd64.deb

Sometimes the terminal say's you have to fix broken packages, this is only for glade installation :

type : sudo apt --fix-broken install
а если (наверно) дистрибутив иной,то найти в dists
==========
зы
ты что то про видео промолчал
про эти кнопки шла речь?
sergeybur
Новичок
Сообщения: 28
Зарегистрирован: 24 янв 2020, 19:42
Репутация: 1
Настоящее имя: Сергей
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение sergeybur »

Нашел это.
Заработало.
sergeybur
Новичок
Сообщения: 28
Зарегистрирован: 24 янв 2020, 19:42
Репутация: 1
Настоящее имя: Сергей
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение sergeybur »

В Glade делаются только картинки или что то еще?
Где почитать именно для Linuxcnc, не охота всю документацию читать на Glade.
sergeybur
Новичок
Сообщения: 28
Зарегистрирован: 24 янв 2020, 19:42
Репутация: 1
Настоящее имя: Сергей
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение sergeybur »

Например взял и открыл в Glade файл dro.glade.
Что вижу
- созданную таблицу
- и что то привязано как hal_dro1 и так далее до 9.
Это и есть сигналы да?
Где они еще? Этот файл в папке sim.gmoccapy
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение Serg »

Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
sergeybur
Новичок
Сообщения: 28
Зарегистрирован: 24 янв 2020, 19:42
Репутация: 1
Настоящее имя: Сергей
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение sergeybur »

Привет. С classicladder вроде разобрался.
Для того чтобы он работал нужно создать hal файл.
Я выполняю вот что
halrun
loadrt threads
loadrt classicladder_rt
loadusr classicladder
addf classicladder.0.refresh thread1
start
Потом выполняю в другом терминале
halcmd show pin

Вопрос, у меня связка 7i77 и 7i64
как посмотреть соответствие пинов плат на соответствие пинов classicladder?
Или я не совсем что то понимаю?
А может в hal файле нужно приписывать соответствие?
Ну типа мой вход IBIT0 на 7i64 соответствует %I0 , а выход %O3 - OBIT7.
Или подскажите как это описать?
sergeybur
Новичок
Сообщения: 28
Зарегистрирован: 24 янв 2020, 19:42
Репутация: 1
Настоящее имя: Сергей
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение sergeybur »

Забыл. Вот здесь какая команда и за что отвечает
addf classicladder.0.refresh thread1
А то у меня не работает проверка в лоадере когда запущена программа в лоадере
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение Serg »

sergeybur писал(а):Вопрос, у меня связка 7i77 и 7i64
как посмотреть соответствие пинов плат на соответствие пинов classicladder?
Они никак не соответствуют.
sergeybur писал(а):А может в hal файле нужно приписывать соответствие?
Не соответствие, а соединения. HAL - это язык описания схем/соединений, это не файл настроек/параметров и не язык программирования.
Для осознания можно посмотреть примеры в моих темах про AG400 и про VisualHAL.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
sergeybur
Новичок
Сообщения: 28
Зарегистрирован: 24 янв 2020, 19:42
Репутация: 1
Настоящее имя: Сергей
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение sergeybur »

sergeybur писал(а):addf classicladder.0.refresh thread1
подскажи. какая команда и за что отвечает
у меня не работает проверка в лоадере когда запущена программа в лоадере
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение nkp »

если ты про эту строку:

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

addf classicladder.0.refresh thread1
то в ней команда Hal
addf - добавить (add) функцию (f)
далее имя функции ,которую добавляем (classicladder.0.refresh)
конкретней - это функция refresh компонента classicladder
и добавляем ее в поток(thread1) - цикл с неким периодом
----------------
прописывай все(ладдер) в hal файл конфига , запускай , и всё будет работать,обновляться
sergeybur
Новичок
Сообщения: 28
Зарегистрирован: 24 янв 2020, 19:42
Репутация: 1
Настоящее имя: Сергей
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение sergeybur »

UAVpilot писал(а):Для осознания можно посмотреть примеры в моих темах про AG400 и про VisualHAL.
Для VisualHAL Поставил пакет KiCAD.
Что то дальше не разобрался.
Мне рисовать в classicladder? Или можно в кикад?
Или в кикад закинуть что сделал classicladder?
Хоть какую нибудь инструкцию можно почитать?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение nkp »

sergeybur писал(а):Для VisualHAL Поставил пакет KiCAD.
Что то дальше не разобрался.
это всё лишнее - вот сам увидишь
немного разберешься,и эта визуализация совсем не понадобится
ею очень мало кто пользуется
имхо - лучше усилия и время направить на разбор практических схем(Hal включающий ладдер и другие компоненты)
sergeybur
Новичок
Сообщения: 28
Зарегистрирован: 24 янв 2020, 19:42
Репутация: 1
Настоящее имя: Сергей
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение sergeybur »

подскажи тогда что должно быть в hal файле
в ladder - например одна цепочка %I0 - %Q0
Что написать в hal файле если
%I0 это hm2_7i92.0.7i64.0.2.input-00
%Q0 это hm2_7i92.0.7i64.0.2.output-00
И вот сформировал cpl файл, а он какой то большой

_FILES_CLASSICLADDER
_FILE-monostables.csv
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
_/FILE-monostables.csv
_FILE-ioconf.csv
#VER=1.0
_/FILE-ioconf.csv
_FILE-general.txt
PERIODIC_REFRESH=50
SIZE_NBR_RUNGS=100
SIZE_NBR_BITS=20
SIZE_NBR_WORDS=20
SIZE_NBR_TIMERS=10
SIZE_NBR_MONOSTABLES=10
SIZE_NBR_COUNTERS=10
SIZE_NBR_TIMERS_IEC=10
SIZE_NBR_PHYS_INPUTS=15
SIZE_NBR_PHYS_OUTPUTS=15
SIZE_NBR_ARITHM_EXPR=100
SIZE_NBR_SECTIONS=10
SIZE_NBR_SYMBOLS=160
_/FILE-general.txt
_FILE-com_params.txt
MODBUS_MASTER_SERIAL_PORT=
MODBUS_MASTER_SERIAL_SPEED=9600
MODBUS_MASTER_SERIAL_DATABITS=8
MODBUS_MASTER_SERIAL_STOPBITS=1
MODBUS_MASTER_SERIAL_PARITY=0
MODBUS_ELEMENT_OFFSET=0
MODBUS_MASTER_SERIAL_USE_RTS_TO_SEND=0
MODBUS_MASTER_TIME_INTER_FRAME=100
MODBUS_MASTER_TIME_OUT_RECEIPT=500
MODBUS_MASTER_TIME_AFTER_TRANSMIT=0
MODBUS_DEBUG_LEVEL=0
MODBUS_MAP_COIL_READ=0
MODBUS_MAP_COIL_WRITE=0
MODBUS_MAP_INPUT=0
MODBUS_MAP_HOLDING=0
MODBUS_MAP_REGISTER_READ=0
MODBUS_MAP_REGISTER_WRITE=0
_/FILE-com_params.txt
_FILE-modbusioconf.csv
#VER=1.0
_/FILE-modbusioconf.csv
_FILE-timers.csv
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
1,0
_/FILE-timers.csv
_FILE-sections.csv
#VER=1.0
#NAME000=Prog1
000,0,-1,0,1,0
_/FILE-sections.csv
_FILE-symbols.csv
#VER=1.0
_/FILE-symbols.csv
_FILE-arithmetic_expressions.csv
#VER=2.0
_/FILE-arithmetic_expressions.csv
_FILE-rung_1.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=0
#NEXTRUNG=-1
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
1-0-50/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_1.csv
_FILE-counters.csv
0
0
0
0
0
0
0
0
0
0
_/FILE-counters.csv
_FILE-sequential.csv
#VER=1.0
_/FILE-sequential.csv
_FILE-timers_iec.csv
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
1,0,0
_/FILE-timers_iec.csv
_FILE-rung_0.csv
#VER=2.0
#LABEL=
#COMMENT=
#PREVRUNG=0
#NEXTRUNG=1
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0
_/FILE-rung_0.csv
_/FILES_CLASSICLADDER

И это одна цепочка!!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение nkp »

код в посте (тут на форуме ) заключай в тег "Code" а то портянки совсем портят вид
==============
sergeybur писал(а):тогда что должно быть в hal файле

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

net in0:CL     hm2_7i92.0.7i64.0.2.intput-00  => classicladder.0.in-00     
net out0:CL    classicladder.0.out-00         => hm2_7i92.0.7i64.0.2.output-00 
никогда не открывай файл ладдера в текстовом редакторе :)
зачем себе ломать глаза
(я про то ,что в этом нет никакой надобности - там всё будет как надо )
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение nkp »

тут немного наверно непривычна терминология "входов-выходов"
вот в тех двух строках выше мы вроде как нелогично соединили вход со входом ,а
выход с выходом... входы(input) железа (той же месы) - являются входами "электрическими" , но для Hal тип этого пина - OUT(выход)
аналогично:
выходы(output) железа (той же месы) - являются вsходами "электрическими" , но для Hal тип этого пина - IN(вход)

в документации можно всегда посмотреть какого типа пин - вход или выход
вот пины месы:
Выделение_193.png (2732 просмотра) <a class='original' href='./download/file.php?id=180591&sid=cbbcc6073ec9eb615a00634fe8ce8e1f&mode=view' target=_blank>Загрузить оригинал (243 КБ)</a>
--------------
а так как скоммутировать(соединить, связать) (net) в Hal мы можем только вход с выходом ,то и получаем такие (на первый взгляд) "нелогичные"
две строки
визуально это выглядит как то так:
Выделение_192.png (2732 просмотра) <a class='original' href='./download/file.php?id=180592&sid=cbbcc6073ec9eb615a00634fe8ce8e1f&mode=view' target=_blank>Загрузить оригинал (44.75 КБ)</a>
схема задержки включения лампочки(на самом деле нет - чтоб увидеть свет лампочки оператору надо держать кнопку 5 секунд :) )
но уже что нарисовал - то нарисовал...)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение Serg »

sergeybur писал(а):Для VisualHAL Поставил пакет KiCAD.
Что то дальше не разобрался.
Да не нужно его ставить, достаточно просто посмотреть примеры и пояснения в теме. :)
А в AG400 есть рисунки схем и их "описания" в HAL.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
sergeybur
Новичок
Сообщения: 28
Зарегистрирован: 24 янв 2020, 19:42
Репутация: 1
Настоящее имя: Сергей
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение sergeybur »

Большое спасибо. Все понятно.
Вот еще вопрос поглубже.
Как в ладдер получить сигнал от УП (с G-кода) с команды T6M6 смена инструмента (вроде правильно написал)
Мне нужно это все отлавливать и пропускать через ладдер для смены инструмента и выбора фрез.
и после смены на конкретный инструмент сдвигается нулевая точка инструмента по всем осям, нужно ее как то после смены показать из ладдер но ссылаясь на переменные которые можно менять (для наладки кончиков инструментов после ударов и т.д.)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Gmoccapy добавление своих кнопок

Сообщение Serg »

Читайте доки про смену инструмента и про компенсации - там всё подробно описано.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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