Вывод сообщений из HAL

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

Re: Вывод сообщений из HAL

Сообщение Nick » 24 июл 2012, 13:05

Alex868 писал(а):попробовал добавить строчку last = h[:] вылетает с ошибкой:

А, точно, так не пойдет
надо перечислить пины:
last["msg-0-in"] = 0
и так для всех пинов.
Но погоди, вечером psha обещал написать, как к его программке прикрутить пины хал, там вроде все просто должно быть.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1570
Заслуга: Developer
Медальки:

Re: Вывод сообщений из HAL

Сообщение Alex868 » 24 июл 2012, 19:07

А Image u32 очень даже неплохой вариант. Можно понаделать картинок с сообщениями, и выводить их на панель pyvcp. Только предварительно нужно преобразовывать битовые данные в u32, что пока не совсем понятно. Есть модуль conv_bit_u32, но у него же только один вход? А как быть если битовых сигналов несколько?
Alex868
Новичок
 
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0

Re: Вывод сообщений из HAL

Сообщение Nick » 24 июл 2012, 23:05

ну например через classic ladder можно. сделать там конструкцию, если такой бит = 1, то вывод равен "...".
Или вообще сделать там выражение из 2*ввод1 + 4*ввод 2 ...

Но лучше дождись того, что psha напишет, или уже написал (я почту еще не проверял). Там будет все красиво и можно сразу несколько сообщений показывать.
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1570
Заслуга: Developer
Медальки:

Re: Вывод сообщений из HAL

Сообщение Nick » 26 июл 2012, 12:00

Вот, Psha сделал вообще все :cheesy:
Берем файл emc-notify http://psha.org.ru/cgit/psha/emc-notify/tree/emc-notify

Или все отсюда: http://psha.org.ru/cgit/psha/emc-notify

Сохраняем из в папку с конфигом.

В свой ini или отдельный пишем секцию:
[notify-pins]
и в ней "название пина" = "ошибка" например:
Код: Выделить всёРазвернуть
[notify-pins]
pin0 = Ошибка 1
pin1 = Ошибка 2 ${yyy}

В hal добавляем
# загружаем компонент emc-notify
loadusr python emc-notify [название файла].ini -Wn emc-notify

# и подключаем пины:
net err1 => emc-notify.pin0 <= [пин для контроля ошибки 1]

Все сохраняем, запускаем LinuxCNC, пробуем и пишем отчет со скриншотами :)
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1570
Заслуга: Developer
Медальки:

Re: Вывод сообщений из HAL

Сообщение Lexxa » 26 июл 2012, 12:27

клаааааааааааааас
Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2574
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 298
Медальки:
Настоящее имя: Алексей

Re: Вывод сообщений из HAL

Сообщение Nick » 26 июл 2012, 13:03

А где "и пишем отчет со скриншотами" ??? :)
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1570
Заслуга: Developer
Медальки:

Re: Вывод сообщений из HAL

Сообщение Alex868 » 26 июл 2012, 20:03

Извиняюсь за промедление в тестировании :)
Скопировал файл в конфиг, прописал в файлы hal и ini, выдало ошибку :(
Код: Выделить всёРазвернуть
miu-mill.hal:146: Pin 'emc-notify.pin0' does not exist
emc-notify:10: DeprecationWarning: the emc module is deprecated; use the linuxcnc module instead
  import emc, hal

Не видит пины, да еще ругается на устаревший модуль ЕМС.
Хорошо, в коде и названии файлов заменил все слова ЕМС на linuxcnc. На модуль ЕМС перестал материться, но ошибку Pin does not exist все равно выдает. Закомментировал строчку net error1 => linuxcnc-notify.pin0 , запустилось. Сразу обратил внимание на то, что стиль вывода сообщений изменился! Выводятся в отдельном окне.
В хал-метре посмотрел, есть сигналы linuxcnc-notify.pin. Странно как-то.
Еще,при выводе нескольких сообщений, открывается несколько окон, и иногда выдается стандартное сообщение, а только потом открывается сообщение в окне, а иногда и не выводится совсем. Окно с сообщением не закрывается, даже если закрыть ЕМС :freak:
Вложения
Вывод сообщений из HAL Без имени.jpg
Последний раз редактировалось Alex868 26 июл 2012, 20:27, всего редактировалось 1 раз.
Alex868
Новичок
 
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0

Re: Вывод сообщений из HAL

Сообщение nkp » 26 июл 2012, 20:23

Alex868 писал(а):в коде и названии файлов заменил все слова ЕМС на linuxcnc

но ошибка то на хал файл
там прописан emc-notify.pin0 146 стр
nkp
Мастер
 
Сообщения: 7671
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1385
Медальки:

Re: Вывод сообщений из HAL

Сообщение Alex868 » 26 июл 2012, 20:29

Да, но пин то есть в хал-метре, стало быть и подключаться к нему можно, но стоит прописать этот пин в хал-файл, так сразу эта ошибка.
пишу: net error1 => linuxcnc-notify.pin0
получаю ошибку:
Код: Выделить всёРазвернуть
Debug file information:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
miu-mill.hal:146: Pin 'linuxcnc-notify.pin0' does not exist


То есть не может найти этот пин, но почему?
Alex868
Новичок
 
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0

Re: Вывод сообщений из HAL

Сообщение nkp » 26 июл 2012, 21:23

Да , пины в хал появляются- но если попытаться их в хале присоеденить-
то получаем ошибку
nkp
Мастер
 
Сообщения: 7671
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1385
Медальки:

Re: Вывод сообщений из HAL

Сообщение psha » 26 июл 2012, 21:29

Чтоб выводились не в отдельном окне надо поставить, например, xfce4-notifyd
Компонента называется emc-notify, а не linuxcnc-notify, надо бы обновить. На deprecation warning пока можно забить
root, доделай конвертацию! :)
psha
Опытный
 
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Медальки:

Re: Вывод сообщений из HAL

Сообщение nkp » 26 июл 2012, 21:32

Сразу и нашел ошибку (свою) :
пины надо прописывать только в postgui файле
тогда все нормально:
Вывод сообщений из HAL Выделение(029).png
nkp
Мастер
 
Сообщения: 7671
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1385
Медальки:

Re: Вывод сообщений из HAL

Сообщение psha » 26 июл 2012, 21:47

По умолчанию в убунте почему-то не стоит никакой notifyd, лучше поставить
Иначе эти отдельные диалоги скоро задолбают
root, доделай конвертацию! :)
psha
Опытный
 
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Медальки:

Re: Вывод сообщений из HAL

Сообщение Nick » 26 июл 2012, 23:42

Alex868 писал(а):Pin 'linuxcnc-notify.pin0' does not exist

Вообще странно, если ты написал в строке с loadusr "-Wn notify-emc", то hal должен был дождаться готовности компонента, и пины должны были уже появиться.

Скинь на всякий случай свой hal...

С postgui тоже вариант, но вдруг он еще не успеет загрузится.......
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1570
Заслуга: Developer
Медальки:

Re: Вывод сообщений из HAL

Сообщение psha » 26 июл 2012, 23:52

Дык не linuxcnc-notify а emc-notify
root, доделай конвертацию! :)
psha
Опытный
 
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Медальки:

Re: Вывод сообщений из HAL

Сообщение Nick » 27 июл 2012, 00:05

Кстати, я вот еще о чем подумал, а можно туда кнопку прикрутить или изменить текущие, чтобы были варианты
"игнорировать ошибку", "инициировать АВОСТ" и еще что-нибудь?
ЗЫ как по вашему, оно вообще надо или нет?
Аватара пользователя
Nick
Мастер
 
Сообщения: 22552
Зарегистрирован: 23 ноя 2009, 16:45
Откуда: Gatchina, Saint-Petersburg distr., Russia
Репутация: 1570
Заслуга: Developer
Медальки:

Re: Вывод сообщений из HAL

Сообщение Alex868 » 27 июл 2012, 08:29

Действительно, оказывается пины нужно прописывать в postgui.hal, и тогда все работает. А если попытаться их прописать в основном хал-файле, то емс их не видит... ну да ладно, пусть будет так.
Поставил xfce4-notifyd, теперь сообщения выводятся все в одном окне. В принципе, это уже вполне устраивает, можно бы этим и ограничиться, но есть еще пару вопросов: 1. Как сделать чтобы окно с сообщениями выводилось в нижнем правом углу?
2. Иногда стандартные сообщения в окне не успевают выводиться, а выводятся как и раньше, в емс. Скрипт не успевает отрабатывать?
Вложения
Вывод сообщений из HAL Снимок.png
вывод сообщения после установки xfce4-notifyd
Alex868
Новичок
 
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0

Re: Вывод сообщений из HAL

Сообщение Alex868 » 27 июл 2012, 09:08

Nick писал(а):"игнорировать ошибку", "инициировать АВОСТ"

Не думаю что это необходимо. По крайней мере если уж так понадобится, такие задачи можно решить стандартными средствами HAL.
Alex868
Новичок
 
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0

Re: Вывод сообщений из HAL

Сообщение psha » 27 июл 2012, 09:24

Дело в том что сообщения об ошибках существуют в единственном экземпляре.
Axis выгребает их из буфера, то же самое делает и emc-notify.
Кому-то одному из них надо запретить, иначе получается бардак
root, доделай конвертацию! :)
psha
Опытный
 
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Медальки:

Re: Вывод сообщений из HAL

Сообщение Alex868 » 27 июл 2012, 09:35

Если это так сложно, пусть остается как есть, самое главное то что теперь можно свои сообщения выводить :)
Но все-таки желательно чтоб окно сообщения выводилось внизу, а то оно как то не на месте.
Alex868
Новичок
 
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0

Пред.След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: Alex lamaka, ART_ME, Bing [Bot], Darxton, dllfiles581, Егор Кравченко, Evgen91, frezeryga, Google [Bot], Jek-66, Kiriller, Kupfershcmidt, molchec, mycnc, NikolayUa24, passhi, Prav, r_v, Гагарин, shalek, Smlua, verser, Yandex [bot]

Reputation System ©'