Отладчик программ на языке ТехноСи

Мощный отладчик программ на языке ТехноСи интерпретируемого режима выполнения позволяет выполнять процесс удаленной отладки на реальном контроллере или на имитирующем его обычном офисном компьютере, выполнять отладку на уровне исходного текста программы. Отладчик обеспечивает просмотр и изменение переменных в окне наблюдения, просмотр значений всех доступных в данном фрагменте программы переменных и управление ими. Отладчик предоставляет возможность отслеживать выполнение программы по шагам, где шаг один оператор программы, с заходом и без захода в функцию. Отладчик обеспечивает выполнение программы до установленной точки останова, до текущей строки текста программы, останов программы в заданном месте и по изменению значения переменной, а также выполнение программы без остановов с точками фиксации по заданным операторам.

Выполнение загрузки программ в контроллер осуществляется с использованием монитора-оболочки, подобной Norton Commander, что обеспечивает внесения изменений в выполняющиеся задачи ТехноСи без остановки процесса управления в контроллере. Отладчик обеспечивает загрузку программы в контроллер, перегрузку программы, то есть замену отлаживаемой программы в контроллере управления, без нарушения его работы. Состояние всех переменных при перегрузке сохраняется, время выполнения цикла не нарушается, подмена выполняется вначале очередного цикла выполнения. В момент перегрузке допускается добавление новых задач в контроллер управления без остановки процесса управления. При замене программы в ней можно выполнять любые изменения. Можно добавлять описание новых переменных, функций и секций, или, наоборот, удалять существующие переменные. Можно увеличивать или уменьшать размерности массивов, можно изменять любой исполнительный оператор программы.

Отладчик осуществляет выполнение основных дисковых операций в контроллере управления по сети (просмотр каталога файлов, копирование и удаление файлов, редактирование файлов, создание директорий). Монитор обеспечивает полный файловый обмен между узлами сети (в том числе и с пассивным контроллером в режиме дублирования). Отладчик поддерживает два режима ведения времени: реальное и логическое время. Использование режима логического времени позволяет ускорить или замедлить реальное течение времени для отладки алгоритмов выполнения скоротечных или длительных процессов. В процессе отладки программ алгоритма управления технолог-программист имеет возможность видеть выполняемую программу целиком.

В любой момент отладки имеется возможность отключать действие оператора присваивания значений технологическим типам данных, чтобы устанавливать отладочное значение переменной. Технолог-программист с помощью отладчика может оперативно вносить изменения параметров ввода-вывода УСО "на ходу" без остановки процесса управления. Система отладки программ на языке ТехноСи имеет сетевой режим отладки программы. В режиме отладки возможно иметь связь со всеми контроллерами, включенными в сеть, а также отлаживать одну и ту же программу с нескольких компьютеров. Обмен данными по сети в режиме "точка-точка" предназначен для передачи оперативной информации от одного контроллера другому в дублированном режиме выполнения задач в контроллере управления, без дополнительных программных действий со стороны пользователя.

Отладчик предоставляет для просмотра экран отладки и окно вывода технологических сообщений, полученных как результат выполнения задачи, сообщений об ошибках времени выполнения задачи (деление на ноль, выход за пределы массива, переполнение и т.д.) в любой момент времени. Мониторинг хода выполнения задачи может быть выведен в виде графика. В отдельно взятом контроллере может выполняться несколько программ на языке ТехноСи, каждая со своим временным расписанием. Для обмена информацией между задачами, расположенными в одном контроллере (или даже в разных контроллерах), достаточно знать номер задачи и имя глобальной переменной из этой задачи, чтобы независимо от места физического исполнения задач иметь возможность получать значение этой глобальной переменной.

Для отображения взаимодействия задач одного контроллера используется экран отладки. Экран отладки является областью памяти для чтения и записи, которая может быть выведена на экран дисплея отладчиком. Этот экран доступен всем задачам одного и того же контроллера при помощи специальных функций, как на чтение, так и на запись (каждый контроллер имеет свой экран отладки, независимый от других контроллеров). Экран отладки предоставляет визуальную текстовую информацию (с возможным заданием цвета символа и фона) и используется в основном только для выдачи отладочных сообщений, не влияющих на процесс управления. Размер экрана отладки ограничен размером 25 * 80 символов.

Вызов:

DbgTC.exe

Входные данные:
  *.s - файлы с исходным текстом программы на языке ТехноСи;
  *.RUN

-

результат выполненной компиляции исходной программы, файлы которые содержат
исполняемый модуль;
  device.ini - ini-файл для драйвера УСО контроллера управления;
  tc.cfg - конфигурационный файл.  

Файлы с исходным текстом программы на языке ТехноСи являются входными данными для выполнения пошаговой отладки, где шаг один оператор программы. Файлы с исполняемыми модулями предназнечены для загрузки программ в контроллер управления. Файл device.ini содержит описания устройств и каналов модулей УСО, задающие характеристики входного или выходного канала устройства и идентификатор переменной отлаживаемой программы, получающей данные от входного канала УСО или выдающей данные в выходной канал УСО. До вызова отладчика пользователь обязан создать конфигурационный файл с именем "tc.cfg". Содержимое конфигурационного файла определяет как состав отлаживаемых программ, так и некоторые характеристики сетевого окружения. Информация в конфигурационном файле записывается в символьном виде и используется как в станции отображения, так и в контроллере управления

Выходные данные:

Нет.

Описание алгоритма:

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