Страница 2 из 3
Re: Вывод сообщений из HAL
Добавлено: 24 июл 2012, 13:05
Nick
Alex868 писал(а):попробовал добавить строчку last = h[:] вылетает с ошибкой:
А, точно, так не пойдет
надо перечислить пины:
last["msg-0-in"] = 0
и так для всех пинов.
Но погоди, вечером psha обещал написать, как к его программке прикрутить пины хал, там вроде все просто должно быть.
Re: Вывод сообщений из HAL
Добавлено: 24 июл 2012, 19:07
Alex868
А Image u32 очень даже неплохой вариант. Можно понаделать картинок с сообщениями, и выводить их на панель pyvcp. Только предварительно нужно преобразовывать битовые данные в u32, что пока не совсем понятно. Есть модуль conv_bit_u32, но у него же только один вход? А как быть если битовых сигналов несколько?
Re: Вывод сообщений из HAL
Добавлено: 24 июл 2012, 23:05
Nick
ну например через classic ladder можно. сделать там конструкцию, если такой бит = 1, то вывод равен "...".
Или вообще сделать там выражение из 2*ввод1 + 4*ввод 2 ...
Но лучше дождись того, что psha напишет, или уже написал (я почту еще не проверял). Там будет все красиво и можно сразу несколько сообщений показывать.
Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 12:00
Nick
Вот, Psha сделал вообще все
Берем файл 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, пробуем и пишем отчет со скриншотами

Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 12:27
Lexxa
клаааааааааааааас
Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 13:03
Nick
А где "и пишем отчет со скриншотами" ???

Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 20:03
Alex868
Извиняюсь за промедление в тестировании
Скопировал файл в конфиг, прописал в файлы 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. Странно как-то.
Еще,при выводе нескольких сообщений, открывается несколько окон, и иногда выдается стандартное сообщение, а только потом открывается сообщение в окне, а иногда и не выводится совсем. Окно с сообщением не закрывается, даже если закрыть ЕМС

Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 20:23
nkp
Alex868 писал(а):в коде и названии файлов заменил все слова ЕМС на linuxcnc
но ошибка то на хал файл
там прописан emc-notify.pin0 146 стр
Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 20:29
Alex868
Да, но пин то есть в хал-метре, стало быть и подключаться к нему можно, но стоит прописать этот пин в хал-файл, так сразу эта ошибка.
пишу: 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
То есть не может найти этот пин, но почему?
Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 21:23
nkp
Да , пины в хал появляются- но если попытаться их в хале присоеденить-
то получаем ошибку
Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 21:29
psha
Чтоб выводились не в отдельном окне надо поставить, например, xfce4-notifyd
Компонента называется emc-notify, а не linuxcnc-notify, надо бы обновить. На deprecation warning пока можно забить
Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 21:32
nkp
Сразу и нашел ошибку (свою) :
пины надо прописывать только в postgui файле
тогда все нормально:
Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 21:47
psha
По умолчанию в убунте почему-то не стоит никакой notifyd, лучше поставить
Иначе эти отдельные диалоги скоро задолбают
Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 23:42
Nick
Alex868 писал(а):Pin 'linuxcnc-notify.pin0' does not exist
Вообще странно, если ты написал в строке с loadusr "-Wn notify-emc", то hal должен был дождаться готовности компонента, и пины должны были уже появиться.
Скинь на всякий случай свой hal...
С postgui тоже вариант, но вдруг он еще не успеет загрузится.......
Re: Вывод сообщений из HAL
Добавлено: 26 июл 2012, 23:52
psha
Дык не linuxcnc-notify а emc-notify
Re: Вывод сообщений из HAL
Добавлено: 27 июл 2012, 00:05
Nick
Кстати, я вот еще о чем подумал, а можно туда кнопку прикрутить или изменить текущие, чтобы были варианты
"игнорировать ошибку", "инициировать АВОСТ" и еще что-нибудь?
ЗЫ как по вашему, оно вообще надо или нет?
Re: Вывод сообщений из HAL
Добавлено: 27 июл 2012, 08:29
Alex868
Действительно, оказывается пины нужно прописывать в postgui.hal, и тогда все работает. А если попытаться их прописать в основном хал-файле, то емс их не видит... ну да ладно, пусть будет так.
Поставил xfce4-notifyd, теперь сообщения выводятся все в одном окне. В принципе, это уже вполне устраивает, можно бы этим и ограничиться, но есть еще пару вопросов: 1. Как сделать чтобы окно с сообщениями выводилось в нижнем правом углу?
2. Иногда стандартные сообщения в окне не успевают выводиться, а выводятся как и раньше, в емс. Скрипт не успевает отрабатывать?
Re: Вывод сообщений из HAL
Добавлено: 27 июл 2012, 09:08
Alex868
Nick писал(а):"игнорировать ошибку", "инициировать АВОСТ"
Не думаю что это необходимо. По крайней мере если уж так понадобится, такие задачи можно решить стандартными средствами HAL.
Re: Вывод сообщений из HAL
Добавлено: 27 июл 2012, 09:24
psha
Дело в том что сообщения об ошибках существуют в единственном экземпляре.
Axis выгребает их из буфера, то же самое делает и emc-notify.
Кому-то одному из них надо запретить, иначе получается бардак
Re: Вывод сообщений из HAL
Добавлено: 27 июл 2012, 09:35
Alex868
Если это так сложно, пусть остается как есть, самое главное то что теперь можно свои сообщения выводить
Но все-таки желательно чтоб окно сообщения выводилось внизу, а то оно как то не на месте.