Слова в управляющей программе могут быть записаны одним из двух способов: без использования десятичного знака (подразумеваемое положение десятичной запятой) и с его использованием (явное положение десятичной запятой). Явная десятичная запятая обозначается символом «DS».
Подразумеваемое положение десятичной запятой должно быть определено в характеристиках конкретного устройства ЧПУ. При записи слов с использованием десятичного знака слова, в которых десятичный знак отсутствует, должны рассматриваться устройством ЧПУ как целые числа.
В этом случае могут быть опущены незначащие нули, стоящие до и(или) после знака: Х.ОЗ означает размер 0,03 мм по оси X; Х1030 — размер 1030,0 мм по оси X. Размер, представленный только нулями, должен быть выражен по крайней мере одним нулем.
При записи слов с подразумеваемой десятичной запятой с целью сокращения количества информации рекомендуется опускать нули, стоящие перед первой значащей цифрой (ведущие нули). Последние нули можно опускать (ведущие нули в этом случае опускать нельзя). При опускании как ведущих, так и последних нулей положение подразумеваемой десятичной запятой остается неизменным согласно характеристикам конкретного устройства ЧПУ.
Создание Управляющей Программы для станка с ЧПУ/ Последовательность
Слово «Номер кадра» должно состоять из цифр, количество которых указывается в формате конкретного устройства ЧПУ.
Слово (или слова) «Подготовительная функция» должно быть выражено кодовым символом в соответствии с таблицей
Таблица Подготовительные функции
Обозначение функции Значение функции
G00 Позиционирование. Перемещение на быстром ходу в заданную точку. Ранее заданная рабочая подача не отменяется
G01 Линейная интерполяция. Перемещение с запрограммированной подачей по прямой к точке
G02, G03 Круговая интерполяция соответственно по ходу и против хода часовой стрелки
G04 Задержка в обработке на определенное время, которое задается с пульта управления или в кадре
G05 Временный останов. Длительность останова не ограничена. В работу станок включается нажатием кнопки
G06 Параболическая интерполяция. Движение по параболе с запрограммированной подачей
G08 Разгон. Плавное увеличение скорости подачи до запрограммированного ее значения в начале движения
G09 Торможение в конце кадра. Плавное уменьшение скорости подачи до фиксированного значения
G17,G18,G19 Плоскости интерполяции соответственно ХУ, XZf YZ
G33,G34,G35 Нарезание резьбы соответственно с постоянным, увеличивающимся и уменьшающимся шагами
G40 Отмена коррекции инструмента, заданной одной из функций G41—G52
G41, G42 Коррекция диаметра или радиуса инструмента при контурном управлении. Режущий инструмент расположен соответственно слева и справа от детали
G43, G44 Коррекция диаметра или радиуса инструмента соответственно положительная и отрицательная
G45 — G52 Коррекция диаметра или радиуса инструмента при прямолинейном формообразовании: G45+/+, G46+/-, G47-/-, G48-/+, G49 0/+, G50 0/-, G51+/0, G52-/0
Верификация обработки и отладка управляющих программ для станков с ЧПУ в Autodesk CAMplete
G53 Отмена линейного сдвига, заданного одной из функций G54—G59
G54 — G59 Линейный сдвиг по координатам X, У, Z и в плоскостях ХУ, ZXy YZ соответственно
G63 Нарезание резьбы метчиком
G80 Отмена постоянного цикла, заданного одной из функций G81—G89
G81 — G89 Постоянные циклы
G90 Абсолютный размер. Отсчет перемещений в абсолютной системе координат с началом в нулевой точке системы ЧПУ
G91 Размер в приращениях. Отсчет перемещений относительно предыдущей запрограммированной точки
G92 Установка абсолютных накопителей положения
G93 Скорость подачи в функции, обратной времени
G94, G95 Единица подачи соответственно в минуту и на оборот
G96 Единица скорости резания (м/мин)
G97 Единица главного движения (об/мин)
Примечание. G07, G10 — G16, G20, G32, G36 — G39, G60 — G62, G64 — G79, G98, G99 — резервные коды.
Все размерные перемещения должны задаваться в абсолютных значениях или приращениях. Способ управления должен выбираться одной из подготовительных функций: G90 (абсолютный размер) или G91 (размер в приращениях).
За адресом каждого слова «Размерное перемещение» следуют две цифры, первая из которых показывает количество разрядов перед подразумеваемой десятичной запятой, отделяющей целую часть числа от дробной, вторая — количество разрядов после запятой. Если можно опустить нули, стоящие перед первой значащей цифрой и после последней в словах «Размерные перемещения», за адресом «Размерное перемещение» должны следовать три цифры. Если опускаются нули, стоящие перед первой значащей цифрой, то нулем должна быть первая цифра. Если опускаются нули, стоящие после значащей цифры, нулем должна быть последняя цифра.
Все линейные перемещения должны быть выражены в миллиметрах и их десятичных долях. Все угловые размеры даются в радианах или градусах. Допускается выражение угловых размеров в десятичных долях оборота.
Ряд устройств ЧПУ имеет специальные циклы, «привязанные» к конкретному станку. Например, токарные станки имеют циклы нарезания резьб и канавок с автоматическим разделением на проходы, цикл глубокого сверления с автоматическим разделением на проходы, цикл нарезания резьб метчиком или плашкой и др.
Если устройство ЧПУ допускает задание размеров в абсолютных значениях (положительных или отрицательных) в зависимости от начала системы координат, то математический знак («+» или «-») является составной частью слова «Размерное перемещение» и должен предшествовать первой цифре каждого размера.
Если абсолютные размеры всегда положительны, то между адресом и следующим за ним числом не ставят никакого знака, а если они либо положительны, либо отрицательны, то между адресом и следующим за ним числом ставится знак.
Если устройство ЧПУ допускает задание размеров в приращениях, то математический знак должен предшествовать первой цифре каждого размера, указывая направление перемещения.
Движение инструмента по сложной траектории обеспечивается специальным устройством — интерполятором. Интерполяция линейных и дуговых отрезков производится отдельно по участкам заданной траектории. Каждый из участков может быть записан в одном или нескольких кадрах управляющей программы.
Функциональный характер интерполируемого участка траектории (прямая, окружность, парабола или кривая более высокого порядка) определяется соответствующей подготовительной функцией (G01 — G03, G06). Для задания параметров интерполяции применяют адреса I, J, К, используя их для определения геометрических характеристик кривых (например, центра дуги окружности, радиусов, углов и т.п.).
В тех случаях, когда вместе с параметрами интерполяции необходимо записать математический знак («+» или «-»), он должен следовать за адресным символом и перед цифровыми символами. Если знак отсутствует, подразумевается знак плюс.
Начальная точка каждого участка интерполяции совпадает с конечной точкой предыдущего участка, поэтому в новом кадре она не повторяется. Каждой последующей точке, лежащей на этом участке интерполяции и имеющей определенные координаты, соответствует отдельный кадр информации с адресами перемещений X, Y или Z.
Современные устройства ЧПУ в своем программном обеспечении имеют «встроенные» функции для выполнения простейшей интерполяции. Так, в токарных станках с ЧПУ фаска под углом 45° задается адресом С со знаком и конечным размером по той координате, по которой идет обработка детали перед фаской. Знак под адресом С должен совпадать со знаком обработки по координате X (рис. 4.3, а). Направление по координате Z задается только в отрицательную сторону.
Для задания дуги указываются координаты конечной точки дуги и радиус под адресом R с положительным знаком при обработке по ходу часовой стрелки и отрицательным при отработке против хода часовой стрелки.
Подача и скорость главного движения кодируются числами, количество разрядов которых указано в формате конкретного устройства ЧПУ. Выбор типа подачи должен осуществляться одной из подготовительных функций: G93 (подача в функции, обратной времени), G94 (подача в минуту), G95 (подача на оборот).
Выбор типа главного движения должен осуществляться одной из подготовительных функций: G96 (постоянная скорость резания) или G97 (обороты в минуту).
В качестве основного метода кодирования подачи используется метод прямого обозначения, при котором должны применяться следующие единицы: миллиметр в минуту — подача не зависит от скорости главного движения; миллиметр на оборот — подача зависит от скорости главного движения; радиан в секунду (градус в минуту) — подача относится только к круговому перемещению.
При прямом кодировании скорости главного движения число обозначает угловую скорость шпинделя (в радианах в секунду или оборотах в минуту) либо скорость резания (в метрах в минуту). Например, если в программе частота вращения шпинделя задана как S -1000, это означает, что шпиндель вращается по ходу часовой стрелки с частотой вращения 1000 об/мин. (Если минус отсутствует, значит, вращение шпинделя происходит против хода часовой стрелки.)
Для быстрого перемещения рекомендуется использовать подготовительную функцию G00, но допускаются и другие варианты (см. табл.).
Для скорости векторного перемещения, не зависящей от скорости главного движения, подача может быть выражена значением, обратно пропорциональным времени (в минутах), необходимому для отработки соответствующего кадра. В этом случае подача равна отношению векторной скорости (в миллиметрах в минуту) к вектору перемещения (в миллиметрах) по траектории обработки.
Слово «Функция инструмента» используется для выбора инструмента. Допускается применять его для коррекции (или компенсации) инструмента. В этом случае слово «Функция инструмента» будет состоять из двух групп цифр. Первая группа используется для выбора инструмента, вторая — для его коррекции. Если для записи коррекции (компенсации) инструмента используется другой адрес, рекомендуется использовать символ D или Н.
Количество цифр, следующих за адресами Т, D и Н, указывается в формате конкретного устройства ЧПУ.
Слово (или слова) «Вспомогательная функция» выражается кодовым числом в соответствии с табл.
В кадре управляющей программы, задающем режим резьбонаре-зания, должна быть следующая информация:
— подготовительная функция, определяющая режим резьбонарезания;
— размерные слова по адресам X и(или) Z, определяющие длину участка резьбы;
— слова по адресу I или К, определяющие шаг резьбы, параллельной соответствующим осям координат.
Вспомогательные функции
Обозначение функции Значение функции
МОО Программируемый останов. Останов шпинделя, подачи и выключение охлаждения
М01 Останов с подтверждением. То же, что и МОО, но выполняется при предварительном нажатии соответствующей кнопки на пульте оператора
М02 Конец программы. Останов шпинделя и выключение подачи СОЖ
МОЗ, М04 Вращение шпинделя соответственно по ходу и против хода часовой стрелки
М05 Останов шпинделя наиболее эффективным способом
мое Смена инструмента. Команда на смену инструмента подается вручную или автоматически
М07, М08 Включение охлаждения соответственно № 2 и № 1
М09 Выключение охлаждения. Отменяет команды М07, М08, М50, М51
М10,М11 Зажим и разжим. Относится к зажимным приспособлениям столов станка, заготовки и т.д.
М13, М14 Вращение шпинделя по ходу и против хода часовой стрелки при одновременном включении охлаждения
М15, М16 Быстрое перемещение в «+» и «~»
М17 Конец подпрограммы для устройства ЧПУ со встроенной памятью
М19 Останов шпинделя в определенном угловом положении
М20 Конец подпрограммы, которой является многократно считываемая глава программы
МЗО Конец информации
М31 Обход блокировки. Команда на временную отмену блокировки
М36, М37 Диапазон подач соответственно N° 1 и N° 2
М38, М39 Диапазон вращения шпинделя соответственно № 1 и № 2
М48 Отмена М49
М49 Отмена ручной коррекции
М50, М51 Включение охлаждения соответственно N° 3 и N° 4
М55, М56 Линейное смещение инструмента в положении № 1 и № 2 соответственно
М58 Отмена М59
М59 Постоянная скорость шпинделя
М60 Смена заготовки
М61, М62 Линейное смещение заготовки в фиксированное положение № 1 и № 2 соответственно
М68, М69 Зажим и отжим заготовки
М71, М72 Угловое смещение заготовки в фиксированное положение N° 1 и № 2 соответственно
М78, М79 Зажим и отжим стола
Примечание. М12, М18, М21 — М29, М32 — М35, М40 — М47, М52 — М54, М57, МбЗ — М67, М70, М73 — М77, М80 — М99 — резервные коды.
Значение шага резьбы должно быть выражено в миллиметрах на один оборот шпинделя. Количество цифр в словах, задающих шаг резьбы, определено в формате конкретного устройства ЧПУ. При нарезании резьбы с переменным шагом слова под адресами I и К должны задавать размеры начального шага резьбы.
Слово «Функция подачи» при постоянном шаге резьбы программироваться не должно.
Управляющую программу рекомендуется составлять таким образом, чтобы в кадре записывалась только та геометрическая, технологическая и вспомогательная информация, которая изменяется по сравнению с предыдущим кадром.
Каждая управляющая программа должна начинаться символом «Начало программы», после которого должен стоять символ «Конец кадра», а затем кадр с соответствующим номером. Если необходимо обозначить управляющую программу, это обозначение (номер) должно находиться непосредственно за символом «Начало программы» перед символом «Конецкадра».
Управляющая программа должнагеаканчиваться символом «Конец программы» или «Конец информации». Информация, помещенная после символа «Конец информации», не воспринимается устройством ЧПУ. Перед символом «Начало программы» и после символов «Конец программы» и «Конец информации» на перфоленте рекомендуется оставлять участки с символом ПУС («Пусто»).
Источник: enciklopediya-tehniki.ru
Отладка и корректирование программ
При подготовке управляющей программы важным моментом является разработка траектории движения режущих инструментов относительно детали и на этой основе — описание движений соответствующих органов станка. Для этого используется несколько систем координат.
Начало координат (исходная точка станка) выбирают исходя из удобства отсчета размеров. Чтобы избежать значительных холостых ходов, исходное положение, от которого начинается обработка и в котором производится смена заготовок и инструментов, задается так, чтобы инструменты находились возможно ближе к обрабатываемой детали.
Для «привязки» в пространстве системы измерения перемещений станка используется нулевая (базовая) точка отсчета. При каждом включении станка эта точка «привязывает» измерительную систему к нулевой точке станка.
Для удобства настройки современные устройства ЧПУ позволяют смещать начало системы координат программы в пространстве во всем диапазоне перемещений рабочих органов. Если при любом их положении нажать кнопку сброса геометрической информации на пульте устройства ЧПУ, то начало отсчета координат сместится в новую точку, соответствующую новому расположению рабочих органов. Для этой цели можно использовать также программируемый сдвиг нуля, который кодируют подготовительной функцией G 92. Такой кадр отрабатывается без перемещения рабочих органов станка.
При смене режущих инструментов в ходе обработки деталей может возникнуть несоответствие результатов обработки требованиям к ней (потеря точности, возрастание шероховатости, появление вибраций и т.д.). В этом случае необходимо оперативно откорректировать программу. Погрешности обработки, требующие коррекции, могут возникнуть при сверлении отверстий, точении конических и фасонных поверхностей вследствие наличия у резцов радиуса вершины.
Возможны две разновидности коррекции — на длину и на радиус инструмента. В первом случае коррекция длины сверла или вылета державки резца осуществляется с помощью команды Н с набором цифр, соответствующих величине коррекции. Например, кадр
N060 Т02 Н15
означает введение коррекции на длину 15 мм для инструмента № 2. Второй случай обеспечивает коррекцию радиуса инструмента и связан с тем, что при точении конических и фасонных поверхностей и при фрезеровании контуров траектория движения центра радиусной поверхности инструмента должна представлять собой эквидистанту относительно поверхности детали. В противном случае возникают погрешности формы поверхности (рис. 7.2).
Рис. 7.2. Компенсация радиуса резца
Приведем фрагмент программы для компенсации радиуса резца:
N035 G81 Х 25 Z 4 1 7 N036 G41
Описание контура обработки
N053 G40 N054 G80
Фрагмент программы, предусматривающий фрезерование по эквидистанте (рис. 7.3):
% 150
N005 G90 G00 Х0 Y0 S1000 Т01 М03
N006 G41 G01 Х220 Y100 F100
N007 Х220 Y430 F50
N008 G02 G17 Х370 Y580 1370 J430
N009 G01 Х705 Y580
N010 Х480 Y190
N011 Х220 Y190
N012 G00 Х0 Y0 М05
N013 М02
Рис. 7.3. Движение фрезы по эквидистанте при фрезеровании наружного контура
Функция ^ G 41 (коррекция диаметра фрезы, если фреза находится слева от детали) в кадре N 006 обеспечивает движение центра фрезы по эквидистанте относительно обработанной поверхности.
В ряде случаев требуется скорректировать подачу, чтобы уменьшить шероховатость обработанной поверхности, исключить вибрации и т.д. Для этого на пульте управления необходимо установить новое значение подачи и ввести его в память устройства ЧПУ.
^
Библиографический список рекомендуемой литературы
- Гжиров Р. И. Программирование обработки на станках с ЧПУ / Р. И. Гжиров, П. П. Серебреницкий – Л.: Машиностроение, 1990. – 591 с.
- Основы технологии автоматизированного производства в машиностроении / Ж. А. Мрочек [и др.]. – Минск.: УП «Технопринт», 2003. – 304 с.
- Проектирование технологии автоматизированного машиностроения. / И. М. Баранчикова [и др.]. / под ред. Ю. М. Соломенцева. – М.: Высш. шк., 1999. – 416 с.
- Серебреницкий П. П. Общетехнический справочник / П. П. Серебреницкий. – СПб.: Политехника, 2004. – 445 с.
- Серебреницкий П. П. Программирование для автоматизированного оборудования / П. П. Серебреницкий, А. Г. Схиртладзе; под ред. Ю. М. Соломенцева. – М.: Высш. шк., 2003. – 592 с.
- Справочник технолога-машиностроителя: в 2 т. / под ред. А. М. Дальского [и др.]. – М.: Машиностроение – 1, 2003.
- Справочник технолога-машиностроителя: в 2 т. / под ред. А. Г. Косиловой, Р. К. Мещерякова. – М.: Машиностроение, 1985.
Источник: infopedia.su
О методах отладки программ автоматизированных систем управления технологическими процессами
Отладку программного обеспечения АСУ ТП традиционно осуществляют по классической схеме (снизу—вверх) в следующей последовательности: автономная программ в статике; комплексная — подсистем и системы в статике, а также в динамике без подключения к реальному объекту и с реальными объектами.
Автономная отладка систем управления технологическими процессами — это отладка отдельных подпрограмм и стандартных модулей либо без взаимодействия с другими подпрограммами, либо при наличии взаимодействия с небольшой группой программ, решающих некоторую частную задачу.
Автономную отладку систем управления технологическими процессами подразделяют на три этапа: ручной отладки без использования вычислительных машин; отладки на универсальных и отладки на управляющих программируемых логических контроллерах (ПЛК). Второй этап может отсутствовать.
При ручной отладке ПО программируемых логических контроллеров (ПЛК) автоматизированных систем, спроектированного на автокоде, решаются следующие задачи: проверка записи программы на соответствие синтаксическим и семантическим правилам выбранного языка; логики программы на соответствие ТЗ и структурной схеме; основных логических маршрутов обработки информации; уточнение содержания и структуры входной и выходной информации и способа сопряжения проверяемого модуля с другими по информации и управлению; подготовка и предварительная проверка программ по тестам, используемым при автономной отладке на программируемых логических контроллерах (ПЛК).
Для повышения методичности процесса отладки систем управления технологическими процессами применяют различные бланки и таблицы, содержащие следующие разделы:
- цель отдельных этапов отладки и план их проведения по каждому модулю;
- структурную схему;
- макет программы, записанный на соответствующем языке; состав исходной информации;
- контролируемые величины и точки (зоны контроля); состав результирующей информации.
В результате просмотра текста программы автоматизированных систем при ручном контроле проверяют следующие факторы:
- соответствие переходов в тексте программы логике ТЗ (спецификациям); последовательность расчета, запоминания и использования переменных величин;
- правильность использования данных;
- состав исходной информации при включении ЦВМ и при изменении режимов функционирования и возможность решения задачи при этих условиях.
После трансляции и устранения синтаксических ошибок, выявленных при трансляции, наступают этапы автономной отладки на ЦВМ. Отладка систем управления технологическими процессами начинается с проверки прохождения частных тестов и носит итерационный характер с постепенным усложнением тестов.
Прежде чем приступить к локализации причины неработоспособности программы, следует определить ее природу — является ли она следствие ошибки: аппаратуры, операционной системы, компилятора или специального ПО. При обнаружении ошибки в специальном ПО возникает вопрос, в какой его части находится ошибка. Ответ на этот вопрос обычно удается найти методом исключения из рассмотрения маловероятных источников ошибки. Рекомендуется проверить, является ли ошибка повторяющейся и устойчивой, такие ошибки легче обнаружить. Классическими способами отладки являются дампинг памяти и трассировка.
Дампинг памяти (распечатки содержимого оперативной памяти) является самым распространенным способом отладки автоматизированных систем. Полезность этого способа, существенно зависит от своевременности распечатки, удобства чтения (что зависит от выбора формата — предпочтителен алфавитно-цифровой фор. мат). Рекомендуется сохранять распечатки (дампы) для последующего анализа при поиске других ошибок. Использование дампов существенно усложняется, если программы пользуются общей областью памяти. В таких случаях дамп показывает последнюю записанную информацию, а следы предыдущих действий других подпрограмм будут утеряны.
Трассировка или моментальная фотография автоматизированных систем — разновидность дампа оперативной памяти. Трассировочные средства позволяют распечатывать содержимое определенных ячеек памяти (переменных, параметров связи и т. п.) в моменты или при условиях, указанных программистом. Существуют следующие разновидности трассировок систем управления технологическими процессами:
- для подпрограммы — для отпечатки индикационных признаков каждой ситуации, в которой осуществляется вызов конкретной подпрограммы (желательно печатать все аргументы, представленные в подпрограмме, и признаки того, осуществила ли подпрограмма нормальный выход);
- для переменной — для распечатки значений указанных переменных, элементов данных, областей рабочей памяти, массивов и т. п.;
- для оператора — как вынужденное средство после того, как все другие виды отладочных приемов не дают результата (в этом виде распечатки выдаются значения всех переменных (регистров), которые затрагиваются некоторым программным оператором как до, так и после выполнения этого оператора);
- для терминала — показывает все входные и выходные сообщения для конкретного терминала или группы терминалов;
- по времени — в АСУ ТП иногда трудно понять, что нужно прослеживать, так как ошибку трудно привязать к какой-либо подпрограмме или конкретной переменной (для этого случая используют трассировочную программу, периодически печатающую (или записывающую на диск) содержимое выбранных участков памяти);
- условные — работают при выполнении тех или иных условий (например, «пришел сигнал А и переменная В положительна» и т. п.).
Комплексная отладка подсистем и системы в статике. Проверяется и корректируется сопряжение отдельных автономно отлаженных программ автоматизированных систем по информации и управлению в некоторые фиксированные моменты времени. При этом устанавливается тождественность входных и выходных связей сопрягаемых частей (как по информации, так и по управлению).
Этот этап отличается от последующих полным игнорированием реального времени включения программ операционной системой и реальной динамики взаимодействия подсистем. Функционирование этих подсистем имитируется информацией, подготавливаемой в составе тестов. Реальный объект систем управления технологическими процессами к контуру управления и обработки данных не подключен. Все обратные связи разомкнуты либо представлены упрощенно. Система прерывания выключена.
Комплексная отладка системы в динамике без подключения к реальному объекту (с использованием программных или физических имитаторов автоматизированных систем) обеспечивает:
проверкой отладку начального режима включения системы при отсутствии информации от внешних терминалов;
- проверку взаимодействия задач системы с подсистемой сбора и обработки информации, в состав которой входят устройства связи с объектом, а также с подпрограммами обмена информацией;
- проверку взаимодействия задач при работающей операционной системе с включенной системой прерывания, т. е. реакций на инициативные сигналы;
- проверку взаимодействия при имитации различных критических ситуаций, с целью подтверждения устойчивости функционирования.
Комплексная отладка системы с реальным объектом — завершающий этап отладки автоматизированных систем. При этом корректируется взаимодействие программного обеспечения в реальном масштабе времени и уточняется автономное решение задач АСУ ТП в реальных условиях. Проверяются и отлаживаются система функционального контроля, системы контроля подсистем передачи данных, а также всего комплекса средств, обеспечивающих устойчивость ПО программируемых логических контроллеров (ПЛК).
На этом этапе происходит уточнение целей управления, выбранных методов решения задач АСУ ТП, используемых математических моделей и способов реализации ПО, приводящее к пересмотру проектных решений и повторению этапов проектирования.
Эффективным отладочным средством на этапе динамической отладки является диалоговая отладочная система реального времени с использованием языков высокого уровня. Такая система обычно обеспечивает следующее:
- Операторы или команды для установления и изъятия контрольных
точек в любом месте программы. При достижении программой этой точки ее текущее, состояние «замораживается» и управление передается программисту. Точка устанавливается заданием номера оператора относительно какой-либо метки или входной точки. Следовательно, отладочная система должна иметь доступ к таблице символов или к исходному тексту программы. Проблема значительно упрощается при работе с интерпретирующими трансляторами (типа языка БЕЙСИК).
Расширением простой контрольной точки является контрольная точка с условиями. Например, введение параметра N может означать, что выход с передачей управления человеку должен осуществляться только после N-го прохода точки.
- Способность системы возвращать управление программисту в случае установления факта наличия ошибки (например, при попытке извлечь квадратный корень из отрицательного числа, при превышении границ массива и т. п.). Компилятор должен генерировать отладочный код так, чтобы выполнение программы отслеживалось как можно тщательней.
Если произошла ошибка, программисту автоматизированных систем должно быть выдано ясное диагностическое сообщение. Информация, необходимая для прослеживания источника ошибки, должна выдаваться в терминах исходного языка, т. е. должно быть указано место относительно метки в конкретной программе. Полезным является использование механизма защиты переменной или массива — система сообщает о любой попытке использовать эти элементы.
- Средства анализа и изменения любого элемента данных в программе после того, как ее состояние «заморожено» и управление передано программисту. Для этого в простейшем случае может понадобиться выполнение операторов назначения или печати, из чего следует, что система должна быть в состоянии вызвать компилятор. Более сложные операции могут, например, использовать операторы цикла для распечатки элементов массива.
Язык отладочной системы автоматизированных систем обычно оказывается шире исходного языка. Например, могут понадобиться последние N наборов параметров, с которыми происходил вызов какой-либо процедуры и т. п.
- Возможность перезапуска программы автоматизированных систем не обязательно с той точки, где она прервана.
- Средства для изъятия, замены и вставки новых частей в программы систем управления технологическими процессами. Идеальным случаем является возможность получить требуемые изменения немедленно. Если программа хранится в скомпилированной форме, единственным способом внесения изменений является редактирование символьного текста и перекомпиляции (повторная трансляция). Если в системе используется интерпретатор, то модификация программы легко реализуема.
Однако при использовании интерпретатора скорость выполнения программы резко уменьшается. Используют смешанный способ: одна часть программы скомпилирована, другая — интерпретируется в процессе выполнения. При этом первый прогон программы при отладке осуществляется в режиме интерпретации. После отладки основных подпрограмм, они компилируются в дальнейшей модификации могут быть подвергнуты только интерпретируемые части программы. Постепенно, по мере отладки, все ПО переводится в скомпилированную форму.
- Средства получения статистической информации о поведении программы (список операторов и подпрограмм, которые не выполнялись, список неиспользованных переменных и др.).
- Средства конструирования тестового обрамления. В качестве средства общения с программистом обычно используется видеотерминал.
Источник: ritm.pro