Промышленные контроллеры. Сравнительный анализ протоколов fieldbus применительно к промышленным приборам. Специализированные контроллеры TeleSAFE, объединяющие алгоритмы управления и сбор данных в системе телеметрии, страница 28


j управления с использованием ПК, явля-j ются автоматическое управление про-! цессами и сбор данных в "мягком реаль­ном времени" без участия человека, а также диспетчерский контроль и управ­ление. Под мягким реальным временем в данном случае понимается периодич­ность контроля порядка долей секунды. Управление в жестком реальном време­ни с периодом до миллисекунд и быст­рее должно осуществляться с помощью аппаратных средств. Участие оператора в процессе управления предполагает, что допустимы достаточно длительные за­держки (порядка секунды и больше).

В настоящей статье представлены архитектура и структура программ фирмы Intellution, являющейся ведущим разработчиком пакетов человеко-машин­ного интерфейса для IBM-совместимых компьютеров на платформах Win-\ dows 3.11, Windows'95 и Windows NT фирмы Microsoft. Эти программы имеют общее фирменное название Fully Integ­rated Control System (FIX).

База данных реального времени

К основным системам автоматичес­кого управления, реализующим кон­троль и управление процессом без вме­шательства человека, относятся подсис­темы связи с объектом и база данных реального времени.

Связь с объектом поддерживается с помощью драйверов ввода/вывода. Драйвер определяется типом контролле­ра и протоколами, по которым этот контроллер связывается с компьютером. Связь может осуществляться через резидентную карту, последовательный порт или сетевой адаптер. Протокол связи выбирается фирмой-изготовителем и привязан к программируемому кон­троллеру. Он может содержать ряд оперативно настраиваемых параметров, таких как длина пакета сообщения, наличие стоп-битов, контроль четности, структура адреса данных, дисциплина опроса, резервные каналы и др. У драй­веров фирмы Intellution эти параметры настраиваются через пользовательский интерфейс и могут быть оперативно


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

Для комплекса FIX имеется более 200 драйверов, написанных фирмой Intellution и другими фирмами. Для открытых протоколов возможно написа­ние собственных драйверов на языке C++с помощью специального пакета по разработке Driver Toolkit.

Обмен информацией с драйвером ввода/вывода осуществляется через специальную область оперативной памяти, которая называется Driver Image Table (DIT) - таблица образов драйвера.

Эта область является окном в про­цесс для системы FIX и сканируется независимо от опроса контроллеров. Из DIT информация направляется в базу данных реального времени FIX. Благо­даря этой схеме сканирование контрол­леров и базы данных может конфигури­роваться независимо, что повышает гибкость системы и позволяет распреде­лить нагрузку на систему реального времени. Например, если протокол связи с контроллером не поддерживает опрос по изменениям, то этот экономичный режим все-таки можно использовать на следующем уровне при пересылке ин­формации в базу данных, и обратно.

Информация из таблицы образов драйвера сканируется программой и передается в базу данных реального времени, состоящую из ряда функцио­нальных блоков, которые осуществляют первичную обработку, преобразование и контроль параметров. Блоки объеди­няются в цепочки, реализуя сложные алгоритмы контроля и управления. В одну цепочку можно включить до 30 блоков.

Блоки подразделяются на первичные и вторичные. Первичные блоки могут получать информацию из таблицы образов драйвера и генерировать сигна­лы тревоги. Обычно эти блоки связыва­ются с параметрами объекта. К первич­ным относятся блоки аналоговой трево­ги, аналогового и дискретного регис­тров, аналоговых и дискретных входов и выходов, множественного дискретно­го входа. Вторичные блоки преобразуют информацию по требуемым правилам. Обычно они соединены в цепочки и получают данные из предыдущих бло­ков (первичных или вторичных). Пер­вым блоком в цепочке вторичные блоки выступать не могут. Ко вторичным относятся блоки вычислений, событий, коммутации и выбора сигнала, а также таймер, сумматор, блок тренда и др.