Стандарт ОРС состоит из нескольких частей:
- ОРС DA (OPC Data Access) - спецификация для обмена данными между клиентом (например SCADA) и аппаратурой (контроллерами, модулями ввода-ввода и др.) в реальном времени;
- OPC Alarms & Events (A&E) - спецификация для уведомления клиента о событиях и сигналах тревоги, которые посылаются клиенту по мере их возникновения. Этот сервер пересылает аварийные сигналы, действия оператора, информационные сообщения, результаты контроля состояния системы;
- OPC HDA (Historical Data Access) - спецификация для доступа к предыстории процесса (к сохраненным в архиве данным). Сервер обеспечивает унифицированный способ доступа с помощью DCOM технологии. Обеспечивает чтение, запись и изменение данных;
- Batch - спецификация для особых физико-химических технологических процессов обработки материалов, которые не являются непрерывными. В таких процессах выполняется загрузка нескольких видов сырья в определенных пропорциях согласно рецепту, устанавливаются режимы обработки, а после выполнения цикла обработки и выгрузки готового материала загружается новая партия сырья. ОРС сервер выполняет обмен между клиентом и сервером рецептами, характеристиками технологического оборудования, условиями и результатами обработки;
- OPC Data eXchange - спецификация для обмена данными между двумя ОРС DA серверами через сеть Ethernet;
- OPC Security - спецификация, которая определяет методы доступа клиентов к серверу, которые обеспечивают защиту важной информации от несанкционированной модификации;
- OPC XML-DA - набор гибких, согласующихся друг с другом правил и форматов для представления первичных данных с помощью языка XML, веб технологий и сообщений SOAP (см. раздел "Архитектура автоматизированной системы".);
- OPC Complex Data - дополнительные спецификации к OPC DA и XML-DA, которые позволяют серверам работать со сложными типами данных, такими как бинарные структуры и XML-документы;
- OPC Commands - набор программных интерфейсов, который позволяет ОРС клиентам и серверам идентифицировать, посылать и контролировать команды, исполняемые в техническом устройстве (в контроллере, модуле ввода-вывода);
- OPC Unified Architecture - принципиально новый набор спецификаций, который уже не базируется на DСОМ технологии, подробнее см. раздел "Спецификация OPC UA".
Из перечисленных спецификаций в России широко используются только две: ОРС DA и реже - OPC HDA.
Рисунок 3 - Архитектура OPC-сервера для Siemens Simatic S7
Сервер OPC DA является наиболее широко используемым в промышленной автоматизации. Он обеспечивает обмен данными (запись и чтение) между клиентской программой и физическими устройствами. Данные состоят из трех полей: значение, качество и временная метка. Параметр качества данных позволяет передать от устройства клиентской программе информацию о выходе измеряемой величины за границы динамического диапазона, об отсутствии данных, ошибке связи и другие.
Существует четыре стандартных режима чтения данных из ОРС сервера:
- синхронный режим: клиент посылает запрос серверу и ждет от него ответ;
- асинхронный режим: клиент отправляет запрос и сразу же переходит к выполнению других задач. Сервер после выполнения функции запроса посылает клиенту уведомление и тот забирает предоставленные данные;
- режим подписки: клиент сообщает серверу список тегов, значения которых сервер должен отправлять клиенту только в случае их изменения. Для того, чтобы шум данных не был принят за их изменение, вводится понятие "мертвой зоны", которая слегка превышает максимально возможный размах помехи;
- режим обновления данных: клиент вызывает одновременное чтение всех активных тегов. Активными называются все теги, кроме обозначенных как "пассивные". Такое деление тегов уменьшает загрузку процессора обновлением данных, принимаемых из физического устройства.
В каждом из этих режимов данные могут читаться либо из кэша ОРС сервера, либо непосредственно из физического устройства. Чтение из кэша выполняется гораздо быстрее, но данные к моменту чтения могут устареть. Поэтому сервер должен периодически освежать данные с максимально возможной частотой. Для уменьшения загрузки процессора используют параметр частоты обновления, которая может быть установлена для каждой группы тегов индивидуально. Кроме того, некоторые теги можно сделать пассивными, тогда их значения не будут обновляться данными из физического устройства.
Запись данных в физическое устройство может быть выполнена только двумя методами: синхронным и асинхронным и выполняется сразу в устройство, без промежуточной буферизации. В синхронном режиме функция записи выполняется до тех пор, пока из физического устройства не поступит подтверждение, что запись выполнена. Этот процесс может занимать много времени, в течение которого клиент находится в состоянии ожидания завершения функции и не может продолжать выполнение своей работы. При асинхронной записи клиент отправляет данные серверу и сразу продолжает свою работу. После окончания записи сервер отправляет клиенту соответствующее уведомление.
При использовании оборудования разных производителей на компьютере (контроллере) может быть установлено несколько ОРС серверов разных производителей, однако ОРС сервер монопольно занимает СОМ-порт компьютера (поскольку непрерывно выполняет обновление данных), поэтому количество портов должно быть равно количеству ОРС серверов. Для наращивания количества СОМ портов можно использовать преобразователи интерфейса USB в RS-232. К разным портам компьютера могут быть подключены разные промышленные сети. В этом случае ОРС серверы используются в качестве межсетевых шлюзов.
Рисунок 4 - Простой пример взаимодействия прикладных программ и физических устройств через ОРС сервер на одном компьютере
1.5 FBD
В курсовой работе в практической части реализуем систему управления с П-регулятором с помощью языка FBD.
FBD (англ. Function Block Diagram) ? графический язык программирования стандарта МЭК 61131-3. Предназначен для программирования программируемых логических контроллеров (ПЛК). Программа образуется из списка цепей, выполняемых последовательно сверху вниз. Цепи могут иметь метки. Инструкция перехода на метку позволяет изменять последовательность выполнения цепей для программирования условий и циклов.
Для программирования используются наборы библиотечных и собственных блоков. Сам блок - это подпрограмма, функция, функциональный блок (И, ИЛИ, НЕ, таймеры, триггеры, счетчики, блоки обработки аналогового сигнала, мат. операции и мн. др.)
Каждая цепь является выражением, составленным графически из отдельных элементов. К выходу которого подключается следующий блок, образуя цепь, внутри которой блоки выполняются последовательно порядку соединения. Результат подается на выход ПЛК, либо записывается во внутреннюю переменную.
Рисунок 5 - Пример программы на FBD
Основные преимущества применяемого в ПЛК языка программирования: простота, наглядность, четкая последовательность, легкая структура команд, надежный и быстрый код.
Существует несколько модернизаций языка FBD, которые используются специалистами. Эти модернизации возникли в результате того, что техники перерабатывают FBD под себя.
2 Практическая часть
2.1 Математическая схема
Изучив теоретический материал, приступаем к практической реализации, заключающейся в составлении схемы в TIA Portal. Для этого сначала необходимо рассмотреть подробнее математическую модель, представленную ниже.
Рисунок 6 - Математическая схема
В данной схеме X - входной сигнал, У -выходной, Ук-1 - предыдущий сигнал, U - усиленный после П-регулятора сигнал.
П-регулятор представляет собой одно из самых простых и распространенных алгоритмов управления. Это устройство обратной связи, формирующее управляющий сигнал, при этом выходной сигнал пропорционален входному с некоторым коэффициентом.
Важность этого регулятора определяется тем, что в статических системах автоматического управления, где его можно использовать, изменяя его коэффициент, становится возможным не только добиться устойчивости системы, но и, оптимизируя, получить более качественные ее характеристики.
Дифференциальное уравнение:
у(t) = kx(t) (1)
Передаточная функция:
W(s) = k(2)
Объект управления ОУ - обобщающий термин кибернетики и теории автоматического управления, обозначающий устройство или динамический процесс, управление поведение которого является целью создания системы автоматического управления.
Имея схему, опишем ее:
Ty' + y = bu,
T + ук = buк,
Тук -Тук-1 + ?Тук = buк,
ук = ,
где b = T = 1, ?T = 0.01
2.2 Реализация схемы в TIA Portal
Для реализации схемы, прежде всего, необходимо создать проект. Осуществляется это с помощью «Create new project» в начальном окне TIA, далее необходимо дать имя проекту, а также выбрать место хранения его объектов.
Для дальнейшей возможности синхронизации работы с контроллером Siemens Simatic s7 1500 следует добавить и установить связь между устройствами, входящими в состав, в котором могут быть модули центральных процессоров различной производительности (CPU); блоки питания от сети переменного или постоянного тока (PM); сигнальные модули, предназначенные для ввода и вывода дискретных и аналоговых сигналов (SM); коммуникационные модули для подключения к сетям Ethernet и PROFIBUS, а также поддержки обмена данных через непосредственные соединения на основе последовательных интерфейсов RS 232, RS 422, RS 485 (CM/CP); технологические модули для решения задач скоростного счета и позиционирования (ТМ).
Рисунок 7 - Внешний вид Siemens Simatic s7 1500
После того, как произвели выбор необходимых устройств, приступаем к реализации самой схемы.
Для этого нам понадобится в «Модулях программирования» функциональный блок FB, в котором и соединим П-регулятор с ОУ, создадим обратную связь.
Помимо упомянутого выше блока, в этом же разделе имеется возможность работы и с другими блоками, в частности, с Main, обозначаемым как OB. Он предназначен для создания сигналов старта, рестарта и т.п. Иными словами, это организационный блок.
Находятся эти блоки легко благодаря навигации по проекту.
Рисунок 8 - Навигация по проекту
Вернемся к функциональному блоку, в нашем случае FB1.
В нем реализуем математическую модель, представленную в разделе 2.1. Для этого используем такие инструкции как SUB, MUL, ADD, DIV.
SUB выполняет роль сумматора, стоящего перед П-регулятором. MUL представляет собой сам П-регулятор. ADD - это второй сумматор в схеме, а DIV, по сути, это объект управления с выходом ук, формула его (2.2.6).
Теперь рассмотрим подробнее сами инструкции.
SUB - это вычитание. Данная функция интерпретирует значения на входах IN1 и IN2 как числа заданного типа данных. Она вычитает значение на IN2 из значения на IN1 и сохраняет разность на выходе OUT.
Рисунок 9 - Схематическое представление SUB
MUL - умножение. Так как П-регулятор формирует на выходе сигнал, пропорциональный входному, но с коэффициентом, то логично предположить, что регулятор можно заменить умножением на заданное нами число, что и сделали.
Эта инструкция интерпретирует значения на входах, одним из которых является наш коэффициент, а второй представляет выход с первого сумматора, умножает их и результат сохраняет на выходе OUT.
Рисунок 10 - Схематическое представление MUL
ADD - добавить. Как и у предыдущих инструкций у этой функции также два входа, значения которых интерпретируются в нашем случае в типе DINT, складываются и результат сохраняется на выходе OUT.
Рисунок 11 - Схематическое представление ADD
DIV - деление. Имеется два стандартных выхода IN1 и IN2, значения которых интерпретируются необходимым нам типом данных. При этом значение на IN1 (делимое) делится на значение на IN2 (делитель), а частное передается на выход OUT.
В случае недопустимого вычисления недействительное значение передается на выход.
Рисунок 12 - Схематическое представление DIV
Что касается EN и ENO, то первый - это разрешающий вход, второй - разрешающий выход. Если на входе присутствует единица, то есть течет ток, то функция выполняется. Если во время вычисления возникает ошибка, то разрешающий вход устанавливается в нуль, в противном случае - в единицу. Если выполнение функции не разрешено, то на входе будет нуль, разрешающий выход также обнуляется.
После выбора элементов необходимо прописать константы, входы и выходы, что и было сделано и представлено на рисунке ниже.
Рисунок 13 - Задание констант, входов и выходов
Здесь X и У подается на входы SUB IN1 и IN2 соответственно, OUT1 соответствует выходу OUT1. Затем значение на OUT1 подается на IN1 инструкции MUL, а на IN2 находится значение с1. Эти два значения перемножаются и результат записывается в U, таким образом у нас срабатывает П-регулятор. Значения, записанные на U и Yin нужны для функционирования второго сумматора, результат записываем в OUT3. Значение на последнем является входом IN1 DIV, на входе IN2 будет с2, которое равно одной целой одной сотой, это значение берется из знаменателя формулы (2.2.6). Результат записываем в Уout.
Рисунок 14 - Реализация математической схемы на TIA Portal
Заключение
В ходе выполнения курсового проекта был изучен теоретический материал по TIA Portal, Scada-системам, Simatic WinCC, FBD, OPC, Siemens s7 1500.
На основе чего в TIA Portal была реализована математическая схема, содержащая пропорциональный регулятор и объект управления. Для этого нами использовался функциональный блок с такими инструкциями как SUB, MUL, ADD, DIV, были установлены все необходимые входы и выходы.