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

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


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 пользователей

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




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