Влияют ли значения Soft Limits? Они в импульсах указываются?

KFlop, KStep, KAnalog, KMotion...
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2180
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение ukr-sasha »

shnek2007 писал(а):- поменять с - на + в программе и номер пина
Правильно.
shnek2007 писал(а):Но эта команда у меня не считывается при выполнении, может нужно еще что прописать:
Нужно дождаться окончания выполнения команды. Для этого есть команда:

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

while (!CheckDone(2)) ;             // ожидание окончания движения оси Z
shnek2007 писал(а):Я так понимаю нужно дать информацию с какой скоростью перемещаться. Как это прописать в команде Move?

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

MoveAtVel(2,819, 20480);          // перемещение оси Z с датчика в позицию 819 имп (это примерно 1мм для примера выше) на скорости 20480имп/сек
Эти команды есть в первой версии кода для НОМЕ, без индексных меток.
shnek2007 писал(а):При отсутствии строки ch2->LimitSwitchOptions=0x103; (для всех осей) программа стала верно работать - оси не отключаются.
Это могу объяснить только тем, что ось физически не съехала с концевика, и отрабатывается процедура. Проверьте.
shnek2007
Новичок
Сообщения: 38
Зарегистрирован: 22 сен 2014, 09:59
Репутация: 3
Настоящее имя: Малиновский Виталий Владимирович
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение shnek2007 »

С командой Move(2,8192) разобрался. Она идет в паре с строкой while (!CheckDone(2)). Смысл ее я пока не понял, но с ней работает перемещение на 1 оборот ШВП.
Вот рабочая программа для моего станка.
Для других настроек (станков)могут быть нюансы.
Есть одно но:
Из-за того, что я отключил // ch2->LimitSwitchOptions=0x103; // включение обработки концевого датчика на оси Z, после выполнения Home концевики не рабочие.
Решается этот вопрос запуском Init, что не совсем правильно.
Возможно стоит прописать включение концевиков в самом конце программы Home.
Вложения
HomeEncoderZ.c
(4.95 КБ) 1297 скачиваний
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2180
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение ukr-sasha »

shnek2007 писал(а):Из-за того, что я отключил // ch2->LimitSwitchOptions=0x103; // включение обработки концевого датчика на оси Z, после выполнения Home концевики не рабочие.
Решается этот вопрос запуском Init, что не совсем правильно.
Возможно стоит прописать включение концевиков в самом конце программы Home.
Так не должно быть, что то не правильно сделано.
Концевики правильно срабатывают сами по себе? При простом движении оси? При сработке концевика, осью можно отъехать в противоположном направлении?
В файле инициализации на исходящий сигнал стоит минус.
Есть подозрение, что тут проблема с перепутанными пинами осталась.
shnek2007
Новичок
Сообщения: 38
Зарегистрирован: 22 сен 2014, 09:59
Репутация: 3
Настоящее имя: Малиновский Виталий Владимирович
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение shnek2007 »

Концевики срабатывают правильно. При срабатывании концевиков ось не активна, так как Kill Motor Drive. Съезжаю с концевика вручную проворачивая шкив.
Init файл - это еще старый:
ch0->LimitSwitchNegBit=137; 136
ch0->LimitSwitchPosBit=136; 137
В новом вроде поменяно, но еще проверю.
Работает так как нужно, кроме включения концевиков после Home.
Это вообще может влиять:
ch0->InputGain0=-1;
ch0->InputGain1=1;
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2180
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение ukr-sasha »

shnek2007 писал(а):так как Kill Motor Drive
Если не ошибаюсь то при таком алгоритме будет срабатывать концевик при любом напралении движения.
Проведи эксперимент: запусти на медленной скорости ось в положительном направлении, и вручную нажми отрицательный концевик (тот который бы сработал при движении в "-").
Попробуй другие варианты алгоритмов срабатывания концевика: Disallow drive into limit и Stop Movement.
shnek2007
Новичок
Сообщения: 38
Зарегистрирован: 22 сен 2014, 09:59
Репутация: 3
Настоящее имя: Малиновский Виталий Владимирович
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение shnek2007 »

Если не ошибаюсь то при таком алгоритме будет срабатывать концевик при любом напралении движения. Проведи эксперимент: запусти на медленной скорости ось в положительном направлении, и вручную нажми отрицательный концевик (тот который бы сработал при движении в "-").
Такая ситуация:
- запускаю home, когда движение по оси Х к - нажимаю концевик +. Никакой реакции, движение продолжается. (ch0->LimitSwitchOptions=0x100; // отключение обработки концевого датчика на оси Х, чтобы не блокировалась ось)
- если нажать концевик по Х во время движения Z - ось Х выключается (так как еще не было отключения обработки концевого датчика на оси Х)
Попробуй другие варианты алгоритмов срабатывания концевика: Disallow drive into limit и Stop Movement.
Эти варианты ни как не влияют на программу.
Заметил, что выключение осей происходит зразу после нахождения Z метки.
По сути ось выключает команда: ch2->LimitSwitchOptions=0x103; // включение обработки концевого датчика на оси Z
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2180
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение ukr-sasha »

Нужна полная схема, как всё подключено. И последнии конфиги, все.
Что то совсем запутался. В электронике чудес не бывает....
И нужна схема расположения датчиков на осях.
shnek2007
Новичок
Сообщения: 38
Зарегистрирован: 22 сен 2014, 09:59
Репутация: 3
Настоящее имя: Малиновский Виталий Владимирович
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение shnek2007 »

Схема расположения датчиков на осях:
Последние файлы конфигурации:
Вложения
shema.jpg (9340 просмотров) <a class='original' href='./download/file.php?id=34195&sid=29b797689a80af675f1b109ba6cb748a&mode=view' target=_blank>Загрузить оригинал (19.8 КБ)</a>
HomeEncoderZ.c
(5.22 КБ) 1252 скачивания
Init3Analog.c
(3.92 КБ) 1268 скачиваний
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2180
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение ukr-sasha »

Добавь пожалуйста информацию, типа:
- ось зет едет в "+" и в конце срабатывает датчик 141 (или всё таки 140?).
shnek2007
Новичок
Сообщения: 38
Зарегистрирован: 22 сен 2014, 09:59
Репутация: 3
Настоящее имя: Малиновский Виталий Владимирович
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение shnek2007 »

- ось зет едет в "+" и в конце срабатывает датчик 140
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2180
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение ukr-sasha »

Думаю знаю в чем проблема. ;)
Смотри, код активации концевиков после нахождения НОМЕ, в примере тебе не подходит:
- ch2->LimitSwitchOptions=0x103 - это включение отслеживание концевиков, когда сигнал появляется;
- ch2->LimitSwitchOptions=0x10f - это включение отслеживание концевиков, когда сигнал пропадает;.
Меняй на второй вариант, и всё будет работать. ;)
shnek2007
Новичок
Сообщения: 38
Зарегистрирован: 22 сен 2014, 09:59
Репутация: 3
Настоящее имя: Малиновский Виталий Владимирович
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение shnek2007 »

Действительно, в этом была проблема. Поменял значения - все заработало как нужно.
Сам бы наверно и не нашел. Где эти значения брать:
0x103 сигнал появляется
0x10f сигнал пропадает
Или все это алгоритм языка программирования С++?
Аватара пользователя
ukr-sasha
Мастер
Сообщения: 3401
Зарегистрирован: 21 мар 2011, 07:47
Репутация: 2180
Настоящее имя: Украинец Александр Григорьевич
Откуда: Киев, Украина
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение ukr-sasha »

В Config and flash, когда выбираешь настройки концевиков, и если потом скопировать их в Си файл кнопкой, то там их видно.
alex27.01
Новичок
Сообщения: 6
Зарегистрирован: 02 май 2015, 10:03
Репутация: 3
Настоящее имя: Александр
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение alex27.01 »

ukr-sasha писал(а):Сейчас разговор о какой версии кода ? С индексной меткой или без? Понял - с индексной.
Построчное выполнение команд легко реализовать - закомментировать строки, которые не должны выполняться в рамках исследования. А потом постепенно их раскомментировать. И на каждом этапе фиксировать результаты.
Почему выключается не понятно - кода на отключение оси там нет.
Отключи слежение за концевиками в файле инициализации. Если так будет работать процедура НОМЕ, то скорее всего перепутаны пины положительных и отрицательных концевиков.
shnek2007 писал(а):Заклинило ШВП.
Всю отладку нужно делать на минимальных скоростях.
Я вообще, поначалу нажимаю коневики вручную, иммитируя наезжание оси. Чтобы "швп не клинило". ;)

Я вообще в ключевых точках прописываю:
Delay_sec(xxx);
printf ("текст выполнения задач \n");
и через консоль ловлю шаги выполнения программы
alex27.01
Новичок
Сообщения: 6
Зарегистрирован: 02 май 2015, 10:03
Репутация: 3
Настоящее имя: Александр
Контактная информация:

Re: Влияют ли значения Soft Limits? Они в импульсах указываю

Сообщение alex27.01 »

shnek2007 писал(а):Действительно, в этом была проблема. Поменял значения - все заработало как нужно.
Сам бы наверно и не нашел. Где эти значения брать:
0x103 сигнал появляется
0x10f сигнал пропадает
Или все это алгоритм языка программирования С++?

Эти коды можно просмотреть после настройки "Config & Flash"
после експорта в си, там смотришь этот код. поэкспериментируй с разными галочками и значениями.
Вложения
limit2.jpg (8451 просмотр) <a class='original' href='./download/file.php?id=61214&sid=29b797689a80af675f1b109ba6cb748a&mode=view' target=_blank>Загрузить оригинал (108.96 КБ)</a>
Ответить

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