close

Вход

Забыли?

вход по аккаунту

?

4 Система управления

код для вставкиСкачать
 4 Система управления
Для решения задачи по внедрению измерения деталей на станке ФП-37ПН4 с помощью измерительного датчика ОМР60 необходима доработка программного обеспечения станка, т.е. программы привязки станка.
4.1 Основные технические характеристики системы ЧПУ Sinumerik - 840D.
Система ЧПУ обеспечивает:
- технологии сверления, точения, фрезерования, прессовки, лазерная обработка,
шлифования и транспортно - загрузочно - зажимные операции;
- до 10 каналов (процессов);
- до 8 осей ( одновременно);
- расширение до 31 оси / шпинделя;
- линейная интерполяция;
- круговая и спиральная интерполяция;
- Spline - интерполяция;
- следящий режим с замыканием на истинное положение;
- память пользователя не менее 256 Кбайт;
- подготовка программы параллельно с отработкой;
- встроенный контроллер с языком программирования SТEP - 7;
- возможность связи через Internet с цеховыми линиями связи.
Упрощённо комплекс ЧПУ Sinumerik - 840D состоит из:
- пульт оператора УЧПУ с центральным процессором ММС типа Pentium 133 (и выше), дисплеем, дисковой памятью, стандартной клавиатурой, станочным
пультом, дисководом т.п.
- контроллера электроавтоматики станка (объекта) РLC
- размещённых в один ряд силового модуля (общего для приводов) центрального процессора CPV и цифровых модулей шпинделя и осей станка (можно конфигурировать до 8 модулей). Размещенные в один ряд приводные модули шпинделя и осей получают от силового модуля питание ±600V по специальной закрытой снаружи шине. Все приводные модули соединены с центральным процессором шиной РRОFIВUS (интерфейс стандарт фирмы "SIEМENS").
- приводные двигатели шпинделя и подач с встроенными во все эти двигатели энкодерами ДОС1...ДОС "n". Все приводы получают питание от сети 380V, 50Гц через сетевой трёхфазный дроссель, защищающий провода от сетевых помех из приводов в сеть 3х380 V 50Гц.
4.2 Циклограмма измерительного цикла
4.2.1 Описание циклограммы
При необходимости измерения детали, управляющая программа в ЧПУ задает номер инструмента Т - датчика измерения и выдает сигнал смены инструмента (М06). После установки в шпиндель датчика, задается быстрое перемещение в точку измерения, при этом вводится коррекция на диаметр шарика щупа и длину щупа. Эту часть управляющей программы обрабатывает NCK и старая часть программы электроавтоматики станка. Затем управляющая программа записывает в системные переменные параметры для измерения:
$A_DBB[0] = 1 Команда "Измерение включить".
$A_DBB[1] = 0 Ответ от PLC об состоянии измерения. 0 - измерение не закончено, 1 - измерение завершено успешно, 2 - 8 - ошибка при измерении.
$A_DBW[2] = Номер оси при измерении.
$A_DBW[4] = ±1, ±2 Направление и значение перемещения непосредственно при измерении.
Эти данные принимает и обрабатывает программа привязки датчика.
Затем управляющая программа выдает сигнал включения цикла измерения М11. При декодировании функции М11 (адрес DB21DBB195.3) программа привязки запоминает приход функции М11 в маркёре М14.0 "Включить цикл измерения", а затем записывает 1 на цифровой выход Q34.0 (команда включения измерительного датчика "Включить датчик"). Одновременно включается таймер с управляемым импульсом Т20, установка времени 5 сек. Если за это время не придет сигнал от датчика измерения "Датчик включен" (адрес I32.2), то станок остановится и будет выдано сообщение о неисправности датчика. После прихода сигнала "Датчик включен" (адрес I32.2), если нет сигналов от датчика "Ошибка датчика" (адрес I32.0), "Батарея разряжена" (адрес I32.1), состояние датчика запоминается в маркере М14.2 "Включить функцию FC21". Одновременно устанавливаются в 1 маркер М14.3, который позволяет активировать функцию FC21, и маркер М14.4 для активации функции FC18. Маркер М14.2 вызывает функцию FC21, которая позволяет прочитать из системной переменной $A_DBB[0] параметр, единичное значение которого позволяет включить измерение. Значение параметра сохраняется в маркере М20.0 "Измерение включить".
Функция FC21 вызывается подряд ещё два раза, что позволяет прочитать параметры $A_DBW[2] и $A_DBW[4] и запомнить их как целые числа в маркерах МW22 - номер оси и МW24 - позиция измерения.
После выполнения последней функции маркер М14.2 сбрасывается, и если значение маркера М20.0 = 1, устанавливается маркер М14.1 "Начало измерения". По сигналу маркера М14.1 сбрасывается маркер М20.0 и вызывается функция FC18, которой в качестве параметров передается значение маркеров МW22 и МW24. Эта функция запускает в движение заданную ось, номер оси определяет параметр МW22, направление движения оси определяет параметр МW24. При этом, когда щуп датчика коснется детали, вырабатывается сигнал "PROBA" адрес I32.3, который включает в 1 маркер М14.5 "Срабатывание датчика", одновременно устанавливается команда "Стереть остаток пути" и вызывается функция FC21, которая передает сигнал "Стереть остаток пути", записанный в блоке данных DB21DBB6.3, на NCK, ось останавливается. После отработки функции FC21, снимается команда "Стереть остаток пути" и устанавливается в 1 маркер МB21 "Состояние измерения" и значение его передается с вызовом функции FC21 в системную переменную $A_DBB[1]. Тем самым программа обработки детали оповещается об окончании движения оси.
Прочитав системную переменную $VA_IM[N], которая постоянно отслеживает положение оси, программа получает результат измерения. Управляющая программа выставляет функцию М12 "Закончить цикл измерения". В программе привязки декодируется эта функция и снимается маркёр М14.0 "Включить цикл измерения", а также снимается команда "Включить датчик". Цикл измерения завершен.
4.2.2 Анализ циклограммы
Составим логические уравнения для маркеров и команд.
Маркер М14.0 "Включить цикл измерения" устанавливается при декодировании функции М11 DB21DBB195.3; сбрасывается при декодировании функции М12 DB21DBB195.4.
S = DB21DBB195.3; R = DB21DBB195.4.
Команда Q34.0 "Включить датчик" устанавливается при установке М14.0 и сбрасывается при сбросе 14.0.
S = M14.0; R = .
Цифровой выход таймера Т20 устанавливается при установке М14,0 и сбрасывается по прошествии установленного времени (5 сек).
S = M14.0; R = t - 5с.
Маркер М14.2 "Включить функцию FC21" устанавливается при поступлении входного сигнала I32.2 "Датчик включен", отсутствии входного сигнала I32.0 "Ошибка датчика", отсутствии входного сигнала I32.1 "Батарея разряжена" и установленном цифровом выходе таймера Т30; сбрасывается при установке М14.1 "Начать измерение".
S = I32.2***T30; R = M14.1.
Маркер М14.4 "Активация функции FC18" устанавливается при установке М14.2 и сбрасывается при установке М14.5 "Срабатывание датчика".
S = I32.2***T30; R = M14.5.
Функция FC21 запускается при установке М14.2 и М14.3. Сбрасывается при отработке.
S = M14.2*M14.3.
Маркер М20.0 "Измерение включить" устанавливается при отработке функции FC21 и установке системной переменной $A_DBB[0]; сбрасывается после установки М14.1 "Начало измерения".
S = FC21*$A_DBB[0]; R = М14.1.
Маркер "Начало измерения" М14.1 устанавливается при установке маркера М20.0 и сбрасывается при установке М14.5.
S = М14.1; R = М14.5.
Функция FC18 запускается при установке М14.1. Сбрасывается при поступлении "Сбросить остаток пути" DB21DBB6.3.
S = M14.1; R = DB21DBB6.3.
Маркер М14.5 "Срабатывание датчика" устанавливается при обработке прерывания, вызванного установкой входного сигнала I32.3. Сбрасывается при выходе из программы прерывания в основную программу.
S = I32.3; R = .
Команда "Стереть остаток пути" DB21DBB6.3 устанавливается при установке маркера М14.5. Сбрасывается после окончания предпоследнего обращения к функции FC21.
S = М14.5; R = .
Маркер М21.0 устанавливается при отработке функции FC21, сбрасывается при декодировании функции М12 DB21DBB195.4.
S = ; R = DB21DBB195.4.
4.3 Выбор структуры программы привязки
Programming Logic Controller (программируемый логический контроллер) - это индивидуальное решение практически для любого задания автоматизации.
Под PLC подразумевается решение задач управления, программирования, связи с персональными компьютерами и локальными цеховыми сетями, связи с "интеллектуальными" периферийными модулями системами контроля и диагностики для автоматического управления производственными процессами.
Программа логики PLC для конкретного станка, как правило, составляется на персональном компьютере (или на специальном компьютере программаторе) и загружается в контроллер S7-300. При составлении программы PLC используются специальные пакеты программ, которые входят в комплект контроллера. Проверка функционирования и корректировка осуществляется на конкретном станке, в нашем случае на вертикально-фрезерном станке ФП-37ПН4.
В CPU всегда исполняются две программы: операционная система и программа логики (программа привязки).
Каждый CPU содержит операционную систему, которая организует все функции и последовательности в CPU, не связанные с конкретной задачей управления. Задачи операционной системы состоят в следующем:
- обработка "теплого" и "горячего" перезапуска;
- обновление таблицы образа процесса для входов и вывод таблицы образа процесса для выходов;
- вызов программы логики;
- обнаружение прерываний и вызов ОВ прерываний;
- обнаружение и обработка ошибок;
- управление областями памяти;
- обмен информацией с устройствами программирования и другими коммуникационными партнерами.
Программа логики создается пользователем и загружается в CPU. Она содержит все функции, необходимые для обработки конкретной задачи автоматизации. Задачи программы логики состоят в следующем:
- определение условий для "теплого" и "горячего" перезапуска в CPU (например, инициализация сигналов с определенным значением);
- обработка данных процесса (например, логическая комбинация двоичных сигналов, считывание и анализ аналоговых сигналов, задание двоичных сигналов для вывода, вывод аналоговых значений);
- определение реакции на прерывания;
- обработка нарушений в нормальном исполнении программы.
4.3.1 Блоки в программе привязки
Программное обеспечение STEP 7 дает вам возможность структурировать свою пользовательскую программу, иными словами, разбивать программу на отдельные автономные программные секции.
Это дает следующие преимущества:
- такие программы проще для понимания;
- отдельные программные секции могут быть стандартизованы;
- упрощается организация программы;
- легче производить модификацию программы;
- отладка упрощается, так как можно тестировать отдельные секции;
- значительно упрощается прием системы в эксплуатацию.
Организационные блоки (ОВ) образуют интерфейс между операционной системой и программой привязки. Они вызываются операционной системой и управляют циклическим и по прерываниям исполнением программы, а также запуском программируемого логического контроллера. Они также обрабатывают реакцию на ошибки. Программируя организационные блоки, определяется реакция CPU. Организационный блок ОВ1 является управляющим блоком для CPU и содержит главную программу. Дополнительные блоки в основном вызываются из ОВ1, здесь же им назначаются конкретные параметры необходимые для управления процессом.
Функции (FC) можно программировать самим, а можно использовать уже имеющиеся. Функция - это логический блок "без памяти". Временные переменные, принадлежащие FC, хранятся в стеках локальных данных. После того как FC выполнена, эти данные теряются. Чтобы хранить эти данные постоянно, функции могут также использовать разделяемые (глобальные) блоки данных. Так как FC не имеет собственной памяти, то вы всегда должны определять для нее фактические параметры. Для локальных данных FC нельзя назначать начальные значения. FC содержит программную секцию, которая выполняется всегда, когда FC вызывается другим логическим блоком. Функции можно использовать для следующих целей:
-для возврата значения функции в вызывающий блок (пример: математические функции);
- для выполнения технологической функции.
Функции (FС) используются в программировании, если не требуется сохранение промежуточных результатов, настроек или режимов работы до следующего блока. Поэтому их также называют "блоки без памяти". Назначение фактических параметров формальным параметрам.
Формальный параметр - это макет для "фактического" параметра. Фактические параметры заменяют формальные параметры при вызове функции. Вы всегда должны ставить в соответствие фактические параметры формальным параметрам FC. Входные, выходные параметры и параметры типа вход/выход, используемые FC, хранятся как указатели на фактические параметры логического блока, который вызвал FC.
Функциональные блоки (FB) относятся к блокам, которые программирует пользователь. Функциональный блок - это логический блок "с памятью". В качестве памяти ему назначается блок данных (экземплярный блок данных). В экземплярном DB сохраняются параметры, передаваемые FB, и статические переменные. Временные переменные хранятся в стеке локальных данных. Данные, сохраняемые в экземплярном DB, не теряются, когда исполнение FB завершено. Однако, данные, сохраняемые в стеке локальных данных, теряются, теряются, когда исполнение FB завершено.
FB содержит программу, которая исполняется всегда, когда FB вызывается другим логическим блоком. Функциональные блоки значительно облегчают программирование часто встречающихся сложных функций.
Функциональные блоки и экземплярные блоки данных.
Экземплярный блок данных назначается каждому вызову функционального блока, который передает параметры. Вызывая более одного экземпляра FB, можно с помощью одного FB управлять более чем одним устройством. Если программа привязки структурирована таким образом, что некоторый FB содержит вызовы других, уже существующих функциональных блоков, можно включить FB, подлежащие вызову, в таблицу писания переменных вызывающего блока в качестве статических переменных, имеющих тип данных FB. Этот способ позволяет "вкладывать" переменные и концентрировать экземпляры данных в одном блоке данных (мульти-экземплярном).
Совместно используемые блоки данных (DB) - это четко определенная область, в которой накапливаются данные или информация. Блоки данных являются записываемыми и читаемыми областями, которые могут загружаться в CPU как часть программы логики.
В отличие от логических блоков, блоки данных не содержат команд STEP 7. Они используются для хранения данных пользователя, иными словами, блоки данных содержат переменные данные, с которыми работает программа пользователя. Совместно используемые блоки данных применяются для хранения пользовательских данных, к которым могут обратиться все остальные блоки. Размер DB может изменяться. 4.3.2 Виды структур программ PLC
Обычно, достаточно современный язык PLC имеет три возможности для создания предварительного эскиза программы. Разработчик программы PLC сам решает, какой способ наиболее подходит для каждого конкретного проекта программы. Различают линейное, составное и структурное программирование.
Сложными задачами автоматизации проще управлять, если они разделены на более мелкие задачи, которые отражают технологические функции процесса и могут быть использованы неоднократно. Эти задачи представляются соответствующими программными секциями, известными как блоки (структурное программирование).
Рисунок 4.1- Способы составления программ PLC.
Линейная программа имеет простую структуру без ответвлений; один единственный организационный блок ОB1, содержащий все операторы программы. Линейные программы действуют как модули релейных схем (строка за строкой). Достоинства линейной программы: т.к. все операторы находятся в одном единственном блоке ОВ1. Этот метод особенно пригоден для проектов, в котором программа пишется одним лицом; функции управления ПО очень просты.
Недостаток линейной программы заключается в том, что вся программа выполняется в каждом цикле CPU, даже если не все части ее при этом используются. Работа CPU при этом не очень эффективна, т.к. части программы, олифящиеся к различным устройствам, должны повторяться.
Составная программа делится на блоки. Операторы, находящиеся в организационном блоке ОВ1, определяют выполнение отдельных блоков программы управления. Примером отдельных блоков являются функции (FC) и блоки (FB), которые управляют различными задачами процесса. Например, режимом работы механизма диагностической неисправности. В составной программе нет обмена данными и нет повторно используемых блоков. Каждая функциональная область разделена на функциональные блоки. Это облегчает одновременное программирование несколькими людьми без конфликтов при обработке одних и тех же файлов содержащихся в ОВ1.
В структурных программах определяются похожие или повторяющиеся функции необходимые для процесса, и делается попытка найти общее решение, которое можно использовать для различных задач. Структурная программа может использовать этот обще-употребляемый блок путем передачи параметров. Примером обще-употребляемого блока можно рассматривать блок, содержащий общую программу для всех двигателей переменного тока в конвейере. Программа, находящаяся в ОВ1 или другом блоке вызывает эти обще-употребляемые блоки для выполнения. В отличие от составной программы данные операторы могут использовать вместе.
Достоинство структурной программы - вместо того, что бы повторять операторы и затем изменять адреса для определенных устройств, операторы можно записать в блок и передать параметры (например, соответствующее адресу устройства и данные). Тем самым можно записать обще уподобляемые блоки, которые используются многими устройствами или процессорами. При использовании структурной программы данные, накопленные и используемые программой, должны координироваться.
4.3.3 Структура программы привязки
Поскольку программа привязки датчика является составной частью в программе привязки станка, запускающая её часть будет находиться в основной программе PLC в организационном блоке 1 (ОВ1). Сама программа привязки датчика будет находиться в созданном нами функциональном блоке FB30.
Нередко программы привязки имеют смешанный тип структуры. Структура разрабатываемой нами программы привязки является смешанной (составной и структурной), т.к. программа размещается не в одном блоке, а имеет подпрограммы, в тоже время используются блоки для обмена параметрами.
Необходимые для производства измерения параметры:
1 номер оси, по которой будет производиться перемещение до соприкосновения щупа датчика с измеряемой поверхностью;
2 направление и дистанция перемещения;
3 скорость подачи, с которой будет осуществляться перемещение.
Эти параметры может знать только составитель программы обработки детали (управляющая программа УП). Т.е. параметры для измерения будут находиться в управляющей программе. Эти параметры необходимо передать на PLC, где программа привязки, обработав сигналы с измерительного датчика, должна управлять движением осей и, при касании щупом детали, остановить ось, после чего передать сигнал касания (PROBE) в управляющую программу, чтобы та могла снять показания с оси, т.е. её фактическое положение. Управляющую программу обрабатывает NCK. NCK - компонент ЧПУ, который выполняет программы обработки деталей и во многом координирует процессы движения для станка.
Необходим механизм передачи параметров измерения от NCK к PLC. В качестве такого механизма служат стандартные функции.
FC18: SpinCtrl - управление осями и шпинделем. С помощью SpinCtrl оси ЧПУ могут перемещаться в любом режиме работы и с PLC.
FC21: Transfer - обмен данными PLC - NCK. При вызове блока Transfer осуществляется обмен данными PLC и NCK в соответствии с выбранным кодом функции. Данные передаются сразу же при вызове функции FC21, а не лишь в начале цикла.
FC10: AL_MSG - сообщения об ошибках и рабочие сообщения. С помощью AL_MSG занесенные в блок данных DB1 сигналы обрабатываются и в качестве поступающих или исходящих сообщениях об ошибках и рабочих сообщениях индицируются на пульте оператора (ММС). Для обработки сигнала контакта от датчика в режиме прерывания, в организационный блок ОВ40, обслуживающий аппаратные прерывания, должна быть помещена необходимая для этого часть программы привязки датчика. Это та часть программы, которая должна быть выполнена максимально быстро, чтобы уменьшить погрешность измерения. В неё входит подача команды на ось для её остановки и сообщение управляющей программе о срабатывании датчика.
Кроме этого из основной части программы привязки датчика выделим ту часть, которая принимает параметры от управляющей программы, и напишем для неё свой функциональный блок FB30. В основной части остается управление осью и обработка ошибок с выводом диагностических сообщений.
Структура программы привязки показана на рисунке 4.2.
Рисунок 4.2 - Структура программы привязки
4.4 Разработка алгоритма программы привязки
1 Управляющей программой задается: а) функция М11 "Включить цикл измерения" с установкой в системных переменных команды "Измерения включить" и параметров для измерения; б) установка в системных переменных команды "Измерения включить" и параметров для измерения; в) функция М12 "Закончить цикл измерения".
2 Проверка получения функции М11.
3 Запоминается получение функции М11, подается команда "Включить датчик" и запускается таймер.
4 Проверка включения датчика.
5 Проверка времени по таймеру.
6 Проверка датчика на ошибку.
7 Проверка зарядки батареи.
8 Устанавливаются параметры для активации функций FC18 и FC21.
9 Активация функции FC21, прием команды "Измерение включить" из системной переменной.
10 Проверка получения команды "Измерения включить".
11 Активация функции FC21, прием от УП № оси для измерения из системной переменной.
12 Активация функции FC21, прием от УП позиции измерения из системной переменной.
13 Устанавливаются параметры для функции FC18.
14 Активация функции FC18, движение заданной оси в точку измерения.
15 Проверка наличия сигнала о срабатывании датчика.
16 Установка команды "Стереть остаток пути".
17 Активация функции FC21, передача команды "Стереть остаток пути" на NCK.
18 Снятие команды "Стереть остаток пути".
19 Установка состояния "Измерение произведено".
20 Установка состояния "Ошибка", снятие памяти М11, выключение датчика.
21 Активация функции FC21, передача сообщения в системную переменную.
22 Чтение системной переменной $A_DBB[1] о состоянии измерения.
23 Проверка равенства системной переменной $A_DBB[1] единице.
24 Проверка равенства системной переменной $A_DBB[1] нулю.
25 Чтение результата измерения.
26 Проверка включения функции М12.
27 Проверка установки памяти получения функции М11.
28 Снятие команды "Включить датчик", снятие с памяти функции М11.
29 Проверка достижения осью заданной позиции.
4.5 Разработка программы привязки
Программа привязки разрабатывается с помощью языка высокого уровня LAD входящего в пакет программного обеспечения STEP7 для приложений на Simatik S7-300. Программа привязки разрабатывалась по циклограмме, согласно выбранной структуре. Запускающая часть программы вставлена в организационный блок ОВ1.
Программа начинается с декодирования вспомогательных функций М11 и М12. Если установлен адрес DB21DBB195.3 "Включить цикл измерения" - то включена функция М11. Так как адрес функции устанавливается только на один цикл программы PLC, то факт установки функции запоминается в маркере М14.0 (логическое имя М_IZM_ON). При декодировании функции М12, маркер М14.0 сбрасывается. Если маркер М14.0 установлен, подается команда на включение датчика измерения Q34.0 и запускается функциональный блок FB30. При сброшенном маркере М14.0 FB30 не запускается, тем самым уменьшается время цикла PLC.
В функциональном блоке FB30 запускается таймер Т20 (логическое имя T_PR_ON). Это таймер с управляемым импульсом. Он устанавливается переходом входа установки с 0 в 1. При этом цифровой выход Q принимает значение 1. Этот выход сбрасывается в 0 по отработке заданного времени, при сбросе входа установки в 0 и при установке 1 на входе сброс.
Выход таймера инвертируем и соединяем по И с инверсным значением входного сигнала I32.2 "Датчик включен" (логическое имя PR_ON). Если нет сигнала "Датчик включен" и таймер отработал заданное время (5 сек) устанавливается маркер М15.1 "Датчик не включен" (логическое имя M_ERR). Если сигнал PR_ON установлен в заданное время, проверяются входные сигналы I32.1 (логическое имя M_BAT) "Батарея разряжена" и I32.0 (логическое имя M_ER) "Ошибка датчика". Если они не установлены и не установлен маркер "Начало измерения" М14.1 (логическое имя М_ST_IZM), устанавливается маркер "Включить функцию FC21" М14.2 (логическое имя M_ON_FC). Также устанавливаются маркеры М14.3 (логическое имя M_ENABLE), М14.4 (логическое имя M_ENABLE1) и посылается сообщение на монитор "Измерительный датчик включен".
Если М14.2 установлен, происходит вызов функционального блока FB31 (логическое имя FB_31). В этом блоке с помощью функции FC21 производится чтение системной переменной $A_DBB[0] и её значение записывается в маркер МВ20 (логическое имя M_DATE_ON) "Измерение включить". Затем значения переменных $A_DBW[2] $A_DBW[4] аналогичным образом переписываются в маркеры MW22 "Номер оси" (логическое имя M_AXIC) и MW24 "Позиция измерения" (логическое имя M_POS). Таким образом осуществляется связь с программой обработки детали. После трех функций чтения проверяется были ли ошибки при включении FC21, если маркер М15.3 (логическое имя М_ER_21) "Нет связи NC c PLC" установлен, то маркер M_ON_FC сбрасывается в 0. Если ошибки не было, т.е. M_ON_FC установлен в 1 и установлен маркер M_DATE_ON, то устанавливается маркер М14.1 "Начало измерения" и сбрасываются маркеры M_ON_FC и M_DATE_ON, также посылается на монитор сообщение "Цикл измерения включен".
Если маркер М14.1 "Начало измерения" установлен, производится преобразование полученной позиции измерения из целого (каким его передает УП) в двойное целое и далее с REAL, что требует функция FC18.
После этого происходит выход из функционального блока FB31, с возвращением в функциональный блок FB30. При установленном маркере М14.1 "Начало измерения", если не был установлен маркер М14.6 (логическое имя M_PROBE) "Срабатывание датчика", вызывается функция FC18, которая осуществляет управление заданной осью при движении в точку измерения.
Если в процессе этого движения не произойдет контакт датчика с деталью, ось движется до заданной позиции и на выходе из FC18 устанавливается маркер М15.4 "Ось в позиции" (логическое имя IN_POS). Если произошли сбои во время движения оси, устанавливается маркер М15.2 "Ошибка позиционирования" (логическое имя M_ER_P). Если во время движения оси произойдет касание датчика с деталью, то устанавливается входной сигнал I32.3 "Контакт датчика" (логическое имя PROBE) и произойдет аппаратное прерывание. Управление будет передано обработчику аппаратных прерываний ОВ40.
В организационном блоке ОВ40 устанавливается маркер М14.5 (логическое имя M_PROBE) "Срабатывание датчика", а по нему сигнал "Сброс остатка пути" адрес DB21DBB6.3 (логическое имя "Chan1".A_DeleteDTG). После этого запускается функция FC21 с входным параметром FUNCT=5 (передача DB21DB6 на NCK), которая передает этот сигнал на NCK.
После отработки функции FC21 снимается команда "Сброс остатка пути", а в маркер МВ21 (логическое имя M_DATE_OUT) "Состояние измерения" пересылается число 1. Если не было ошибки маркер М15.5 (логическое M_ER_DE) "Ошибка команды "Стереть остаток пути", запускается функция FC21 с входным параметром FUNCT=4 (передача данных в системную переменную). Тем самым передается в УП состояние измерения (МВ21 = 1 - измерение успешно закончено), и на монитор посылается сообщение "Произошло касание". Далее происходит выход из прерывания и возврат в FB30.
В программе FB30 при установленном маркере M_PROBE и отсутствии ошибок M_ER_P и M_INPOS сбрасываются маркеры M_ST_IZM, M_ENABLE1, M_PROBE. Тем самым цикл измерения заканчивается. Если в процессе цикла измерения возникали ошибки, то они обрабатываются в конце FB30. Если произошла ошибка M_ERR, на монитор посылается сообщение "Ошибка датчика измерения". При ошибке M_BAT "Батарея разряжена" на монитор посылается сообщение "Батарея разряжена". Если произошла ошибка M_ER21, посылается сообщение "Ошибка связи NCК c PLC". При поступлении сигнала M_INPOS "Ось в позиции (ошибка)" посылается сообщение "Касание датчика не произошло". При ошибке M_ER_P посылается сообщение "Ошибка движения оси в точку измерения". Если произошла ошибка M_ER_DE, посылается сообщение "Ошибка команды "Стереть остаток пути". При ошибке M_ERR посылается сообщение "Датчик не отвечает (не включен)". При возникновении любой из этих ошибок в МВ21 записывается число 2.
После этого запускается функция FC21, которая записывает значение МВ21 в системную переменную $A_DBB[1]. Далее сбрасываются все ошибки и маркер M_IZM_ON, а также снимается выходной сигнал PR_ST "Включить датчик". Производится выход из функционального блока FB30 в организационный блок ОВ1.
Для наглядности покажем также пример составления управляющей программы для производства измерения:
N500 G54T9M06 выбор инструмента для измерения
N505 G17G0G90X-20Y25быстрый подвод в точку измерения
N510 Z10D9движение по z, коррекция на измерительный инструмент
N520 M11включить цикл измерения
N525 $A_DBB[1]=0
N530 $A_DBW[2]=1№ оси
N535 $A_DBW[4]= -1позиция измерения
N540 $A_DBB[1]=1включить измерение
N545 WHEN $A_DBB[1]=>1 DO R20 = $VA_IM[1]чтение данных измерения
N550 X-20Z100отвод измерительного инструмента
N555 M12завершить цикл измерения
N560 IF $A_DBB[1]>1 GOTOF FEHL1
N570 FEHL1: MSG ("Ошибка измерения")
N590 M02
82
Документ
Категория
Рефераты
Просмотров
104
Размер файла
179 Кб
Теги
система, управления
1/--страниц
Пожаловаться на содержимое документа