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

Диалог стойки с оператором


mmaks90

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

Добрый день! Подскажите как на 840 стойке сделать так, чтоб при старте программы стойка спрашивала ц оператора значения некторых переменных

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


UnPinned posts
10 минут назад, Anat2015 сказал:

Написать подпрограмму и засунуть ее вызов в начало каждой программы.

Тема такая, что высота заготовки разная. Мне надо чтоб оператору принудительно выпадало сообщение, укажите вылет заготовки. То что вы предлагаете, я не пойму

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

Из партии заготовок выбирают самую большую и по её вылету пишут программу, а так то оператор забыл, то не сохранил, то перепутал.

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

Из партии заготовок выбирают самую большую и по её вылету пишут программу, а так то оператор забыл, то не сохранил, то перепутал.

Вы видели вопрос? К чему этот совет

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

Совет к тому что если оператор не обладает хотя бы зачаточным интеллектом, то и надпись на экране он проигнорирует. 

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

В начале программы написать

; Чудо, в R10 забей вылет заготовки!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

M0

R10=

.............

а так, читать предыдущий пост.

 

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

Мне надо чтоб оператору принудительно выпадало сообщение, укажите вылет заготовки.

Здравствуйте. Если 840D, то можно сделать так:

1. В программе удаляете файл DATA.SPF (ничего страшного, если он ещё не был создан - ошибки не возникнет).

2. Программно создаёте файл DATA.SPF примерно с таким содержимым:

M0; Откройте этот файл
STOPRE
R1 = ...; Здесь укажите вылет заготовки, закройте файл и нажмите START
IF (R1<95) OR (R1>105)
LOOP
M0; R1 Указан вне допустимого диапазона. Далее RESET
ENDLOOP
ENDIF
M17

3. Вызываете этот файл. Переменная R1 примет нужное проверенное значение.

 

Вот начало такой основной программы:

DEF INT ERR; Объявляем вспомогательную переменную, эту строку - в самый верх программы
DELETE(ERR, DATA_SPF)
WRITE(ERR, DATA_SPF, "M0; Откройте этот файл")
WRITE(ERR, DATA_SPF, "STOPRE")
WRITE(ERR, DATA_SPF, "R1 = ...; Здесь укажите вылет заготовки, закройте файл и нажмите START")
WRITE(ERR, DATA_SPF, "IF (R1<95) OR (R1>105)")
WRITE(ERR, DATA_SPF, "LOOP")
WRITE(ERR, DATA_SPF, "M0; R1 Указан вне допустимого диапазона. Далее RESET")
WRITE(ERR, DATA_SPF, "ENDLOOP")
WRITE(ERR, DATA_SPF, "ENDIF")
WRITE(ERR, DATA_SPF, "M17")
WRITE(ERR, DATA_SPF)
DATA
G0 Z=R1
...

Прерывать выполнение программы оператору не потребуется, ввод необходимого значения производится "на лету".

Если он проигнорирует сообщение (то есть не заметит) программа встанет в ошибку на команде "R1 = ...". Если ошибётся при вводе нового значения, программа тоже не будет продолжаться, попав в бесконечный цикл LOOP - ENDLOOP.

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

@mmaks90 , упрощённый вариант:

R1 = 0
REPEAT
M0; Введите значение вылета заготовки в R1 таблицы параметров
STOPRE
UNTIL (R1>=95) AND (R1<=105)
G0 Z=R1
...

Программа будет возвращаться на строку с приглашением ввести значение в случае игнора или неправильного ввода. Но для ввода значения нужно заходить в OFFSET.

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

Здравствуйте. Если 840D, то можно сделать так:

1. В программе удаляете файл DATA.SPF (ничего страшного, если он ещё не был создан - ошибки не возникнет).

2. Программно создаёте файл DATA.SPF примерно с таким содержимым:


M0; Откройте этот файл
STOPRE
R1 = ...; Здесь укажите вылет заготовки, закройте файл и нажмите START
IF (R1<95) OR (R1>105)
LOOP
M0; R1 Указан вне допустимого диапазона. Далее RESET
ENDLOOP
ENDIF
M17

3. Вызываете этот файл. Переменная R1 примет нужное проверенное значение.

 

Вот начало такой основной программы:


DEF INT ERR; Объявляем вспомогательную переменную, эту строку - в самый верх программы
DELETE(ERR, DATA_SPF)
WRITE(ERR, DATA_SPF, "M0; Откройте этот файл")
WRITE(ERR, DATA_SPF, "STOPRE")
WRITE(ERR, DATA_SPF, "R1 = ...; Здесь укажите вылет заготовки, закройте файл и нажмите START")
WRITE(ERR, DATA_SPF, "IF (R1<95) OR (R1>105)")
WRITE(ERR, DATA_SPF, "LOOP")
WRITE(ERR, DATA_SPF, "M0; R1 Указан вне допустимого диапазона. Далее RESET")
WRITE(ERR, DATA_SPF, "ENDLOOP")
WRITE(ERR, DATA_SPF, "ENDIF")
WRITE(ERR, DATA_SPF, "M17")
WRITE(ERR, DATA_SPF)
DATA
G0 Z=R1
...

Прерывать выполнение программы оператору не потребуется, ввод необходимого значения производится "на лету".

Если он проигнорирует сообщение (то есть не заметит) программа встанет в ошибку на команде "R1 = ...". Если ошибётся при вводе нового значения, программа тоже не будет продолжаться, попав в бесконечный цикл LOOP - ENDLOOP.

Благодарю за конструктивный ответ! Завтра буду пробовать настроить.

По идеи мне проверки не нужны, проверка в самой программе. Уже  несколько раз уже было что оператор в суете на автомате поменял заготовку старт нажал, а вылет не указал, в итоге фреза корпусом деталь берет. А заготовки разные, иногда обрезь обрабатываем

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

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

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

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

Согласен! Щуп есть но я его подальше от операторов держу. Какой ещё способ есть? 

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

Какой ещё способ есть? 

Можно определить положение торца заготовки по нагрузке. Фрезу расположить так, чтобы при плунжерном фрезеровании у неё была приемлемая ap, на подаче опускаться вниз по Z, и в момент касания заготовки, по увеличившейся нагрузке на ось шпинделя зарегистрировать это положение.

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

Можно определить положение торца заготовки по нагрузке. Фрезу расположить так, чтобы при плунжерном фрезеровании у неё была приемлемая ap, на подаче опускаться вниз по Z, и в момент касания заготовки, по увеличившейся нагрузке на ось шпинделя зарегистрировать это положение.

Интересно а какие команды за это отвечают? 

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

какие команды за это отвечают? 

Если у Вас Sin840Dsl, посмотрите есть ли опция 6FC5800-0AM41-0YB0 обработка внутренних величин привода

MENU SELECT - Лицензии - Все опции

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

Если у Вас Sin840Dsl, посмотрите есть ли опция 6FC5800-0AM41-0YB0 обработка внутренних величин привода

MENY SELECT - Лицензии - Все опции

К сожалению не установлена

13 часов назад, A_1 сказал:

Здравствуйте. Если 840D, то можно сделать так:

1. В программе удаляете файл DATA.SPF (ничего страшного, если он ещё не был создан - ошибки не возникнет).

2. Программно создаёте файл DATA.SPF примерно с таким содержимым:


M0; Откройте этот файл
STOPRE
R1 = ...; Здесь укажите вылет заготовки, закройте файл и нажмите START
IF (R1<95) OR (R1>105)
LOOP
M0; R1 Указан вне допустимого диапазона. Далее RESET
ENDLOOP
ENDIF
M17

3. Вызываете этот файл. Переменная R1 примет нужное проверенное значение.

 

Вот начало такой основной программы:


DEF INT ERR; Объявляем вспомогательную переменную, эту строку - в самый верх программы
DELETE(ERR, DATA_SPF)
WRITE(ERR, DATA_SPF, "M0; Откройте этот файл")
WRITE(ERR, DATA_SPF, "STOPRE")
WRITE(ERR, DATA_SPF, "R1 = ...; Здесь укажите вылет заготовки, закройте файл и нажмите START")
WRITE(ERR, DATA_SPF, "IF (R1<95) OR (R1>105)")
WRITE(ERR, DATA_SPF, "LOOP")
WRITE(ERR, DATA_SPF, "M0; R1 Указан вне допустимого диапазона. Далее RESET")
WRITE(ERR, DATA_SPF, "ENDLOOP")
WRITE(ERR, DATA_SPF, "ENDIF")
WRITE(ERR, DATA_SPF, "M17")
WRITE(ERR, DATA_SPF)
DATA
G0 Z=R1
...

Прерывать выполнение программы оператору не потребуется, ввод необходимого значения производится "на лету".

Если он проигнорирует сообщение (то есть не заметит) программа встанет в ошибку на команде "R1 = ...". Если ошибётся при вводе нового значения, программа тоже не будет продолжаться, попав в бесконечный цикл LOOP - ENDLOOP.

Здесь ошибка выскакивает. 12550, имя data_spf не определено или опция/ функция не активирована

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

имя data_spf не определено или опция/ функция не активирована

DATA_SPF возьмите в двойные кавычки во всех строчках

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

Благодарю за конструктивный ответ! Завтра буду пробовать настроить.

По идеи мне проверки не нужны, проверка в самой программе. Уже  несколько раз уже было что оператор в суете на автомате поменял заготовку старт нажал, а вылет не указал, в итоге фреза корпусом деталь берет. А заготовки разные, иногда обрезь обрабатываем

 

14 часов назад, A_1 сказал:

Здравствуйте. Если 840D, то можно сделать так:

1. В программе удаляете файл DATA.SPF (ничего страшного, если он ещё не был создан - ошибки не возникнет).

2. Программно создаёте файл DATA.SPF примерно с таким содержимым:


M0; Откройте этот файл
STOPRE
R1 = ...; Здесь укажите вылет заготовки, закройте файл и нажмите START
IF (R1<95) OR (R1>105)
LOOP
M0; R1 Указан вне допустимого диапазона. Далее RESET
ENDLOOP
ENDIF
M17

3. Вызываете этот файл. Переменная R1 примет нужное проверенное значение.

 

Вот начало такой основной программы:


DEF INT ERR; Объявляем вспомогательную переменную, эту строку - в самый верх программы
DELETE(ERR, DATA_SPF)
WRITE(ERR, DATA_SPF, "M0; Откройте этот файл")
WRITE(ERR, DATA_SPF, "STOPRE")
WRITE(ERR, DATA_SPF, "R1 = ...; Здесь укажите вылет заготовки, закройте файл и нажмите START")
WRITE(ERR, DATA_SPF, "IF (R1<95) OR (R1>105)")
WRITE(ERR, DATA_SPF, "LOOP")
WRITE(ERR, DATA_SPF, "M0; R1 Указан вне допустимого диапазона. Далее RESET")
WRITE(ERR, DATA_SPF, "ENDLOOP")
WRITE(ERR, DATA_SPF, "ENDIF")
WRITE(ERR, DATA_SPF, "M17")
WRITE(ERR, DATA_SPF)
DATA
G0 Z=R1
...

Прерывать выполнение программы оператору не потребуется, ввод необходимого значения производится "на лету".

Если он проигнорирует сообщение (то есть не заметит) программа встанет в ошибку на команде "R1 = ...". Если ошибётся при вводе нового значения, программа тоже не будет продолжаться, попав в бесконечный цикл LOOP - ENDLOOP.

Есл  честно, не понял как происходит как происходит ввод значения. Мне хотелось бы чтоб выпадало окно " Введи вылет заготовки" ввёл и старт нажал. Тут как я понял что надо самому открыть другой файл ввести значение, а программа это просто проверка на лимиты

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

Тут как я понял что надо самому открыть другой файл ввести значение

Нет, открываете исполняемый файл одной подэкранной кнопкой "Корректировать программу"

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

Нет, открываете исполняемый файл одной подэкранной кнопкой "Корректировать программу"

Понял спасибо, не совсем то что я хотел конечно, но попробую в этом ключе реализовать

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      это неправильно разделите м коды на 2 кадра иначе будет вышеописанная ошибка а так программа нормально выполняется
    • malvi.dp
      Допилил. Поддерживает многолистовые чертежи Начинает работу при нажатии на кнопку макроса: -при нахождении измененных (установлена галочка "Измененное значение") размеров окрашивает их в красный цвет; -если с измененного размера снята галочка "Измененное значение", т.е. он стал обычным - цвет становится обычным; -по окончании работы в сообщении выводится статистика найденных измененных размеров, если они есть. Тестировался на sw2016 и sw2020.   ChangeColorForOverridedDimensions.zip   Да, что-то прошло не так... Уже поправил.
    • maxx2000
      Я скорее согласен с Надеждой Януарьевной
    • Koels
      Мотора 54 градуса, что на 6 градусов больше соседнего станка, вентеляторы в норме да. Ещё хочу сравнить нагрузку координаты с соседним станком, но пока не дают. У этих двух станков проблемы с охлаждением, на соседнем стоит автомобильный радиатор для охлаждения масла. xD
    • Bot
      Dassault Systèmes Reports Solid First Quarter Results And Reaffirms Full-Year Objectives Просмотр полной статьи
    • Ninja
    • Ninja
      В зимнее время водители устанавливают на колёса специальные цепи против скольжения. В мире разработано множество видов цепей и способов их установки. Японцы применяют "цепи Абэ". Кто этот великий инженер? Это знаменитый японский писатель Кобо Абэ. Для уединенного писательского труда Абэ купил домик в горах. А в горах зима ранняя, снежная, затяжная. Без цепей на колёсах можно и улететь с обрыва. Абэ периодически заводил машину и спускался в долину. Почту получить/отправить, в магазине продукты купить, ящик рисовой водки. (Известное дело: насухую великую книгу не напишешь). В долине приходилось цепи снимать. По правилам цепи запрещается применять при отсутствии на дороге снежного покрова. В те времена для установки/снятия цепи требовалось домкратом поднимать каждое колесо. В машине 4 колеса. Товарищу Абэ приходилось корячиться с домкратом. При этом в самых нелитературных выражениях комментируя политику правящей партии и все домкраты в мире. Купил в магазине бухлишко-закусь. Поехал домой в горы. А там снег, скользко. Цепи требуются. Опять писатель и драматург Абэ домкрат крутит. Всё это насмерть надоело Абэ. Обратился к компаниям-производителям: придумайте способ установки цепей без домкрата! Но производители ничего не придумали. Или не захотели. Тогда Абэ сам придумал способ установки цепей без необходимости поднимать колесо. Послал изобретение на конкурс. И неожиданно получил призовое место и патент. Новый способ установки цепей быстро завоевал популярность. Так и пошло у японцев - "цепи Абэ". Кобо Абэ не получил Нобелевскую премию по литературе. Уже выдвигался, уже все были уверены в том, что он её получит. Но не успели, писатель умер. А это всё дурацкие цепи виноваты. Сколько времени он потерял в установке/снятии цепей? Сколько времени, вместо того чтобы писать, он крутил домкрат? Вот и не успел. https://ru.ruwiki.ru/wiki/Абэ,_Кобо
    • gudstartup
      приемлимо. температуру мотора посмотрите. если вентилятор нормально вращается и его скорость соответствует оригинальному а также контакт в разъеме нормальный а F все равно появляется то даже не знаю что у вас может быть так как привод у вас новый
    • Koels
      Хмм, я думал раз она вылазит даже в простое, то Z координата висит на тормозе и дело не в этом. Спасибо за мысль, щас узнаю. Вообще у нас рядом стоит точно такая же макина, точь в точь и там таким проблем нет. Много заказов и отсутствие специалистов сделало свое дело. :) @gudstartup, 58% нагрузка на координату
    • mrVladimir
      Что-то я немного засомневался. Если решим брать новое ЧПУ, то искать точно такое же необходимо по номеру сзади корпуса (пластикового пластмассового) - так? А если брать только плату (материнскую или как ее лучше назвать...), на которой установлена (запаена) микросхема 1 на моих фото выше, то искать плату необходимо по номеру, который указан на самой плате - так? В моем случае : ЧПУ : A02B-0321-B520. Код на плате : A20B-8201-0081/01A. Если, допустим, мы покупаем ЧПУ A02B-0321-B520 - будет ли это гарантией того, что в нем установлена плата A20B-8201-0081/01A. И можно ли будет его считать таким же. И с отдельно приобретаемой платой тоже самое - если номер на ней полностью совпадает с нашим, значит ли это, что она полностью идентична. P.S. : извиняюсь за , возможно, навязчивые вопросы. Просто не хотелось бы попасть впросак из-за своей некомпетентности. такой файл есть, но мне говорили, что после снятия архивов, его лучше вообще никогда нигде ни использовать. А на каком этапе он нам может понадобиться?. Если, как говорил Виктор, мы зальем архив SRAM на старый модуль (ROM-SRAM), установленный в новое ЧПУ, то и файл OPRMINF не нужен. Правильно же?
×
×
  • Создать...