Смекни!
smekni.com

Разработка системы автоматизации компрессорного цеха (стр. 9 из 21)

- прикладная программа подсистемы учета готовой продукции.

1.9.1 Инструментальный программный комплекс TRACE MODE

TRACE MODE является программным продуктом фирмы ADASRTA и предназначен для разработки, настройки и запуска в реальном времени автоматизированных систем управления технологическими процессами. Все программы, входящие в TRACE MODE, делятся на три группы:

• инструментальная система разработки АСУ;

• система реального времени (runtime);

• вспомогательные программы.

Инструментальная система разработки АСУ включает в себя четыре редактора. В этих редакторах осуществляется разработка математической основы АСУ и графических экранных фрагментов для представления данных о состоянии автоматизируемого технологического процесса и управления им. Система разработки TRACE MODE включает в себя следующие редакторы:

• редактор базы каналов;

• редактор графических примитивов;

• редактор рисунка;

• редактор представления данных.

Кроме того, в систему разработки также входит Редактор установки МРВ. В этой программе система настраивается для запуска в реальном времени.

1.9.2 Интегрированная система UniOP-Designer

Интегрированная система UniOP-Designer предназначена для разработки средств визуализации и управления технологическими процессами реализуемых на панелях оператора UniOP.

UniOP-Designer представляет собой интегрированную среду состоящею из графического редактора экранов, редактора цифровых и динамических полей, редактора макросов клавиатуры, редактор реакции панели на различные ситуации возникающие в технологическом процессе. С помощью этих редакторов разрабатываются проект с экранными формами отображения, алгоритмами управления этими формами, алгоритмами управления технологическим процессом. Разработанный проект загружаются в панель UniOP.

1.9.3 Интегрированная система CONT-Designer

Интегрированная система CONT-Designer разработана и реализована фирмой ЭМИКОН и предназначена для разработки прикладного программного обеспечения контроллеров серии ЭК-2000. Она включает в себя пользовательский язык программирования Turbo-CONT, библиотеку прикладных функций, набор сервисных программ, а также интегрированную среду, содержащую текстовый редактор, транслятор языка программирования и систему отладки.

Turbo-CONT является проблемно-ориентированным текстовым языком высокого уровня, то есть содержит специальные операторы и структуры данных, отражающие специфику задач управления технологическими процессами.

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

Функциональные возможности CONT-Designer значительно расширяются благодаря включению набора библиотек, содержащих объектные коды наиболее часто используемых в технологических программах стандартных функций и драйверов.

Транслятор языка Turbo-CONT, а также редактор исходных текстов и система отладки объединены в единую интегрированную среду, что заметно упрощает и ускоряет процесс создания прикладных программ. Для ускорения написания исходного текста программы в редакторе предусмотрена возможность работы с шаблонами.

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

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


1.9.4 Прикладная программа подсистемы учета готовой продукции

Прикладная программа подсистемы учета готовой продукции написана на языке Turbo-CONT и предназначена для реализации поставленной задачи. Текст программы приведен в приложении.

Программа состоит из четырех функционально связанных частей:

1) Инициализация.

2) Ядро программы.

3) Подпрограммы обработки прерываний.

4) Процедуры, вызываемые ядром программы.

Структура программы представлена на рисунке 19.

1.9.4.1 Инициализация

Инициализация является стартовой частью программы и выполняется только один раз после включения контроллера или после его перезапуска. В этой части программы происходят следующие действия:


- Инициализация сетевого модуля драйвером D3C02 и разрешение прерывания от этого модуля для организации сетевого обмена.

- Инициализация модулей счетчиков функцией FINIQC01 для подсчета импульсов приходящих от тахогенераторов и драйвером DQC01_A для измерения частоты преобразователей сигналов тензометрических датчиков.

- Инициализация часов драйвером D3RTC для реализации часов с реальным масштабом времени.

- Инициализация фильтров функцией INI_FTR для фильтрации значений веса.

- Инициализация буферов необходимых для выполнения процедур тарирования и юстирования.

- Инициализация прерываний по таймерам необходимым для фильтрации значений веса, чтения значений тахогенераторов, функционирования процедур динамического тарирования и юстирования.

- Инициализация таймеров необходимых для организации импульсных выходов.

1.9.4.2 Ядро программы

Ядро программы выполняется после инициализации в бесконечном цикле. Оно в процессе выполнения вызывает необходимые процедуры и прерывается по инициативе операционной системы на обработку прерываний. Ядро программы выполняет следующие действия:

- Деблокирует дискретные выходы и сбрасывает флаги защиты, сигнализирующие о наличии короткого замыкания на выходе, если таковое имеются.

- Если взведен флаг установки часов, производит установку текущих даты и времени.

- Пересылает значение веса в кодах АЦП в параметр веса.

- Если флаг фильтрации взведен, пересылает фильтрованное значение веса в параметр брутто. Иначе пересылает в него параметр веса.

- Проверяет регистры флагов тарирования, юстирования и если они не равны нулю, вызывает соответствующую процедуру тарирования, юстирования.

- Рассчитывает статический и динамический вес нетто в кодах АЦП и масштабирует их в реальные единицы веса.

- Проверяет наличие массы на весовом столе и выдает дискетный сигнал «конвейер пустой» при ее отсутствии.

- Рассчитывает скорость конвейера, выражаемую в миллиметрах за секунду, его производительность в граммах за час, количества материала пошедшего по конвейеру за одну секунду в граммах.

Причиной вызывающей необходимость расчета в этих единицах измерения является выполнение математических операций в целочисленном формате, а также необходимость выполнения расчетов с точностью не более 0,001 %. Для получения этой точности разработаны функции математических операций использующих в качестве входных и выходных значений параметры в 32-х разрядном двоичном формате.

- Масштабирует производительность конвейера в коды ЦАП и пересылает их модулю аналогового вывода. Аналоговый сигнал с модуля подается на самопишущий прибор, регистрирующий производительность конвейера в тоннах за час.

- Если ручной счетчик не запущен и если значение времени счета больше ноля, взводит флаг запуска ручного счетчика, обнуляет ручной счетчик, рассчитывает число необходимых измерений.

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

- Если на экран панели оператора вызвана страница настройки весов, блокируется работа счетчика материала, технологического счетчика, импульсного счетчика.

- Иначе производится увеличение счетчика материала, технологического счетчика, импульсного счетчика на количество материала прошедшего по конвейеру за одну секунду. Если таймер импульсов равен нолю и если содержимое импульсного счетчика больше 10 килограмм, из импульсно счетчика вычитается 10 килограмм и перезапускается таймер импульсов.

- Если таймер импульса больше 0,1 секунды, включается дискретный выход импульсов. Иначе дискретный выход выключается.

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

- Иначе сбрасывается флаг часа.

- Если часы встроенных часов равны 8 и если флаг смены 1 равен нолю, значение счетчика материала за смену пересылается в регистр количества материала за предыдущую смену, обнуляется счетчик материала за смену, взводится флаг смены 1.

- Иначе сбрасывается флаг смены 1.

- Если часы встроенных часов равны 20 и если флаг смены 2 равен нолю, значение счетчика материала за смену пересылается в регистр количества материала за предыдущую смену, значение счетчика материала за сутки пересылается в регистр количества материала за предыдущие сутки, обнуляется счетчик материала за смену, обнуляется счетчик материала за сутки, взводится флаг смены 2.

- Иначе сбрасывается флаг смены 2.

- Вызов процедуры обработки счетчика за месяц если:

- месяц равен 1, а число 31

- месяц равен 2, а число 29 в високосный год или 28 в остальные