Настраиваем контроллер to_pci.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Настраиваем контроллер to_pci.

Сообщение T00T »

В связи с тем, что были проданы 2 тестовых комплекта контроллеров,
DSC04017.JPG (14140 просмотров) <a class='original' href='./download/file.php?id=106103&sid=ce96b77612bc3d9313d1e6853e6a113d&mode=view' target=_blank>Загрузить оригинал (3.06 МБ)</a>

будет не лишним создать тему для обсуждения подключения и других вопросов, связанных с его применением.

Тема для предложений и предстоящих модернизаций:
http://www.cnc-club.ru/forum/viewtopic. ... 35#p272335

Тема по продаже:
http://www.cnc-club.ru/forum/viewtopic. ... 24#p274424

А тут собственно применение контроллера.


Итак для того что бы LinuxCNC увидел контроллер необходимы 3 вещи:
1. Нужен сам контроллер. Его нужно вставить в PCI слот.:)
2. Необходим драйвер, поддерживающий данный контроллер.
3. В hal-файле нужно подключить модуль этого драйвера и функцию обновления значений.

Если это всё правильно сделать, то в меню Linux CNC СТАНОК/Показать установки HAL/Pins
Должно появиться устройство и те порты и пины которые в него заложены.

Итак если вы являетесь счастливым обладателем контроллера, то первый пункт есть. Теперь драйвер.

В текущей версии полноценно доступны 32-in, 16-out, 5-encoder, 5-PWM или 5-SD+1PWM, WD.


Драйверы
Для платы PCI и PWM выходами:
to_pci_v3.zip
Исходник драйвера от 24.08.17
(3.11 КБ) 504 скачивания
to_pci_PP_v4.zip
Драйвер для платы PCI_PWM ver.4. На замену v3.
Тут добавлена поддержка новых версий плат, на которых есть сброс енкодеров при перезапуске программы. Версия для RTAI Ядер.
(3.38 КБ) 314 скачиваний
to_pci_v1_2.zip
Драйвер для PCI PWM, поддержка RS-422 входов. Версия для rt ядер.
Версия от 08.01.20
(4.7 КБ) 348 скачиваний
Чуть позже соберём все в один драйвер для PCI карт.


Для платы PCI SD:
to_pcisd.zip
Version 3.42
(4.79 КБ) 369 скачиваний
to_pcisd_v3_50.zip
Драйвер для PCI_SD v3.50 С поддержкой сброса енкодеров.
(4.94 КБ) 325 скачиваний

Для плат Ethernet( маленьких с одной io) SD и PWM:
etcomb.zip
Исходники драйвера под платы ethernrt
(6.04 КБ) 390 скачиваний
Для плат Ethernet( PinCET-ME) SD и PWM:
etcomb_v3.7z
PinCET-ME
(6.61 КБ) 20 скачиваний


Тестовый конфиг PCI SD:
test_PCISD.zip
(8.84 КБ) 421 скачивание
Небольшие конфиги для eth c PWM и SD управлением соответственно
ETHcombP.zip
Пример конфига eth-pwm
(8.52 КБ) 361 скачивание
ETHcombS.zip
Пример конфига eth-sd
(8.58 КБ) 365 скачиваний

Для того что бы драйвер использовать нужно его скачать(ссылка выше), распаковать и скопировать, ну для простоты в папку /home.

Затем его, при помощи программы halcompile скомпилировать и установить в систему:
Откройте терминал и наберите следующую команду
Для варианта PCI-pwm

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

sudo halcompile --install to_pci.c
У кого то может что то не установиться, поэтому вот на этом дистрибутиве я попробовал установить как описал и всё работает.
http://linuxcnc.org/docs/2.7/html/getti ... uxcnc.html

Третий пункт: в HAL файле прописать 2 строки(для PCI-pwm платы):

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

loadrt to_pci
addf to_pci.1.update		          servo-thread
Быстро подключить контроллер и проверить его помогут конфигурационные файлы по ссылке ниже:
(Пока обновляем)

описание:
теперь оно в теме по продаже на первой странице

Схемы дочерних плат, для желающих по паять
shems.zip
(408.35 КБ) 832 скачивания
На данный момент платы соединяются стандартными FDD шлейфами

На все дочерние платы заводиться питание +5в отдельно от компьютерного блока питания.
Более подробно в описании.

Входы енкодеров -5в, дифференциальные. Если у вас выходы с датчиков не дифференциальные, нужна плата енкодеров нового образца(уточните это при заказе).

Инструкциями по копированию файла в следующем посте(№2) пренебречь!!!!!!!!
Последний раз редактировалось T00T 23 фев 2021, 15:18, всего редактировалось 30 раз.
Я не волшебник я пока учусь......
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение T00T »

T00T писал(а):Для того что бы драйвер использовать нужно его распаковать и файл скопировать в системную папку, где лежат все модули linux CNC.
Я думаю с этим пунктиком могут быть проблемы.(Я сам не шибко шарю в LINUX).
У меня допустим(скорее всего и у всех) эта папка /usr/realtime-2.6..(здесь цифры разные могут быть)-rtai/modules/linuxcnc/
Проверьте, есть ли такая папка.И в ней куча файлов с расширением .ko

Копируете файл to_pci.ko в директорию /home

Открываете командную строку и выполняете команду sudo cp to_pci.ko /usr/realtime-2.6..(здесь цифры разные могут быть)-rtai/modules/linuxcnc/
Я не волшебник я пока учусь......
Аватара пользователя
Serg
Мастер
Сообщения: 21860
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5133
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Serg »

T00T писал(а):Для того что бы драйвер использовать нужно его распаковать и файл скопировать в системную папку, где лежат все модули linux CNC.
Т.е. драйвер поставляется без исходников?
Я надеюсь ты хорошо представляешь последствия такого варианта, учитывая что LinuxCNC распостраняется под GPL? Обрати внимание, что даже не под LGPL...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение T00T »

Исходники без проблем!!!!
Я не волшебник я пока учусь......
aftaev
Зачётный участник
Зачётный участник
Сообщения: 32903
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 5906
Откуда: Казахстан. Шымкент
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение aftaev »

UAVpilot писал(а):Я надеюсь ты хорошо представляешь последствия такого варианта, учитывая что LinuxCNC распостраняется под GPL? Обрати внимание, что даже не под LGPL...
А можно вкратце какие могут быть проблемы?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение T00T »

Исходник в другую тему выложил. В этой теме не место исходникам - здесь тема по настройке.
http://www.cnc-club.ru/forum/viewtopic. ... 85#p274485
Я не волшебник я пока учусь......
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение T00T »

Подключение шлейфов, назначение разъёмов, полярность питания и прочее можно посмотреть здесь(пост 155):
http://www.cnc-club.ru/forum/viewtopic. ... &start=140

Да кстати, на дискретные входы(которые на плате io) можно подавать питание не только 5в, но и 12в. Больше не стоит!!!!!!!


Я вот не проверял может ли PCI плата воткнуться к вверх ногами, оказывается может.
Поэтому плату нужно вставлять вот так
100_3322.JPG (16244 просмотра) <a class='original' href='./download/file.php?id=78925&sid=ce96b77612bc3d9313d1e6853e6a113d&mode=view' target=_blank>Загрузить оригинал (1.21 МБ)</a>
Последний раз редактировалось T00T 29 апр 2016, 17:57, всего редактировалось 1 раз.
Я не волшебник я пока учусь......
Аватара пользователя
N1X
Мастер
Сообщения: 3586
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1629
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение N1X »

Зря... Вообще промышленный стандарт - 24, но держать должны и больше...
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение T00T »

Да стандарт, не стандарт. Мне кажется сейчас вообще всем плевать.
Вон пожалуйста mesa 7i77 дохлых у народа уже много!!!!! Типа подключили к 24 вольтам!!!!!
Ну да ладно лирика.

Можно и 24 вольта, нужно только резисторы поменять тогда!!!!!!!! Стоят на 1Ком 0.25вт - при 24 вольтах я думаю перегреются, поэтому ну хотя бы 2.7к поставить и будет 24 вольта.
Я не волшебник я пока учусь......
Аватара пользователя
N1X
Мастер
Сообщения: 3586
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1629
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение N1X »

Большинство промышленных PLC просто имеют самые ходовые I/O как раз на 24 вольта, потому и предложил, хотя тут на вкус и цвет, как говорится...
Аватара пользователя
Serg
Мастер
Сообщения: 21860
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5133
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Serg »

aftaev писал(а):А можно вкратце какие могут быть проблемы?
Без исходников и полного описания "программирования" платы (API) оно никогда не войдёт в "официально поддерживаемые", а без этого оно никому нафик не надо.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение T00T »

В любом случае в драйвере ничего нового, кроме конкретного распределения адресов данных в устройстве!!!
Хотя ни в одном драйвере встроенных в linuxCNC я так и не нашёл алгоритм поиска PCI устройства. Даже в HM2. !!!
Что то вразумительное есть в исходниках mesaflash.
Я не волшебник я пока учусь......
Аватара пользователя
torvn77
Мастер
Сообщения: 2441
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 214
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение torvn77 »

T00T, спор между вами и UAVpilot очень просто, вот вы пишите:
T00T писал(а):Я думаю с этим пунктиком могут быть проблемы.(Я сам не шибко шарю в LINUX).
У меня допустим(скорее всего и у всех) эта папка /usr/realtime-2.6..(здесь цифры разные могут быть)-rtai/modules/linuxcnc/
Проверьте, есть ли такая папка.И в ней куча файлов с расширением .ko

Копируете файл to_pci.ko в директорию /home

Открываете командную строку и выполняете команду sudo cp to_pci.ko /usr/realtime-2.6..(здесь цифры разные могут быть)-rtai/modules/linuxcnc/
Какието директории, ko непонятные, помещай сюда, копируй туда.
И это вы ещё про бинарную совместимость драйвера и ядра не писали (ну может вы наивно об этом не знаете, ну да UAVpilot
счас понараскажет про разные способы получения kernel panic)

А ведь поставь вы драйвер в виде исходника оформленного ввиде *.comp файла, все сложности свелись бы к одному:

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

sudo halcompile --install ./to_pci.comp
И ни каких лишних рассуждений.
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение T00T »

И вот опять...
1.Итак если честно, то я даже не знаю что такое comp файл. Буду признателен если ткнете носом где почитать про это. И как это связанно с сишным файлом.
Я конечно по названию могу себе представить что это исходник на языке, который понимает HALCOMPAIL, но это догадки, а не знания...
T00T писал(а):(Я сам не шибко шарю в LINUX)
Точнее не шарю совсем.....
2. Я сам порядком попотел, когда обнаружил, что HALCOMPAIL в моей сборке отсутствует, и потребовалось массу времени что бы его поставить.
Я даже не смогу объяснить человеку как его установить(это на случай если у него в сборке тоже нет HALCOMPAIL), потому что сам не шарю....
А вы говорите проще......
А для начала надо ещё комп с линуксом подключить к интернету через МТС-й свисток(у сергея тоже свисток). Я думаю тут тоже придётся попотеть!!!!

Ну и какой вариант проще???????????????
Мне вот допустим на плисине просто что нибудь забацать, вам я думаю это покажется тоже непростой задачей!!!!! Правда?
Да может на его Ядре не пойдёт этот драйвер, ну тогда я попрошу что бы он установил сборку, на которой я компилировал драйвер( 2.6 ). А после того как всё у него заработает будем дальше думать как лучше.
Буду признателен за помощь.
Если можно torvn77 , ответ в параллельной теме.http://www.cnc-club.ru/forum/viewtopic. ... &start=160
Я не волшебник я пока учусь......
Аватара пользователя
torvn77
Мастер
Сообщения: 2441
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 214
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение torvn77 »

T00T писал(а): Буду признателен если ткнете носом где почитать про это.
Где прочитать не знаю, я это просто нащёл когда захотел посмотреть, как сделан компонент time.
Вот ссылка на его код: https://github.com/LinuxCNC/linuxcnc/bl ... /time.comp
Как можно видеть, он оформлен в виде comp файла.
Как мне потом пояснили, может даже сам UAVpilot, написан он на языке С, а вид он такой имеет благодаря всяким макросам разработанными авторами формата.
И вообще говоря утилита halcompile умеет работать и нормальными С файлами, собственно они есть промежуточное звено
компиляции comp файла в бинарник и их можно получить запустив halcompile с опцией --preprocess.
Впрочем в мануальнике LinuxCNC этой утилите и правилам написания файлов для неё посвещена целая страница,
но её содержимое мне пока не понятно.
Вот вам на эту страницу ссылка, надеюсь что вы как более опытный человек сможете с ней разобраться.
http://linuxcnc.org/docs/2.7/html/hal/comp.html
Впрочем, если не разберётесь не страшно, я в нужном для себя объёме освоил comp формат методом научного тыка без чтения подробных мануальников.
Хотя конечно потом их хотя бы посмотрел.

Вот ещё линк, может пригодится:
http://linuxcnc.org/docs/2.7/html/hal/halmodule.html
Последний раз редактировалось torvn77 30 апр 2016, 03:25, всего редактировалось 3 раза.
Аватара пользователя
torvn77
Мастер
Сообщения: 2441
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 214
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение torvn77 »

T00T писал(а):2. Я сам порядком попотел, когда обнаружил, что HALCOMPAIL в моей сборке отсутствует,
Это надо было постараться, halcompile входит в поставку LinuxCNC как одна из стандартных утилит.
Хотя может он находится в отдельном -dev пакете?
Как ставить LinuxCNC можно примерно почитать здесь, мануальник, как и все мои проекты брошен на пол дороге, но даже в таком виде собирает подписчиков,
по этому видимо людям полезен и надеюсь поможет и вам.
https://vk.com/topic-77252290_30466944
Аватара пользователя
torvn77
Мастер
Сообщения: 2441
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 214
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение torvn77 »

T00T писал(а):Да может на его Ядре не пойдёт этот драйвер, ну тогда я попрошу что бы он установил сборку, на которой я компилировал драйвер( 2.6 ).
Вот чтобы этого не было, драйвер в исходниках поставлять и нужно.
Вообще нормально оформленные исходники ставятся буквально вот так(ну конечно есть вариации, но от вкусов, а не необходимости)
make clean
./configur
make compile
sudo make install
И пользователи линукса, да и винды потихоньку привыкают к такому.
Ещё как пример можно привести BlenderCAM, который просто закачивается из гита в готовом виде так как написан на питоне.
И всё это рядовые пользователи умеют делать.
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение T00T »

По конструкции:
Линии связи Main и дочек (16123 просмотра) <a class='original' href='./download/file.php?id=79977&sid=ce96b77612bc3d9313d1e6853e6a113d&mode=view' target=_blank>Загрузить оригинал (1.35 МБ)</a>
Линии связи Main и дочек
Плата IO:
100_3335.JPG (16123 просмотра) <a class='original' href='./download/file.php?id=79978&sid=ce96b77612bc3d9313d1e6853e6a113d&mode=view' target=_blank>Загрузить оригинал (1.57 МБ)</a>
На плате два независимых узла _ Входы и выходы.
На плату подаётся стабилизированное питание +5в.
Входы: 32 опторазвязанных входа переключаются по 2 группы в 16 каналов мультиплексорами 74HC257.
На входы можно подавать напряжение от 4в до 12в.

Выходы: 8 опторазвязанных каналов с транзисторными выходами (общий коллектор). У последнего канала вывод AGND не связан с остальными.(при необходимости замкнуть)
8 не опторазвязанных каналов с TTL выходом.
Я не волшебник я пока учусь......
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение T00T »

Плата PWM:
100_3336.JPG (16085 просмотров) <a class='original' href='./download/file.php?id=79996&sid=ce96b77612bc3d9313d1e6853e6a113d&mode=view' target=_blank>Загрузить оригинал (1.46 МБ)</a>
На плате разведено 5 каналов фильтров низких частот 4-го порядка.
Частота шим 12.5Кгц.
сигналы UP DOWN приходят с платы MAIN, проходят через элемент И, затем подаются на фильтр.
Питание +-15в берется с интегрального преобразователя 5to+-15.
Его мощность 2вт, поэтому ток нагрузки(входной ток привода) должен быть в среднем не более 5ма.
Я не волшебник я пока учусь......
T00T
Мастер
Сообщения: 741
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 98
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение T00T »

Плата encoders:
100_3338.JPG (16058 просмотров) <a class='original' href='./download/file.php?id=79999&sid=ce96b77612bc3d9313d1e6853e6a113d&mode=view' target=_blank>Загрузить оригинал (1.43 МБ)</a>
Ну тут просто на каждый енкодер по три типовых дифференциальных усилителей шины.
У всех разъёмов энкодеров 8-контакт(Upp) соеденены вместе.
Я не волшебник я пока учусь......
Ответить

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