Объектно-ориентированное программирование является более структурным, чем все предыдущие разработки, касающиеся структурного программирования. Оно также является более модульным и более абстрактным, чем предыдущие попытки абстрагирования данных и переноса деталей программирования на внутренний уровень.
Объект – тип данных, который содержит и функцию, обрабатывающую эти данные. В отличие от структурного программирования данные стали динамическими.
Объект - структурированная переменная, содержащая всю информацию о некотором физическом предмете или реализуемом в программе понятии. Класс - описание множества таких объектов и выполняемых над ними действий.
Объектно-ориентированное программирование характеризуется тремя основными свойствами:
1. Инкапсуляция. Инкапсуляция данных означает, что данные являются не глобальными - доступными всей программе, а локальными - доступными только малой ее части. Инкапсуляция автоматически подразумевает защиту данных. Для этого в структуре class используется спецификатор раздела private, содержащий данные и методы, доступные только для самого класса. Если данные и методы содержатся в разделе public, они доступны извне класса. Раздел protected содержит данные и методы, доступные из класса и любого его производного класса. Наличие последних позволяет говорить об иерархии классов, где есть классы - родители - шаблоны для создания классов - потомков. Объекты, полученные из описания класса, называют экземплярами этого класса.
2. Наследование - определение объекта и его дальнейшее использование для построения иерархии порожденных объектов с возможностью для каждого порожденного объекта, относящегося к иерархии, доступа к коду и данным всех порождающих объектов. Наследование можно также сформулировать, как способность одного класса наследовать свойства другого класса. Различают класс-наследник и класс-потомок. Если объект наследует свои свойства от одного родителя, то говорят об одиночном наследовании. Если же объект наследует атрибуты от нескольких базовых классов, то говорят о множественном наследовании. Простой пример наследования - определение структуры, отдельный член которой является ранее определенной структурой.
3. Полиморфизм (использование одной функции для различных типов данных). Присваивание действию одного имени, которое затем совместно используется вниз и вверх по иерархии объектов, причем каждый объект иерархии выполняет это действие способом, именно ему подходящим. Практический смысл полиморфизма заключается в том, что он позволяет посылать общее сообщение о сборе данных любому классу, причем и родительский класс, и классы-потомки ответят на сообщение соответствующим образом, поскольку производные классы содержат дополнительную информацию. Программист может сделать регулярным процесс обработки несовместимых объектов различных типов при наличии у них такого полиморфного метода.
Лекция № 13
SCADA-системы
Концепция SCАDA (Supervisory Control And Data Acquisition – диспетчерское управление и сбор данных) предопределена всем ходом развития систем управления и результатами научно-технического прогресса. Применение SCADA-технологий позволяет достичь высокого уровня автоматизации в решении задач разработки систем управления, сбора, обработки, передачи, хранения и отображения информации.
Дружественность человеко-машинного интерфейса (HMI/MMI), предоставляемого SCADA - системами, полнота и наглядность представляемой на экране информации, доступность "рычагов" управления, удобство пользования подсказками и справочной системой и т. д. - повышает эффективность взаимодействия диспетчера с системой и сводит к нулю его критические ошибки при управлении.
Все современные SCADA-системы включают три основных структурных компонента.
Remote Terminal Unit (RTU) удаленный терминал, осуществляющий обработку задачи (управление) в режиме реального времени. Спектр его воплощений широк от примитивных датчиков, осуществляющих съем информации с объекта, до специализированных многопроцессорных отказоустойчивых вычислительных комплексов, осуществляющих обработку информации и управление в режиме жесткого реального времени. Конкретная его реализация определяется конкретным применением. Использование устройств низкоуровневой обработки информации позволяет снизить требования к пропускной способности каналов связи с центральным диспетчерским пунктом.
Master Terminal Unit (MTU), Master Station (MS) диспетчерский пункт управления (главный терминал); осуществляет обработку данных и управление высокого уровня, как правило, в режиме мягкого (квази-) реального времени; одна из основных функций обеспечение интерфейса между человеком-оператором и системой (HMI, MMI). В зависимости от конкретной системы MTU может быть реализован в самом разнообразном виде от одиночного компьютера с дополнительными устройствами подключения к каналам связи до больших вычислительных систем (мэйнфреймов) и/или объединенных в локальную сеть рабочих станций и серверов. Как правило, и при построении MTU используются различные методы повышения надежности и безопасности работы системы.
Communication System (CS) коммуникационная система (каналы связи), необходима для передачи данных с удаленных точек (объектов, терминалов) на центральный интерфейс оператора-диспетчера и передачи сигналов управления на RTU (или удаленный объект в зависимости от конкретного исполнения системы).
SCADА - это специализированное программное обеспечение, ориентированное на обеспечение интерфейса между диспетчером и системой управления, а также коммуникацию с внешним миром.
Спектр функциональных возможностей определен самой ролью SCADA в системах управления и реализован практически во всех пакетах:
· автоматизированная разработка, дающая возможность создания ПО системы автоматизации без реального программирования;
· средства исполнения прикладных программ;
· сбор первичной информации от устройств нижнего уровня;
· обработка первичной информации;
· регистрация алармов и исторических данных;
· хранение информации с возможностью ее пост-обработки (как правило, реализуется через интерфейсы к наиболее популярным базам данных);
· визуализация информации в виде мнемосхем, графиков и т.п.;
· возможность работы прикладной системы с наборами параметров, рассматриваемых как "единое целое" ("recipe" или "установки").
Области применения SCADA-систем.
Основными областями применения систем диспетчерского управления (по данным зарубежных источников), являются:
· управление передачей и распределением электроэнергии;
· промышленное производство;
· производство электроэнергии
· водозабор, водоочистка и водораспределение;
· добыча, транспортировка и распределение нефти и газа;
· управление космическими объектами;
· управление на транспорте (все виды транспорта: авиа, метро, железнодорожный, автомобильный, водный);
· телекоммуникации;
· военная область.