ТЕРМОАНАЛИТИЧЕСКИЙ КОМПЛЕКС "КРАТЕР" Описание программного обеспечения 1. Структура программного обеспечения 1.1. Состав файлов программного обеспечения. Программное обеспечение комплекса "КРАТЕР" представлено в виде набора файлов, содержащих как исходные тексты программ,так и исполни- мые EXE файлы, а также другие файлы в которых содержится дополнитель- ная информация необходимая при создании ПО (в процессе трансляции и компоновки ). 1.2. Функциональная структура программного обеспечения Программное обеспечение отражает техническую и функциональную структуру комплекса КРАТЕР и состоит из следующих частей: - диспетчер задач реального времени (программная оболочка расширяющая возможности MS DOS); - 7 задач, работающих в реальном масштабе времени в зави- симости от заданного регламента и требований выполняемо- го анализа. 2. Функции частей программного обеспечения 2.1. Программное обеспечение запускается в работу вызовом файла KRATER.EXE в котором находится головной модуль (функция MAIN),которая выполняет инициирующие функции и становится задачей 0 - задача диало- га. При начальном запуске осуществляется: - инициация УСО КРАТЕРа; - инициация каналов связи СОМ1 и СОМ2; - инициация межсегментного интерфейса; - перепрограммируется система прерываний (подключается диспетчер задач реального времени); - инициализируется резидентная программа базы данных (загружается файл k_readbd.exe); - создается и запускается на выполнение периодическая задача N1 с периодом 15 сек. (вывод сообщений); - создается и запускается на выполнение периодическая задача N2 с периодом 1 сек.(запуск периодических процессов); - создаются, но не запускаются задачи NN 4,5,6,7; - запускается диалог системы (загружается файл "k_dial.exe"). Функции,выполняемые отдельными задачами, описаны ниже. 2.2. Диспетчер задач реального времени. Диспетчер задач реального времени представляет собой программную оболочку, расширяющую возможности стандартной операционной системы MS DOS. Программная оболочка реализует мультизадачный режим работы персональной ЭВМ, что недоступно в рамках MS DOS. Это достигается путем изменения программы обработки прерываний от таймера и вводом понятия задачи, каждая из которых характеризуется своим контекстом (т.е. программой,блоком описания и блоком управления) 2.3. Функции задачи 0 "Диалог" Задача "Диалог" является самой низкоприоритетной задачей,которая находится в постояной готовности к работе. Диалог с оператором осу- ществляется в интерактивном режиме. Диалог построен по иерархическому принципу. 2.4. Функции задачи 1 "Вывод сообщений" Задача "Вывод сообщений" является периодической задачей. Она обеспечивает регистрацию событий, запись их в кольцо сообщений и выдачу на экран информации о текущем состоянии установки. 2.5. Функции задачи 2 "Запуск периодических процессов" Задача "Запуск периодических процессов" является периодической за- дачей. Последовательно проверяются активные периодические процессы. Те процессы, для которых истек счетчик времени, поочередно запускаются на выполнение. К периодическим процессам в настоящей редакции програм- много обеспечения относятся: - Вывод текущего времени на экран монитора; - Диспетчеризация газоотбора; - Обработка результатов опроса давления; - Формирование заявок от циклического опроса; - Диспетчер опроса давления; - Диспетчер контроля состояния; - Отслеживание циклического газотбора; - Проверка режимов газоотбора. 2.6. Функции задачи 4 "Управление опросом давления" Задача "Управление опросом давления" запускается по прерыванию от размыкания ДД,измеряет давление в пневмомагистрали и фиксирует его. Процесс измерения давления в ДД происходит следующим образом. Про- изводится вакуумирование ПНМ до замыкания датчиков ДД, но не менее P_MIN (20мм рт.ст.) и не более TIME_VAK (30 c.). Затем делается на- пуск - повышение давления в ПНМ - до размыкания датчиков ДД, но не более P_MAX (1840 мм рт.ст.) и не более TIME_NAP (2 мин.). В случае не выполнения этих условий формируются сообщения. 2.7. Функции задачи 5 "Управление газоотбором" Задача " Управление газоотбором " выполняется только при наличии термостатов с газоотбором. 2.8. Функции задачи 6 "Управление нагревом термостатов" Задача "Управление нагревом" запускается оператором путем задания нужной температуры и вида регулирования в диалоговом режиме. По всем термостатам проверяются условия управления нагревом, расчитывается управляющее воздействие и выводится на обмотки нагрева. 2.9. Функции задачи 7 "Контроль состояния" Задача "Контроль состояния" запускается периодически диспетчером контроля состояния по истечении очередного 5-минутного интервала. Измеряется текущее значение давления в пневмомагистрали,температура окружающей среды и атмосферное давление. 3.Версии ПО "КРАТЕР" с краткими аннотациями. Версия 1.0 - базовая версия ПО КРАТЕР. Поддерживает все функции термостатов с газоотбором и хроматографа Цвет-500. Есть связь с АРМЛ. С применением этой версии термоанали- тический комплекс Кратер 2-02 был запущен в АО Арсенал в 1992 г. Далее программное обеспечение (ПО) развивалось только для этого комплекса. Программисты: Перелыгин, Пружинин, Танана - Редкинское ОКБА, 1990 г. Версия 1.1 - Устранена ошибка в модуле опроса датчиков, после чего метрологические характеристики комплекса приве- дены в соответствиe с требованиями нормативных документов. Эта версия обеспечила применение термоаналитического ком- плекса Кратер 2-02 для определения химической стойкости серийной продукции. Программист: Стволов - Чароит ООТ, 1993 г. Версия 1.2 - Устранены мелкие ошибки в таблицах вывода дан- ных опроса и в выводе графиков. Программисты: Миладинов - НИТИ, Пешков - АО Арсенал, 1994 г. Версии 1.21 ... 1.23 - Изменены поля базы данных датчиков в связи с подготовкой модуля обработки результатов. Из-за этого прервана связь с АРМЛ. Устранены деления на ноль при записи в базе данных и другие мелкие ошибки. В версию 1.23 впервые была включена программа обработки данных опреде- ления химической стойкости ПЕРУН. Программисты: Стволов - Чароит ООТ, Миладинов, Пешков - АО Арсенал, 1994 ... 1995 гг. Версия 2.0а - Дальнейшее развитие версии 1.хх. Устранены ошибки с "нолями" в базе данных, интегрирована программа ПЕРУН, добавлен DOS Shell. Число предупреждений компилятора значительно уменьшилось. Осталась ошибка с зависанием ПО во время опроса датчиков. ПО КРАТЕР 2.0а не было принято в эксплуатацию, так как версия 2.0 Ветлугина была лучше. Программисты: Миладинов, Пешков - АО Арсенал, 1996 г. Версия 2.0 - Значительно переработанная версия 1.1. Пере- компоновано все ПО и сильно сокращено число .EXE модулей. Убраны все модули работы с хроматографом и термостатами с газоотбором. Устранены все ошибки в базе данных. В модуле нагрева термостатов введено аварийное отключение в случае сбоя в измеритрельном канале. Специально для проверки вер- сии Стволовым с Миладиновым был разработан тестовый модуль, имитирующий зависание ПО во время опроса. Все версии ПО 1.хх и 2.0а зависали, а версия 2.0 - нет. Это было рещающим аргументом для принятия версии 2.0 в эксплуатацию. Милади- новым и Пешковым в программу вписан ПЕРУН и функции архиви- рования. В составе версии 2.0 программа ПЕРУН начала приме- няться для обработки данных определения стойкости серийной продукции. Программист: Ветлугин - Чароит ООТ, 1996 г. Версия 3.0 - Опыт применения версии 2.0 выявил как ее силь- ные, так и слабые стороны. Была сделана неудачная попытка (необъявленная версия 2.1) устранить ошибки в версии 2.0, которых не было в предыдущих версиях, в частности, зависа- ния ПО из-за нехватки памяти для функций окна. После этого дальнейшее развитие получила версия 2.0а. В нее внесен из 2.0 модуль аварийного отключения и исправлены все сущес- твенные ошибки. Добавлена защита от сбоев измерительного канала. Интересно отметить, что в модуле подключения датчиков найдена и исправлена ошибка Y2K. После устранения всех предупреждений компилятора Borland C 3.1 перестали проявляться необъяснимые ошибки. Начиная с этой версии принято считать все опциональные предупреждения компилятора ошибками (bcc ... -w -g1 ...) и убирать их перед сдачей ПО в эксплуатацию. В корневом меню добавлен Пороховой каль- кулятор Станилова из АО Арсенал. Программист: Пешков, АО Арсенал, 1998 г. Версия 2000 - Дальнейшее развитие версии 3.0. Устранены мелкие ошибки в окнах. Замечена ошибка в HELP-е, которая не была исправлена. Дополнен HELP и усовершенствована за- щита от сбоев в измерительном канале. Замечена и исправ- лена ошибка в модуле подключения датчика, которая редко проявлялась. Программист: Пешков, АО Арсенал, 1999 г.