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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Alex868 писал(а):попробовал добавить строчку last = h[:] вылетает с ошибкой:
А, точно, так не пойдет
надо перечислить пины:
last["msg-0-in"] = 0
и так для всех пинов.
Но погоди, вечером psha обещал написать, как к его программке прикрутить пины хал, там вроде все просто должно быть.
Alex868
Новичок
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0
Контактная информация:

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

Сообщение Alex868 »

А Image u32 очень даже неплохой вариант. Можно понаделать картинок с сообщениями, и выводить их на панель pyvcp. Только предварительно нужно преобразовывать битовые данные в u32, что пока не совсем понятно. Есть модуль conv_bit_u32, но у него же только один вход? А как быть если битовых сигналов несколько?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

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

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

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

Сообщение Nick »

Вот, 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, пробуем и пишем отчет со скриншотами :)
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

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

Сообщение Lexxa »

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

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

Сообщение Nick »

А где "и пишем отчет со скриншотами" ??? :)
Alex868
Новичок
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0
Контактная информация:

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

Сообщение 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. Странно как-то.
Еще,при выводе нескольких сообщений, открывается несколько окон, и иногда выдается стандартное сообщение, а только потом открывается сообщение в окне, а иногда и не выводится совсем. Окно с сообщением не закрывается, даже если закрыть ЕМС :freak:
Вложения
Без имени.jpg (3824 просмотра) <a class='original' href='./download/file.php?id=6881&sid=becb1603a1e2018d939bf7e9370a40d8&mode=view' target=_blank>Загрузить оригинал (120.48 КБ)</a>
Последний раз редактировалось Alex868 26 июл 2012, 20:27, всего редактировалось 1 раз.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

Alex868 писал(а):в коде и названии файлов заменил все слова ЕМС на linuxcnc
но ошибка то на хал файл
там прописан emc-notify.pin0 146 стр
Alex868
Новичок
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0
Контактная информация:

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

Сообщение 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
То есть не может найти этот пин, но почему?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

Да , пины в хал появляются- но если попытаться их в хале присоеденить-
то получаем ошибку
psha
Опытный
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Контактная информация:

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

Сообщение psha »

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

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

Сообщение nkp »

Сразу и нашел ошибку (свою) :
пины надо прописывать только в postgui файле
тогда все нормально:
Выделение(029).png (3814 просмотров) <a class='original' href='./download/file.php?id=6883&sid=becb1603a1e2018d939bf7e9370a40d8&mode=view' target=_blank>Загрузить оригинал (55.72 КБ)</a>
psha
Опытный
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Контактная информация:

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

Сообщение psha »

По умолчанию в убунте почему-то не стоит никакой notifyd, лучше поставить
Иначе эти отдельные диалоги скоро задолбают
root, доделай конвертацию! :)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Alex868 писал(а):Pin 'linuxcnc-notify.pin0' does not exist
Вообще странно, если ты написал в строке с loadusr "-Wn notify-emc", то hal должен был дождаться готовности компонента, и пины должны были уже появиться.

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

С postgui тоже вариант, но вдруг он еще не успеет загрузится.......
psha
Опытный
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Контактная информация:

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

Сообщение psha »

Дык не linuxcnc-notify а emc-notify
root, доделай конвертацию! :)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

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

Сообщение Nick »

Кстати, я вот еще о чем подумал, а можно туда кнопку прикрутить или изменить текущие, чтобы были варианты
"игнорировать ошибку", "инициировать АВОСТ" и еще что-нибудь?
ЗЫ как по вашему, оно вообще надо или нет?
Alex868
Новичок
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0
Контактная информация:

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

Сообщение Alex868 »

Действительно, оказывается пины нужно прописывать в postgui.hal, и тогда все работает. А если попытаться их прописать в основном хал-файле, то емс их не видит... ну да ладно, пусть будет так.
Поставил xfce4-notifyd, теперь сообщения выводятся все в одном окне. В принципе, это уже вполне устраивает, можно бы этим и ограничиться, но есть еще пару вопросов: 1. Как сделать чтобы окно с сообщениями выводилось в нижнем правом углу?
2. Иногда стандартные сообщения в окне не успевают выводиться, а выводятся как и раньше, в емс. Скрипт не успевает отрабатывать?
Вложения
вывод сообщения после установки xfce4-notifyd (3786 просмотров) <a class='original' href='./download/file.php?id=6910&sid=becb1603a1e2018d939bf7e9370a40d8&mode=view' target=_blank>Загрузить оригинал (116.53 КБ)</a>
вывод сообщения после установки xfce4-notifyd
Alex868
Новичок
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0
Контактная информация:

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

Сообщение Alex868 »

Nick писал(а):"игнорировать ошибку", "инициировать АВОСТ"
Не думаю что это необходимо. По крайней мере если уж так понадобится, такие задачи можно решить стандартными средствами HAL.
psha
Опытный
Сообщения: 147
Зарегистрирован: 28 фев 2011, 11:11
Репутация: 1
Контактная информация:

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

Сообщение psha »

Дело в том что сообщения об ошибках существуют в единственном экземпляре.
Axis выгребает их из буфера, то же самое делает и emc-notify.
Кому-то одному из них надо запретить, иначе получается бардак
root, доделай конвертацию! :)
Alex868
Новичок
Сообщения: 18
Зарегистрирован: 22 июл 2012, 21:39
Репутация: 0
Контактная информация:

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

Сообщение Alex868 »

Если это так сложно, пусть остается как есть, самое главное то что теперь можно свои сообщения выводить :)
Но все-таки желательно чтоб окно сообщения выводилось внизу, а то оно как то не на месте.
Ответить

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