СУХТП лекции. Курс лекций Разработчик Афонин Ю. Д. Екатеринбург, 2007 2 Содержание
Скачать 2.79 Mb.
|
Шина данных Линии данных ЛД0-ЛД7 DI01-DI08 8 1,3,5,7, 2,4,6,8 - Шина синхронизации Сопровождение данных СД DAV 1 11 12 Готов к приему ГП NRFD 1 13 14 Данные приняты ДП NDAC 1 15 16 Шина управления Управление УП ATN 1 21 22 Конец передачи или идентификация КП EOI 1 9 - Запрос на обслуживание ЗО SRQ 1 19 20 Очистить интерфейс ОИ IFC 1 17 18 Дистанционное управление ДУ REN 1 10 - Логическое заземление 24 Экран 23 Схема подключения и структура магистрали КОП представлена на рис. 5.17. Рассмотрим назначение шин и сигналов магистрали. Шина данных – предназначена для передачи информации: адресов функциональных устройств, адресованных и не адресованных многолинейных универсальных команд, цифровых данных, данных о состоянии. Расположение разрядов байта соответствует номеру линии шины. 101 А В С Шина данных (8 линий) Шина синхронизации (3 линии) Шина управления (5 линий) ЛД0-ЛД7 СД ГП ДП ОИ УП ЗО ДУ КП А - устройство, способное передавать, принимать и управлять. В, С - устройства, способные передавать и принимать. До 15 шт. Рисунок 5.17 - Схема подключения и структура магистрали КОП Шина синхронизации – используется для передачи по трем линиям сигналов согласования, необходимых для обмена информацией. 1. СД (DAV) – сопровождение данных. Низкий уровень на этой линии указывает, что информация на линиях данных доступна для считывания. Этот сигнал переводится в низкое состояние передающим устройством. 2. ГП (NRFD) – готов к приему. Устройства - приемники используют эту линию для сигнализации о своей готовности к приему. Когда все устройства переходят в состояние готовности, они переводят эту линию в высокое состоян6ие. Устройства не адресованные на 102 прием должны постоянно поддерживать высокое состояние линии ГП. 3. ДП (NDAC) – данные приняты. Устройства – приемники используют эту линию для сигнализации устройству – передатчику о том, что данные успешно считаны. Когда устройство примет данные, оно переводит линию в высокое состояние. Шина управления – содержит пять линий, по которым действуют управляющие сигналы при обмене информацией. 1. УП (ATN) – управление. Этот сигнал используется контроллером, управляющим шиной, для оповещения о том, что происходит передача команды или адреса. Низкий уровень на этой линии означает, что передаваемый в данный момент от контроллера байт является командой или адресом. 2. ОИ (IFC) – очистить интерфейс. Через эту линию контроллер приводит в исходное состояние все подключенные к шине устройства. Когда сигнал на ней переходит в низкое состояние, прекращается вся работа КОП и все устройства освобождают себя от адресов и переходят в состояние холостого хода. 3. ЗО (SRQ) – запрос на обслуживание. Линию ЗО подключенные к шине устройства используют для того, чтобы передать на контроллер сигнал о том, что они нуждаются в обслуживании. Обнаружив низкий логический уровень на линии ЗО, устройство – контроллер должно опросить все подключенные к шине устройства, чтобы установить, какое их них нуждается в обслуживании. 4. ДУ (REN) – дистанционное управление. Сигнал на эту линию выдается контроллером шины для того, чтобы разрешить всем устройствам на шине принимать программы их работы. Если на линии ДУ низкий логический уровень, это означает, что все подключенные устройства могут управляться через шину КОП. 103 5. КП (EOI) – конец передачи (идентификация). Этот сигнал используется для двух целей. Во – первых, любое из устройств – передатчиков может передать сигнал КП (установить на этой линии низкий логической уровень), чтобы просигнализировать об окончании передачи данных. Во – вторых, с помощью данного сигнала контроллер шины организует параллельный опрос. В последнем случае сигнал КП передается одновременно с сигналом УП, в ответ на что все устройства, настроенные на параллельный опрос, должны выставить на шине данных свои биты состояния. Информация передается по магистрали КОП байт за байтом и координируется при помощи трех сигналов СД, ГП, ДП. Это дает гарантию того, что байт будет подан на шину только при условии, что все устройства – приемники готовы считать его, что считывание не будет начато ранее, чем байт будет действительно подан, и что байт будет оставаться на шине, пока его успешно не примут все устройства – приемники. Перед любым обменом данными через шину контроллер шины должен указать, какие устройства будут источниками, а какие – приемниками. Для реализации этих функций используются адреса и команды, передаваемые контроллером через шину при низком состоянии линии УП. Адреса приемников строятся как 32+N (20h+N), источников как 64+N (40h+N), где N – номер устройства, задаваемый DIP-переключателями на панели устройства. Временная диаграмма сигналов при передаче байта данных приведена на рис. 5.18. Рассмотрим более подробно эту диаграмму: • Исходное состояние устройств: на линии СД установлен высокий уровень сигнала (т.е. данные на шине ЛД не достоверны), а на линиях ГП и ДП низкий (т.е. ни один из приемников не готов к приему информации и не принял ее). 104 ЛД0-ЛД7 СД ГП ДП Данные не верны верны готов не готов приняты не приняты Рисунок 5.18 – Временная диаграмма сигналов синхронизации. • Источник проверяет начальное состояние приемника, если исходное состояние правильное, то он выставляет на шине ЛД байт данных и ожидает поступления сигнала ГП, если же не верно, то сигнализирует о наличии ошибки. • Приемники указывают на готовность принять данные, меняя уровень на линии ГП с низкого на высокий. • Под действием высокого потенциала на линии ГП источник понижает уровень сигнала СД. Это означает, что все данные выставлены и верны, т.е. пригодны к приему. • Приемник в ответ на изменение сигнала СД снимает сигнал ГП, указывая, что состояние готовности к приему сменяется на прием данных. Вслед за этим осуществляется прием выставленного на шине ЛД байта информации. • Приняв байт данных, приемник изменяет уровень на линии ДП с низкого на высокий, указывая, что данные приняты. • В ответ на повышение уровня на линии ДП источник изменяет уровень согнала СД с низкого на высокий. • Приемник под действием высокого уровня сигнала на линии СД меняет уровень на линии ДП на низкий, подготавливаясь к следующему циклу обмена. 105 Алгоритмическая схема работы приемника и источника, реализующая рассмотренную выше временную диаграмму при передаче байта, приведена на рис. 5.19. Как правило, стандартные компьютеры не оснащаются интерфейсом КОП. Для этого выпускаются платы расширения, которые устанавливаются в слоты шины ISA или PCI. Схемотехника таких плат различна, но в основном они строятся на базе одного или двух программируемых параллельных интерфейсов КР580ВВ55А. Обобщенная структурная схема такой платы приведена на рис. 5.20. Здесь необходимо учесть, что перед началом работы нужно запрограммировать ППИ1 и ППИ2. Как видно из рис. 5.20, в ППИ1 каналы А и В работают на ввод, канал С на вывод, в ППИ2 канал В на ввод, каналы А и С на вывод. Оба программируемых параллельных интерфейса работают в основном режиме (режиме 0). Внешние сигналы интерфейса инверсны относительно сигналов на шине ISA. 106 Работа «источника» Работа «приемника» Старт Установка СД в «высокое» Поместить данные на ЛД0-ЛД7 ГП и ДП «высокое» ? ГП «высокое» ? Установить СД в «низкое» ДП «высокое» ? Установить СД в «высокое» Данные еще нужны ? Конец Да Да Да Да Нет Нет Нет Нет Состояние ошибки Старт Установить ДП и ГП в «низкое» Готов к приему ? Установить ГП в «высокое» СД «низкое» ? Установить ГП в «низкое» Прием байта данных Установить ДП в «высокое» СД «высокое» ? Установить ДП в «низкое» Да Да Да Нет Нет Нет Ли ни я Г П п ри ни ма ет «в ыс око е» , к огд а все пр ие мн ики го тов ы к пр ие му Данные истинны и могут быть приняты Линия Д П прини мает «вы сокое», когда вс е принял и Данн ые с это го м омен та не долж ны расс матр иват ься как исти нные Рисунок 5.19 – Алгоритмы работы источника и приемника. 107 М а ги ст ра л ь IS A Б уф е рн ы е э л е м ен ты Данные ППИ 1 ППИ 2 ЛД ЛД А В С А В С ЛД0-ЛД7 СД УП ДУ ОИ КП ЗО ГП ДП Б уф е р в во д а/ вы во д а С хе м ы уп р ав л е ни я П П И Рисунок 5.20 – Обобщенная блок-схема интерфейса КОП. 108 6 Системы программного обеспечения операторских станций АСУ ТП (SCADA) 6.1 Понятие о системах SCADA При создании АСУ ТП любой сложности всегда существовала тяжело решаемая проблема, как заставить программистов и технологов понимать друг друга или хотя бы заставить и тех и других общаться на каком-либо «эсперанто» типа блок-схем. К сожалению, практика показывает почти полную невозможность добиться от «главного специалиста по...» хотя бы словесного описания алгоритма, и успешнее всего работы по созданию АСУ ТП идут только там, где программисты вникают во все тонкости конкретного технологического процесса. Но, как известно, нельзя «объять необъятное» технологий много, а желающих становиться школяром в начале каждого нового проекта автоматизации даже среди склонных к обучению программистов мало. Отношение же рядового технолога к программированию каждый может проверить сам, в зависимости от уверенности в собственной неуязвимости. Про язык Васик он, конечно, читал что то в «Науке и жизни» за 1988 год, но в общем, не царское это дело. Надоело программистам разбираться с задвижками, клапанами, моторами и начали они изобретать всяческие языки функциональных блоков, лестничных диаграмм, специализированных графических редакторов с элементами динамики или, иными словами, методов «программирования без программирования», доступных для понимания простому инженеру-технологу. В результате этой деятельности появились программные пакеты для создания интерфейса человек-машина (Man Machine Interface, MMI) и программного обеспечения операторских станций АСУ ТП (Supervisor Control And Data Acquisition, SCADA). Дело в том, что задачи, стоящие перед создателями верхнего уровня АСУ ТП, имеют много общего во всех областях деятельности и легко поддаются унификации. Что, как правило, нужно реализовать программисту при создании программы для рабочего места оператора АСУ ТП. Это типичный набор функций, которые повторяются во всех проектах автоматизации 109 ✓ органы управления различных типов, например кнопки, рубильники, ползунковые или поворотные регуляторы, ✓ экранные формы отображения параметров процесса типа стрелочных, полосковых или цифровых индикаторов, а также сигнализирующие табло различной формы и содержания, ✓ возможность создания архивов аварий, событий и поведения переменных процесса во времени (так называемые тренды), а также полное или выборочное сохранение параметров процесса через заданные промежутки времени постоянно или по условию, ✓ упрощенный язык для реализации алгоритмов управления, математических и логических вычислений, ✓ средства документирования как самого алгоритма, так и технологического процесса, ✓ ядро или монитор реального времени, который обеспечивает детерминизм поведения системы или, иными словами, предсказуемое время отклика на внешние события, ✓ драйверы к оборудованию нижнего уровня АСУ ТП, ✓ сетевые функции, ✓ средства защиты от несанкционированного доступа в систему, ✓ многооконный графический интерфейс и другие очевидные функции, такие как импорт изображений и создание собственных библиотек алгоритмов, динамических объектов, элементов мнемосхем и т.п. Ничего себе списочек, да это запрограммировать - полжизни уйдет, а вторая половина - на отладку - скажут те, кто начал программировать в последние пятьдесять лет - и с точностью до полжизни будут правы. Где же выход, и есть ли он. Конечно есть. Нужно всего лишь выбрать подходящий пакет ПО для АСУ ТП. Прежде чем рассматривать конкретные реализации пакетов АСУ ТП (SCADA, MMI), давайте на простом примере разберемся, как в них происходит программирование. Поскольку все пакеты SCADA в общих чертах похожи друг 110 на друга, не будем связывать пример ни с одним из них конкретно. Предположим, что нам нужно создать экран операторской станции, который состоит из следующих элементов • кнопка «Старт», • полосковый индикатор состояния аналогового входа «Температура», • табло «Авария» Типичная последовательность действий, которые нам нужно будет выполнить, примерно следующая: 1. формирование статического изображения рабочего окна. Это может быть фон, заголовки, мнемосхема техпроцесса и т. п. Для создания статического изображения, как правило, используются внешние графические редакторы, например Paint Brush, а готовое изображение затем импортируется в пакет SCADA. Хотя некоторые пакеты имеют собственные средства рисования, все они содержат и средства импорта изображений в форматах типа BMP или WMF. 2. Формирование динамических объектов (ДО) рабочего окна. Как правило, динамические объекты создаются при помощи специализированного графического редактора самого пакета SCADA по жестко заданному алгоритму или на основе набора библиотечных элементов с последующим присвоением параметров. В частности, для изображения полоскового индикатора нам нужно будет в простейшем случае изобразить прямоугольники, соответствующие начальному и конечному значению параметра, и задать эти значения. На этом же шаге ДО присваивается логическое имя, под которым он будет фигурировать в алгоритме управления. Одновременно путем ответов на вопросы меню или при заполнении соответствующего формуляра задается привязка логического имени ДО к конкретному каналу ввода/вывода. В конце этого шага мы имеем набор необходимых нам ДО, соответствующим образом размещенных на фоне статического изображения и базу каналов ввода/вывода. Единственное, что остается сделать для получения работающей программы операторской станции, - описать взаимосвязи между логическими именами ДО 111 и алгоритм функционирования системы. 3. Описание алгоритма отображения и управления. Этот шаг выполняется в разных SCADA системах по-разному, хотя общие черты остаются. В простейшем случае при помощи обычного текстового редактора на языке типа BASIC записываются логические и математические формулы с использованием логических имен ДО. Например, если при превышении значения 90 параметра «Температура» нам нужно включить табло «Авария», то делается запись: IF ТЕМПЕРАТУРА > 90 THEN АВАРИЯ=1 ELSE АВАРИЯ=0 В более сложных пакетах алгоритм может описываться при помощи языка функциональных блоков (ФБ). Причем исходные наборы ФБ включают в себя все, что душе угодно: от простых фильтров и математических функций до PID-регуляторов. Как правило, в таких системах предусматривается возможность создания собственных ФБ, содержащих тексты программ или формул на встроенном языке высокого уровня. На этом шаге процесс «программирования» заканчивается. Все, что нам остается сделать, - запустить полученную стратегию под управлением следующей неотъемлемой части всех пакетов SCADA - программы-монитора, или, как ее часто называют, Runtime. Достаточно просто, не правда ли? И, вы обратили внимание, знание языка С нам не потребовалось. 6 .2 Пакет Genie Производитель Genie — американское отделение фирмы Advantech, известной как производитель компьютеров и электроники для промышленной автоматизации. Пакет Genie предназначен для программной поддержки аппаратуры фирмы Advantech и в первую очередь содержит драйверы именно для нее. Хотя никто не запрещает использовать его и с оборудованием других изготовителей, значительная часть «Руководства пользователя» посвящена процедуре написания собственных DLL-драйверов, обслуживающих «нестандартные» устройства ввода/вывода. Одна из главных отличительных черт этого пакета - прекрасно продуманный интерфейс пользователя. 112 Намеренно сократив число «степеней свободы» в инструментальной части пакета и написав прекрасный Help, авторы создали уникальный по простоте освоения программный продукт. В лучшем случае через несколько часов знакомства с пакетом вы уже сможете написать что-нибудь работающее. В худшем стоит задуматься о смене профессиональной ориентации. GeniDAQ -программное обеспечение для построения систем сбора, анализа, визуализации данных и управления, работающее под управлением операционных систем Windows 95/98/NT. Наличие специальной оболочки для построения пользовательских приложений значительно сокращает время их разработки и максимально облегчает этот процесс. При этом нет необходимости написания программного кода, и весь процесс разработки сводится к "рисованию" системы на графическом экране с последующей привязкой к физическим каналам ввода-вывода. Для построения комплексных систем и организации сложных алгоритмов обработки данных имеется возможность использования программ на Visual Basic. Открытая архитектура GeniDAQ позволяет легко интегрировать его с другими приложениями через механизмы OLE, DDE, ODBC. GeniDAQ обеспечивает легкий для освоения человеко-машинный интерфейс и предоставляет объектно-ориентированную графику. В этой системе имеется возможность записи исторических трендов и генерации отчетов по требуемой форме. Она также предоставляет возможность встраивания программ на Visual Basic, реализации многозадачного режима работы. Наряду с этим данная система подготовки программных продуктов обеспечивает поддержку механизмов DDE, OLE, ODBC и технологии ОРС, а также легкую интеграцию с системами программирования МЭК 61131, в том числе с UltraLogik. GeniDAQ имеет ряд ключевых отличий от разработанного ранее широко известного программного продукта аналогичного назначения Genie, обеспечивающих решение более широкого круга задач на новом уровне. В отличие от предшествующей системы GeniDAQ является 32-разрядным 113 приложением. Она обеспечивает параллельное сканирование задач для повышения эффективности операций ввода-вывода, обновление графической информации на экране и эффективный диалог с оператором, т.е. успешное выполнение критичных по времени задач. Технология ОРС обеспечивает возможность использования в системах на базе GeniDAQ оборудования других производителей. Для этого достаточно иметь соответствующие ОРС-серверы. ОРС (OLE for process control) - стандартный интерфейс для связи между программным обеспечением SCADA и различными контроллерами и устройствами ввода-вывода. ОРС-серверы (драйверы) фирмы Advantech полностью соответствуют спецификации ОРС и позволяют подключать контроллеры ADAM-4000/5000 к широкому кругу MMI/SCADA программ от различных производителей, установленных на хост- компьютере. Любое программное обеспечение, соответствующее спецификации ОРС-пользователя, может получать данные из ОРС-серверов Advantech. Возможность использования протокола TCP/IP обеспечивает работу с данными технологического процесса в реальном времени с любого узла сети, а также дистанционное управление процессом. GENIE позволяет использовать PC как инструмент для графического создания, моделирования, работы по сбору данных и управлению процессами в реальном масштабе времени при помощи задач, где задача определена как совокупность блоков устройств и элементов дисплея, которые связаны друг другом. Каждая задача при выполнении имеет одинаковый период или частоту просмотра. В одно и тоже время может быть использовано любое число Блоков и Устройств I/O, их количество ограничивается только быстродействием вашего компьютера и объемом его памяти. GENIE обеспечивает Вас самым быстрым и эффективным способом решения проблем сбора данных и управления процессами. |