Программная реализация систем управления 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Программная реализация систем управления



Виды программного обеспечения

При решении задач реализации (построения) СУ обычно используются специализированные программные пакеты, которые достаточно условно можно разбить на подмножества:

CASE –средства (Computer Aided Software Engineering), предназначенные для программирования задач, реализуемых подсистемами нижнего уровня АСУТП на промышленных микроконтроллерах (ремиконтах);

ОСРВ - операционные системы реального времени: pSOS, VRTX, LynxOS, VxWorks, QNX, OS9 и др. [28, 29];

SCADA –системы (Supervisory Control And Data Acquisition), которые предназначены для автоматизированного конфигурирования АСУТП из таких элементов, как микроконтроллеры, компьютеры, технологические станции и т. д. и программирования задач, отнесённых к SCADA – уровню;

ПТК - программно-технические комплексы:

· Spectrum (Foxboro, США);

· Intelligent Automation Series (Foxboro, США);

· Centum, Yew Series (Yokogawa, Япония);

· СКАТ (Россия);

ЭСРВ - экспертные систем реального времени, к числу которых относятся:

· G2 (фирма Gensym);

· RTWorks (Talarian, США);

· COMDALE/C (Comdale Tech., Канада);

· COGSYS (SC, США);

· ILOG Rules (ILOG, Франция);

СУБД – системы управления базами данных.

MRP -системы (MRP – Material Requirements Planning) - автоматизированное планирование потребности в сырье и материалах для производства;

MRP II (Manufacturing Resource Planning) – планирование ресурсов предприятия;

ERP -системы (ERP - Enterprise Resource Planning – планирование/управление ресурсами предприятия с точки зрения бизнеса);

EAM -системы (EAM - Enterprise Asset Management - управление основными фондами и имуществом).

Логика развития АСУТП в нефтегазовой промышленности диктует необходимость интеграции разработок специализированных аппаратно-программых средств, в дальнейшем встроенных систем, применяемых для обработки информации, контроля и управления рассредоточенными по территории объектами.

 

SCADA-системы

Средний уровень (уровень управления по показателям качества продуктов и эффективности производства) может быть реализован с использованием SCADA-систем отечественных и зарубежных производителей, например [29 – 34]:

· Trace Mode (AdAstra, Россия);

· GENIE (Advantech, Тайвань);

· Genesys (Iconics, США);

· Real Flex (BJ, США);

· FIX (Intellution, США);

· Factory Suite, InTouch (Wanderware, США);

· Citect (CiTechnologies, США) и др.

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

К SCADA-системам предъявляются особые требования [30, 35]:

- соответствие нормативам "реального времени" (в т.ч. и "жесткого реального времени");

- способность адаптироваться как к изменениям параметров среды в темпе с этими изменениями, так и к условиям работы информационно-управляющего комплекса;

- способность работать в течение всего гарантийного срока без обслуживания (бесперебойная работа годами);

- установка в отдаленных и труднодоступных местах (как географически - малообжитые районы, так и технологически - колодцы, эстакады).

Основные возможности SCАDA-систем:

- сбор первичной информации от устройств нижнего уровня;

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

- визуализация процессов;

- реализация алгоритмов управления, математических и логических вычислений (имеются встроенные языки программирования типа VBasic, Pascal, C и др.), передача управляющих воздействий на объект;

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

- сетевые функции (LAN, SQL);

- защита от несанкционированного доступа в систему;

- обмен информацией с другими программами (например, Outlook, Word и др. через DDE, OLE и т.д.).

Понятие открытости ПО

Открытость: аппаратная и программная [27, 30].

Аппаратная открытость – поддержка или возможность работы с оборудованием сторонних производителей.

Современная SCADA не ограничивает выбора аппаратуры нижнего уровня, т.к. предоставляет большой выбор драйверов или серверов ввода-вывода.

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

Для подсоединения драйверов ввода-вывода к SCADA используются два механизма:

- стандартный динамический обмен данными (DDE – Dynamic Data Exchange и др.),

- по внутреннему протоколу, известному только фирме-разработчику.

В большинстве SCADA используется DDE, однако из-за ограничений по производительности и надежности он не совсем пригоден для реального времени. Взамен него Microsoft предложила более эффективное средство: OLE (Object Linking and Embeddung – включение и встраивание объектов).

 
 

 

 


Рисунок 3.5

 

На базе OLE появился новый стандарт OPC (OLE for Process Control), ориентированный на рынок промышленной автоматизации. Новый стандарт позволяет, во-первых, объединять на уровне объектов различные системы управления и контроля, во-вторых, устраняет необходимость использования различного нестандартного оборудования и соответствующих коммуникационных программных драйверов [30].

Варианты обмена SCADA-систем с приложениями и физическими устройствами через ОРС приведены на рисунке 3.5.

 

Типичная последовательность действий при программировании SCADA-системы:

1) Формирование статического изображения рабочего окна: фон, заголовки, мнемосхема процесса и т.д.

2) Формирование динамических объектов каждого окна. Как правило, динамические объекты создаются с помощью специализированного графического редактора самого SCADA-пакета по жестко заданному алгоритму или на основе набора библиотечных элементов с последующим присвоением параметров (например, рукоятка на экране).

3) Описание алгоритмов отображения, управления, архивирования, документирования. Для этого имеются соответствующие встроенные языки программирования.

Для программирования контроллеров и SCADA-систем стандартизированы 5 языков программирования (IEC 1131-3) [34, 36 – 39]:

- SFC – Sequential Function Diagrams – последовательности функций, блок-схемы;

- FBD – Functional Block Diagrams - язык функциональных блоков;

- LD – Ledder Diagrams – язык релейных схем;

- ST – Structured Text – язык, похожий на Pascal;

- IL – Instruction List – язык мнемоник, ассемблер.

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

 

Язык FBD

Является графическим языком функциональных блоков (ФБ). Программа для контроллера представляется в виде набора функциональных блоков, соединенных дугами, имитирующими входные, выходные и промежуточные переменные (рисунок 3.6).

В качестве входов могут быть любые константы и переменные. Входы конфигурируются (соединяются) с выходами и должны совпадать с ними по типу.

Стандартная библиотека ФБ:

- присваивание переменных,

- логические операции (AND, OR, NOT, XOR и т.д.),

- арифметические действия,

- сравнение,

- операции преобразования форматов,

- доступ к системным параметрам (сброс счетчика, изменение параметров таймера и др.),

- тригонометрические функции,

- алгоритмы управления (реле, ПИД-закон) и др.

Пример реализации логической функции y = (x1 AND NOT x2) OR x3 изображен на рисунке 3.7.

 
 

 

 


Рисунок 3.6

 

 
 

 


Рисунок 3.7

 

Язык LD

Является языком релейных схем, стандартным графическим вариантом класса языков релейно-контактных схем.

Логические выражения описываются в виде реле. Ввиду своих ограниченных возможностей язык дополнен таймерами, счетчиками и т.д.

 
 

 


Рисунок 3.8

 

Язык SFC

Относится также к графическим языкам программирования и используется для описания алгоритмов в виде функциональных карт [20]. Язык был разработан в конце 1970-х годов во Франции и позже стал основой для разработки международного стандарта IEC 848 «Подготовка функциональных карт для управляющих систем».

Функциональные карты описывают управляющие последовательности с помощью заранее определенных правил для управляющих действий, которые необходимо произвести в определенной последовательности, а также деталей исполнения каждого шага. Карты состоят из наборов связанных пар «шаг – условие выполнения шага». Переход представляет собой набор операций над переменными. Переход – набор логических условных выражений, определяющий передачу управления следующей паре «шаг – переход». Шаги и переходы обязательно чередуются.

Функциональная карта разделена на две части:

1) порядковая часть (sequence part) – описывает последовательность главных управляющих шагов (левая сторона), но не содержит исполняемых действий;

2) управляющая часть (control part) – описывает исполняемые действия (блоки справа от шагов).

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

 
 

 


Рисунок 3.9

 

Порядковая часть функциональной карты в соответствии со стандартом IEC 848 состоит из столбца пронумерованных блоков, изображающих одиночные шаги. Вертикальная линия, соединяющая каждый блок с последующим, изображает активные соединения (прямые связи). Каждый переход от шага к шагу связан с логическим условием, называемым условием перехода (transition condition). Булево выражение для условия перехода записано рядом с горизонтальной чертой. Если условие удовлетворено, т.е. соответствующее выражение истинно, происходит переход и система выполняет следующий шаг.

 

Язык ST

Текстовый язык высокого уровня, по синтаксису ориентированный на Pascal. Язык предоставляет булевы и арифметические операторы, а также конструкции структурного программирования:

IF … THEN … ELSE

CASE …

WHILE … DO

REPEAT … UNTIL

и т.д.

Пример:

VAR X1, X2, X3, Y: END VAR

IF X1=TRUE THEN X2:=FALSE: END IF:

IF X3=TRUE THEN X2:=FALSE ELSE X2:=TRUE: END IF:

Y:=(X1 AND NOT X2) OR X3

END FUNCTION BLOCK

 

Язык IL

Текстовый язык низкого уровня. Выглядит как язык Ассемблера, но к архитектуре конкретного процессора не привязан.

 

Языки IEC 1131-3 содержат богатый набор стандартных функций:

- булевские;

- числовые (ADD, SUB, MOD, ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN и т.д.);

- преобразования типов;

- сравнения (INSERT, DELETE, REPLACE, FIND и другие);

- а также функции, определяемые производителем и пользователем.

Функциональные блоки:

- синхронизации состояний;

- дифференцирование переднего и заднего фронтов (R.TRIG, F.TRIG);

- счетчики (TP, TON, TOF, RTC);

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

Типы данных:

- битовые строки (BOOL, TYPE, WORD, DWORD, LWORD);

- целые (INT, SINT, DINT, LINT);

- беззнаковые целые (USINT, IDINT …);

- вещественные (REAL, LREAL);

- временные (TIME, DATE, TIME OF DAY, DATE OF TIME);

- строки символов (STRING).

Имеется возможность задавать также массивы, структуры и т.д.

Одна и та же программа для PLC может быть написана на разных языках, а также на смеси языков. Например, одни функциональные блоки на FBD описываются с помощью LD, другие – на ST, FBD и т.д.

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

Этот набор позволяет тестировать алгоритм в режиме эмуляции и получать листинг алгоритма на языке его описания.

После создания и отладки пользовательская программа загружается в память PLC для исполнения. В PLC ядро-интерпретатор транслирует пользовательский алгоритм.

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

 

Работа с СУБД

Принципы работы баз данных

База данных (БД) – информация, связанная между собой по определенному признаку, хранимая и организованная особым образом, как правило, в виде таблиц.

Пример таблицы БД приведен на рисунке 3.10.

 

Номер замера Скважина Дата Время Дебит
02.07.2003 … 19:50:20 …

 

 

Рисунок 3.10

 

Функции БД:

- добавление новой информации;

- добавление новых таблиц;

- изменение информации в существующих таблицах;

- поиск информации;

- удаление информации;

- удаление таблиц.

Существует большое количество программ, которые предназначены для программной поддержки БД и образуют класс систем управления БД (СУБД).

СУБД выполняет функции:

- управление данными непосредственно в БД, находящейся на сервере;

- управление данными, находящимися в памяти компьютера – функция, связанная с тем, что СУБД работают с БД большого размера; в целях ускорения работы СУБД используется буферизация данных в памяти каждого компьютера;

- управление транзакциями – функция, которая производит ряд операций над БД как над единым целым. Транзакция – манипуляция над данными (добавление, изменение, удаление, запрос). Если транзакция успешно выполняется, то СУБД вносит соответствующие изменения в БД, в противном случае БД не изменяется;

- управление изменениями и протоколирование – функция, связанная с надежностью хранения данных, т.е. возможностью СУБД восстанавливать состояние БД в аварийных ситуациях, например, при выключении питания, сбое носителя информации и т.д.; для восстановления используется журнал транзакций и архивная копия БД;

- поддержка языков БД – для работы с БД используются специальные языки, наиболее распространенным из которых является SQL.

 

 
 

 

 


Рисунок 3.11

 

Для работы с БД, как правило, используется архитектура «клиент - сервер» [41]. Основу СУБД составляет сервер БД – программа, осуществляющая комплекс действий по управлению данными. В качестве клиента БД может выступать другая программа, работающая на том же компьютере, что и сервер, либо на другом, связанном с компьютером-сервером посредством сети. Таким образом, данная архитектура включает, как минимум, три компонента:

- сервер БД, который, собственно, и является СУБД;

- клиенты БД – программы или компьютеры с соответствующими программами, выполняющие запросы к серверу;

- сеть или коммуникационное программное обеспечение (рисунок 3.11).

В принципе, и клиентская, и серверная части СУБД могут находиться на одном компьютере, но, в большинстве случаев, на предприятиях программа-сервер запускается на одном компьютере (сервере), а программа-клиент – на рабочих компьютерах.

На практике наибольшее распространение получили т.н. реляционные БД, представляющие собой набор таблиц, связанных отношениями. При этом в каждой таблице имеется одно или несколько полей, называемых первичными ключами и однозначно определяющих конкретную запись в таблице. Зная значение первичного ключа, всегда можно определить конкретную запись в таблице и, следовательно, значения остальных полей записи. Например, первичными ключами могут служить номер технологического объекта (уникальный), табельный номер оператора, номер паспорта работника и т.д. Фамилия работника, тип установки и т.д. первичными ключами являться не могут, т.к., например, на предприятии могут работать несколько работников с одинаковыми фамилиями или функционировать несколько однотипных установок. Т.е. первичный ключ должен быть уникальным и, по возможности, целочисленным. Первичный ключ может состоять из нескольких полей (составной первичный ключ).

Связи между таблицами осуществляются посредством первичных ключей. На рисунке 3.12 приведен пример БД, состоящей из трех таблиц («Технологические объекты», «Датчики» и «Измерения»). Обозначены поля: N_об – номер технологического объекта, N_дтч – номер датчика.

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

 



Поделиться:


Последнее изменение этой страницы: 2016-04-07; просмотров: 337; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.216.163 (0.275 с.)