Результаты обработки моего файла конфигурации , рисунок слишком большой , отправляю c deposit
Files from job
1. TXT file
2. Config file ( ocf_1m.hal )
3. gy.png ( Large file - 2.5Md on deposit )
Добавил картинку сюда. -- Nick. Аккуратно, по высоте она 19000 пикселей
Да , уж ... И как такую конфигурацию в голове держать , или как-то проверить правильным путем ? Связи отсвечивать разным цветом , так оттенков не хватит , перевести в PCAD или EAGLE и отсвечивать связь - непросто ... У моего программиста уже рога выросли от упирания в угол ...
Надо graphviz по-лучше изучить, наверняка у него есть способ улучшения отображения сложных графов...
Фактически
hal-graph.py > 1.txt - делает файл в формате графвиза
dot -Tpng 1.txt > gv.png - а вот это команда самому графвизу на построение картинки.
а также по аналогичной схеме дополнительный ввод\вывод 20 на 20 сигналов .
Из-за этого черновик моего HAL файла выходит большой , но это конфигурация для обрабатывающего центра с множеством функций , для токарного будет попроще . Визуализацию графа нужно хорошо обработать разными методами .
проблема с визуализацией еще в том, что граф не направленный, т.к. в hal файле не задается направление пина, оно определяется из типа самого пина. Можно попробовать сделать шаблоны для определения типа пинов, но они не всегда сработают...
При обновлении LINUXCNC до версии 2.5 (http://buildbot.linuxcnc.org/ ) появилась частичная руссификация PNCCONF Beta1 , возможности шире , но для Mesa 7i43 + 7i48 не удается создать конфигурацию ( ошибка в строке 7986 ) .
Добавление в список плат , в частности 7и43 с мультиплексированием для 7и48 описано в форуме http://old.linuxcnc.org/component/optio ... g,english/
Ошибка :
Traceback (most recent call last):
File "/usr/bin/pncconf", line 7986, in on_complete_finish
p = 'mesa%dc%dpin%d' % (boardnum, connector, pin)
TypeError: %d format: a number is required, not unicode
Видать что-то перевелось на русский в какой-то переменной. Можно попробовать перед этой строчкой написать (с таким же отступом) и посмотреть, что на самом деле в этих переменных.
print (boardnum, connector, pin)
Зарэмил кусочек текста в PncConf , который отвечает за платы с последовательным интерфейсом 7и76 , генерирует конфигурацию , можно возвращаться к визуализации HAL файлов ,
# p ="mesa%dc%dpin%d"% (boardnum,connector,pin)
# ptype = 'mesa%dc%dpin%dtype'% (boardnum,connector,pin)
# if self.data[ptype] in (TXDATA0,TXDATA1,TXDATA2,TXDATA3,SS7I76M0,SS7I76M2) and not self.data[p] == UNUSED_SSERIAL:
# if self.data[ptype] in (TXDATA0,SS7I76M0): channelnum = 0
# elif self.data[ptype] == TXDATA1: channelnum = 1
# elif self.data[ptype] in (TXDATA2,SS7I76M2): channelnum = 2
# elif self.data[ptype] == TXDATA3: channelnum = 3
# keeplist.append(channelnum)
Да, стало понятнее, но еще не совсем. Может стоить попробовать убрать названия сигналов и названия пинов и сделать маленькую схему связей компонентов? А в случае необходимости лазить в крупную?