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

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


Killerchik

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

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

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

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

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


UnPinned posts
5 часов назад, bfi сказал:

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

Если вы сначала присваиваете значение одной логической операции одному выходному сигналу а затем второму то активным будет последнее значение RLO в цикле PLC

Вот вам пример программы в simatic c использованием duplicate coil.

@Killerchik

 

1.png

2.png

3.png

4.png

5.png

 

@Killerchik Как видите контроллер записывает в образ процесса последнее активное состояние RLO для Q0.0

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

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

Конечно, прикрепляю.

@gudstartup

Спасибо, Вы оказались совершенно правы. Сегодня всё более-менее заработало.
И так, как оказалось, есть такой параметр, 3702. Его 2-ой бит отвечает за возможность ориентации с внешним заданием. Как оказалось, если его включить, то по команде ORCMA шпиндель ориентируется на значение заданное в SHA. Меня это не на шутку испугало))))) Залил я такой ладдэр, пробую сориентировать шпиндель по М119 - он ориентируется в какое-то положение, отличное от позиции смены ин-та. Потом пробую М19 - а он встаёт в какую-то другую позицию (видимо, по нулевой метке энкодера). Ладно, думаю, в энергонезависимую память я его не записывал, перезагружаюсь - тоже самое. Потом догадался выключить 3702.2 и всё заработало как раньше. Надо будет, видимо, вписать в ладдэер кусок, который будет по М19 отправлять в SHA00 значение, соответствующее позиции смены ин-та. В паспорте на привод есть вот такая ценная циклограмма:

2021-10-12_20-11-45.png

Попробовал менять значение, присваиваемое SHA00 - меняется и угол, на который поворачивается шпиндель. Теперь буду приделывать считывание S аргумента, чтобы команда полноценно работала.

PMC_RB_7_a.LAD

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

Надо будет, видимо, вписать в ладдэер кусок, который будет по М19 отправлять в SHA00 значение, соответствующее позиции смены ин-та. В паспорте на привод есть вот такая ценная циклограмма:

У меня есть информация, что если включить бит 0 (ORTs) в параметре 3729, то при задании команды в виде, например, М19S36, задание угла, равное 36 градусам, попадёт в SHA в преобразованном виде. Проверьте.

 

А вот и выдержка из мануала:

 

Цитата

Two methods of spindle orientation by a position coder are available: 
-  Orientation with the fixed stop position 
-  Orientation with the stop position set externally 
 
(1)  Orientation with the fixed stop position: Bit 0 (ORT) of parameter No.3729 = 0 
  By  inputting  the  spindle  orientation  command  signal,  the  spindle  can  always  be  stopped  at  an 
orientation stop position set beforehand with a parameter. 
(2)  Orientation with the stop position set externally: Bit 0 (ORT) of parameter No.3729 = 1 
  By externally setting the 12-bit orientation external stop position command signal and inputting the 
spindle orientation command signal, the spindle can always be stopped at an arbitrary orientation 
position within one spindle rotation. 

 

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

в параметре 3729

В моей СЧПУ 18i-MA нет такого параметра :(

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

В моей СЧПУ 18i-MA нет такого параметра :(

Совсем забыл, что у вас этот тип ЧПУ и написал для 0iF

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

Вот для вашей ЧПУ нашёл следующий текст из которого видно, что также можно задавать позицию задания угла поворота из кадра, а не из логики

Цитата

Using a lathe’s orientation function with the stop position of the serial
spindle specified externally, specifying the S value as the angle of the stop
position for spindle orientation after the spindle positioning mode has
been selected
→ Use those gears that are not being used for the first spindle.
(In this application, gear 4 is used to calculate the spindle position.  Set
parameter No. 3744 to 360.)
Specify the M code used to set the spindle to positioning mode and
stop the spindle.  Enter gear 4 in GR1 and GR2.
Then, specify a spindle positioning angle with the S command.  (To
specify the position of 145 degrees, for example, specify S145;.)
Expression 145/360  4095 is calculated and the result is output to the
twelve  code  signals  corresponding  to  the  S  value  (output  signal).
Enter the data in external stop position commands SHA00 to SHA11
<G078, #0 to G079, #3> and perform the orientation.

 

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

@boomeeeer Кажется, это для токарной версии. У меня сходу М19 Sхх не работало ни в каком виде. Надеюсь, сегодня заработает :)

 

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

Сегодня продолжил эксперименты. Окончательно пришёл к выводу, что при включённом 3702.2 ориентация происходит без учёта значения параметра 4031, думаю он становится по ноль-метке энкодера. Попробовал ориентировать, посылая в SHA00 значение из этого параметра - шпиндель встаёт в позицию смены, проверил индикатором и немного скорректировал это значение.

Теперь, господа, у меня такой вопрос - есть ли способ считать S аргумент из текущей строки? То есть, если я напишу М19 - нужно как-то узнать, что в этой строке нет S аргумента, тогда ориентировать шпиндель на фиксированный угол для смены. А если S аргумент в этой конкретной строке есть - ориентировать на него. Очевидно, что если просто прочитать, что там записано в S - будет последнее заданное значение, которое приведёт к неприятным последствиям. Да, можно, конечно, делать как задумывал изначально - М19 для смены и М119 для ориентации на угол, но очень уж хочется сделать единообразно с нашим старым Мазаком.

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

есть ли способ считать S аргумент из текущей

S аргумент считывается по стробу SF. F7.2 значение как и с М кодом будет там же, в F10-F13

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

S аргумент считывается по стробу SF. F7.2

Верно ли я понимаю - если написать, к примеру, M19 S100, то на один цикл PMC включится F7.2? Тогда это отлично.

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

4 часа назад, Viktor2004 сказал:

F10-F13

когда значение и так будет без кодирования в F22?

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

Я сам не проверял, но по логике так дрлжно работать.

Вопрос "зачем" Я себе уже давно не задаю, работая с японской аппаратурой

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

когда значение и так будет без кодирования в F22

Я писал с телефона, документа под рукой не было. Щас посмотрел

Действительно, я ошибся. По стробу SF считывать данные надо не с F10-F13 , а с F22-F25

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

И так, успехи за сегодня. Теперь значение S аргумента из MDI скармливается в PMC, и шпиндель ориентируется на любой угол. Без S кода в команде М119 - ничего не делает. После однократного ввода команды, меняет угол просто вводом нового значения S. По М19 встаёт в позицию смены. Считаю, это успех. Теперь задача убрать М119, чтобы всё происходило по М19. Это уже проще.
Ну и сделать пересчёт в градусы, пока вбиваемое число напрямую идёт в SHA00.

Может быть, завтра вернусь к задаче с подсчётом пробега осей и попробую предложенный способ с применением функции windr 28.

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

Может быть, завтра вернусь к задаче с подсчётом пробега осей и попробую предложенный способ с применением функции windr 28.

Кстати только недавно разбирался с избыточным расходом смазки на станке под управлением простенькой стойки sinumerik 808d, так вот там подсчёт пути реализован в системе без всяких танцев с бубнами. В нужном параметре устанавливается значении пути при достижении которого в логику выдаётся бит, причём для каждой оси отдельно, который уже можно использовать по своему усмотрению, для запуска импульса смазки.

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

В нужном параметре

Назовите аналогичный параметр у Фанука, который будет выполнять эту функцию и я сам дам себе в бубен...:biggrin:

Видимо это не параметры а счетчики которые устанавливают соответствующий флаг в памяти.

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

sinumerik 808d, так вот там подсчёт пути реализован в системе без всяких танцев с бубнами

Мда, и это на младшей модели..... Что ж, слюнями делу не поможешь, буду пробовать!

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

Видимо это не параметры а счетчики которые устанавливают соответствующий флаг в памяти.

В сименсе это просто число в параметре, который так и называется Lubrication distance. По какому алгоритму он там вычисляет я не знаю, но это удобно.

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

Мда, и это на младшей модели..... Что ж, слюнями делу не поможешь, буду пробовать!

На 840D то же есть.

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

@gudstartup @Viktor2004  Господа, столкнулся с непонятным моментом в функции windr.

Прочитал эту тему 

Обнадёжился, что можно одной командой считать значения для всех осей. Базовым адресом для команды windr назначил D2980. Таким образом, по аналогии, мне нужно записать в D2988 -1. Какой командой это можно сделать? Пробую NUME - доступные значения от 1 до 9999. Команда NUMEB помогла, но у меня сомнения в том, в верном ли направлении я иду.

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...