Разработка алгоритмов программного обеспечения

 

Пример блок-схемы главного модуля программы управления станком представлена на рисунке 5.14.

Перед селекцией режима осуществляется инициализация системы управления подпрограммой SYSINIT.

При инициализации выполняются следующие действия: проверка готовности к работе силовой части приводов и электроавтоматики, установка рабочих органов в нулевое положение, сброс системы управления приводами. После инициализации ожидается разрешение на начало работы, в противном случае программа завершается выдачей соответствующего сообщения. Режим автоматической обработки начинается из подпрограммы PRGIN, которая обеспечивает ввод программы обработки из клавиатуры или считыванием. Программа вводится покадрово, каждый кадр отвечает какой-нибудь технологической операции, например, включению шпинделя или обработке контура с заданными координатами. Для преобразования входной программы во внутренний формат данных системы используется интерпретатор TRANS. После интерпретации данных подается запрос на начало обработки. Если работа разрешена, начинается циклическое выполнение программы обработки с проверкой окончания программы (ЕОР).

Если программа не закончена, выполняется считывание кадра управляющей программы RD_КАDR и его анализ (определение типа интерполяции, рабочего квадранта, величины перемещения, направления осей и т.д.), т.е. подготавливается информация для подпрограмм нижнего уровня (интерполятора и регулятора).

 

Рисунок 5.14 – Блок-схема главного модуля программы управления станком

 

Перед отработкой кадра выполняется анализ аварийных и блокировочных сигналов подпрограммой TSTSTAT. В случае возникновения аварийной ситуации (ALARM=1) анализируется возможность ее устранения, что выполняется подпрограммой ANALYSE. После завершения операции выхода из аварии управление передается подпрограмме обработки кадра управляющей программы GO_КАDR (см. рис. 5.15).

 

Рисунок 5.15 - Блок-схема программы управления приводом подач консоли

 

В подпрограмме GO_КАDR осуществляется запуск таймера для контроля длительности цикла и обеспечения роботы системы в реальном масштабе времени. Для приема информации о перемещении по трем координатам организуется цикл, который включает в себя номер координаты k.

После включения таймера выполняется циклическое чтение датчиков DАТСН с перебором всех k-осей, в результате чего определяются значения координатных перемещений всех рабочих органов за данный интервал дискретности N[k] и величины перемещений относительно начала кадра N1. Скорость в данном интервале дискретности по каждой координате вычисляется подпрограммой SPEED.

Отслеживание положения рабочего органа производится в интервале дискретности путем сравнения текущего значения положения N1 со значением, заданным в кадре управляющей программы (). Если N1<Nз, т.е. необходимое положение еще не отработано, выполняется подпрограмма интерполяционных расчетов INTER. Далее осуществляется цифровое регулирование скорости согласно разностному уравнению регулятора скорости, синтезированного в процедуре REGUL. Если N1>Nз, т.е. по каким-то причинами состоялся перебег рабочего органа, сигнал управления двигателем привода корректируется. После завершения расчетов новых управляющих значений определяется состояние таймера. Если время, которое прошло с начала цикла меньше, чем период дискретности системы Т0, то реализуется цикл ожидания пока t<Т0. При t=Т0 происходит выход из цикла ожидания, счетчик периодов инкрементируется и таймер инициализируется для нового цикла.

После завершения обработки кадра происходит выход из процедуры управления приводами (конец кадра).

Вычисление значения скорости вращения двигателя выполняется методом числового дифференцирования в подпрограмме SPEED.

Ручной режим работы начинается с выполнения подпрограммы INITHAND (рис. 5.14). Далее выполняется чтение пульта оператора (RDPULT). Тестирование осуществляется подпрограммой TSTSTAT, которая выполняет проверку работоспособности системы ЧПУ.

При отсутствии аварии происходит формирование управляющих слов подпрограммой FORMUPR, которые определяют направление, код скорости движения и величину перемещения по координате, а также необходимые сигналы управления электроавтоматикой.

Данные слова записываются в соответствующие регистры системы управления (подпрограмма WRUPR). По окончании режима ручной обработки выдается соответствующее сообщение и программа завершает свою работу.

При разработке программы контроллера необходимо предусмотреть анализ пользовательских ошибок, которые возникают при управлении станком. Компания Siemens разработала стандартные программные блоки для обработки стандартных ошибок. Однако для конкретного применения программист может дополнить список ошибок для удобства нахождения причин неполадки оборудования.