Перейти к публикации

Вопросы по LADDER'у 18i-MA


Killerchik

Рекомендованные сообщения

Всем привет. Проблема проста и банальна - прикручиваю к станку электрический насос смазки вместо ручного. С электрической частью проблем нет, свободные выхода есть. А вот с ладдером есть некоторые трудности. Хочется сделать красиво - чтобы смазка шла по пробегу осей, как только любая ось проезжает, к примеру, километр, запускается цикл смазки. Кто-то может подсказать наиболее простой способ вытащить значение пробега? Как только оно будет, дальше для меня всё просто.

Если так сделать невозможно или супер сложно - ок, будет по таймеру. Сейчас раз в 50 часов работы станка (просто работы, по SERVO_ON) загорается сообщение "пойди и смажь, кожаный мешок".

И вопрос номер два - ориентация шпинделя. Сейчас шпиндель ориентируется в одну позицию по М19, позиция настраивается соответствующим параметром. Нужно ориентировать по команде вида М19 (или любая другая) С45.817 в нужный угол, нужно для многих задач. На ютубе было классное видео на эту тему, но я тогда не умел сливать программу ПЛК со станка, и потому оставил его на потом, а теперь оно недоступно. Попробую списаться с автором. Опять же, может быть кто-то пнёт в нужном направлении?

Ссылка на сообщение
Поделиться на других сайтах


UnPinned posts
07.09.2021 в 19:39, gudstartup сказал:

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

В чем по вашему преимущество позиционирования объясните

Вы читали connection manual на 18 серию там написано следующее

image.png

И к тому же для 18i MA она не доступна а предлагается только для Т серии

image.png

Наименьший аргумент команды приращения все равно остается 0.088 

 

image.png

А вот вам для сравнения Cs

image.png

Разница в 88 раз а если установить измерительную систему IS-C тогда в 880 так что преимущество в точности явно на стороне Cs contour control.

Почему так рассчитываете? У меня на позиционировании по 0.001 перемещает

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Soprin сказал:

Почему так рассчитываете? У меня на позиционировании по 0.001 перемещает

Потому что так в руководстве написано

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Коллеги, всем привет. Дошли руки покопаться с ориентацией шпинделя. Стал по строчке переносить то, что прислал @boomeeeer в свой ладдер и столкнулся с определёнными сложностями. Прикрепляю скриншот:

 

2021-09-18_21-44-15.png

Затык в команде GTW. Насколько я понял, это "Signed Binary Comparison" или "Подписанное двоичное сравнение". У меня такой команды нет. На мой взгляд, в моей стойке аналогичной является функция "COMPB". Верно ли это?

Дальше. В этой функции используется переменная "BCODE". Насколько я понял, это аргумент "B", считанный из команды М18 Bххх. У меня при вводе F30 в это поле (пробовал и F30.0) вылетает ошибка:

2021-09-18_21-53-56.png

 

Как это исправить? Вообще-то для проверки принципиальной работоспособности эту проверку величины угла, конечно, можно и убрать, но с ней разбираться всё равно придётся.

Изменено пользователем Killerchik
Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, Killerchik сказал:

"Подписанное двоичное сравнение".

Не подписанное а сравнение с учетом знака!

Напомните тип вашего контроллера PMC?

Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, gudstartup сказал:

Напомните тип вашего контроллера PMC?

RB5

Ссылка на сообщение
Поделиться на других сайтах

 

У вас неправильно указан тип данных в параметре 1 вам нужно указать 2 байтовый тип

image.png

image.png

32 минуты назад, Killerchik сказал:

У меня такой команды нет. На мой взгляд, в моей стойке аналогичной является функция "COMPB". Верно ли это?

Это разные команды COMPB сравнивает обычные двоичные данные бе учета знака а GTW сравнивает уже чс учетом знака и в ней сразу указано что сравнивается знаковое  слово 

Изменено пользователем gudstartup
Ссылка на сообщение
Поделиться на других сайтах

@Killerchik

image.pngК тому же Результат COMPB помещается в R9000 и вам его надо анализировать чтобы определить результат сравнения.

 

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, gudstartup сказал:

в параметре 1 вам нужно указать 2 байтовый тип

 

1 час назад, gudstartup сказал:

должно быть примерно так а затем идет анализ R9000

Верхняя группа цифр, которая на Вашем скриншоте 0001 должна быть 0002 для двухбайтового типа, или нет?

Про R9000 понял. Вроде бы пока для меня не супер сложно :)

Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, Killerchik сказал:

Верхняя группа цифр, которая на Вашем скриншоте 0001 должна быть 0002 для двухбайтового типа, или нет?

Если сравнивать со значением которое занимает 1 байт то =1 если 2=2 так как  360 занимает 2 байта (000101101000) то должно быть 2.

 

Поэтому в исходнике у вас GTW а не GTB

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, gudstartup сказал:

Поэтому в исходнике у вас GTW

Да, жаль у меня этой функции нету.

Ссылка на сообщение
Поделиться на других сайтах

Не забывайте минуты с секундами переводить в десятые доли )) а то многие как видят так и пишут 1°30' пишут как 1,30° ,)))

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

@gudstartup

Появилось время поработать с ориентацией. В документе 65280EN (мануал по параметрам привода шпинделя) по параметру INDXA написано следующее:

2021-10-06_21-11-01.png

То есть, сначала нужно установить ORCMA=1. Меня очень смутило, что INDXA нужно не включать, а выключать. Честно говоря, пока решил, что это опечатка. Я решил пока убрать из программы все проверки и вычисления, просто присваиваем SHA00 значение 1000 (тысяча) и пытаемся повернуть шпиндель на этот (какой-то) угол. Он будет явно отличаться от положения при смене ин-та, так что успех будет явно виден. Участок программы с ориентацией на угол сейчас имеет вот такой вид:

2021-10-06_21-15-06.png

Программа, которую выложил @boomeeeer имеет вот такой вид:

2021-10-06_21-17-43.png

2021-10-06_21-18-21.png

И сначала я попробовал точно скопировать её. Всё было совсем плохо, не работала ни одна цепь, и для упрощения я решил убрать все проверки и вычисления, связанные с значением угла. Далее появилась проблема с сигналами MF и BF (F7.0 и F7.7 соответственно) - я не знаю, что это и зачем, они были 0. Убрал их. Также добавил активацию параметра ORCMA. Таким образом программа приняла вид, отображённый на первом скриншоте.
Ну, значение SHA00 присваивается верно, с этим проблем нет. Но ORCMA упорно не хочет включаться! То есть М119.МЕ=1, а ORCMA=0. При этом, при выполнении команды М19 ORCMA очень даже себе прекрасно включается. Вот кусок исходной программы станка, который отвечает за ориентацию, я его не трогал:

2021-10-06_21-23-51.png

Почему в моей строке эта переменная не активируется - не могу понять :( Дальше, соответственно, ничего не происходит.

23.09.2021 в 17:55, Soprin сказал:

Не забывайте минуты с секундами переводить в десятые доли )) а то многие как видят так и пишут 1°30' пишут как 1,30° ,)))

Это наименьшая из проблем)))) на нашем старом Мазаке, ориентация задаётся от 0 до 3600. Здесь решил сделать также.

Ссылка на сообщение
Поделиться на других сайтах
18 минут назад, Killerchik сказал:

Почему в моей строке эта переменная не активируется - не могу понять :( Дальше, соответственно, ничего не происходит.

Что бы нам понять почему не ориентируется шпиндель, нужно видеть в момент подачи команды текущее состояние контактов цепочки G70.6

Так что фото с экрана будет информативнее скриншотов с компа.

И еще. В данных скриншотах нужно включать (сверху) отображение (Address & Symbol)

Ну а если Вы подключите Fanuc Ladder III к станку в режиме online будет вообще классно. На схеме отобразятся включенные и выключенные контакты.

Что бы сориентировать шпиндель достаточно подать 1 на G70.6 и все.

 

 

24 минуты назад, Killerchik сказал:

Далее появилась проблема с сигналами MF и BF (F7.0 и F7.7 соответственно) - я не знаю, что это и зачем, они были 0. Убрал их.

Слишком много вопросов, выделю только эти.

Сигнал MF (F7.0) подается в тот момент когда Вы выполняете любую М-команду на станке. Номер этой М-команды будет передан в PMC в двоичном виде в байтах F10 F11 F12 F13, и после следует короткий строб F7.0 По этому короткому импульсу ладдер должен прочитать F10 F11 F12 F13, декодировать их, преобразовать в десятичный вид и назначить этой команде конкретное реле которое она будет включать.

Ссылка на сообщение
Поделиться на других сайтах
22 минуты назад, Viktor2004 сказал:

Что бы нам понять почему не ориентируется шпиндель, нужно видеть в момент подачи команды текущее состояние контактов цепочки G70.6

Да, завтра сделаю, конечно. Но там всего 1 НО контакт, М199.МЕ Он активен. Это средняя строка в первом скрине. ORCMA, который я пытаюсь включить, это как раз G70.6

 

25 минут назад, Viktor2004 сказал:

По этому короткому импульсу ладдер должен прочитать F10 F11 F12 F13, декодировать их, преобразовать в десятичный вид и назначить этой команде конкретное реле которое она будет включать.

Хм. Идеология понятна. Я посмотрел нумерацию R-переменных в программе для разных М команд. По аналогии вычислил, какой R параметр отвечает за М119, и назначил его как адрес переменной "М119". В момент отработки строки с этой командой, эта переменная (R14.7, если быть точным) активируется на 1 цикл. Поэтому я добавил строку, в которой я этой переменной М119 включаю переменную М119.МЕ и потом уже работаю с ней.

Ссылка на сообщение
Поделиться на других сайтах

@Viktor2004

Прикрепляю фотографии экрана станка.
И так, команда М119. Кусок моего авторства:

IMG_20211008_171309.jpg

Как видно, ORCMA = 0, несмотря на то, что слева сигнал есть. Далее кусок от команды М19, который изначально был. Никаких новых команд, просто пролистал вниз:

IMG_20211008_171322.jpg
Больше в схеме ORCMA как выход нигде не встречается, присваивать ей значение больше нечему (в ПЛК, конечно). У меня есть сумасшедшая идея - не может ли быть так, что если в строке, расположенной ниже (второе фото) выход не активен, то, несмотря на то, что в строке выше команда должна включаться, она не включается? Бред какой-то, но, пожалуй, надо попробовать это проверить.
 

 

 

Далее, команда М19. Мой кусок лестницы:

IMG_20211008_171558.jpg

Родной кусок:

IMG_20211008_171537.jpg

 

Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, Killerchik сказал:

У меня есть сумасшедшая идея - не может ли быть так, что если в строке, расположенной ниже (второе фото) выход не активен, то, несмотря на то, что в строке выше команда должна включаться, она не включается? Бред какой-то, но, пожалуй, надо попробовать это проверить.

И это правильное решение!

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, gudstartup сказал:

И это правильное решение!

Правильное решение было назвать это бредом

 

8 часов назад, Killerchik сказал:

Как видно, ORCMA = 0, несмотря на то, что слева сигнал есть.

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

1. Этим выходом управляет какая-то еще цепочка либо в PMC, либо в CEXE-файле и возникает конфликт выходов

2. Этот неисполняемый кусок кода является не полноценным членом области LEVEL2, а входит в подпрограмму, которая в данный момент отключена

3. Неисполняемый кусок отключен потому, что выше стоит оператор JMP который активирован на то, что бы этот кусок перепрыгнуть

 

Дайте нам посмотреть весь ладдер. Желательно в виде файла, а не скроллинга экрана

Изменено пользователем Viktor2004
Ссылка на сообщение
Поделиться на других сайтах

ЕСЛИ ДЕЛO произходит в под-программе, уверены, что она вызивается?

 

Извинения, то был второй вопрос Виктора2004

Изменено пользователем bfi
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • lem_on
      По моему вполне логично если станок вывалится в ошибку если рука не доехала до места. У меня так же если кулачки или деталь на пути, просто пихаеш ее до места и станок опять активен. Но нынешние пановья даже не могут написать модель станка.
    • Viktor2004
      Я согласен что скорее всего проблема механическая Но если логика прописана криво и возможно не предусмотрела остановку в промежуточном состоянии, разве не логично будет попробовать принудительно подав напряжение дернуть эту руку вверх-вниз? Возможно то что туда попало выпадет  
    • Guhl
      Если оставить за скобками вопрото том, что до м19 работает нормально, а после нет, то вы не считали сколько у него реально импульсов на оборот? с помощью стороннего плк, например  А если ориентацию м5 снимать, а не м20?
    • lem_on
      Что это за станок такой в котором сразу ладер ковырять надо, даже не смотря на возможность механической проблемы? Или профдеформация?
    • Viktor2004
      не сразу я понял в чем вопрос. Долго соображал что такое режим управления скоростью. При завершении ориентации PMC снимает сигнал G70.6 ? И если он после снятия сигнала продолжает удерживать шпиндель, при каких условиях эта ориентация все же снимается? После нажатия аварийного грибка или еще как?
    • Viktor2004
      Ладдер пришлите. Будем принудительно пробовать поднимать и опускать
    • streamdown
      Коллеги приветствую! IPS 8. Подскажите пожалуйста, кто какое серверное железо использует? Интересуют параметры при одновременной работе, ну например, 400 пользователей онлайн
    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
    • Александр1979
      SP9047 SSPA:47 ILLEGAL SIGNAL OF POSITION CODER "The relationship between the A/B phase and 1-rotation signal is incorrect (Pulse interval mismatch)." "Неправильное значение счетчика импульсов сигнала на энкодере ALPHAi. На фазах A и B энкодера за один оборот шпинделя насчитывается 4096 импульсов обратной связи. Программное обеспечение по управлению шпинделем проверяет количество импульсов на фазах A и B, соответствующее энкодеру, при каждой генерации сигнала одного оборота. Данный аварийный сигнал срабатывает, если регистрируется число импульсов, нарушающее заданный диапазон."
    • vs3dpro
      Добрый день! У нас на есть SLA принтер 600х600х400мм. Можно напечатать мастер- модели, и можно приехать посмотреть. mail@iges.space
×
×
  • Создать...