1 МОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ (МАДИ) Л.И. Бернер, А.С. Хадеев Методические указания к лабораторным работам по дисциплине «Системы реального времени» Под редакцией Заслуженного деятеля науки РФ, д.т.н., профессора Николаева А.Б. МОСКВА 2013 2 МОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ (МАДИ) Кафедра автоматизированных систем управления Заведующий кафедрой д.т.н, профессор __________ А.Б. Николаев “___”_____________ 2013г. Л.И. Бернер, А.С. Хадеев Методические указания к лабораторным работам по дисциплине «Системы реального времени» Под редакцией Заслуженного деятеля науки РФ, д.т.н., профессора Николаева А.Б. Москва 2013 3 УДК 004.438 ББК 32.973.26 Л.И. Бернер, А.С. Хадеев. Методические указания к лабораторным работам по дисциплине «Системы реального времени» / Под редакцией Заслуженного деятеля науки РФ, д.т.н., профессора А.Б. Николаева МАДИ. — М.: 2013. 66с. Методические указания предназначены для студентов, изучающих дисциплину «Системы реального времени» всех форм обучения для выполнения и оформления документации к лабораторным работам. Методические указания также могут помочь при работе над дипломным проектом или при проведении исследований в магистерской диссертации ») по направлениям подготовки 230100 - «Информатика и вычислительная техника», 230400 - «Информационные системы и технологии. Так же может быть использовано студентами других направлений подготовки, занимающиеся практической технологическими процессами деятельностью по (АСУТП) производственном на управлению предприятии и промышленной автоматизацией. © Московский автомобильно-дорожный государственный технический университет (МАДИ), 2013 4 Введение Лабораторные работы по дисциплине «Системы реального времени» [1] дают студенту комплексное представление об основных этапах создания автоматизированной системы управления технологическими процессами (АСУТП) на производственном предприятии, формируют практические навыки инженерной работы в области промышленной автоматизации. Лабораторные работы приводятся в такой последовательности, чтобы постепенно сформировать у студента понимание работы программного обеспечения и технических устройств комплексов АСУТП [2]. АСУТП традиционно делятся на два уровня: уровень полевого оборудования; уровень диспетчерского управления. На уровне полевого оборудования (на профессиональном жаргоне он называется «нижним» уровнем) функционируют основные средства телемеханики и автоматики, такие как датчики, исполнительные механизмы и программируемые логические контроллеры (ПЛК) [3]. Уровень диспетчерского управления («верхний» уровень) представлен специализированным программным обеспечением систем SCADA [4] (Supervisory Control and Data Acquisition – диспетчерский контроль и сбор данных), а также системами поддержки принятия решений. Упражнения, нацеленные на приобретение навыка инсталляции программного обеспечения для взаимодействия с ПЛК и SCADA-систем, а также их настройке приведены в лабораторной работе №1. Программирование ПЛК с помощью языка релейно-контактных схем (иными словами, на языке лестничной логики или Ladder Diagrams) рассмотрено в лабораторной работе №2. 5 Одним из основных компонентов SCADA-систем является человекомашинный интерфейс, т.е. графическое представление работы технологического процесса, показаний средств измерения и состояния исполнительных механизмов с возможностью передачи управляющих воздействий от пользователя. Каждое программное обеспечение обладает определённой спецификой проектирования графического интерфейса, но есть и общие принципы. Упражнения для развития навыков работы с графическим интерфейсом SCADA-систем приведены в лабораторной работе №3. Взаимодействие между устройствами полевого оборудования осуществляется по стандартным интерфейсам, также используются полевые шины. Взаимодействие систем диспетчерского управления с полевым оборудованием осуществляется по стандартным протоколам, таким как OPC и Modbus. Упражнения, предназначенные для ознакомления с протоколом OPC, приведены в лабораторной работе №4, а с протоколом Modbus в лабораторной работе №5. В лабораторной работе №6 практикуется совместная работа SCADAсистемы и ПЛК. В лабораторной работе №7 проводится практика написания алгоритмов, работающих в составе SCADA-системы, а в лабораторной работе №8 даются упражнения на создание шаблонов при разработке базы данных в SCADA-системе. 6 Лабораторная работа №1 Подготовка рабочего места. Инсталляция программных средств OpenBSI и ClearSCADA Цель работы знакомство с программным обеспечением Bristol OpenBSI, обеспечивающим взаимодействие со стендовым ПЛК ControlWave Micro; знакомство с программным обеспечением предназначенным ClearSCADA, для Schneider организации Electric человеко- машинного интерфейса в диспетчерском управлении. Задание Необходимо инсталлировать на компьютере программное обеспечение OpenBSI и ClearSCADA, дистрибутивы которого предоставит преподаватель. После выполнения инсталляции, необходимо провести настройку программного обеспечения в соответствии с конкретными задачами, поставленными преподавателем. Комментарии Программное обеспечение Bristol OpenBSI [5] включает в себя следующие модули: модуль для взаимодействия с ПЛК; модули для настройки; модуль для выдачи данных по протоколу OPC. Программное обеспечение систем SCADA и в частности ClearSCADA [6] состоит из нескольких основных компонент: базы данных реального времени (включающей вычисления, расчёт логических операций и ведение архивов); драйверов оборудования и информационных протоколов; системы тревог; 7 человеко-машинного графического интерфейса. Инсталляция OpenBSI Для начала установки программного пакета необходимо запустить исполняемый файл мастера установки – OpenBSI.exe. Первый экран мастера оповещает о начале работы по установке и предупреждает, что перед тем, как приступить, следует удалить предыдущие версии программного обеспечения OpenBSI. На следующем экране предлагается ознакомиться с условиями лицензионного соглашения и принять их. Далее необходимо указать папку, в которую будет установлен программный пакет. Папка по умолчанию вполне подходит. 8 Далее предлагается указать какие компоненты программного обеспечения OpenBSI следует установить. Для проведения дальнейших лабораторных работ в их число должны входить: NetView, ControlWave Designer, BSIConfig, ObjectServer Database & Client. 9 На этом предварительные шаги по настройке закончены и можно запустить инсталляцию программного пакета. После окончания инсталляции будет предложено перезагрузить компьютер. Нужно последовать этому совету. После загрузки компьютера на экране возникнет сообщение о том, что программное обеспечение работает в демонстрационном режиме (60 дней). А в списке установленных программ должны появиться две новые группы: Bristol Babcock Licensing и OpenBSI Tools. 10 Запустив программу License Manager из группы Bristol Babcock Licensing, мы узнаем о количестве дней, оставшихся до истечения срока действия демонстрационной лицензии (на ознакомление с пакетом даётся 60 дней). 11 В случае наличия обновлений – «патчей» для программного обеспечения, их также следует установить. Для этого просто запускаются инсталляционные файлы, находящиеся в соответствующих папках. Мастера обновлений выполнены стандартным образом и не требуют дополнительных настроек. 12 Возможно, потребуется принять лицензионное соглашение в том случае, если на компьютере не был установлен пакет Microsoft Visual C++ 2005. Попробуйте запустить программу NetView из папки OpenBSI Tools и если запуск прошёл нормально (предупреждение о демо-режиме не в счёт), можно считать, что программное обеспечение установлено. 13 Инсталляция ClearSCADA Пробную версию SCADA-системы ClearSCADA можно скачать на официальном сайте производителя – Schneider Electric (в настоящей лабораторной работе рассматривается версия 2010 R3, пробная версия имеет ограничение в размере базы данных (до 1000 точек) и времени работы без перезагрузки в 2 часа). Для начала инсталляции необходимо запустить программу SetupLauncher.exe и далее выбрать Install ClearSCADA. Для продолжения установки необходимо согласиться с лицензионным соглашением 14 Следующий экран мастера можно пропустить или ввести любые сведения. Оптимальным вариантом установки будет полная установка: Full (Recommended). 15 На следующем экране мастера установки нужно ввести логин и пароль для пользователя с исключительными правами. Для обучения лучше сделать его простым и коротким, т.к. придётся его вводить довольно часто, например root\root. 16 Финальный экран мастера – нужно выбрать “Install” и дождаться окончания установки. После этого программное обеспечение ClearSCADA будет установлено на компьютер. Проверить его работу можно запустив программу-клиент ViewX. Контрольные вопросы 1. Для чего предназначен пакет OpenBSI? 2. Что представляет собой SCADA-система? 3. Какое место в АСУТП занимает SCADA-система? 4. Из каких программных компонент состоит SCADA-система? 5. Каково функциональное назначение базы данных реального времени? 6. Способна ли SCADA-система математические вычисления? производить логические и 17 Лабораторная работа №2 Программирование ПЛК Цель Приобретение навыков написания программ для промышленных программируемых логических контроллеров (ПЛК). Задание По заданию преподавателя написать алгоритм для ПЛК и загрузить его в память оборудования, убедиться в работоспособности. Комментарии ПЛК – это специальные промышленные компьютеры, предназначенные в основном для сбора информации от датчиков, первичной обработки вышестоящий уровень собранной АСУТП, информации, приёма передачи команд её на управления от вышестоящего уровня и выдачи команд управления на исполнительные устройства. Проще говоря, эти устройства связывают между собой уровни АСУТП и телемеханики, выполняя сервисные функции. Open BSI (Open Bristol System Interface – открытый интерфейс систем Bristol Inc.) [5] разработан компанией Bristol Inc. (приобретена Emerson) и представляет собою набор программных средств конфигурирования сети и диагностики информационных обменов, а также просмотра данных (параметров процесса) для доступа к контроллерам, таким как стендовый ControlWave Micro. Пример Программа для ПЛК ControlWave, изменяющая значение выходного сигнала при изменении входного. Для выполнения данной лабораторной работы необходимо, чтобы на компьютере, на котором она проводится, было установлено программное 18 обеспечение Open BSI Tools (см. лабораторную работу №1), а сам компьютер был подключён к ПЛК ControlWave Micro. Программирование ПЛК производится в специальной среде ControlWave Designer из комплекта Open BSI Tools. Далее, создать новый проект (в главном меню выбрать File → New Project…) и в появившемся окне создания проекта выбрать тип CWMicro. В среде будет создан проект для данного типа ПЛК, содержимое которого отобразится в окне дерева проекта. 19 Теперь следует в проекте указать конфигурацию контроллера, с которым ведётся работа (количество и тип модулей данных, процессор и пр.). Запустим мастер конфигурации входов и выходов (в главном меню View → IO Configurator), и на первом шаге добавим модули для 8-ми аналоговых входов, 4-х аналоговых выходов, 16 дискретных входов и 16 дискретных выходов. Можно добавить модуль батарейки контроллера, чтобы отслеживать её разряд. Такова конфигурация стендового ПЛК. На следующем шаге мастера проводится настройка входов и выходов в каждом модуле. Выберем модуль дискретных входов и нажмём на программную кнопку Show Digital Pins Information. Отобразится окно настройки доступных входов (они называются Pins). В данной лабораторной работе будет использоваться только первый вход, поэтому нужно его включить (следует щёлкнуть на нём ЛКМ для этого). 20 Используемые входы отображаются красным цветом, не используемые – чёрным. Такую же настройку следует провести и для остальных сигнальных модулей. Создадим программу в рабочем проекте, для чего следует в контекстном меню ПКМ на папке Logical POUs в дереве проекта выбрать Insert → Program. В окне создания программы в поле Name следует указать произвольное имя программы, а в блоке Language выбрать язык LD [7]. 21 Созданная программа в дереве проекта состоит из трёх файлов: информации, переменных и, собственно, алгоритма. В последнем файле следует нарисовать с помощью панели Ladder ступеньку на языке релейноконтактных схем, включающую в себя один вход и один выход. Вход следует привязать к первому входному контакту, выход к первому выходному (это делается в свойствах элемента по двойному щелчку ЛКМ на нём, в поле Name). 22 Теперь, для выполнения этой программы в ПЛК нужно создать для неё задачу (это делается из контекстного меню по ПКМ на папке Tasks). В свойствах вновь созданной задачи на вкладке Type следует указать, что выполняется она циклически. К задаче нужно привязать те алгоритмы, которые будут ей выполняться. Для этого в контекстном меню по ПКМ к задаче следует выбрать Insert…→ Program Instance, а в настройках у созданного элемента на вкладке Type выбрать конкретный алгоритм. 23 После этих действий программа готова для загрузки в ПЛК. Для этого следует настроить предварительно сетевое подключение к ПЛК. Следует вызвать настройки для элемента «RTU_RESOURCE: ControlWave» из контекстного меню по ПКМ, далее в блоке Port указать DLL, а в поле Parameter указать следующие параметры подключения: -ip192.168.1.151 -TO2000 –Uлогин -pпароль 24 Загрузим программу в ПЛК. Для этого следует вызвать диалог управления проектом и нажать кнопку Download. Контрольные вопросы 1. Какие языки программирования используют для написания алгоритмов для ПЛК? 2. Что такое сигнальные модули? 3. Что такое интерфейсные модули? 4. Какие интерфейсы существуют для построения полевых шин? 5. Вопрос? 6. Вопрос? 25 Лабораторная работа №3 Разработка человеко-машинного интерфейса в SCADA-системе Цель Приобретение навыка разработки человеко-машинного интерфейса в SCADA-системе, включающего в себя разработку анимированных элементов графического интерфейса и их связь с тегами базы данных реального времени. Задание Разработать в графическом редакторе SCADA-системы анимированный символ или видеокадр по заданию преподавателя. Связать поведение разработанного символа с изменением тега в базе данных (с аналоговым или дискретным). Комментарии Важной частью системы человеко-машинный диспетчерского интерфейс. управления SCADA-системы является предоставляют возможность его разработки с помощью специализированного компонента – графического редактора, в котором разрабатывают графические экраны для взаимодействия с пользователем - видеокадры. Современные средства разработки позволяют делать графические элементы анимированными, что гораздо удобнее для отображения состояния физических устройств. Анимация – это свойство элемента динамически меняться в зависимости от значений свойства объекта базы данных. Пример Разработка анимированного индикатора уровня в ClearSCADA. На компьютере, на котором проводится лабораторная работа, должна быть установлена SCADA-система Schneider Electric ClearSCADA (см. лабораторную работу №1). 26 Для выполнения данного задания необходимо создать в редакторе ViewX видеокадр (Mimic), который будет подложкой для разработки графического элемента. Созданный видеокадр необходимо открыть в режиме редактирования. Изображение индикатора уровня представляет собой прямоугольник серого цвета, внутри которого расположен прямоугольник синего цвета. Последний меняет свой размер в зависимости от величины уровня в ёмкости. Настройка анимации заключается в том, что свойствам графического элемента (его размерам, цвету, углу поворота) сопоставляются значения какого-либо параметра тега из базы данных SCADA-системы. В свойствах (контекстное меню по ПКМ, затем «Свойства…») синего прямоугольника – индикатора – на вкладке «Общее» в секции «Динамическое изменение размера» во втором выпадающем списке в строке «Направление» нужно установить значение «Снизу вверх». Таким образом динамическое изменение этого прямоугольника будет происходить по вертикали. В полях «Мин» и «Макс» задаётся диапазон 27 изменения размера прямоугольника. В поле «Значение» указывается текущий его размер. В ClearSCADA обращения к точкам должны быть записаны в двойных кавычках. Например, при вводе строки “.Уровень.FullScale” в анимацию объекта будет возвращено значение параметра максимального допустимого значения точки уровня. При указании адреса точки в выражениях ClearSCADA можно использовать две схемы адресации: абсолютную и относительную. При абсолютной адресации указывается полный путь к объекту. При относительной же адрес точки указывается относительно местоположения того видеокадра, который на неё ссылается. Например, если сослаться на максимальное допустимое «ВКадр.Анимированный значение точки уровня из видеокадра индикатор», будет использоваться запись: «.Уровень.FullScale». Первая точка в адресе говорит о том, что объект находится в одной группе с редактируемым видеокадром. Дополнительные точки ссылаются в адресе на поднятие на один уровень вверх по иерархии групп. 28 В ClearSCADA связать свойства элементов видеокадров со значениями параметров объектов базы данных позволяет окно анимации. В окне анимации индикатора (контекстное меню по ПКМ, затем «Анимации…») пункты SizeMin, SizeMax и SizeVal нужно привязать к параметрам аналоговой точки ZeroScale, FullScale и CurrentValue с тем, чтобы соотнести минимальное и максимальное значения точки с минимальным и максимальным размерами прямоугольника, а также его текущий размер с текущим значением точки. 29 Теперь при изменении значения точки уровня индикатор будет менять свой размер, отображая тем самым уровень заполненности ёмкости. Контрольные вопросы 1. Каково назначение человеко-машинного интерфейса? 2. Как реализован человеко-машинный интерфейс в SCADA-системах? 3. Что такое анимация графических объектов? 4. Какие параметры графических элементов можно анимировать? 5. Какая максимальная длина тега допустима в SCADA-системе? 6. Вопрос? 30 Лабораторная работа №4 Протокол OPC Цель Изучение работы протокола OPC , а также приобретение навыка в настройке SCADA-системы для связи по данному протоколу. Задание Инсталлировать программное обеспечение симуляционного OPCсервера для имитации работы серверной части. Инсталлировать программное обеспечение OPC-клиента. Дистрибутивы программного обеспечения предоставит преподаватель. Настроить OPC-клиент для подключения к симуляционному OPC-серверу и получения с него данных, потом выполнить подобную настройку для SCADA-системы. Комментарии Протокол OPC (аббревиатура расшифровывается как OLE for Process Control) является очень популярным протоколом для организации обмена между информационными системами АСУТП. Он представляет из себя набор спецификаций, одна из которых OPC DA (data access) определяет схему работы двух программ по клиент-серверной технологии для передачи данных. Для инженера важно знать то, что протокол работает на основе технологии OLE, являющейся частью семейства операционных систем Windows. Разработкой и совершенствованием спецификаций протокола OPC занимается организация OPC Foundation [8] – международная некоммерческая организация, созданная в 1994 году и в которую входят ведущие производители средств промышленной автоматизации. Пример Подключение ClearSCADA к симуляционному OPC-серверу. 31 На компьютере, на котором проводится лабораторная работа, должны быть SCADA-система ClearSCADA (см. лабораторную работу №1) и установлены симуляционный OPC-сервер Matrikon OPC Server for Simulation [9]. Последний должен быть предоставлен преподавателем. Симуляционный OPC-сервер выступает как имитатор данных, поступающих от оборудования. Для его настройки следует запустить программное обеспечение Matrikon OPC Server for Simulation. Параметры, которые может предоставить данный OPC-сервер, делятся на две группы: симуляционные теги, и пользовательские теги. Сервер постоянно обновляет значения симуляционных тегов в соответствии с различными функциями распределения чисел: случайной, пилообразной и пр. Количество симуляционных тегов невелико, их используют в качестве источников данных для пользовательских тегов, которых можно задать сколько угодно и задать им любые имена. 32 Создадим два пользовательских тега в группе Lab4: первый тег будет иметь имя Analog1 и получать данные из симуляционного тега Random.Int1, второй имя Bool1 и получать данные из тега Random.Boolean. После выполнения вышеописанных операций OPC-сервер работает, предоставляя возможность OPC-клиентам подключаться к себе и получать данные, используя, соответственно, протокол OPC. Проверим его работу с помощью SCADA-системы ClearSCADA, которая будет выступать как OPC-клиент. Настройка ClearSCADA для получения данных по какому-либо протоколу сводится к созданию и настройке точек соответствующего типа. Обычно это несколько конфигурационных точек, типа сервер и сканер и столько же точек данных, сколько самих данных нужно получить. 33 Порядок действия для получения данных в ClearSCADA следующий: 1) Создать точку типа OPC-сервер. В свойствах точки на вкладке Сервер в поле «Имя OPC-сервера» указать имя Matrikon.OPC.Simulation, а тип соединения – Local Server. 2) Создать точку типа OPC-сканер. В свойствах точки на вкладке «Сканер» в поле «Сервер» указать абсолютный путь к точке сервера 34 (на рисунке ниже это точка с названием «Сервер», находящаяся в группе «OPC»). 3) Создать аналоговую и дискретные точки, у которых на вкладках OPC в поле «Сканер» указать абсолютный путь к точке сканера, а в поле «Имя тега» адрес соответствующего тега в Matrikon OPC Server for Simulation. Диапазон изменения аналоговой точки можно указать от -1000 до 1000. 35 4) То, как изменяются точки можно посмотреть, вызвав для них тренды текущего значения (контекстное меню точки по ПКМ, затем «Отобразить текущий тренд»). Контрольные вопросы 1. Каково назначение протокола OPC? 2. Какова область применения протокола OPC? 36 3. На основе какого сетевого интерфейса может работать протокол OPC? 4. Возможно ли удалённое подключение клиента к серверу (клиент на одном компьютере, сервер на другом)? 5. Допустимы ли русские символы в именах OPC-тегов? 6. Вопрос? 37 Лабораторная работа №5 Протокол Modbus Цель Изучение работы протокола Modbus, а также приобретение навыка в настройке SCADA-системы для работы по данному протоколу. Задание Инсталлировать программное обеспечение симуляционного Modbusсервера для имитации работы серверной части. Инсталлировать программное обеспечение Modbus-клиента. Дистрибутивы программного обеспечения предоставит преподаватель. Настроить Modbus-клиент для подключения к симуляционному Modbus-серверу и получения с него данных, потом выполнить схожую настройку для SCADA-системы. Комментарии Протокол Modbus [10] – один из самых популярных протоколов информационного обмена между компонентами АСУТП, распространённый благодаря своей простоте. Протокол работает по клиент-серверной технологии, сервер называется ведомым устройством (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 – чтение и запись регистров ввода 38 Пример: чтение аналоговых данных в ClearSCADA из симуляционного Modbus-сервера. На компьютере, на котором проводится лабораторная работа, должны быть установлены симуляционный Modbus-сервер WinTech ModSim [11] и SCADA-система ClearSCADA. Проведём подготовку серверной части. Для этого следует запустить симуляционный сервер WinTech ModSim и настроить его работу по протоколу TCP/IP (в главном меню основного окна программы выбрать Connection → Connect → Modbus/TCP Svr). В следующем окне нужно указать порт, по которому симуляционный сервер будет принимать подключения (по умолчанию 502). Далее, следует открыть окно с данными (в главном меню File → New). 39 Следует сказать несколько слов о настройках, доступных в появившимся окне. В поле Device Id указывают номер устройства (это идентификатор, который отличает серверы, работающие по одному порту). Номер устройства может принимать значение от 0 до 255, причём 0 обычно не используют по техническим причинам. В выпадающем списке MODBUS Point Type указывают, какая из функций используется сервером для доступа к его данным. Предусмотрена работа только по четырём основным функциям, выберем из них функцию «03: HOLDING REGISTER». В поле Address указывается начальный адрес, с которого будут доступны данные. Важно помнить одну особенность: в данном сервере он завышен на единицу по отношению к адресу, указываемому в клиентах. В поле Length указывается, сколько регистров данных будет доступно с указанного выше адреса, укажем 10. На этом настройка WinTech ModSim закончена. Настройка ClearSCADA, как и для протокола OPC, заключается в создании и конфигурации точек, которые расположены соответствующей группе контекстного меню вновь создаваемых точек. 40 Конфигурация схожа с той, что задаётся для протокола OPC, только серверная точка называется «Канал». В этой точке (мы рассматриваем вновь созданные точки, с настройками по умолчанию) на вкладке «Первичный порт» в поле «Тип соединения» нужно указать TCP/IP. В точка сканера на вкладке «Сканер» в поле «Канал» следует указать абсолютный путь к точке канала, в поле «Адрес устройства» указать Device Id симуляционного сервера, в поле «Адрес данных» значение Address, уменьшенное на единицу, в поле «Длина данных» значение поля Length, в поле «Местоположение» выбрать тип используемой функции. Выберем в поле «Местоположение» функцию «Хранимые регистры». 41 На вкладке «Первичный порт» в поле «Тип соединения» нужно установить «Сеть», в поле «Адрес сервера» следует написать localhost, в поле порт указать порт, по которому работает симуляционный сервер (по умолчанию 502). В аналоговой точке на вкладке Modbus в поле «Сканер» следует указать абсолютный путь к точке сканера, а под ним в поле «Смещение размерностью в слово» указать, на сколько регистров от начала считанного блока данных (адрес начала и длина блока были указаны в точке сканера) следует отступить, чтобы считать искомый параметр. Масштабирование для точки следует отключить (убрать галочку «Включен» в блоке «Масштабирование»). 42 Дискретная точка настраивается схожим образом, но потребуется создать ещё одну точку сканера, для которой указать другую используемую Modbus-функцию. На этом настройка ClearSCADA завершена, обмен данными между SCADA-системой и симуляционным Modbus-сервером ведётся. Чтобы проверить его работу, в программе ModSim можно включить симуляцию какого-либо регистра по случайному закону распределения (дважды щёлкнув по нему и указав соответствующую настройку). 43 В ClearSCADA получаемые данные можно увидеть на текущем тренде точки. 44 Контрольные вопросы 1. Каковы назначения каждой из четырёх основных функций протокола Modbus? 2. Возможна ли работа протокола через Ethernet? 3. Сколько клиентов одновременно могут подключиться к серверу Modbus? 4. Может ли сервер (Slave) Modbus сам подключаться к клиентам (Masters) для передачи данных? 5. Каким устройствам принято назначать Device Id=0? 6. Вопрос? 45 Лабораторная работа №6 Взаимодействие ПЛК со SCADA-системой Цель Приобретение навыка в настройке взаимодействия SCADA-системы и ПЛК, а также комплексное ознакомление с работой АСУТП. Задание Настроить взаимодействие учебных ПЛК со SCADA-системой для передачи дискретных и аналоговых данных. По заданию преподавателя вывести в SCADA-системе изменяемые в ПЛК сигналы или выдать управляющие воздействия на ПЛК. Комментарии Взаимодействие уровня полевого оборудования и уровня диспетчерского управления является важной частью систем АСУТП. ПЛК передают в SCADA-системы сведения о состоянии технологического оборудования, а также по командам управляют исполнительными механизмами. Работа каждой из систем в отдельности и протоколы информационного взаимодействия между ними были рассмотрены и опробованы в прошлых лабораторных работах. Данный практикум является ключевым, объединяющим все ранее полученные сведения. Пример Вывод в ClearSCADA аналогового и дискретного сигналов, изменяемых в ПЛК Bristol ControlWave, используя протокол OPC. Для выполнения данной лабораторной работы необходимо, чтобы на компьютере, на котором она проводится, было установлено программное обеспечение Open BSI Tools и ClearSCADA (см. лабораторную работу №1), а сам компьютер был подключен к учебному ПЛК ControlWave. 46 Для получения сведений от ПЛК на рабочей станции необходимо установить драйверы данного ПЛК. Для контроллера Bristol ControlWave драйверы идут в составе программного пакета Open BSI Tools. Рассмотрим их настройку. В проекте программы для ПЛК необходимо указать параметры передачи аналоговых и дискретных данных. Для этого в ControlWave Designer следует выбрать в главном меню пункт View → System Variable Wizard и в появившемся окне глобальных выходных переменных на вкладке Alarms в блоке IBP отметить пункт Alarms Present for Dest #1. Затем, на вкладке IP RBE Configuration следует разрешить блок Destination One и нажать программную кнопку RBE. В появившемся окне настройки конфигурации RBE следует отметить все пункты. RBE (Read By Exception) – механизм передачи аналоговых сигналов только при их изменении, что снижает загрузку каналов в определённых случаях. Для данного механизма предусмотрено задание границ 47 чувствительности для сигналов, в пределах которых сигнал считается неизменным. На вкладке Port - Globals следует в блоке BSAP отметить пункт Slave Port number и выставить для него значение 15. После чего можно закрыть окно настройки выходных переменных, нажав ОК. 48 Следующая настройка, необходимо провести для передачи сигналов по протоколу OPC. В файле проекта Global_Variables для каждого сигнала следует выставить отметки в столбцах PDD и OPC. Теперь следует выбрать в главном меню пункт View → Variable Extension Vizard и в появившемся окне настройки переменных для аналоговых сигналов отметить столбец Rbe, а в столбце Rbe Deadband выставить зону чувствительности 0,1. Для дискретных сигналов следует 49 щёлкнуть ПКМ по столбец Alm и в появившемся окне настройки дискретного сигнала в поле Type выбрать Alarm on True State. В поле программы следует добавить из библиотеки (вызывается из главного меню View → Edit Wizard) блоки DB_LOAD, ALARM и RBE. Для блоков DB_LOAD и RBE нужно указать логические единицы (TRUE) для входов ibLoadLists и ioabInit соответственно. На этом настройка программы для ПЛК завершена, её можно откомпилировать и загрузить в контроллер. Перейдём к настройке драйверов ПЛК на рабочей станции. 50 Настроим сетевую конфигурацию, для чего следует вызвать программу NetView. В ней нужно создать новый проект с настройками по умолчанию. Под корневым элементов дерева проекта следует добавить элемент сети (из контекстного меню по ПКМ Add → Network). В свойствах добавляемой сети на первом шаге мастера нужно указать её имя в поле под строкой Enter a name for the Network, потом отметить тип сети как IP Network. На следующем шаге нужно указать IP адреса локальной рабочей станции, т.е. станции, на которую будут передаваться дискреты по возникновению тревог и аналоговые сигналы по механизму RBE. Продолжим настройку сетевой конфигурации. Теперь следует добавить элемент линии передачи данных, для чего в контекстном меню корневого элемента следует выбрать Add → Line. Настройки оставить по умолчанию. Под созданным элементом сети следует добавить элемент оборудования (в контекстном меню выбрать Add → RTU). Этих элементов в реальной системе будет столько же, сколько всего ПЛК подключены к полевой шине. 51 В настройках RTU на вкладке Name нужно в поле Control Strategy File указать полный путь к файлу программы ПЛК, а на вкладке IP в блоке Addressing сетевые настройки данного ПЛК, в блоке Destinations в полях Alarm и RBE указать сетевые адреса рабочей станции. Настроим работу OPC-сервера, входящего в состав Open BSI Tools. Для этого следует запустить из папки ObjectServer программу ObjectServer 52 Session, после чего программу ToolBox. В появившемся окне следует запустить пункт NW3000 Setup и выбрать кнопку System Setup. В появившемся окне мастера в поле Network Definition File следует указать путь к файлу сетевой конфигурации, созданному в NetView. Все следующие шаги следует пройти с настройками по умолчанию. После выполненных шагов OPC сервер должен отображать актуальные данные для ПЛК. Следует провести настройку подключения по 53 протоколу OPC в ClearSCADA, как было рассмотрено в лабораторной работе №3. Контрольные вопросы 1. Каково функциональное назначение драйверов ПЛК? 2. Какие основные протоколы служат для передачи данных от ПЛК к SCADA-системам? 3. Вопрос? 4. Вопрос? 5. Вопрос? 6. Вопрос? 54 Лабораторная работа №7 Выполнение расчётов и алгоритмов в SCADA-системе Цель Приобретение навыка программирования, а также изучения особенностей ведения расчётов и логических вычислений в SCADAсистеме. Задание По заданию преподавателя написать алгоритм в среде SCADAсистемы. Комментарии SCADA-системы обладают возможностями для написания внутренних программ на одном из встроенных языков программирования. В ClearSCADA алгоритмы представляют собой такие же точки, как и объекты данных, графические элементы и пр. Программу можно написать на одном из следующих языков программирования: как релейную схему, как диаграмму состояний, как структурированный текст или как диаграмму функциональных блоков. Пример: программа на языке диаграмм функциональных блоков в ClearSCADA, производящая арифметическую операцию над значением одной точки и записывающей результат в другую. На компьютере, на котором проводится лабораторная работа, должна быть установлена SCADA-система ClearSCADA. Предварительно подготовим базу данных SCADA-системы. Задание данного практикума предполагает наличие одной точки – источника данных и одной точки – приёмника данных. В проводнике базы данных следует создать две внутренние аналоговые точки. Точку-источник назовём in, приёмник – out. 55 Создадим точку алгоритма на языке диаграмм функциональных блоков. В том же контекстном меню создания точек следует выбрать пункт «Логика» и далее «Диаграмма функциональных блоков». Откроем точку алгоритма в режиме редактирования. На вкладке Direct следует щёлкнуть ПКМ в таблице или по самой вкладке и выбрать «Добавить…». 56 В появившемся окне добавления переменной в поле «Имя» следует ввести произвольное имя переменной (оно будет использоваться только в данном алгоритме), в поле «Тип тега» режим обращения к точке, в поле «Тег» абсолютный путь к имени точки с внутренним тегом, в поле «Тип» тип данных точки. Далее, зажав на каждой из добавленных переменных ЛКМ их следует перетащить на поле алгоритма ниже. При отпускании на кнопки возникнет контекстное меню, в котором для входной переменной нужно выбрать пункт Add Input Variable, а для выходной Add Output Variable. На поле алгоритма с помощью контекстного меню ПКМ нужно добавить блок умножения и константу, равную двум. 57 Концы выведенных на поле блоков следует соединить в соответствии с логикой работы блока умножения. Сам алгоритм готов, теперь определим условия его работы. В свойствах точки алгоритма на вкладке «Логика» в блоке «Выполнение», в поле «Метод выполнения» из выпадающего списка нужно выбрать «По внешнему изменению входа». 58 Теперь, при изменении точки In в точку Out будет помещено текущее значение In, умноженное на 2. Контрольные вопросы 1. Что такое язык структурированного текста? 2. Что такое язык функциональных блоков? 3. Какие ограничения на расчёты существуют для SCADA-систем? 4. Вопрос? 5. Вопрос? 6. Вопрос? 59 Лабораторная работа №8 Использование шаблонов в SCADA-системе Цель Приобретение навыка создания шаблонов при разработке базы данных SCADA-системы. Задание По заданию преподавателя разработать шаблон, включающий в себя как минимум точку данных и графический элемент, с ней связанный. Комментарии Шаблоны представляют собой очень удобный инструмент разработки базы данных, который позволяет существенно сократить затраты времени при работе с одинаковым по структуре оборудованием. Шаблон похож на класс в объектно-ориентированном подходе, т.е. это группа элементов, экземпляры которой обладают теми же настройками, что и исходная (собственно, шаблон). Свойства экземпляров можно переназначить, что даёт возможность гибко подстраивать данный механизм под нужды разработчика. Пример Шаблон чайника, включающий параметр датчика температуры и состояние нагревательного элемента. Для выполнения данной лабораторной работы необходимо, чтобы на компьютере, на котором она проводится, было установлено программное обеспечение ClearSCADA. Рассмотрим привычный нам всем чайник-«минутку» для кипячения воды. Его техническое устройство просто: датчик температуры и выключатель. Предположим, что некий ресторан закупает партию таких чайников и предполагает диспетчерское управление ими, т.е. вывод их состояния с возможностью управления на видеокадр SCADA-системы. 60 Разработчику данной системы предстоит создать и настроить столько точек, сколько чайников предполагается вывести на экран…или использовать механизм шаблонов, чтобы сконструировать один раз объект «чайник» и на его основе далее создавать новые объекты как экземпляры шаблона. Разработаем в базе данных ClearSCADA группу точек, описывающую объект типа «чайник». Для этого следует создать группу и добавить в неё аналоговую точку для датчика температуры и дискретную точку для состояния нагревательного элемента. Также следует добавить точки типа «Мимика» и нарисовать на ней в виде анимированных элементов индикатор температуры, индикатор состояния и две программных кнопки для подачи команд на включение и выключение чайника. Для настройки команд управления, подаваемых кнопками, следует в контекстном меню по ПКМ для них выбрать «Мастер выбора действия…», в появившемся мастере на первом шаге отметить пункт «Метод»; на втором в поле «Объект» выбрать точку состояния 61 нагревательного элемента, в поле «Аларм» указать «(Пусто)», а в поле «Метод» выбрать из выпадающего списка «Ручное управление…». На третьем шаге мастера следует указать значение 1 для кнопки включения и 0 для кнопки выключения. Анимированный индикатор состояния следует сделать двухцветным – по количеству состояний. Анимированный индикатор температуры был рассмотрен ранее, в лабораторной работе №2. 62 На этом настройка объекта закончена, конвертируем его в шаблон. Для этого следует в контекстном меню для группы (вызывается по ПКМ) выбрать «Конвертировать в» → «Группа Шаблон». Для группы, ставшей шаблоном, поменяется цвет ярлычка с жёлтого на красный. Теперь, можно создать два экземпляра данного шаблона. Для этого в контекстном меню папки, в которой будут созданы новые объекты (можно в корневой группе), следует выбрать «Новый экземпляр шаблона» и, следуя по выпадающим меню, повторяющим иерархическую структуру базы данных, выбрать созданный шаблон. У созданных экземпляров цвет папки будет зелёного цвета – так удобнее отличать экземпляры шаблона от обычных папок. Таким образом, можно довольно быстро создать столько объектов, сколько предполагается вывести на диспетчерский экран. 63 Но предположим, что чайники различаются маркой, и датчик выключения срабатывает у них при разной температуре. В экземплярах шаблона, созданных нами, все свойства наследуются от самого шаблона, а если поменять этот параметр в шаблоне, то он, соответственно, изменится во всех экземплярах. Нужно сделать так, чтобы максимальное значение температуры можно было менять в каждом экземпляре отдельно. Для этого в контекстном меню шаблона следует выбрать пункт «Замена свойств…», далее, в появившемся дереве объектов развернуть точку температуры и отметить галочкой те свойства, которые предполагается менять независимо от шаблона. Отмеченные параметры экземплярах шаблонов. станут доступны для изменения в 64 Контрольные вопросы 1. Что такое шаблон? 2. Можно ли создавать вложенные шаблоны? 3. Какое количество шаблонов можно создать? 4. Вопрос? 5. Вопрос? 6. Вопрос? 65 Тезаурус и список сокращений АСУТП – автоматизированная система управления технологическим процессом. комплекс, АСУТП представляет включающий автоматики, в телемеханики, предназначенные для себя собой программно-технический совместно работающие исполнительные механизмы автоматизации какого-либо средства и пр., технологического процесса. Видеокадр – экран или панель человеко-машинного интерфейса, на которых в графическом виде, по возможности с использованием анимации, отображён технологический процесс или его фрагмент. Мнемосхема – см. видеокадр. ПЛК – программируемый логический контроллер. Специализированный промышленный компьютер, способный работать в сложных производственных условиях. Конструкция ПЛК построена по модульной архитектуре, где каждый модуль выполняет определённую функцию: сбора данных от датчиков, выдача сигналов на исполнительные механизмы, информационные стыки с другими системами и пр. Тег – запись в информационной системе (в базе данных SCADA, в OPCсервере и др.), содержащая определённые данные или наборы данных. SCADA – Supervisory Control and Data Acquisition (диспетчерский контроль и сбор данных), специализированное программное обеспечение для создания систем диспетчерского управления в АСУТП. Список символов, используемых в тексте ПКМ – Правая кнопка мыши ЛКМ – Левая кнопка мыши 66 Список литературы 1. Бернер Л.И., Богданов Н.К., Хадеев А.С. Системы реального времени. Курс лекций. Изд. 2-е, перераб. и дополн. – М.: МАДИ, 2011. – c. 169. 2. Денисенко В.В. Компьютерное управление технологическим процессом, экспериментом, оборудованием. – М.: Горячая линияТелеком, 2013. – c. 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. – c. 176. 5. Официальный веб-сайт продукта OpenBSI [Online]. http://www2.emersonprocess.com/enus/brands/bristol/scadasoftware/openbsi/Pages/openbsi.aspx. 6. Официальный веб-сайт ClearSCADA, включающий руководство пользователя (Англ.) [Online]. URL: http://goo.gl/tB4Wq. 7. International Standard IEC 61131-3. Programmable Controllers – Part 3: Programming Languages. 2-nd Ed. International Electrotechnical Commission. – 2003. – P. 143. 8. Официальный сайт организации OPC Foundation (Англ.) [Online]. URL: http://www.opcfoundation.org. 9. Официальный веб сайт компании Matrikon (Англ.) [Online]. URL: http://www.matrikonopc.com. 10. Денисенко В.В. Протоколы и сети Modbus и Modbus TCP // Современные технологии автоматизации. 2010. Vol. 4. P. 90–94. 11. Официальный веб сайт организации Modbus Organization (Англ.) [Online]. URL: http://www.modbus.org. URL: