Вы находитесь на странице: 1из 102

МОСКОВСКИЙ АВТОМОБИЛЬНО-

ДОРОЖНЫЙ ГОСУДАРCТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ (МАДИ)

«Автоматизированные системы управления»

БЕРНЕР Л.И., НИКОЛАЕВ А.Б., ХАДЕЕВ А.С.

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ


Методические указания к лабораторным работам

Свидетельство
о регистрации электронного ресурса

2

УДК 372.8:004.9:681.3
ББК 71.263.2: 32.97
Б51

Бернер Л.И.

Системы реального времени: методические указания к


лабораторным работам / Л.И. Бернер, А.Б. Николаев, А.С. Хадеев. –
Красноярск: Научно-инновационный центр, 2015. – 102 с.

ISBN 978-5-906314-25-3
DOI: 10.12731/asu.madi.ru/RTS.2015.102

Методические указания предназначены для студентов, изучающих


дисциплину «Системы реального времени» по направлениям подготовки
09.03.01 (230100) – Информатика и вычислительная техника, 09.03.02
(230400) – Информационные системы и технологии (на транспорте).
Методические указания содержат материалы, необходимые для
выполнения лабораторных работ и оформления отчётов по лабораторным
работам, а также могут быть полезны при работе над дипломным
проектом или при проведении исследований в магистерской диссертации.

УДК 372.8:004.9:681.3
ББК 71.263.2: 32.97

© Авторы, 2015
© МАДИ, 2015
© Научно-инновационный центр, 2015
3

Введение

Лабораторные работы по дисциплине «Системы реального времени»


дают студенту комплексное представление об основных этапах создания
автоматизированной системы управления технологическими процессами
(АСУТП) на производственном предприятии [1…26].
Лабораторные работы приводятся в такой последовательности,
чтобы постепенно сформировать практические навыки инженерной
работы в области промышленной автоматизации: понимание работы
программного обеспечения и технических устройств комплексов АСУТП
[2].
АСУТП традиционно делятся на два уровня:
 уровень полевого оборудования;
 уровень диспетчерского управления.
На уровне полевого оборудования (на профессиональном жаргоне он
называется «нижним» уровнем) функционируют основные средства
телемеханики и автоматики, такие как датчики, исполнительные
механизмы и программируемые логические контроллеры (ПЛК) [3].
Уровень диспетчерского управления («верхний» уровень)
представлен специализированным программным обеспечением систем
SCADA [4] (Supervisory Control and Data Acquisition – системы
диспетчерского контроля и сбора данных), а также системами поддержки
принятия решений.
Лабораторная работа №1 предназначена для подготовки
«песочницы» - тестово-испытательного полигона для дальнейших
упражнений. В этой лабораторной работе также будут отработаны
навыки инсталляции программного обеспечения для взаимодействия с
ПЛК и SCADA-систем, а также их настройка.
4

Программирование ПЛК с помощью языка релейно-контактных


схем (иными словами, на языке лестничной логики или Ladder Diagrams)
рассмотрено в лабораторной работе №2.
В лабораторной работе №3 рассмотрено применение библиотек
функциональных блоков при программировании ПЛК.
Одним из основных компонентов SCADA-систем является человеко-
машинный интерфейс, т.е. графическое представление работы
технологического процесса, показаний средств измерения и состояния
исполнительных механизмов с возможностью передачи управляющих
воздействий от пользователя. Каждое программное обеспечение обладает
определённой спецификой проектирования графического интерфейса, но
есть и общие принципы. Упражнения для развития навыков работы с
графическим интерфейсом SCADA-систем приведены в лабораторной
работе №4.
Взаимодействие между устройствами полевого оборудования
осуществляется по стандартным интерфейсам, также используются
полевые шины. Взаимодействие систем диспетчерского управления с
полевым оборудованием осуществляется по стандартным протоколам,
таким как OPC и Modbus. Упражнения, предназначенные для
ознакомления с протоколом OPC, приведены в лабораторной работе №5,
а с протоколом Modbus в лабораторной работе №6.
В лабораторной работе №7 практикуется совместная работа SCADA-
системы и ПЛК.
В лабораторной работе №8 проводится практика написания
алгоритмов, работающих в составе SCADA-системы, а также упражнения
на создание шаблонов при разработке базы данных в SCADA-системе.
5

Лабораторная работа №1
Подготовка рабочего места.
Инсталляция программных средств OpenBSI и ClearSCADA

Целью данной работы является:


 знакомство с программным обеспечением Bristol OpenBSI,
обеспечивающим взаимодействие со стендовым ПЛК ControlWave
Micro;
 знакомство с программным обеспечением Schneider Electric
ClearSCADA, предназначенным для организации человеко-
машинного интерфейса в диспетчерском управлении.
Задание. Необходимо инсталлировать на компьютере программное
обеспечение OpenBSI и ClearSCADA, дистрибутивы которого
предоставит преподаватель. После выполнения инсталляции, необходимо
провести настройку программного обеспечения в соответствии с
конкретными задачами, поставленными преподавателем.
Комментарии.
Установку программного обеспечения предполагается выполнить в
виртуальной среде, созданной с помощью Oracle VirtualBox [5].
Программное обеспечение Bristol OpenBSI [6] включает в себя
следующие модули:
 модуль для взаимодействия с ПЛК;
 модули для настройки;
 модуль для выдачи данных по протоколу OPC.
Программное обеспечение систем SCADA и в частности
ClearSCADA [7] состоит из нескольких основных компонент:
 базы данных реального времени (включающей вычисления, расчёт
логических операций и ведение архивов);
 драйверов оборудования и информационных протоколов;
6

 системы тревог;
 человеко-машинного графического интерфейса.

1.1. Инсталляция Oracle VirtualBox


Перед установкой специализированного программного обеспечения,
которое будет рассмотрено далее, необходимо на учебном компьютере
развернуть виртуальную среду - по сути, компьютер в компьютере.
Именно в ней далее и будет производиться инсталляция дополнительного
программного обеспечения. Виртуальная среда называется «гостевой»
машиной, тогда как основной компьютер – «хостовым».
В рамках данного курса предполагается использовать виртуальную
среду VirtualBox компании Oracle. Дистрибутив среды и образ жёсткого
диска с установленной операционной системой предоставит
преподаватель.
1.1.1. Образ диска для VirtualBox следует предварительно скопировать на
жёсткий диск учебного компьютера. Например, в папку
C:\Downloads\SRV\VirtualBox\HDD.
1.1.2. Установка программы VirtualBox выполняется с помощью мастера
установки и не должна представлять трудностей. После
инсталляции следует запустить VirtualBox.
1.1.3. В появившемся окне (Рис. 1) следует нажать кнопку Создать и
далее указать в качестве имени группу обучения (ASU-1, ASU-2 и
т.д.), тип операционной системы - Microsoft Windows, версию -
Windows XP.
7

Рис. 1. Создание виртуальной машины


1.1.4. Для продвижения на следующий шаг мастера нужно нажать кнопку
Вперёд. На следующем шаге мастера нужно указать объём
оперативной памяти, который будет выделен из общего пула
компьютера под виртуальную машину. Рекомендуется указать
размер не меньше 512 Мб.
1.1.5. Далее предлагается указать используемый в виртуальной машине
образ жёсткого диска. Следует выбрать опцию Использовать
существующий виртуальный жёсткий диск (Рис. 2), после чего
нажать на кнопку справа от выпадающего списка с перечнем
доступных образов и найти на жёстком диске компьютера ранее
скопированный туда образ. Пример окна выбора образа показан на
следующем рисунке.
8

Рис. 2. Выбор жёсткого диска

Примечание: если при этом возникнет сообщение вида как на Рис.


3, это означает, что на данном компьютере уже существует виртуальная
среда, в которой используется образ диска с тем же идентификатором.
Идентификатор можно спокойно поменять в любом hex-редакторе. По
адресу 0х197 (на Рис. 4 указано число EA) нужно указать любое отличное
от прежнего значение.

Рис. 3. Ошибка при подключении диска к виртуальной машине


9

Рис. 4. Пример подписи для виртуального жёсткого диска

1.1.6. В свойствах созданной виртуальной машины на вкладке Общие


папки следует добавить папку C:\Downloads (Рис. 5). Если папка
на учебном компьютере ещё не была создана, нужно её создать.

Рис. 5. Подключение общей папки


10

1.1.7. На вкладке Сеть укажите тип подключения Сетевой мост (Рис. 6).

Рис. 6. Задание типа сетевого подключения

1.1.8. Виртуальную машину можно запустить.

1.1.9. Чтобы подключённая общая папка была видна в гостевой машине,


в ней следует запустить проводник и в адресной строке указать
\\vboxsvr (Рис. 7).
11

Рис. 7. Организация доступа к общей папке


Высветившуюся папку Downloads подключите как сетевой диск Z (в
главном меню папки Сервис → Подключить сетевой диск.

1.2. Инсталляция OpenBSI


1.2.1. Для начала установки программного пакета запустите исполняемый
файл мастера установки – OpenBSI.exe (Рис. 8).

Рис. 8. Содержимое папки с установочными файлами


1.2.2. Первый экран мастера (Рис. 9) оповещает о начале работы по
установке и предупреждает, что перед тем, как приступить, следует
удалить предыдущие версии программного обеспечения OpenBSI.
12

Рис. 9. Главный экран мастера установки

1.2.3. На следующем экране предлагается ознакомиться с условиями


лицензионного соглашения и принять их.
1.2.4. Далее необходимо указать папку, в которую будет установлен
программный пакет (Рис. 10). Папка по умолчанию вполне
подходит.
13

Рис. 10. Выбор места установки


1.2.5. Далее предлагается указать какие компоненты программного
обеспечения OpenBSI следует установить (Рис. 11). Для проведения
дальнейших лабораторных работ в их число должны входить:
NetView, ControlWave Designer, BSIConfig, ObjectServer
Database & Client.

Рис. 11. Выбор устанавливаемых компонентов


14

1.2.6. На этом предварительные шаги по настройке закончены и можно


запустить инсталляцию программного пакета (Рис. 12).

Рис. 12. Экран с ходом инсталляции

1.2.7. После окончания инсталляции будет предложено перезагрузить


компьютер. Нужно последовать этому совету.

1.2.8. После загрузки компьютера на экране возникнет сообщение (Рис.


13) о том, что программное обеспечение работает в
демонстрационном режиме (60 дней). Этого вполне достаточно для
выполнения лабораторных работ.

Рис. 13. Сообщение о работе в демонстрационном режиме


15

1.2.9. В списке установленных программ должны появиться две новые


группы: Bristol Babcock Licensing и OpenBSI Tools (Рис. 14).

Рис. 14. Вид списка установленных программ


1.2.10. Запустив программу License Manager из группы Bristol Babcock
Licensing, мы узнаем о количестве дней, оставшихся до истечения
срока действия демонстрационной лицензии (Рис. 15) (на
ознакомление с пакетом даётся 60 дней).
16

Рис. 15. Окно менеджера лицензий


1.2.11. В случае наличия обновлений – «патчей» для программного
обеспечения, их также следует установить. Для этого просто
запускаются инсталляционные файлы, находящиеся в
соответствующих папках (Рис. 16).

Рис. 16. Установка инсталляционных файлов


Мастера обновлений выполнены стандартным образом и не требуют
дополнительных настроек (Рис. 17).
17

Рис. 17. Работа инсталлятора


Возможно, потребуется принять лицензионное соглашение (Рис. 18)
в том случае, если на компьютере не был установлен пакет Microsoft
Visual C++ 2005.
18

Рис. 18. Экран лицензионного соглашения Visual С++ 2005


1.2.12. Попробуйте запустить программу NetView из папки OpenBSI
Tools и если запуск прошёл нормально (предупреждение о демо-
режиме не в счёт), можно считать, что программное обеспечение
установлено (Рис. 19).

Рис. 19. Проверка правильности инсталляции


19

1.3. Инсталляция ClearSCADA


SCADA-систему ClearSCADA можно скачать на официальном сайте
производителя – Schneider Electric (в настоящей лабораторной работе
рассматривается версия 2010 R2.1), пробный режим работы которой
имеет ограничение на размер базы данных (до 1000 точек) и время работы
без перезагрузки (2 часа).

1.3.1. При установке ClearSCADA в гостевой среде необходимо


скопировать дистрибутив из общей папки (\\vboxsvr\Downloads) на
диск гостевой машины. Если этого не сделать, при инсталляции из
сетевой папки возникнут ошибки.

1.3.2. Для начала инсталляции необходимо запустить программу


SetupLauncher.exe и далее выбрать Install ClearSCADA (Рис. 20).
20

Рис. 20. Запуск программы установки ClearSCADA


1.3.3. Для продолжения установки необходимо согласиться с
лицензионным соглашением (Рис. 21).
21

Рис. 21. Окно с лицензионным соглашением


1.3.4. Следующий экран мастера можно пропустить или ввести любые
сведения (Рис. 22).

Рис. 22. Окно сведений о пользователе


22

1.3.5. Оптимальным вариантом установки будет полная установка: Full


(Recommended) (Рис. 23).

Рис. 23. Выбор типа установки


1.3.6. На следующем экране мастера установки нужно ввести логин и
пароль для администратора (Рис. 24). Для обучения лучше сделать
его простым и коротким, т.к. придётся его вводить довольно часто,
например, root\root. Галочку Disable super user account не ставьте!
23

Рис. 24. Экран регистрации пользователя


1.3.7. Финальный экран мастера – нужно выбрать Install и дождаться
окончания установки (Рис. 25). После этого программное
обеспечение ClearSCADA будет установлено на компьютер.
Проверить его работу можно запустив программу-клиент ViewX.

Рис. 25. Финальный экран мастера установки


24

Контрольные вопросы
1. Для чего предназначен пакет OpenBSI?
2. Что такое SCADA-система?
3. Какое место в АСУТП занимает SCADA-система?
4. Из каких программных компонент состоит SCADA-система?
5. Каково функциональное назначение базы данных реального
времени?
6. Способна ли SCADA-система производить логические и
математические вычисления?
25

Лабораторная работа №2
Программирование ПЛК

Цель данного занятия в приобретении навыка программирования


промышленных программируемых логических контроллеров.
Задание. По заданию преподавателя написать алгоритм для ПЛК и
загрузить его в память оборудования, убедиться в работоспособности.
Комментарии. ПЛК – это специальные промышленные
компьютеры, предназначенные в основном для сбора информации от
датчиков, первичной обработки собранной информации, передачи её на
вышестоящий уровень АСУТП, приёма команд управления от
вышестоящего уровня и выдачи команд управления на исполнительные
устройства. Проще говоря, эти устройства связывают между собой
уровни АСУТП и телемеханики, выполняя сервисные функции.
Open BSI (Open Bristol System Interface – открытый интерфейс систем
Bristol Inc.) [6] разработан компанией Bristol Inc. (приобретена Emerson)
и представляет собой набор программных средств конфигурирования
сети и диагностики информационных обменов, а также просмотра данных
(параметров процесса) для доступа к контроллерам, таким как стендовый
ControlWave Micro.
Пример: программа для ПЛК ControlWave, изменяющая значение
выходного сигнала при изменении входного.

Для выполнения данной лабораторной работы необходимо, чтобы на


компьютере, на котором она проводится, было установлено программное
обеспечение Open BSI Tools (см. лабораторную работу №1), а сам
компьютер был подключён к ПЛК ControlWave Micro.
26

Ход выполнения лабораторной работы можно


контролировать, сверяясь со следующим видео.

2.1. Программирование ПЛК производится в специальной программе -


ControlWave Designer из комплекта Open BSI Tools. Запустите эту
программу.
2.2. Далее, создайте новый проект (в главном меню выберите File → New
Project…) и в появившемся окне создания проекта (Рис.1) выберите
тип CWMicro.

Рис.1. Выбор типа создаваемого проекта


2.3. В среде будет создан проект для данного типа ПЛК, содержимое
которого отобразится в окне дерева проекта (Рис.2).
27

Рис.2 Окно дерева проекта


2.4. Теперь следует в проекте указать конфигурацию контроллера, с
которым ведётся работа (количество и тип модулей данных,
процессор и пр.). Запустите мастер конфигурации входов и выходов
(в главном меню View → IO Configurator) и на первом шаге добавьте
модули для 8-ми аналоговых входов, 4-х аналоговых выходов, 16
дискретных входов и 16 дискретных выходов. Можно добавить
модуль батарейки контроллера, чтобы отслеживать её разряд. Такова
конфигурация стендового ПЛК (Рис.3).
Последовательность добавления модулей важна!
28

Рис.3. Конфигурация стендового ПЛК


2.5. На следующем шаге мастера проводится настройка входов и выходов
в каждом модуле. Выберем модуль дискретных входов и нажмём на
программную кнопку Show Digital Pins Information. Отобразится
окно настройки доступных входов (они называются Pins). В данной
лабораторной работе будет использоваться первый вход, поэтому
достаточно включить только его (следует щёлкнуть на нём ЛКМ для
этого). Используемые входы отображаются красным цветом, не
используемые – чёрным.
2.6. Поставьте галочки возле PDD и OPC как на рисунке ниже (Рис.5).
29

Рис.5. Настройка сигнальных модулей


2.7. Такую же настройку следует провести и для остальных сигнальных
модулей.
2.8. Создайте программу в рабочем проекте, для чего следует в
контекстном меню ПКМ на папке Logical POUs в дереве проекта
выбрать Insert → Program.
2.9. В окне создания программы в поле Name укажите произвольное имя
программы (например, “Prg1”), а в блоке Language выберите язык
LD [8] (Рис.6).
30

Рис.6. Выбор языка программирования


2.10. Созданная программа в дереве проекта состоит из трёх файлов:
информации, переменных и, собственно, алгоритма. В последнем
файле следует нарисовать с помощью панели Ladder ступеньку на
языке релейно-контактных схем, включающую в себя один вход и
один выход (Рис.7).

Рис.7. Визуализация алгоритма на языке релейно-контактных схем


2.11. Вход следует привязать к первому входному контакту, выход к
первому выходному (это делается в свойствах элемента по двойному
щелчку ЛКМ на нём, в поле Name). Если выпадающий список пуст,
31

нужно в блоке Scope выбрать опцию Global и дважды щёлкнуть по


элементу IO_GLOBAL_VARIABLES в дереве Gloval Variable Group
(Рис.8).

Рис.8. Привязка контактов


2.12. Теперь, для выполнения этой программы в ПЛК нужно создать для
неё задачу (это делается из контекстного меню по ПКМ на папке
Tasks). В свойствах вновь созданной задачи на вкладке Type
укажите, что выполняется она циклически - CYCLIC (Рис.9).

Рис.9. Создание задачи


2.13. К задаче нужно привязать те алгоритмы, которые будут ей
выполняться. Для этого в контекстном меню по ПКМ к задаче
32

выберите Insert…→ Program Instance, а в настройках у созданного


элемента на вкладке Type выберите конкретный алгоритм (Рис.10).

Рис.10. Выбор алгоритма


2.14. После этих действий программа готова для загрузки в ПЛК. Для
этого следует настроить предварительно сетевое подключение к
ПЛК. Вызовите настройки для элемента RTU_RESOURCE:
ControlWave из контекстного меню по ПКМ, далее в блоке Port
укажите DLL, а в поле Parameter следующие параметры
подключения (Рис.11):

-ip192.168.1.151 -TO2000 –Usystem -p666666


33

Рис.11. Экран настроек

2.15. Загрузите программу в ПЛК. Для этого следует вызвать диалог


управления проектом и нажать кнопку Download (Рис.12).
34

Рис.12. Экран загрузки программы


2.16. Проверьте работу программы на стендовом ПЛК (Рис.13).
35

Рис.13. Конфигурация стендовых переключателей


2.17. Дополнительное задание 1. Сделайте программу, которая выдаёт
выходной сигнал на PIN1 только когда нажаты входные PIN1 и PIN2.
2.18. Дополнительное задание 2. Сделайте программу, которая выдаёт
выходной сигнал на PIN1 и не гасит его после отключения входного
сигнала. Пусть выходной сигнал сбрасывается подачей входного
сигнала на PIN 2. Для этого используйте выходные катушки (S) и (R).
36

Контрольные вопросы

1. Понятие открытого интерфейса систем Open BSI.


2. Что такое ПЛК?
3. Какие языки программирования используют для написания
алгоритмов для ПЛК?
4. Что такое сигнальные модули?
5. Что такое интерфейсные модули?
6. Какие интерфейсы существуют для построения полевых шин?
37

Лабораторная работа №3
Использование функциональных блоков в программе для ПЛК

Цель данного занятия в приобретении навыка использования


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

Ход выполнения лабораторной работы можно


контролировать, сверяясь со следующим видео.

3.1. Вызовите мастер редактирования, для чего в главном меню выберите


View→ Edit Wizard (Рис.1).
38

Рис.1. Вызов мастера редактирования


Появится окно библиотеки дополнительных функций и
функциональных блоков (Рис.2).

Рис.2. Окно функциональных блоков


39

3.2. С помощью выпадающего списка Group можно задать фильтр


выводимых на экран функциональных блоков. Фильтры бывают
следующих типов:
3.3. Фильтр AllFUs and FB выводит на экран все доступные функции,
которые отображаются в виде следующего значка

и логические блоки, они отмечены значком

На рисунке ниже показано окно с выбором фильтра (Рис.3).

Рис.3. Окно выбора фильтра


3.4. Function Blocks только функциональные блоки.
В качестве примера рассмотрим функциональный блок TON (Рис.4).
Этот функциональный блок даёт задержку передачи сигнала по
времени.
TON_1
TON
IN Q
PT ET

Рис.4. Функциональный блок TON


При появлении на входе IN сигнала, на выходе Q появляется этот
сигнал с задержкой PT. ET показывает оставшееся время задержки.
3.5. Functions содержит математические функции (Рис.5).
40

Рис.5. Окно функций


Примером может послужить функция MAX (Рис.6).

Рис.6. Функциональный блок MAX


На первый и второй входы поступают сигналы, а на выходе
появляется наибольшее из двух входных значений.
3.6. Network Templates содержит шаблоны сетевых соединений (Рис.7).
Важно отметить, что шаблоны в данном разделе отображаются
только те, которые можно использовать на языке открытой в данный
момент программы.
41

Рис.7. Окно Network Templates


3.7. Favorites содержит блоки, помеченные ранее как избранные. Это
может быть удобно при частом использовании каких-либо блоков.
3.8. Помимо этого могут содержаться отдельные библиотеки блоков,
добавленные пользователем (Рис.8).

Рис.8. Окно библиотеки блоков


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

ALARM_ANALOG_1
ALARM_ANALOG
ibDisable odiStatus

iaAlarmVar ouiAlarmSeq
iaHiHiLimit ouiGlobalSeq

iaHiLimit

iaLoLimit

iaLoLoLimit

iaHiDeadBand

iaLoDeadBand
iiHiHiPriority

iiHiPriority

iiLoPriority

iiLoLoPriority

istrUnitsText

istrDescText

Рис.9. Функциональный блок ALARM_ANALOG


3.9. StringFUs (Рис.10) содержат функции относящиеся к типу Word.

Рис.10. Окно String FUs


43

Примером такой функции служит функциональный блок REPLACE


(Рис.11).

Рис.11. Функциональный блок REPLACE


На вход IN1 подаётся строка (данные типа String), на IN2 – другая
строка, которая должна заменить часть слова из IN1. В L
обозначается значение количества заменяемых букв. В P - позиция
первой заменяемой буквы.
3.10. Typeconv. FUs (Рис.12) содержат функции конвертации одних
данных в другие.

Рис.12. Окно Type conv. FUs


Например, функция INT_TO_BOOL (Рис.13) преобразует данные
типа Integer в данные типа Bool.
44

Рис.13. Функциональный блок INT_TO_BOOL

3.11. Возьмём в качестве примера программу, приведённую в


лабораторной работе №2 (Рис.14).

Рис.14. Программа из лабораторной работы 2


3.12. Добавим к ней таймер TON (Рис.15).

Рис.15. Добавлен таймер TON


45

3.13. Теперь нужно ввести нужную нам задержку по времени до


срабатывания таймера. Для этого нужно 2 раза щелкнуть ЛКМ по
входу PT. После этого откроется окно свойств переменной (Рис.16).
В поле Name можно написать любое имя, в поле Initial value
указывается время задержки.

Рис.16. Настройки задержки времени


3.14. В данном случае мы указали время задержки T#5s. Это даст
задержку передачи сигнала на 5 секунд. Для справки приведена
временная диаграмма TON (Рис.17).

Рис.17. Временная диаграмма TON


3.15. Дополнительное задание. Сделайте программу, использующую
счётчик (функция CTU), увеличивающий своё значение по верхнему
фронту входного сигнала (например, DI6_2_1). Максимальное
46

значение счётчика – 4, после чего он должен сбрасываться в 0.


Текущее значение счётчика должно показываться на выходе: должны
быть зажжены столько же лампочек выходных сигналов, какое число
находится в счётчике (например, выходные сигналы DO16_3_1-
DO16_3_4). Помимо функции счётчика, вам может понадобиться
функция сравнения EQ. Для того, чтобы функциональные блоки
корректно обрабатывали типы входных данных, задавать константы
нужно путём явного объявления типа данных, например INT#5.

Контрольные вопросы
1. Каково назначение функциональных блоков в программах ПЛК?
2. На каком языке программирования используются функциональные
блоки?
3. Каким образом создать свой функциональных блок?
4. Что можно передавать функциональному блоку в качестве
параметров?
47

Лабораторная работа №4
Разработка человеко-машинного интерфейса в SCADA-системе

Целью данной работы является приобретение навыка разработки


человеко-машинного интерфейса в SCADA-системе, включающего в себя
разработку анимированных элементов графического интерфейса и их
связь с тегами базы данных реального времени.
Задание. Разработать в графическом редакторе SCADA-системы
анимированный символ или видеокадр по заданию преподавателя.
Связать поведение разработанного символа с изменением тега в базе
данных (с аналоговым или дискретным).
Комментарии. Важной частью системы диспетчерского управления
является человеко-машинный интерфейс. SCADA-системы
предоставляют возможность его разработки с помощью
специализированного компонента – графического редактора, в котором
разрабатывают графические экраны для взаимодействия с пользователем
- видеокадры. Современные средства разработки позволяют делать
графические элементы анимированными, что гораздо удобнее для
отображения состояния физических устройств. Анимация – это свойство
элемента динамически меняться в зависимости от значений свойства
объекта базы данных.
Пример: разработка анимированного индикатора уровня в
ClearSCADA.
На компьютере, на котором проводится лабораторная работа,
должна быть установлена SCADA-система Schneider Electric
ClearSCADA (см. лабораторную работу №1).
48

Ход выполнения лабораторной работы можно


контролировать, сверяясь со следующим видео.

4.1. В качестве средства просмотра и изменения базы данных


используется конфигуратор ClearSCADA ViewX User Interface.
Исполняемый файл ViewX.exe находится в каталоге
${ClearSCADAROOT}\ViewX.exe. Запустить его можно из меню
Пуск/Программы/Schneider Electric ClearSCADA/ViewX.
4.2. Для выполнения данного задания необходимо создать в редакторе
ViewX видеокадр (Mimic) (Рис.1), который будет подложкой для
разработки графического элемента.

Рис.1. Создание видеокадра


49

4.3. Созданный видеокадр необходимо открыть в режиме


редактирования. Изображение индикатора уровня представляет
собой прямоугольник серого цвета, внутри которого расположен
прямоугольник синего цвета. Последний меняет свой размер в
зависимости от величины уровня в ёмкости (Рис.2).

Рис.2. Анимированный индикатор


4.4. В свойствах (контекстное меню по ПКМ, затем Свойства…) синего
прямоугольника – индикатора – на вкладке Общее в секции
Динамическое изменение размера во втором выпадающем списке в
строке Направление нужно установить значение Снизу вверх.
Таким образом, динамическое изменение этого прямоугольника
будет происходить по вертикали. В полях Мин и Макс задаётся
диапазон изменения размера прямоугольника. В поле Значение
указывается текущий его размер (Рис.3).
50

Рис.3. Настройки анимированного индикатора

4.5. Настройка анимации заключается в том, что свойствам графического


элемента (его размерам, цвету, углу поворота) сопоставляются
значения какого-либо параметра тега из базы данных SCADA-
системы. Добавим в базу данных ClearSCADA соответствующий
параметр как внутреннюю аналоговую точку (Internal Analog Point)
(Рис.5) и настроим для неё анимацию.
51

Рис.4. Создание аналоговой точки

4.6. В ClearSCADA обращения к точкам должны быть записаны в


двойных кавычках. Например, при вводе строки
“.Уровень.FullScale” в анимацию объекта будет возвращено
значение параметра максимального допустимого значения точки
уровня (Рис.5).
52

Рис.5. Настройка анимации


4.7. При указании адреса точки в выражениях ClearSCADA можно
использовать две схемы адресации: абсолютную и относительную.
При абсолютной адресации указывается полный путь к объекту. При
относительной адрес точки указывается относительно
местоположения того видеокадра, который на неё ссылается.
Например, если сослаться на максимальное допустимое значение
точки уровня из видеокадра ВКадр.Анимированный индикатор,
будет использоваться запись: “.Уровень.FullScale”. Первая точка в
адресе говорит о том, что объект находится в одной группе с
редактируемым видеокадром. Дополнительные точки ссылаются в
адресе на поднятие на один уровень вверх по иерархии групп.
4.8. В ClearSCADA связать свойства элементов видеокадров со
значениями параметров объектов базы данных позволяет окно
анимации. В окне анимации индикатора (контекстное меню по ПКМ,
53

затем Анимации…) пункты SizeMin, SizeMax и SizeVal нужно


привязать к параметрам аналоговой точки ZeroScale, FullScale и
CurrentValue (Рис.6) с тем, чтобы соотнести минимальное и
максимальное значения точки с минимальным и максимальным
размерами прямоугольника, а также его текущий размер с текущим
значением точки.

Рис.6. Связь свойств анимации с параметрами точки


4.9. Теперь при изменении значения точки уровня индикатор будет
менять свой размер, отображая тем самым уровень заполненности
ёмкости.
4.10. Сделанный выше видеокадр может использоваться для отображения
уровня жидкости в некоей ёмкости. Но, допустим, ёмкостей
несколько, а это значит, что изображение, сделанное выше, придётся
повторить несколько раз. ClearSCADA позволяет вставлять уже
готовый видеокадр на другие. Более того, в самом видеокадре есть
механизм, позволяющий использовать в качестве привязки к данным
из внедрённых видеокадров разные источники (точки, проще говоря).
Это может быть удобно для того, чтобы сделав видеокадр с каким-
нибудь анимированным элементом, например, баком с уровнем,
далее его использовать многократно. Подобные видеокадры
называются символами, с их примерами можно познакомиться из
54

библиотеки символов, устанавливающейся по умолчанию при


инсталляции ClearSCADA.
4.11. В созданном видеокадре с уровнем зайдите в главное меню
Редактирование → Параметры (Рис.7).

Рис.7. Параметры видеокадра для создания символа


Создайте группу DB_Point, под которой создайте элементы
ZeroScale, FullScale и CurrentValue (имена параметров должны
соответствовать ОРС-тегам точки) (Рис.8). Потом закройте окно.
55

Рис.8. Группа DB_Point со свойствами


4.12. В свойствах анимации видеокадра замените привязку к конкретной
точке («Уровень») на привязку к элементам группы DB_Pont (Рис.9).

Рис.9. Привязка к свойствам группы вместо параметров точки


4.13. Создайте ещё две аналоговых точки. Перетащите на новый
видеокадр три копии символа с уровнем. Для того, чтобы связать
каждую точку со своим символом, выберите нужный символ, после
чего перетащите на него точку из базы данных (Рис.10).

Рис.10. Привязка анимации символа к параметрам точки


56

Чтобы привязать сразу все свойства, нужно выбрать пункт


Сконфигурировать все.
4.14. Продемонстрируйте, что каждый уровень отображает значение
своей точки.
4.15. Дополнительное задание. Сделайте символ вентилятора, который
должен вращаться с одной из трёх скоростей (за вращение отвечает
свойство Rotate). Для вращения создайте две аналоговых точки: одна
задаёт скорость вращения, в другой фиксируется угол поворота
вентилятора (диапазон точки 0…360). Чтобы непрерывно
увеличивать угол поворота, создайте алгоритм на языке
структурированного текста (алгоритмы подробно будут рассмотрены
в лабораторной работе №8) (Рис.11-12).

Рис.11. Создание алгоритма на языке структурированного текста


57

Рис.12. Программа с заданием


В свойствах алгоритма укажите частоту выполнения раз в секунду
(Рис.13).

Рис.13. Настройка периодичности выполнения программы


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

Контрольные вопросы
1. Каково назначение человеко-машинного интерфейса?
2. Как реализован человеко-машинный интерфейс в SCADA-
системах?
58

3. Что такое анимация графических объектов?


4. Какие параметры графических элементов можно анимировать?
5. Какая максимальная длина тега допустима в SCADA-системе?
59

Лабораторная работа №5
Протокол OPC

Целью данного занятия является изучение работы протокола OPC ,


а также приобретение навыка в настройке SCADA-системы для связи по
данному протоколу.
Задание. Инсталлировать программное обеспечение
симуляционного OPC-сервера для имитации работы серверной части.
Инсталлировать программное обеспечение OPC-клиента. Дистрибутивы
программного обеспечения предоставит преподаватель. Настроить OPC-
клиент для подключения к симуляционному OPC-серверу и получения с
него данных, потом выполнить подобную настройку для SCADA-
системы.
Комментарии. Протокол OPC (аббревиатура расшифровывается
как OLE for Process Control) является очень популярным протоколом для
организации обмена между информационными системами АСУТП. Он
представляет из себя набор спецификаций, одна из которых OPC DA (data
access) определяет схему работы двух программ по клиент-серверной
технологии для передачи данных. Для инженера важно знать то, что
протокол работает на основе технологии OLE, являющейся частью
семейства операционных систем Windows.
Разработкой и совершенствованием спецификаций протокола OPC
занимается организация OPC Foundation [9] – международная
некоммерческая организация, созданная в 1994 году и в которую входят
ведущие производители средств промышленной автоматизации.

Пример: подключение ClearSCADA к симуляционному OPC-серверу.


На компьютере, на котором проводится лабораторная работа,
должны быть SCADA-система ClearSCADA (см. лабораторную работу
60

№1) и установлены симуляционный OPC-сервер Matrikon OPC Server for


Simulation [10]. Последний должен быть предоставлен преподавателем.

Ход выполнения лабораторной работы можно


контролировать, сверяясь со следующим видео.

5.1. Симуляционный OPC-сервер выступает как имитатор данных,


поступающих от оборудования. Для его настройки следует запустить
программное обеспечение Matrikon OPC Server for Simulation.
Параметры, которые может предоставить данный OPC-сервер,
делятся на две группы: симуляционные теги, и пользовательские теги
(Рис.1). Сервер постоянно обновляет значения симуляционных тегов
в соответствии с различными функциями распределения чисел:
случайной, пилообразной и пр. Количество симуляционных тегов
невелико, их используют в качестве источников данных для
пользовательских тегов, которых можно задать сколько угодно и
задать им любые имена.
61

Рис.1. Окно ОРС-сервера


5.2. Создадим два пользовательских тега в группе Lab4: первый тег будет
иметь имя Analog1 и получать данные из симуляционного тега
Random.Int1, второй имя Bool1 и получать данные из тега
Random.Boolean (Рис.2).
62

Рис.2. Создание пользовательских тегов


После выполнения вышеописанных операций OPC-сервер работает,
предоставляя возможность OPC-клиентам подключаться к себе и
получать данные, используя, соответственно, протокол OPC. Проверим
его работу с помощью SCADA-системы ClearSCADA, которая будет
выступать как OPC-клиент.
Настройка ClearSCADA для получения данных по какому-либо
протоколу сводится к созданию и настройке точек соответствующего
типа. Обычно это несколько конфигурационных точек, типа сервер и
сканер и столько же точек данных, сколько самих данных нужно
получить (Рис.3).
63

Рис.3. Выбор конфигурационных точек


5.3. Создайте точку типа OPC-сервер. В свойствах точки на вкладке
Сервер в поле Имя OPC-сервера указать имя
Matrikon.OPC.Simulation, а тип соединения – Local Server (Рис.4).

Рис.4. Создание точки типа ОРС-сервер


64

5.4. Создайте точку типа OPC-сканер. В свойствах точки на вкладке


Сканер в поле Сервер указать абсолютный путь к точке сервера (на
рисунке ниже это точка с названием Сервер, находящаяся в группе
OPC) (Рис.5).

Рис.5. Создание точки типа ОРС-сканер


5.5. Создайте аналоговую (Рис.6) и дискретную точки (Рис.7), у которых
на вкладках OPC в поле Сканер укажите абсолютный путь к точке
сканера, а в поле Имя тега - адрес соответствующего тега в Matrikon
OPC Server for Simulation. Диапазон изменения аналоговой точки
можно указать от -1000 до 1000.

Рис.6. Создание аналоговой точки типа ОРС-сервер


65

Рис.7. Создание дискретной точки типа ОРС-сервер


5.6. То, как изменяются точки можно посмотреть, вызвав для них тренды
текущего значения (контекстное меню точки по ПКМ, затем
Отобразить текущий тренд) (Рис.8-9).

Рис.8. График изменения значений аналоговой точки


66

Рис.9. График изменения значений дискретной точки

Контрольные вопросы
1. Каково назначение протокола OPC?
2. Какова область применения протокола OPC?
3. На основе какого сетевого интерфейса может работать протокол
OPC?
4. Возможно ли удалённое подключение клиента к серверу (клиент на
одном компьютере, сервер на другом)?
5. Допустимы ли русские символы в именах OPC-тегов?
67

Лабораторная работа №6
Протокол Modbus

Целью данного занятия является изучение работы протокола


Modbus, а также приобретение навыка в настройке SCADA-системы для
работы по данному протоколу.
Задание. Инсталлировать программное обеспечение
симуляционного Modbus-сервера для имитации работы серверной части.
Инсталлировать программное обеспечение Modbus-клиента.
Дистрибутивы программного обеспечения предоставит преподаватель.
Настроить Modbus-клиент для подключения к симуляционному Modbus-
серверу и получения с него данных, потом выполнить схожую настройку
для SCADA-системы.
Комментарии. Протокол Modbus [11] – один из самых популярных
протоколов информационного обмена между компонентами АСУТП,
распространённый благодаря своей простоте. Протокол работает по
клиент-серверной технологии, сервер называется ведомым устройством
(Slave), а клиенты – ведущими (Master). Протокол имеет две
разновидности: ASCII и RTU, которые различаются способом
кодирования информации в пересылаемых телеграммах. Протокол может
работать через интерфейсы последовательной передачи данных (RS-232
и RS-485) и TCP/IP.
Для обмена данными в основном используются четыре функции:
0х1 – Read Coil Status – чтение однобитовых данных (дискретов)
0x2 – Read Input Status – чтение и запись дискретов
0x3 – Read Holding Registers – чтение 16-битовых регистров ввода
0x4 – Read Input Registers – чтение и запись регистров ввода

Пример: чтение аналоговых данных в ClearSCADA из симуляционного


Modbus-сервера.
68

На компьютере, на котором проводится лабораторная работа,


должны быть установлены симуляционный Modbus-сервер WinTech
ModSim [12] и SCADA-система ClearSCADA.

Ход выполнения лабораторной работы можно


контролировать, сверяясь со следующим видео.

6.1. Проведём подготовку серверной части. Для этого запустите


симуляционный сервер WinTech ModSim и настройте его работу по
протоколу TCP/IP (в главном меню основного окна программы
выбрать Connection → Connect → Modbus/TCP Svr) (Рис.1).

Рис.1. Запуск симуляционного сервера


6.2. В следующем окне укажите порт, по которому сервер будет
принимать подключения (по умолчанию 502). Далее, следует открыть
окно с данными (в главном меню File → New) (Рис.2).
69

Рис.2. Окно данных симуляционного сервера


6.3. Следует сказать несколько слов о настройках, доступных в
появившимся окне. В поле Device Id указывают номер устройства
(это идентификатор, который отличает серверы, работающие по
одному порту). Номер устройства может принимать значение от 0 до
255, причём 0 обычно не используют по техническим причинам. В
выпадающем списке MODBUS Point Type указывают, какая из
функций используется сервером для доступа к его данным.
Предусмотрена работа только по четырём основным функциям,
выберем из них функцию 03: HOLDING REGISTER. В поле
Address указывается начальный адрес, с которого будут доступны
данные. Важно помнить одну особенность: в данном сервере он
завышен на единицу по отношению к адресу, указываемому в
клиентах. В поле Length указывается, сколько регистров данных
будет доступно с указанного выше адреса, укажем 10. На этом
настройка WinTech ModSim закончена.
6.4. Настройка ClearSCADA, как и для протокола OPC, заключается в
создании и конфигурации точек, которые расположены
70

соответствующей группе контекстного меню вновь создаваемых


точек (Рис.3).

Рис.3. Настройка базы данных системы ClearSCADA

6.5. Конфигурация схожа с той, что задаётся для протокола OPC, только
серверная точка называется Канал. В этой точке (мы рассматриваем
вновь созданные точки, с настройками по умолчанию) на вкладке
Первичный порт в поле Тип соединения нужно указать TCP/IP
(Рис.4).

Рис.4 Выбор типа протокола

6.6. В точке сканера на вкладке Сканер в поле Канал укажите


абсолютный путь к точке канала, в поле Адрес устройства укажите
71

Device Id симуляционного сервера, в поле Адрес данных значение


Address, уменьшенное на единицу, в поле Длина данных значение
поля Length, в поле Местоположение нужно будет выбрать тип
используемой функции Modbus.
6.7. Выберем в поле Местоположение функцию Хранимые регистры
(Рис.5).

Рис.5. Настройка точки сканера


6.8. На вкладке Первичный порт в поле Тип соединения нужно
установить Сеть, в поле Адрес сервера следует написать localhost, в
поле порт указать порт, по которому работает симуляционный сервер
(по умолчанию 502) (Рис.6).

Рис.6. Сетевые настройки точки сканера


72

6.9. В аналоговой точке на вкладке Modbus в поле Сканер следует


указать абсолютный путь к точке сканера, а под ним в поле
Смещение размерностью в слово указать на сколько регистров от
начала считанного блока данных (адрес начала и длина блока были
указаны в точке сканера) следует отступить, чтобы считать искомый
параметр. Масштабирование для точки следует отключить (убрать
галочку Включен в блоке Масштабирование) (Рис.7).

Рис.7. Настройка аналоговой точки


6.10. Дискретная точка настраивается схожим образом, но потребуется
создать ещё одну точку сканера, для которой указать другую
используемую Modbus-функцию.
6.11. На этом настройка ClearSCADA завершена, обмен данными между
SCADA-системой и симуляционным Modbus-сервером ведётся.
Чтобы проверить его работу, в программе ModSim можно включить
симуляцию какого-либо регистра по случайному закону
распределения (дважды щёлкнув по нему и указав соответствующую
настройку) (Рис.8).
73

Рис.8. Настройка дискретной точки


В ClearSCADA получаемые данные можно увидеть на текущем
тренде точки (Рис.9).

Рис.9. Визуализация полученных данных

Контрольные вопросы

1. Каковы назначения каждой из четырёх основных функций


протокола Modbus?
2. Возможна ли работа протокола через Ethernet?
3. Сколько клиентов одновременно могут подключиться к серверу
Modbus?
74

Лабораторная работа №7
Взаимодействие ПЛК со SCADA-системой

Целью данного занятия является приобретение навыка в настройке


взаимодействия SCADA-системы и ПЛК, а также комплексное
ознакомление с работой АСУТП.
Задание. Настроить взаимодействие учебных ПЛК со SCADA-
системой для передачи дискретных и аналоговых данных. По заданию
преподавателя вывести в SCADA-системе изменяемые в ПЛК сигналы
или выдать управляющие воздействия на ПЛК.
Комментарии. Взаимодействие уровня полевого оборудования и
уровня диспетчерского управления является важной частью систем
АСУТП. ПЛК передают в SCADA-системы сведения о состоянии
технологического оборудования, а также по командам управляют
исполнительными механизмами.
Работа каждой из систем в отдельности и протоколы
информационного взаимодействия между ними были рассмотрены и
опробованы в прошлых лабораторных работах. Данный практикум
является ключевым, объединяющим все ранее полученные сведения.
Пример: вывод в ClearSCADA аналогового и дискретного сигналов,
изменяемых в ПЛК Bristol ControlWave, используя протокол OPC.
Для выполнения данной лабораторной работы необходимо, чтобы на
компьютере, на котором она проводится, было установлено программное
обеспечение Open BSI Tools и ClearSCADA (см. лабораторную работу
№1), а сам компьютер был подключен к учебному ПЛК ControlWave.
7.1. Для получения сведений от ПЛК на рабочей станции необходимо
установить драйверы данного ПЛК. Для контроллера Bristol
ControlWave драйверы идут в составе программного пакета Open BSI
Tools. Рассмотрим их настройку.
75

7.2. В проекте программы для ПЛК необходимо указать параметры


передачи аналоговых и дискретных данных. Для этого в
ControlWave Designer выберите в главном меню пункт View →
System Variable Wizard и в появившемся окне глобальных
выходных переменных на вкладке Alarms в блоке IBP отметьте
пункт Alarms Present for Dest #1 (Рис.1).

Рис.1. Меню настроек ControlWave Designer


7.3. Затем, на вкладке IP RBE Configuration следует разрешить блок
Destination One и нажать программную кнопку RBE. В появившемся
окне настройки конфигурации RBE отметьте все пункты (Рис.2).
RBE (Read By Exception) – механизм передачи аналоговых сигналов
только при их изменении, что снижает загрузку каналов в
определённых случаях. Для данного механизма предусмотрено
задание границ чувствительности для сигналов, в пределах которых
сигнал считается неизменным.
76

Рис.2. Окно настройки конфигурации RBE


7.4. На вкладке Port - Globals в блоке BSAP отметьте пункт Slave Port
number и выставьте для него значение 15 (Рис.3). После чего можно
закрыть окно настройки выходных переменных, нажав ОК.

Рис.3. Задание границы чувствительности


77

7.5. Следующая настройка, необходимо провести для передачи сигналов


по протоколу OPC. В файле проекта Global_Variables для каждого
сигнала следует выставить отметки в столбцах PDD и OPC (Рис.4).

Рис.4. Настройка передачи сигналов


7.6. Теперь выберите в главном меню пункт View → Variable Extension
Vizard и в появившемся окне настройки переменных для аналоговых
сигналов отметьте столбец Rbe, а в столбце Rbe Deadband выставьте
зону чувствительности 0,1. Для дискретных сигналов следует
щёлкнуть ПКМ по столбец Alm и в появившемся окне настройки
дискретного сигнала в поле Type выберите Alarm on True State
(Рис.5).
78

Рис.5. Настройка типа и приоритета сигналов

7.7. В поле программы следует добавить из библиотеки (вызывается из


главного меню View → Edit Wizard) функциональные блоки
DB_LOAD, ALARM и RBE (подробнее про функциональные блоки
см. лабораторную работу №3). Для блоков DB_LOAD и RBE нужно
указать логические единицы (TRUE) для входов ibLoadLists и
ioabInit соответственно (Рис.6).

Рис.6. Настройка блоков DB_LOAD, ALARM и RBE


79

7.8. На этом настройка программы для ПЛК завершена, её можно


откомпилировать и загрузить в контроллер. Перейдём к настройке
драйверов ПЛК на рабочей станции.
7.9. Настроим сетевую конфигурацию, для чего следует вызвать
программу NetView. В ней нужно создать новый проект с
настройками по умолчанию. Под корневым элементов дерева проекта
следует добавить элемент сети (из контекстного меню по ПКМ Add
→ Network) (Рис.7). В свойствах добавляемой сети на первом шаге
мастера нужно указать произвольное имя в поле под строкой Enter a
name for the Network, потом отметить тип сети как IP Network. На
следующем шаге укажите IP адреса локальной рабочей станции, т.е.
станции, на которую будут передаваться дискретные парамеры по
возникновению тревог и аналоговые сигналы по механизму RBE.

Рис.7. Настройка сетевой конфигурации


7.10. Продолжим настройку сетевой конфигурации. Теперь следует
добавить элемент линии передачи данных, для чего в контекстном
меню корневого элемента следует выбрать Add → Line. Настройки
оставить по умолчанию.
80

7.11. Под созданным элементом сети следует добавить элемент


оборудования (в контекстном меню выбрать Add → RTU). Этих
элементов в реальной системе будет столько же, сколько всего ПЛК
подключены к полевой шине (Рис.8).

Рис.8. Создание элемента оборудования

7.12. В настройках RTU на вкладке Name нужно в поле Control Strategy


File указать полный путь к файлу программы ПЛК, а на вкладке IP в
блоке Addressing сетевые настройки данного ПЛК, в блоке
Destinations в полях Alarm и RBE указать сетевые адреса рабочей
станции (Рис.9).
81

Рис.9. Задание сетевых адресов


7.13. Настроим работу OPC-сервера, входящего в состав Open BSI Tools.
Для этого следует запустить из папки ObjectServer программу
ObjectServer Session (в трее должен появиться голубой глобус с
зелёной галочкой), после чего программу ToolBox. При запросе
логина и пароля введите SYSTEM/SYSTEM. В появившемся окне
запустите пункт NW3000 Setup и выберите кнопку System Setup
(Рис.10).

Рис.10. Окно ToolBox


82

7.14. Далее, в окне мастера в поле Network Definition File укажите путь к
файлу сетевой конфигурации, созданному в NetView. Все следующие
шаги следует пройти с настройками по умолчанию (Рис.11).

Рис.11. Указание пути к файлу сетевой конфигурации


7.15. После выполненных шагов OPC сервер должен отображать
актуальные данные для ПЛК.
7.16. Дополнительное задание. Создайте две дискретных OPC-точки (как
было рассмотрено в лабораторной работе №4) одну из которых
привяжите к 1-му дискретному входу ПЛК, вторую к 1-му
дискретному выходу. Создайте видеокадр, на котором
анимированный прямоугольник горит зелёным при отсутствии
сигнала на 1-м входе ПЛК и красным при наличии. Создайте кнопку,
по нажатию которой можно подавать/снимать напряжение на 1-м
выходе ПЛК.

Контрольные вопросы

1. Каково функциональное назначение драйверов ПЛК?


2. Для чего предназначено программное обеспечение Open BSI Tools?
83

3. Какие основные протоколы служат для передачи данных от ПЛК к


SCADA-системам?
4. Что собой представляет программа для ПЛК?
84

Лабораторная работа №8
Выполнение расчётов и алгоритмов в SCADA-системе. Шаблоны.

Цель данного занятия в приобретении навыка программирования,


особенностей ведения расчётов и логических вычислений в SCADA-
системе, а также изучения в приобретении навыка создания шаблонов при
разработке базы данных SCADA-системы.
Задание. По заданию преподавателя написать алгоритм в среде
SCADA-системы, разработать шаблон, включающий в себя как минимум
точку данных и графический элемент, с ней связанный.
Комментарии. SCADA-системы обладают возможностями для
написания внутренних программ на одном из встроенных языков
программирования.
В ClearSCADA алгоритмы представляют собой такие же точки, как
и объекты данных, графические элементы и пр. Программу можно
написать на одном из следующих языков программирования: как
релейную схему, как диаграмму состояний, как структурированный текст
или как диаграмму функциональных блоков.
Шаблоны представляют собой очень удобный инструмент
разработки базы данных, который позволяет существенно сократить
затраты времени при работе с одинаковым по структуре оборудованием.
Шаблон похож на класс в объектно-ориентированном подходе, т.е. это
группа элементов, экземпляры которой обладают теми же настройками,
что и исходная (собственно, шаблон). Свойства экземпляров можно
переназначить, что даёт возможность гибко подстраивать данный
механизм под нужды разработчика.
Пример: программа на языке диаграмм функциональных блоков в
ClearSCADA, производящая арифметическую операцию над значением
одной точки и записывающей результат в другую. Шаблон чайника,
85

включающий параметр датчика температуры и состояние


нагревательного элемента.
На компьютере, на котором проводится лабораторная работа,
должна быть установлена SCADA-система ClearSCADA.

1. Алгоритмы в ClearSCADA
Предварительно подготовим базу данных SCADA-системы. Задание
данного практикума предполагает наличие одной точки – источника
данных и одной точки – приёмника данных. В проводнике базы данных
следует создать две внутренние аналоговые точки. Точку-источник
назовём in, приёмник – out.

Ход выполнения лабораторной работы можно


контролировать, сверяясь со следующим видео.

8.1.1. Создайте точку алгоритма на языке диаграмм функциональных


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

Рис.1. Меню выбора точки

8.1.2. Откройте точку алгоритма в режиме редактирования. На вкладке


Direct следует щёлкнуть ПКМ в таблице или по самой вкладке и
выбрать Добавить… (Рис.2).
87

Рис.2. Режим добавления переменной

8.1.3. В появившемся окне добавления переменной в поле Имя введите


произвольное имя переменной (оно будет использоваться только в
данном алгоритме), в поле Тип тега - режим обращения к точке, в
поле Тег - абсолютный путь к имени точки с внутренним тегом, в
поле Тип - тип данных точки. Далее, зажав на каждой из
добавленных переменных ЛКМ, их следует перетащить на поле
алгоритма ниже. При отпускании кнопки возникнет контекстное
меню, в котором для входной переменной нужно выбрать пункт
Add Input Variable, а для выходной Add Output Variable.
88

8.1.4. На поле алгоритма с помощью контекстного меню ПКМ нужно


добавить блок умножения и константу, равную двум (Рис.3).

Рис.3. Выбор операции умножения

8.1.5. Концы выведенных на поле блоков следует соединить в


соответствии с логикой работы блока умножения (Рис.4).

Рис.4. Связь фукнционального блока умножения с переменными

8.1.6. Сам алгоритм готов, теперь определим условия его работы. В


свойствах точки алгоритма на вкладке Логика в блоке
Выполнение, в поле Метод выполнения из выпадающего списка
нужно выбрать По внешнему изменению входа (Рис.5).
89

Рис.5. Задание условий выполнения алгоритма умножения

8.1.7. Теперь, при изменении точки In в точку Out будет помещено


текущее значение In, умноженное на 2 (Рис.6).

Рис.6. Результат работы алгоритма

8.1.8. Дополнительное задание. Создайте две дискретных OPC-точки (как


было рассмотрено в дополнительном задании к лабораторной
работе №7) одну из которых привяжите к 1-му дискретному входу
ПЛК, вторую к 1-му дискретному выходу. Создайте в ClearSCADA
алгоритм, который при подаче сигнала на 1-й вход ПЛК выдаёт
сигнал на 1-й выход.
90

2. Шаблоны в ClearSCADA
Рассмотрим привычный нам всем «чайник-минутку» для кипячения
воды. Его техническое устройство просто: датчик температуры и
выключатель. Предположим, что некий ресторан закупает партию таких
чайников и предполагает диспетчерское управление ими, т.е. вывод их
состояния с возможностью управления на видеокадр SCADA-системы.
Разработчику данной системы предстоит создать и настроить столько
точек, сколько чайников предполагается вывести на экран…или
использовать механизм шаблонов, чтобы сконструировать один раз
объект «чайник» и на его основе далее создавать новые объекты как
экземпляры шаблона.

Ход выполнения лабораторной работы можно


контролировать, сверяясь со следующим видео.

8.2.1. Разработаем в базе данных ClearSCADA группу точек,


описывающую объект типа «чайник». Для этого создайте группу и
добавьте в неё аналоговую точку для датчика температуры и
дискретную точку для состояния нагревательного элемента. Также
следует добавить точку типа Мимика и нарисовать на ней в виде
анимированных элементов индикатор температуры, индикатор
состояния и две программных кнопки для подачи команд на
включение и выключение чайника (Рис.7).
91

Рис.7. Группа точек в БД ClearSCADA, описывающую объект типа


«чайник»
8.2.2. Для настройки команд управления, подаваемых кнопками, следует
в контекстном меню по ПКМ для них выбрать Мастер выбора
действия…, в появившемся мастере на первом шаге отметьте
пункт Метод; на втором в поле Объект выберите точку состояния
нагревательного элемента, в поле Аларм укажите (Пусто), а в поле
Метод выберите из выпадающего списка Ручное управление…
(Рис.8).
92

Рис.8. Настройка команд управления


8.2.3. На третьем шаге мастера укажите значение 1 для кнопки включения
и 0 для кнопки выключения.
8.2.4. Анимированный индикатор состояния следует сделать
двухцветным – по количеству состояний (Рис.9).

Рис.9. Задание цваета индикатора температуры


8.2.5. На этом настройка объекта закончена, конвертируем его в шаблон.
Для этого следует в контекстном меню для группы (вызывается по
ПКМ) выбрать Конвертировать в → Группа Шаблон. Для
93

группы, ставшей шаблоном, поменяется цвет ярлычка с жёлтого на


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

Рис.10. Выбор экземпляра шаблона

У созданных экземпляров цвет папки будет зелёного цвета – так


удобнее отличать экземпляры шаблона от обычных папок.

Таким образом, можно довольно быстро создать столько объектов,


сколько предполагается вывести на диспетчерский экран (Рис.11).
94

Рис.11. Пример экземпляра «чайник»


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

8.2.7. Для этого в контекстном меню шаблона следует выбрать пункт


«Замена свойств…», далее, в появившемся дереве объектов
развернуть точку температуры и отметить галочкой те свойства,
которые предполагается менять независимо от шаблона (Рис.12).
95

Рис.12. Меню выбора параметров

8.2.8. Отмеченные параметры станут доступны для изменения в


экземплярах шаблонов (Рис.13).

Рис.13. Редактирование шаблона

8.2.9. Дополнительное задание. Создайте шаблон с двумя дискретными


ОРС-точками и видеокадром, который будет связывать вход ПЛК с
96

выходом (см. дополнительное задание 8.1.8). На видеокадре


должно отображаться состояние входа и состояние выхода как в
дополнительном задании к лабораторной работе №7. Создайте два
экземпляра шаблона и свяжите 1-й вход с 1-м выходом и 2-й со 2-
м.

Контрольные вопросы

1. Что такое язык структурированного текста?


2. Что такое язык функциональных блоков?
3. Какие ограничения на расчёты существуют для SCADA-систем?
4. Что такое шаблон?
5. Можно ли создавать вложенные шаблоны?
6. Какое количество шаблонов можно создать?
97

Тезаурус и список сокращений


АСУТП – автоматизированная система управления технологическим
процессом. АСУТП представляет из себя программно-технический
комплекс, включающий в себя совместно работающие средства
автоматики, телемеханики, исполнительные механизмы и пр.,
предназначенные для автоматизации какого-либо технологического
процесса.
Видеокадр – экран или панель человеко-машинного интерфейса, на
которых в графическом виде, по возможности с использованием
анимации, отображён технологический процесс или его фрагмент.
Мнемосхема – см. видеокадр.
ПЛК – программируемый логический контроллер. Специализированный
промышленный компьютер, способный работать в сложных
производственных условиях. Конструкция ПЛК построена по модульной
архитектуре, где каждый модуль выполняет определённую функцию:
сбора данных от датчиков, выдача сигналов на исполнительные
механизмы, информационные стыки с другими системами и пр.
Тег – запись в информационной системе (в базе данных SCADA, в OPC-
сервере и др.), содержащая определённые данные или наборы данных.
SCADA – Supervisory Control and Data Acquisition (диспетчерский
контроль и сбор данных), специализированное программное обеспечение
для создания систем диспетчерского управления в АСУТП.

Список символов, используемых в тексте

ПКМ – Правая кнопка мыши


ЛКМ – Левая кнопка мыши
98

Список литературы

1. Бернер Л.И., Богданов Н.К., Хадеев А.С. Системы реального


времени. Курс лекций. Изд. 2-е, перераб. и дополн. М.:МАДИ, 2011.
P. 169.
2. Денисенко В.В. Компьютерное управление технологическим
процессом, экспериментом, оборудованием. М.: Горячая линия-
Телеком, 2013. P. 606.
3. Webb J.W., Reis R.A. Programmable logic controllers. Principle and
applications. 5th ed. New Jersey: Pearson Education Inc., Upper Saddle
River, 2003. P. 460.
4. Андреев Е.Б., Куцевич Н.А., Синенко О.В. SCADA-системы: взгляд
изнутри. М.: Издательство “РтСофт,” 2004. P. 176.
5. Официальный веб-сайт Oracle VirtualBox [Online]. URL:
https://www.virtualbox.org/.
6. Официальный веб-сайт продукта OpenBSI [Online]. URL:
http://www2.emersonprocess.com/en-
us/brands/bristol/scadasoftware/openbsi/Pages/openbsi.aspx.
7. Официальный веб-сайт ClearSCADA, включающий руководство
пользователя (Англ.) [Online]. URL: http://goo.gl/tB4Wq.
8. International Standard IEC 61131-3. Programmable Controllers – Part 3:
Programming Languages. 2-nd Ed. International Electrotechnical
Commission, 2003. P. 143.
9. Официальный сайт организации OPC Foundation (Англ.) [Online].
URL: http://www.opcfoundation.org.
10. Официальный веб сайт компании Matrikon (Англ.) [Online]. URL:
http://www.matrikonopc.com.
11. Денисенко В.В. Протоколы и сети Modbus и Modbus TCP //
Современные технологии автоматизации. 2010. Vol. 4. P. 90–94.
12. Официальный веб сайт организации Modbus Organization (Англ.)
[Online]. URL: http://www.modbus.org.
13. Остроух А.В. Основы построения систем искусственного интеллекта
для промышленных и строительных предприятий: монография / А.В.
Остроух. – М.: ООО «Техполиграфцентр», 2008. – 280 с. – ISBN 978-
5-94385-033-2.
99

14. Остроух А.В. Автоматизация управления производством.


Повышение эффективности автоматизированных аналитических
систем предприятий автомобильной промышленности / А.В.
Остроух, Э.А. Чернов, Д.Т. Нгуен. – Saarbrucken, Germany: LAP
LAMBERT Academic Publishing, 2013. – 285 p. – ISBN 978-3-659-
34762-7.
15. Остроух А.В. Интеллектуальные системы в науке и производстве /
А.В. Остроух, А.Б. Николаев. – Saarbrucken, Germany: Palmarium
Academic Publishing, 2012. – 312 p. – ISBN 978-3-659-98006-0.
16. Остроух А.В. Мультимедиа-технологии / А.В. Остроух, А.М.
Васьковский, А.Б. Николаев. – Saarbrucken, Germany: Palmarium
Academic Publishing, 2012. – 228 p. – ISBN 978-3-659-98030-5.
17. Остроух А.В. Ввод и обработка цифровой информации: учебник для
нач. проф. образования / А.В. Остроух. – М.: Издательский центр
«Академия», 2012. – 288 с. – ISBN 978-5-7695-9457-1.
18. Николаев А.Б. Информационные технологии в менеджменте и
транспортной логистике: учебное пособие / А.Б. Николаев, А.В.
Остроух. – Saint-Louis, MO, USA: Publishing House Science and
Innovation Center, 2013. – 254 с. – ISBN 978-0-615-67110-9.
19. Остроух А.В. Системы искусственного интеллекта в
промышленности, робототехнике и транспортном комплексе:
монография / А.В. Остроух – Красноярск: Научно-инновационный
центр, 2013. – 326 с. – ISBN 978-5-906314-10-9.
20. Остроух А.В. Основы информационных технологий: учебник для
сред. проф. образования / А.В. Остроух. – М.: Издательский центр
«Академия», 2014. – 208 с. – ISBN 978-5-4468-0588-4.
21. Остроух А.В. Автоматизация кирпичного производства.
Автоматизация линии перемещения продукции кирпичного
производства в зоне сушки и обжига / А.В. Остроух, Р.Р. Чаудхари.
– Saarbrucken, Germany: LAP LAMBERT Academic Publishing, 2015.
– 117 p. – ISBN 978-3-659-67986-5.
22. Остроух А.В. Проектирование системы распределенных баз данных
/ А.В. Остроух, А.В. Помазанов. – Saarbrucken, Germany: Palmarium
Academic Publishing, 2015. – 117 p. – ISBN 978-3-659-60041-8.
23. Остроух А.В. Подготовка выпускной квалификационной работы
магистра: методические указания / А.В. Остроух, А.Б. Николаев, Н.Е.
100

Суркова. – Saarbrucken, Germany: LAP LAMBERT Academic


Publishing, 2015. – 73 p. – ISBN 978-3-659-39376-1.
24. Остроух А.В. Автоматизация управления автотранспортными
предприятиями. Новый подход на основе интеллектуальных
мультиагентных систем / А.В. Остроух, А.В. Воробьева, Н.Е.
Суркова. – Saarbrucken, Germany: LAP LAMBERT Academic
Publishing, 2015. – 117 p. – ISBN 978-3-659-47576-4.
25. Суркова Н.Е. Профессиональные информационные системы и базы
данных: методические указания к лабораторным работам / Н.Е.
Суркова, А.В. Остроух, Т.И. Еремина. – Красноярск: Научно-
инновационный центр, 2015. – 49 с. – ISBN 978-5-906314-23-9. DOI:
10.12731/asu.madi.ru/PISDB.2015.49.
26. Суркова Н.Е., Остроух А.В., Еремина Т.И. ЭЛЕКТРОННОЕ
УЧЕБНОЕ ИЗДАНИЕ «ПРОФЕССИОНАЛЬНЫЕ
ИНФОРМАЦИОННЫЕ СИСТЕМЫ И БАЗЫ ДАННЫХ:
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ»
// Хроники объединенного фонда электронных ресурсов Наука и
образование. 2015. № 3 (70). С. 10.
101

Оглавление

Введение................................................................................................... 3

Лабораторная работа №1 ........................................................................ 5

Лабораторная работа №2 ...................................................................... 25

Лабораторная работа №3 ...................................................................... 37

Лабораторная работа №4 ...................................................................... 47

Лабораторная работа №5 ...................................................................... 59

Лабораторная работа №6 ...................................................................... 67

Лабораторная работа №7 ...................................................................... 74

Лабораторная работа №8 ...................................................................... 84

Тезаурус и список сокращений............................................................ 97

Список символов, используемых в тексте.......................................... 97

Список литературы ............................................................................... 98


102

Учебное издание

Леонид Исаакович Бернер


Андрей Борисович Николаев
Антон Сергеевич Хадеев

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

Методические указания к
лабораторным работам

Свидетельство
о регистрации электронного ресурса

Издательство «Научно-инновационный центр»


660127, г. Красноярск, ул. 9 Мая, 5, 192
Тел. (391) 271-23-8