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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

Maxekb77 писал(а):NOKS, каждый станок уникален, и чужие конфиги вам вряд ли помогут.
это как же так?)))
какие уникальные отличия (станка 16а20 из под размера с головкой на 8 позиций)
помешают использовать "чужой" конфиг ? :hehehe:
Аватара пользователя
Maxekb77
Мастер
Сообщения: 1658
Зарегистрирован: 05 окт 2013, 00:04
Репутация: 285
Настоящее имя: Максим
Откуда: Екатеринбург
Контактная информация:

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

Сообщение Maxekb77 »

nkp писал(а):это как же так?)))
какие уникальные отличия (станка 16а20 из под размера с головкой на 8 позиций)
помешают использовать "чужой" конфиг ? :hehehe:
Да ничего не помешает, делать можно все что угодно жаль что большинство вещей один раз :)
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

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

Сообщение mmv »

NOKS писал(а):Пожалуйста выложите свои рабочие конфиги для контроллера to_pci.
Вот папка с конфигами для станка 16А20Ф3С39 с 8-ми поз головой, платы как у вас.

Я просто вижу что у многих нет понимания как это настраивать, куда смотреть. А не просто готовое решение.
tok-conf.zip
(28.45 КБ) 284 скачивания
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

nkp писал(а):какие уникальные отличия (станка 16а20 из под размера с головкой на 8 позиций)
Например у одного смена инструмента написана на ladder, а у другого просто на HAL. У одного частотник управляется аналогом, да ещё и энкодер стоит и ПИД по скорости, а у другого вообще управляется по Modbas. Продолжать? :)
И потом выпросивший такие конфиги начинает задавать кучу вопросов типа "а как прописать вот такое и вот эдакое?", долгими часами ждать ответа по его горящей проблеме и обижаться на всех форумчан за то, что на его вопрос никто не отвечает с часу ночи аж до семи утра. :)
Считаю, что если и делиться конфигами, то какими-то конкретными кусками, решающими какие-то конкретные задачи. А "чисто просто для примера" хватает тех, что в дистрибутиве, на 90% уверен, что спрашивающие конфиги о них даже и не подозревают.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

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

Сообщение mmv »

Итак дальше.
Вот конфиг, мой тестовый, в нём одна ось.
1.zip
(2.04 КБ) 260 скачиваний
Будем на его основе разбираться.
Итак как работает ось в Lcnc.
Значит каждый сервопериод расчитывается координата оси, где она должна быть. Это все делается в основном модуле(ядре) самой Lcnc. Т.е. если не двигать ось, она должна стоять на месте. Допустим она стоит в координате 0. Итак посмотрим что у нас есть.

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

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES

# My driver
loadrt to_pci

loadrt pid names=pid.x

В этих строках мы подгружаем в нашу систему нужные модули. Первые 2 строки это модули кинематики они должны быть всегда, в данном случае кинематика trivkins - это стандартная кинематика. На этом останавливаться не будем.

Далее подгружен драйвер to_pci и модуль pid.

Теперь если открыть вкладку PINS увидим вот это:
41.png (3374 просмотра) <a class='original' href='./download/file.php?id=163995&mode=view' target=_blank>Загрузить оригинал (296.23 КБ)</a>
Тут целый ряд разделов: axis,axisui,ini,iocontrol,motion-command-handler, motion controller, motion, servo-thread,pid, pyvcp,to_pci
pid,to_pci- мы подключили см. чуть выше.pyvcp - подключен в другом hal файле это просто панелька с кнопками.
Все остальное это интерфейс(т.е. сигналы которые выдает и принимает ядро Lcnc) для передачи команд что то включить или куда то поехать или ядро смотрит включено что то или координаты положения. Описание опять же можно найти на все сигналы этих разделов.
Остановимся на разделе axis(в этом разделе все сигналы связанные с осями):
2.png (3374 просмотра) <a class='original' href='./download/file.php?id=163996&mode=view' target=_blank>Загрузить оригинал (208.2 КБ)</a>
Тут есть подраздел 0 - это как раз наша одна ось, которую мы объявили в ini файле. Если будет больше осей - то тут появятся подразделы 1,2,3... сколько будет у вас осей. И в каждом подразделе будет куча сигналов. Все эти сигналы относятся к данной оси.
Тут много сигналов например: in-position это логический сигнал(0 или 1) показывает находится ли ось в заданной позиции или ещё не доехала до неё, f-error - (число показывающее отклонение оси от требуемой позиции в каждый момент времени) этот сигнал понадобится при настройке пида, когда нужно будет настроить ось что бы эта ошибка(рассогласование) была минимальна. В общем всего много почитаете...
Остановимся на двух сигналах motor-pos-cmd и motor-pos-fb.
Итак я уже говорил, что каждый сервопериод расчитывается координата оси, где она должна быть. И эта координата передаётся в параметре motor-pos-cmd, т.е. это цифра показывает какая сейчас должна быть позиция. Lcnc посчитал это число и выдал. Дальше как хотите сами там регулируйте крутите, но координата должна быть такой!
А вот по motor-pos-fb как раз Lcnc смотрит выполняем мы его задание или нет.
Причём т.к мы работаем с реальным железом, отклонения от требуемого точно будут. Мы Lcnc задаём погрешность в пределах которой будет считаться что ошибка допустимая:(ini)

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

FERROR = 10000.5
.
В данном случае если ошибка меньше 10 метров, то все нормально (такое большое число для настройки, при реальной работе тут будут цифры меньше миллиметра).
Логика Lcnc такая :
Lcnc посчитал это число и выдал. Дальше как хотите сами там регулируйте крутите, но координата должна быть такой!
И если он смотрит что мы превысили погрешность, то это АВАРИЯ - > станок отрубается.

Теперь дальше В HAL файле можно соединять сигналы разных модулей, но только те которые есть, т.е. смотрим как называется выходной сигнал одного модуля, смотрим как называется входной сигнал другого модуля и связываем их.
Например :

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

net x-pos-cmd    axis.0.motor-pos-cmd
net x-pos-cmd      => pid.x.command
5.png (3374 просмотра) <a class='original' href='./download/file.php?id=164005&mode=view' target=_blank>Загрузить оригинал (211.54 КБ)</a>
7.png (3374 просмотра) <a class='original' href='./download/file.php?id=164006&mode=view' target=_blank>Загрузить оригинал (209.38 КБ)</a>
Есть в hal такие две строки. Это нужно понимать так net - соединение(цепь, провод как угодно) но у этого провода есть имя "x-pos-cmd" это имя можно дать любое, главное что бы вы сами понимали что через этот провод(виртуальный) вы передаёте. В данном случае это управление позиционирования оси Х.
И можно посмотреть что соединяет цепь под названием "x-pos-cmd", это в разделе не pins, а signals:
6.png (3374 просмотра) <a class='original' href='./download/file.php?id=164007&mode=view' target=_blank>Загрузить оригинал (210.86 КБ)</a>
Так же в окне show видно что источником является axis.0.motor-pos-cmd, а приёмником pid.x.command.
При описании связи типа:

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

net x-pos-cmd      => pid.x.command
Стрелка никакого значения не имеет просто информативность, её может и не быть, а вот в окне show стрелка показывает вход это или выход.
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

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

Сообщение mmv »

Из вышесказанного нужно понять что обратная связь в ядро Lcnc чисто для формирования сигнала аварийного рассогласования.
А задачей следования координатам, которые считает для нас ядро Lcnc заниматься нам самим. Для этих задач используется модуль PID. У этого модуля тоже много настроек, но основных сигнала 3, остальные это параметры которые задают режим работы модуля.

У этого модуля 2 входных сигнала и один выходной.
pid.command - требуемая координата.
pid.feedback - координата которая соответствует реальному положению
pid.output - выходной сигнал, который по какому то закону пропорционален разнице входных(отклонению реальных координат от требуемых).
Выходной сигнал - это скорость с которой должна перемещаться ось. Работает примерно так: Чем больше отклонение реальных координат от требуемых тем с большей скоростью нужно устранять это рассогласование.
Пусть в первый момент времени стояли в координате 0(как заданно так и реально).
Пришло задание переместиться в координату 1мм(pid.command = 1).А стоим в координате 0мм(pid.feedback = 0). Pid вычисляет разницу и она не равна нулю, поэтому на выходе появляется величина скорости в том направлении в котором нужно, что бы устранить эту разницу.
Для максимально точного регулирования в PID предусмотрены разные коэффициенты влияющие на характер регулирования.

В наших контроллерах управление движением двигателя задаётся как сигнал скорости, поэтому с PID модуля этот сигнал нужно подать на вход соответствующего канала, который преобразуется в электрический сигнал и подаётся на привод.
(Описание сигналов контроллера можно найти в документации http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407)

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

net x-output   	pid.x.output
net x-output => to_pci.1.PWM.dcontrol0
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

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

Сообщение MX_Master »

Главеое, чтобы этот маленький ликбез не затерялся во времени (:
Аватара пользователя
Maxekb77
Мастер
Сообщения: 1658
Зарегистрирован: 05 окт 2013, 00:04
Репутация: 285
Настоящее имя: Максим
Откуда: Екатеринбург
Контактная информация:

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

Сообщение Maxekb77 »

nkp,
даже вот пример с ходу.
mmv писал(а):FERROR = 10000.5
с высокой вероятностью после этого надо будет вытаскивать суппорт из какой то бабки :)
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

Maxekb77 писал(а):даже вот пример с ходу.
я так это понимаю - человек просит нормальный,рабочий конфиг...
то ,что ему могут предложить хз что - это понятно...
но это уже его проблема - фильтровать источники инфы по надежности :)
NOKS
Новичок
Сообщения: 6
Зарегистрирован: 02 сен 2016, 13:07
Репутация: 0
Настоящее имя: Алексей
Откуда: Пермь
Контактная информация:

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

Сообщение NOKS »

Добрый день всем. Благодарю всех откликнувшимся. Очень благодарю mmv за подробное руководство. Скажу честно, не ожидал практически по шаговой инструкции. Изначально хотел сравнить конфиги to-pci c конфигами мессы и таким образом найти "среднее значение". Сейчас буду писать свой заново, с нуля. И сравнивая с вашими.

Большое спасибо Вам за ваш труд. Буду рад если будет продолжение.
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

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

Сообщение mmv »

Будем каждый день что-нибудь добавлять.
Что хотелось сказать
mmv писал(а):Далее подгружен драйвер to_pci и модуль pid.
вот тут один элемент назван модулем, а другой драйвером, в чём разница?
В данном контексте будем понимать что модули это программные элементы, которые как то преобразуют одни сигналы в другие внутри системы, а драйверы это такие же модули, только они преобразуют сигналы программы в сигналы понятные физическому контроллеру и передают их в реальное железо! Т.е. драйвер - модуль прослойка между софтом и физическими устройствами(LPT, дисплей, плата контроллера...) .Драйвер он для каждого физического устройства свой. Мы же через что то будем выводить сигналы наружу(физ устройство будь то наш контроллер, LPT, MESA, PLUTO или что ещё) поэтому нужно в систему подключить драйвер для этого устройства.

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

loadrt to_pci

Несмотря на то что основное управляемое устройство - зто ось, и кажется что её основной показатель это координаты(положение) в большинстве случаях управляется по скорости. Т.е. выходной сигнал с чпу это скорость. Потом этот сигнал скорости преобразуется либо в напряжение (-10в ... 10в) для управления частотником, либо в последовательность импульсов, частота которых пропорциональна требуемой скорости.(Не будем углубляться почему это так)
Поэтому конструкция оси такая:
104_3505.JPG (3263 просмотра) <a class='original' href='./download/file.php?id=164067&mode=view' target=_blank>Загрузить оригинал (1.04 МБ)</a>
Я думаю теперь понятно какие модули мы подключили и зачем.

Теперь дальше у каждого модуля нужно обновлять значения, для этого в каждом модуле есть специальная функция, которую нужно вызывать для обновления значений.
Для этого строки типа

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

addf to_pci.1.update		          servo-thread
addf pid.x.do-pid-calcs 		servo-thread 
В первой строке обновляются значения драйвера to_pci, во второй модуля pid.

У большинства модулей есть некоторые параметры, которые влияют на преобразование данных в этом модуле. Ну какие то коэффициенты.
Пример: Для согласования направления движения в модуле драйвера to_pci есть коэффициент out_scale

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

setp  to_pci.1.PWM.out_scale0 [AXIS_0]OUTPUT_SCALE
Он согласовывает направление движения. Т.е. если out_scale=1, на сигнале управления скоростью оси dcontrol0 значение 3.5, то на соответствующем выходе платы будет напряжение 3.5в. А если out_scale=-1, то при тех же условиях на выходе будет напряжение -3.5в.

В этой строке мы задаём значение этого коэффициента. Hal файл может быть большим, и не всегда удобно искать в этих строках где там этот коэффициент. Поэтому его часто выносят в ini файл, где все структурированно.
Строку выше нужно понимать так: параметру to_pci.1.PWM.out_scale0 установить значение, указанное в ini файле в секции [AXIS_0] под именем OUTPUT_SCALE.

Думаю что на этом практику работы с hal и ini закончим. Будем смотреть как это настраивать в жизни.
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
max73
Мастер
Сообщения: 352
Зарегистрирован: 08 авг 2016, 12:41
Репутация: 21
Настоящее имя: Maxim
Контактная информация:

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

Сообщение max73 »

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

После первого запуска Linuxcnc генерится демоконфиг, все файлы его лежат в системных папках и модифицироваться могут только рутом.
Есть два генератора конфигов, stepconf и pnconf. Первый заточен под LPT порт, второй под платы MESA.

Вопрос, как сгенерить первоначальный конфиг под вашу плату ethernet? (блин да придумайте уже название проекту!)

upd1.
драйвер собрал и он в нужной папке.
если зайти в halrun и набрать:

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

loadrt etcomb board_ip=192.168.1.3
все вроде ок, вывод show:
(для просмотра содержимого нажмите на ссылку)
halcmd: show
Loaded HAL Components:
ID Type Name PID State
6 RT etcomb ready
4 User halcmd3657 3657 ready

Component Pins:
Owner Type Dir Value Name
6 bit OUT FALSE etcomb.1.Lpins.pin-00-in
6 bit OUT FALSE etcomb.1.Lpins.pin-00-in-n
6 bit IN FALSE etcomb.1.Lpins.pin-00-out
6 bit OUT FALSE etcomb.1.Lpins.pin-01-in
6 bit OUT FALSE etcomb.1.Lpins.pin-01-in-n
6 bit IN FALSE etcomb.1.Lpins.pin-01-out
6 bit OUT FALSE etcomb.1.Lpins.pin-02-in
6 bit OUT FALSE etcomb.1.Lpins.pin-02-in-n
6 bit OUT FALSE etcomb.1.Lpins.pin-03-in
6 bit OUT FALSE etcomb.1.Lpins.pin-03-in-n
6 float IN 0 etcomb.1.PWM.dcontrol
6 float IN 0 etcomb.1.PWM.out_scale
6 u32 OUT 0x00000000 etcomb.1.TEST
6 u32 OUT 0x00000000 etcomb.1.TEST_INT
6 bit OUT FALSE etcomb.1.WD_lock
6 bit IN FALSE etcomb.1.enable_drive
6 float IN 1 etcomb.1.feedback.enc_scale0
6 float IN 1 etcomb.1.feedback.enc_scale1
6 float IN 1 etcomb.1.feedback.enc_scale2
6 float IN 1 etcomb.1.feedback.enc_scale3
6 float IN 1 etcomb.1.feedback.enc_scale4
6 float IN 1 etcomb.1.feedback.enc_scale5
6 float IN 0 etcomb.1.feedback.enc_vel0
6 float IN 0 etcomb.1.feedback.enc_vel1
6 float IN 0 etcomb.1.feedback.enc_vel2
6 float IN 0 etcomb.1.feedback.enc_vel3
6 float IN 0 etcomb.1.feedback.enc_vel4
6 float IN 0 etcomb.1.feedback.enc_vel5
6 float OUT 0 etcomb.1.feedback.encoder0
6 float OUT 0 etcomb.1.feedback.encoder1
6 float OUT 0 etcomb.1.feedback.encoder2
6 float OUT 0 etcomb.1.feedback.encoder3
6 float OUT 0 etcomb.1.feedback.encoder4
6 float OUT 0 etcomb.1.feedback.encoder5
6 bit I/O FALSE etcomb.1.feedback.index_en0
6 bit I/O FALSE etcomb.1.feedback.index_en1
6 bit I/O FALSE etcomb.1.feedback.index_en2
6 bit I/O FALSE etcomb.1.feedback.index_en3
6 bit I/O FALSE etcomb.1.feedback.index_en4
6 bit I/O FALSE etcomb.1.feedback.index_en5
6 bit OUT FALSE etcomb.1.pins.pin-00-in
6 bit OUT FALSE etcomb.1.pins.pin-00-in-n
6 bit IN FALSE etcomb.1.pins.pin-00-out
6 bit OUT FALSE etcomb.1.pins.pin-01-in
6 bit OUT FALSE etcomb.1.pins.pin-01-in-n
6 bit IN FALSE etcomb.1.pins.pin-01-out
6 bit OUT FALSE etcomb.1.pins.pin-02-in
6 bit OUT FALSE etcomb.1.pins.pin-02-in-n
6 bit IN FALSE etcomb.1.pins.pin-02-out
6 bit OUT FALSE etcomb.1.pins.pin-03-in
6 bit OUT FALSE etcomb.1.pins.pin-03-in-n
6 bit IN FALSE etcomb.1.pins.pin-03-out
6 bit OUT FALSE etcomb.1.pins.pin-04-in
6 bit OUT FALSE etcomb.1.pins.pin-04-in-n
6 bit IN FALSE etcomb.1.pins.pin-04-out
6 bit OUT FALSE etcomb.1.pins.pin-05-in
6 bit OUT FALSE etcomb.1.pins.pin-05-in-n
6 bit IN FALSE etcomb.1.pins.pin-05-out
6 bit OUT FALSE etcomb.1.pins.pin-06-in
6 bit OUT FALSE etcomb.1.pins.pin-06-in-n
6 bit IN FALSE etcomb.1.pins.pin-06-out
6 bit OUT FALSE etcomb.1.pins.pin-07-in
6 bit OUT FALSE etcomb.1.pins.pin-07-in-n
6 bit IN FALSE etcomb.1.pins.pin-07-out
6 bit OUT FALSE etcomb.1.pins.pin-08-in
6 bit OUT FALSE etcomb.1.pins.pin-08-in-n
6 bit OUT FALSE etcomb.1.pins.pin-09-in
6 bit OUT FALSE etcomb.1.pins.pin-09-in-n
6 bit OUT FALSE etcomb.1.pins.pin-10-in
6 bit OUT FALSE etcomb.1.pins.pin-10-in-n
6 bit OUT FALSE etcomb.1.pins.pin-11-in
6 bit OUT FALSE etcomb.1.pins.pin-11-in-n
6 bit OUT FALSE etcomb.1.pins.pin-12-in
6 bit OUT FALSE etcomb.1.pins.pin-12-in-n
6 bit OUT FALSE etcomb.1.pins.pin-13-in
6 bit OUT FALSE etcomb.1.pins.pin-13-in-n
6 bit OUT FALSE etcomb.1.pins.pin-14-in
6 bit OUT FALSE etcomb.1.pins.pin-14-in-n
6 bit OUT FALSE etcomb.1.pins.pin-15-in
6 bit OUT FALSE etcomb.1.pins.pin-15-in-n
6 float IN 0 etcomb.1.step_dir.Limp0
6 float IN 0 etcomb.1.step_dir.Limp1
6 float IN 0 etcomb.1.step_dir.Limp2
6 float IN 0 etcomb.1.step_dir.Limp3
6 float IN 0 etcomb.1.step_dir.Limp4
6 float OUT 0 etcomb.1.step_dir.count0
6 float OUT 0 etcomb.1.step_dir.count1
6 float OUT 0 etcomb.1.step_dir.count2
6 float OUT 0 etcomb.1.step_dir.count3
6 float OUT 0 etcomb.1.step_dir.count4
6 float IN 1 etcomb.1.step_dir.escale0
6 float IN 1 etcomb.1.step_dir.escale1
6 float IN 1 etcomb.1.step_dir.escale2
6 float IN 1 etcomb.1.step_dir.escale3
6 float IN 1 etcomb.1.step_dir.escale4
6 bit IN FALSE etcomb.1.step_dir.invert_dir0
6 bit IN FALSE etcomb.1.step_dir.invert_dir1
6 bit IN FALSE etcomb.1.step_dir.invert_dir2
6 bit IN FALSE etcomb.1.step_dir.invert_dir3
6 bit IN FALSE etcomb.1.step_dir.invert_dir4
6 float IN 0 etcomb.1.step_dir.outstep0
6 float IN 0 etcomb.1.step_dir.outstep1
6 float IN 0 etcomb.1.step_dir.outstep2
6 float IN 0 etcomb.1.step_dir.outstep3
6 float IN 0 etcomb.1.step_dir.outstep4
6 s32 OUT 0 etcomb.1.update.time

Pin Aliases:
Alias Original Name

Signals:
Type Value Name (linked to)

Parameters:
Owner Type Dir Value Name
6 s32 RW 0 etcomb.1.update.tmax
6 bit RO FALSE etcomb.1.update.tmax-increased

Parameter Aliases:
Alias Original Name

Exported Functions:
Owner CodeAddr Arg FP Users Name
00006 7fac4478f749 7fac45f900d8 YES 0 etcomb.1.update

Realtime Threads:
Period FP Name ( Time, Max-Time )

halcmd:
halcmd: show thread
Realtime Threads:
Period FP Name ( Time, Max-Time )
не знаю, правильно ли все.
Сгенерил конфиг для платы mesa, хотел было просто поменять loadrt, но там дальше куча ссылок на месовские параметры и они привязаны к названию, пример:
(для просмотра содержимого нажмите на ссылку)
#addf hm2_7i76e.0.read servo-thread
##addf motion-command-handler servo-thread
##addf motion-controller servo-thread
##addf pid.x.do-pid-calcs servo-thread
##addf pid.y.do-pid-calcs servo-thread
##addf pid.z.do-pid-calcs servo-thread
##addf pid.s.do-pid-calcs servo-thread
##addf hm2_7i76e.0.write servo-thread
##setp hm2_7i76e.0.dpll.01.timer-us -50
##setp hm2_7i76e.0.stepgen.timer-number 1

# external output signals


# external input signals


# --- HOME-X ---
net home-x <= hm2_7i76e.0.7i76.0.0.input-00

# --- HOME-Y ---
net home-y <= hm2_7i76e.0.7i76.0.0.input-01

# --- HOME-Z ---
net home-z <= hm2_7i76e.0.7i76.0.0.input-02
конфиг генерил почти по умолчанию. Коменты это я расставил.
Насколько я понял, надо переписывать этот конфиг под себя?
Аватара пользователя
Maxekb77
Мастер
Сообщения: 1658
Зарегистрирован: 05 окт 2013, 00:04
Репутация: 285
Настоящее имя: Максим
Откуда: Екатеринбург
Контактная информация:

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

Сообщение Maxekb77 »

max73, ini можно стандартный взять.
а хал да придется ручками, заготовку можно взять одну ось из опубликованных тут конфигов.
max73
Мастер
Сообщения: 352
Зарегистрирован: 08 авг 2016, 12:41
Репутация: 21
Настоящее имя: Maxim
Контактная информация:

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

Сообщение max73 »

вопрос, в шапке темы драйвер имеет название одно,
а тут другое:
http://www.cnc-club.ru/forum/viewtopic. ... 80#p470150

так как правильно?
Аватара пользователя
Maxekb77
Мастер
Сообщения: 1658
Зарегистрирован: 05 окт 2013, 00:04
Репутация: 285
Настоящее имя: Максим
Откуда: Екатеринбург
Контактная информация:

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

Сообщение Maxekb77 »

max73, в шапке темы я так понял более свежий.
если прошивка комбо то меняете в хале входа\выхода на свои.
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

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

Сообщение mmv »

Итак есть вопросы, а то я думал, что всем все понятно.:)
max73 писал(а):вопрос, в шапке темы драйвер имеет название одно,
Проект развивается, поэтому вся актуальная информация находиться в описании и первом посте этой темы и темы по продаже. И она обновляется.
max73 писал(а):с самого начала, вернее с первого запуска linuxcnc.
Итак, запускаем первый раз linuxcnc. запустить можно из меню приложений LinuxCNC Config Picker.
При этом создается папка для конфигов. В эту папку можно скопировать тестовый конфиг из первого поста этой темы для вашего варианта и запустить его через ту же утилиту.
Если у вас есть плата, установлен драйвер - конфигурация загрузится.
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

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

Сообщение mmv »

max73 писал(а):Сгенерил конфиг для платы mesa, хотел было просто поменять loadrt, но там дальше куча ссылок на месовские параметры и они привязаны к названию, пример:
Нет, так дело не пойдёт. Я не для этого писал последние 2 страницы тут.
Вы делаете так: С чего начать? А был тут генератор конфигов дай ка что то сгенерю.
Теперь вопрос, если что то генерить для платы MESA, и так по дефолту всё. Что хотите получить? И почему это должно работать?

Логика должна быть другой. Сгенерировать можно для того что бы посмотреть как описать ту или иную функцию. Но нужно понимать что написано в конфиге и зачем каждая строка в нём. Для этого нужно почитать последние две страницы тут. И документацию на linuxCNC.
Если не понятно что написано в тестовых конфигах то дальше нет смысла что то пытаться сделать. Нужно разобраться в этом.
Не нужно искать или генерить конфиг для всего станка, в нём будет много строк и вы испугаетесь открыв файл для просмотра. Попробуйте включить одну релюшку, кнопку, потом подключите одну ось. Дальше семечки.
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
max73
Мастер
Сообщения: 352
Зарегистрирован: 08 авг 2016, 12:41
Репутация: 21
Настоящее имя: Maxim
Контактная информация:

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

Сообщение max73 »

mmv писал(а):Если не понятно что написано в тестовых конфигах то дальше нет смысла что то пытаться сделать. Нужно разобраться в этом.
извиняюсь, просто обычно у меня все наоборот, я понимаю сложные вещи, но могу блуждать в элементарных.
я нигде не говорил про непонимание самого конфига, как раз там то мне все было понятно. Но я к примеру никак не мог понять про hal файл, потому что в демонстрационном конфиге их 14 и какой обсуждаете вы, не ясно.
Документация на linuxcnc большая, такой объем переварить сложно, особенно учитывая, что большая часть информации вообще не пригодится.
max73
Мастер
Сообщения: 352
Зарегистрирован: 08 авг 2016, 12:41
Репутация: 21
Настоящее имя: Maxim
Контактная информация:

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

Сообщение max73 »

еще, вопрос по подключению к SD плате. Я нарисовал ее схематическое изображение, можете расписать что куда подключать? В идеале вообще все контакты обозначить, а то не совсем понятно что такое + и - например :)
toot-sd-card.jpg (2696 просмотров) <a class='original' href='./download/file.php?id=165366&mode=view' target=_blank>Загрузить оригинал (45.79 КБ)</a>
драйвера у меня вроде вполне стандартные, входы:

PUL+
PUL-
DIR+
DIR-
ENA+
ENA-
Ответить

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