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

Как определить программно нажали кнопка М01


Сергей Львов

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



Уважаемый @Сергей Львов !

В области СТАНОК в режиме AUTO выбрать функциональную клавишу НАСТРОЙКА ПРОГРАММЫ. В правом углу экрана появится окно настройки. 

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

Человеку нужно в УП проверить параметр, активна ли опция останова по M01. Ему не на стойке нужно глядеть.

Не знаю, зачем это ему нужно, но, полагаю, нужно =) если он расскажет - будет интересно. Любопытно.

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

Уважаемый @s_liam !

И это можно сделать, уточнив какая СЧПУ.

Если есть возможность внести дополнение в программу электроавтоматики, проанализировать битов PLC. соответствующие биты в DB21 (см. документ FB1), установив MD20800. А в УП анализировать системные переменные битов PLC.

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

Может, имеется ввиду, команда какая-то есть? Например, чтобы проверить активен ли поиск кадра, можно создать условие

IF $P_SEARCH ...

где $P_SEARCH - параметр поиска. Если он равен 0, то режим запуска с поиска кадра не активирован на стойке.

Возможно, что-то подобное есть и с функцией M01?

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

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

На ноже никто не пишет предупреждение, что он острый.

В начале программы забей М0 с сообщением-вопросом: "А Вы не забыли включить М1  ???" 

Если не поможет, то прям перед М1 забить ещё одно такое сообщение, но уже со словом "хороший человек" 

А можно и просто М1 заменить М0

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

Правда, потом появится вопрос:" А как проверить включена ли косая черта?"

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

$ac_timer[1] = 0

M1; просто нажмите старт

if $ac_timer[1] > 0.001

; клавиша M1 нажата

else

; M1 не нажата

endif

 

44 минуты назад, Ander сказал:

Правда, потом появится вопрос:" А как проверить включена ли косая черта?"

О нажатой или нет "косой черте" узнать легко.

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

Нам тоже потребовалось в программе определять, нажата ли кнопка опционального останова M01. Сначала скажу зачем это может быть нужно. Наш станок, встречая команду M01, останавливает выполнение программы, но не выключает вращение шпинделя и СОЖ. Остановить вращение шпинделя кнопкой Spindle Stop тоже невозможно. При вращающемся шпинделе сделать какие-то замеры нельзя, поэтому приходилось сбрасывать программу, что не очень удобно. Задавать команды выключения M5 и M9 перед остановом - не вариант, так как при непрерывном выполнении программы остановки и новые включения вращения шпинделя замедляют работу станка.

Поэтому хотелось бы, чтобы при нажатой клавише M01 программа понимала, что требуется сделать какие-то ручные действия, и останавливала всё что требуется, а может даже отводила инструмент от заготовки.

Для этого можно использовать таймер $AC_TIMER[1], но желательно убедиться, что он не используется какими-то служебными программами, в противном случае следует использовать в квадратных скобках другой номер таймера.

Пишем в месте остановки "по требованию" такой код:

$AC_TIMER[1] = 0
M1
IF $AC_TIMER[1] > 0.1
M5 M9
Z=<безопасное расстояние>; если нужно
M0
ENDIF
$AC_TIMER[1] = -1

Если клавиша опционального останова НЕ НАЖАТА, то таймер с момента его включения ($AC_TIMER[1] = 0) до проверки условия (IF $AC_TIMER[1] > 0.1) не успеет отсчитать эти 0.1 секунды и управление сразу перейдёт на команду следующую за строкой ENDIF, таким образом, останова, а также выключений M5 M9 не будет.

Если клавиша опционального останова НАЖАТА, то станок остановится по команде M1, мы нажимаем клавишу START, после которого происходят желанные выключения M5 M9 и останов программы командой M0.

Команда $AC_TIMER[1] = -1 останавливает работу таймера.

Этот фрагмент можно поместить в подпрограмму OPTIONAL_STOP.SPF и использовать более лаконичный код основной программы.

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

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

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

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

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

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

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

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

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

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

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




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