Страница 2 из 2

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

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

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

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

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

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

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

Добавлено: 28 сен 2014, 12:15
shnek2007
С командой Move(2,8192) разобрался. Она идет в паре с строкой while (!CheckDone(2)). Смысл ее я пока не понял, но с ней работает перемещение на 1 оборот ШВП.
Вот рабочая программа для моего станка.
Для других настроек (станков)могут быть нюансы.
Есть одно но:
Из-за того, что я отключил // ch2->LimitSwitchOptions=0x103; // включение обработки концевого датчика на оси Z, после выполнения Home концевики не рабочие.
Решается этот вопрос запуском Init, что не совсем правильно.
Возможно стоит прописать включение концевиков в самом конце программы Home.

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

Добавлено: 28 сен 2014, 13:49
ukr-sasha
shnek2007 писал(а):Из-за того, что я отключил // ch2->LimitSwitchOptions=0x103; // включение обработки концевого датчика на оси Z, после выполнения Home концевики не рабочие.
Решается этот вопрос запуском Init, что не совсем правильно.
Возможно стоит прописать включение концевиков в самом конце программы Home.
Так не должно быть, что то не правильно сделано.
Концевики правильно срабатывают сами по себе? При простом движении оси? При сработке концевика, осью можно отъехать в противоположном направлении?
В файле инициализации на исходящий сигнал стоит минус.
Есть подозрение, что тут проблема с перепутанными пинами осталась.

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

Добавлено: 28 сен 2014, 21:01
shnek2007
Концевики срабатывают правильно. При срабатывании концевиков ось не активна, так как Kill Motor Drive. Съезжаю с концевика вручную проворачивая шкив.
Init файл - это еще старый:
ch0->LimitSwitchNegBit=137; 136
ch0->LimitSwitchPosBit=136; 137
В новом вроде поменяно, но еще проверю.
Работает так как нужно, кроме включения концевиков после Home.
Это вообще может влиять:
ch0->InputGain0=-1;
ch0->InputGain1=1;

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

Добавлено: 29 сен 2014, 06:31
ukr-sasha
shnek2007 писал(а):так как Kill Motor Drive
Если не ошибаюсь то при таком алгоритме будет срабатывать концевик при любом напралении движения.
Проведи эксперимент: запусти на медленной скорости ось в положительном направлении, и вручную нажми отрицательный концевик (тот который бы сработал при движении в "-").
Попробуй другие варианты алгоритмов срабатывания концевика: Disallow drive into limit и Stop Movement.

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

Добавлено: 29 сен 2014, 23:23
shnek2007
Если не ошибаюсь то при таком алгоритме будет срабатывать концевик при любом напралении движения. Проведи эксперимент: запусти на медленной скорости ось в положительном направлении, и вручную нажми отрицательный концевик (тот который бы сработал при движении в "-").
Такая ситуация:
- запускаю home, когда движение по оси Х к - нажимаю концевик +. Никакой реакции, движение продолжается. (ch0->LimitSwitchOptions=0x100; // отключение обработки концевого датчика на оси Х, чтобы не блокировалась ось)
- если нажать концевик по Х во время движения Z - ось Х выключается (так как еще не было отключения обработки концевого датчика на оси Х)
Попробуй другие варианты алгоритмов срабатывания концевика: Disallow drive into limit и Stop Movement.
Эти варианты ни как не влияют на программу.
Заметил, что выключение осей происходит зразу после нахождения Z метки.
По сути ось выключает команда: ch2->LimitSwitchOptions=0x103; // включение обработки концевого датчика на оси Z

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

Добавлено: 30 сен 2014, 06:25
ukr-sasha
Нужна полная схема, как всё подключено. И последнии конфиги, все.
Что то совсем запутался. В электронике чудес не бывает....
И нужна схема расположения датчиков на осях.

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

Добавлено: 01 окт 2014, 23:10
shnek2007
Схема расположения датчиков на осях:
Последние файлы конфигурации:

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

Добавлено: 02 окт 2014, 00:38
ukr-sasha
Добавь пожалуйста информацию, типа:
- ось зет едет в "+" и в конце срабатывает датчик 141 (или всё таки 140?).

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

Добавлено: 02 окт 2014, 16:23
shnek2007
- ось зет едет в "+" и в конце срабатывает датчик 140

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

Добавлено: 02 окт 2014, 17:05
ukr-sasha
Думаю знаю в чем проблема. ;)
Смотри, код активации концевиков после нахождения НОМЕ, в примере тебе не подходит:
- ch2->LimitSwitchOptions=0x103 - это включение отслеживание концевиков, когда сигнал появляется;
- ch2->LimitSwitchOptions=0x10f - это включение отслеживание концевиков, когда сигнал пропадает;.
Меняй на второй вариант, и всё будет работать. ;)

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

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

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

Добавлено: 05 окт 2014, 20:03
ukr-sasha
В Config and flash, когда выбираешь настройки концевиков, и если потом скопировать их в Си файл кнопкой, то там их видно.

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

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

Я вообще в ключевых точках прописываю:
Delay_sec(xxx);
printf ("текст выполнения задач \n");
и через консоль ловлю шаги выполнения программы

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

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

Эти коды можно просмотреть после настройки "Config & Flash"
после експорта в си, там смотришь этот код. поэкспериментируй с разными галочками и значениями.