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

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


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

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




  • Сообщения

    • EnKlL
      Станок Samsung Pl1600m, такарно-фрезерный, проблема с револьверной головой выдаёт ошибку "EX22831 SERVO TURRET AMP ALARM!" что это такое и что с ней делать? Невозможно сменить инструмент, не в ручную, не через MDA
    • Eng.Destructor
      Сделал так: Добавил новый формат fs2 25 0 4 0 3t #No decimal, absolute, 3 поменял  result = newfs (25, thddepth$) # изменил 16 на 25 result = newfs (25, thdfirst$) # изменил 16 на 25 result = newfs (25, thdlast$) # изменил 16 на 25 result = newfs (25, thdfinish$) # изменил 16 на 25 Спасибо за наводку
    • arsenev
    • teqn1c
      Есть динозавр stratos plus на io mb -  В нем всего 256 КБ памяти  есть ли возможность через режим rtm подгружать программу с ПК через rs 232 ? В шкафу ещё есть разъем под карту но с нее получается только считать и опять таки сохранить на память станка. Соединение ПК-станок настроил ,есть возможность отправлять на него через альфакам программы ,но они сохраняются в память станка. В альфакам есть непрерывная отправка - она отправляет - но в режиме rtm ничего не происходит 
    • Metal_Cutter
      @arsenev В FC такого нет.
    • Bot
      HCL CAMWorks 2024, новая версия программного обеспечения CAM, полностью интегрированного с SOLIDWORKS и Solid Edge включает в себя передовые технологии, позволяющие сократить время программирования, уменьшить время цикла обработки и увеличить срок службы инструмента. Смотреть полностью
    • Александр1979
      Руководство для дусь взял здесь: https://www.cnczone.com/forums/daewoo-doosan/413426-every-doosan-service-manual-currently-auto-updated.html
    • ss_162
      Может есть у кого оригинальные резцы на продажу? Нужен резец SFCC 50 - это маркировка D`Andrea, или Искаровский, он такой же, только маркировка у него другая.
    • Aveovar
      Подскажи, как ты сделал несколько экранов с разных ракурсов
    • Kaktusito
      Всем доброго времени суток! Только начал заниматься редактированием постпроцессоров и сразу же столкнулся с проблемой. Суть в том что я нашел по форумам постпроцессоры с SolidCAM 2015 года, ибо у меня в версии 2022 года их почти нет, а мне нужен был более менее адекватный пост под токарку.  Закинул все файлы Gpptool 2015 года в свою папку, выбрал подходящий мне станок и начал генерировать УП.  Как вы поняли ничего мне не сгенерировало. Пишет ошибку "please change the name "Bore" in the VMID. This name is reserved for use in the GPP"  Сделал то что просит ошибка и был уверен что это не поможет, так оно и вышло. По итогу начало долбить другие ошибки. Очень еще не понятно с файлами которые я кидал в папку Gpptool потому что вместо стандартных двух у меня их аж 4 штуки.: gpp с циклами, gpp обычный, PRP и vmid. Хотя я знаю что в версиях вроде после 2017 уже идет по 2 файла. Что я только не пробовал кидал только 2 файла, кидал все 4, кидал содержимое файла с циклами в основной gpp, шёл по пути ошибок и исправлял что меня просили. В общем ничего не помогает  От безисходности пишу сюда, вы моя последняя надежда понять что происходит и почему ничего не работает. Заранее благодарю за ответы!
×
×
  • Создать...