wincc logging для чего нужен

Самоучитель по WinCC OA. Часть 5. Работа с журналом тревог

(* Начиная с этой части я перешел на версию WinCC OA 3.17. Никаких отличий в масштабах базового курса не будет. Изменятся лишь надписи на скриншотах.*)

Добавляем к DPE Torque точки данных Flap1 конфиг «Alert Handling»

Открываем настройки добавленного конфига. Обратите внимание, что внешний вид настройки Alert Handling зависит от типа переменной, к которой относится сам аларм. В настоящий момент мы работаем с типом данных bool, внешний вид окна следующий.

Good range касается значения самое переменной — какое из значений является «плохим» (т.е. при каком значении считаем, что аларм сработал), а какое — «хорошим» (аларма нет). Так же задаем текст при появлении аларма и его исчезновению. Зададим этот текст, как «came» (пришло) и «went» (ушло). За «хорошее» значение будем считать битовое значение «ложь», т.е. аларма нет.

Класс аларма — весьма важный параметр. Он определяет многие аспекты отображения сигнализации: какой будет цвет, задействовано ли мерцание, будет ли звуковое уведомление, требуется ли квитирование и т.д. Выбираем класс S7_Alarm и ставим галочку рядом со словом «Active». После выставления аларма активным все настройки становятся недоступны. Обратите внимание, что настройки активного аларма недоступны для редактирования не только на визуальной форме, но и средствами скриптов (а скриптами в WinCC OA можно много чего сделать, включая и динамическую работу с алармами). Настройки допускается менять только для неактивных алармов.

Перейдем в модуле para на конфиг original, посмотрим текущее значение и поменяем его на «истину».

Текущее значение переменной FALSE, аларм неактивен Текущее значение переменной TRUE, аларм активен, текст мигает очень быстро

Вернем значение переменной в FALSE. Текст аларма остается «came», продолжает мигать, изменилась лишь интенсивность его мигания.

Данный класс алармов подразумевает необходимость квитирования. Для подтверждения аларма в этом окне необходимо нажать кнопку Acknowledge, после чего все вернется в «нормальное» состояние.

Возникает вопрос — где можно ознакомиться с настройками каждого класса алармов? Как можно модифицировать существующий класс алармов или задать свой класс? Это реализуется через точки данных (вообще любые настройки системы живут либо в точках данных, либо в конфиг-файлах). Ну, а если что-то доступно через точки данных, то это что-то вполне возможно модифицировать через программный код. Правда, сейчас мы этого делать не будем. Лучше посмотрим модуль para и поищем нужные точки данных.

На первый взгляд тут есть много точек данных, но где же DP, ответственные за классы алармов? Выставляем галочку Internal datapoints (внутренние точки данных) и видим, что полку точек данных заметно прибыло.

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

Тут и задается приоритет класса, сохранение алармов, необходимость квитирования, надо ли квитировать «прошлые» алармы, если тревога возникала неоднократно до действий оператора, цвет и шрифт текст алармов и т.д.

Только что мы смотрели, как работают алармы в модуле para. Это очень интересно и познавательно для разработчика, однако не очень удобно. Ознакомимся еще с одним способом просмотреть список событий. Для этого в меню gedi найдем и нажмем кнопку System Management

Перейдем в Diagnostics

И в появившемся окне нажмем на зеленый треугольник внизу панели

Откроем модуль para, найдем Flap1.Alarms.Torque и поиграем с его значениями

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

Если задать Time range в Open и выбрать Historical Data, то мы сможем увидеть историю алармов.

В связи с тем, что тема алармов весьма обширная, а это всего лишь первый взгляд, не стоит удивляться некоторым непонятным вещам. Например, мне самому непонятно, почему в этой таблице Alarm text у нас везде состоит из одного слова «came» (нуууу… когда-нибудь, наверное, может быть, если фаза луны сойдется, то разберусь).

Alarmscreen тоже очень интересен. Смотреть на нем алармы куда лучше, чем в модуле para. Однако, мы делаем конечное приложение для конечного пользователя, т.е. для оператора. Удобно ли будет оператору каждый раз открывать через менюшки отдельное окно аварий? Лично я в этом сильно сомневаюсь. Давайте лучше займемся интеграцией окна сообщений в наше приложение пользователя.

Перейдем обратно в редактор gedi и откроем созданную ранее панель Flaps. Далее посмотрим внимательно на левую часть редактора gedi. Кроме нашего проекта (у меня он называется Workshop) есть еще один проект с названием 3.17 (в самом начале этой главы я уже признался, что перешел на новую версию, а так был бы проект с названием «3.16»), который мы точно сами не создавали. Его можно развернуть и поизучать, там много всего интересного — скриптов, библиотек, панелей и т.д. Пытливые умы потратят немало времени на ознакомление.

По сути, это и есть «ядро» системы WinCC OA. Этот проект содержит все или почти все, относящееся к самой платформе — gedi, para, панель Project Administrator, панель консоли, вся логика. И, вуаля, всем этим можно пользоваться в своих приложениях. Вот, например, я открыл в редакторе gedi панель para. Его можно изменить. И использовать в своих целях измененную копию. Про модификацию стандартных (или системных?) компонент WinCC OA поговорим чуть попозже в этой же части. А сейчас наша задача — разместить окно с алармами в окне пользовательского приложения.

Редактировать модуль para пока не будем (хоть и очень хочется)

Внизу у нас появился небольшой элемент отображения

Проверим, работает ли оно вообще, для чего зададим в модуле para значение «истина» для аварийного сигнала.

Как видно, работает Скрыл модуль para, аларм есть и активно мигает (чего на видно на скриншоте)

Теперь поговорим немного о модификации стандартных компонент WinCC OA. Например, сейчас я растянул в высоту окно отображения алармов. В нем добавилось строк, однако кнопки и цифры в правой части растянулись в высоту, что плохо влияет на эстетику. Упростим себе задачу и просто уберем эти кнопки.

Для этого в редакторе gedi кликнем правой кнопкой на AESRow и выберем Open panel reference

Откроется «оригинальная» панель

Удалим «некрасивые» кнопки и цифры

Нажмем Save и увидим следующее окно

Ответим утвердительно, после чего редактируемая нами панель сохранится в виде копии в структуре нашего проекта «Workshop», а не по «системному» пути. В нашем проекте мы будем работать с этой копией. Теоритечески можно сохранять по системному пути (например, путем подмены файлов), то эти изменения становятся общими для всех проектов WinCC OA, что нежелательно. Особенно негативно сохранение по системному пути, а не в виде локальной копии, может сказаться после установки патчей. Патчи могут корректировать, в том числе, и системный проект, и даже ту панель, которую вы изменили. Вероятность этого всегда отлична от нуля. Соответственно, устанавливая патч, вы рискуете утратить свои изменения, если сохранили их в системный проект.

Читайте также:  какие толкования правового обычая предлагают юристы дайте ответ с опорой на текст

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

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

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

Последний пример в этой части — визуализация пиктограмм технологического оборудования, находящегося в аварином состоянии, тем же способом (цвет, мерцание и т.д.), который задан соответствующему классу аварий. Для этой демонстрации разместим на панели Flaps окружность (Circle).

Зададим динамизацию события Initialize через визард, как уже делали ранее для задвижки. Выбираем в визарде Change color

Выбираем Background color и Alert Handling, жмем Next. Выбор Alert Handling позволит системе подтянуть значение цвета от аларма.

Выбираем Datapoint element

Жмем Next, а в следующем окне — Finish. Запускаем на проверку и смотрим, что получилось. В настоящий момент аларм у меня активен и не подтвержден, круг быстро моргает серым и красным (как и класс алармов S7_Alarm).

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

Взглянем на полученный скрипт

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

Источник

WinCC Logging

Разделы

Особенности

Область применения

Функции

Технические данные

WinCC Logging для Runtime Advanced

Значения технологических параметров, сообщения

Циклическая фиксация архивируемых значений технологических параметров (переменных)

Максимальное количество записей на архив(включая последовательные архивы)

Кольцевые архивы, последовательные архивы (до 400 на архив)

Формат сохранения данных

CSV (Comma Separated Variable),RDB (Runtime Data Base),Базы данных Microsoft SQL (база данных в комплект поставки не включена)

1) Зависит от объема памяти носителя данных

WinCC Logging для Runtime Professional

Количество архивов на одноместную станцию/ сервер

Значения технологических параметров, сообщения

Скорость архирирования на одноместной станции/ сервере, не более

5 000 записей в секунду

Количество архивируемых тегов на одноместную станцию/ сервер

Кольцевые архивы с или без долговременного архивирования

Формат сохранения данных

База данных Microsoft SQL 2005

2) Зависит от лицензии на количество архивируемых переменных. Базовый пакет содержит лицензию на архивирование 500 переменных.

Заказные данные

Заказной номер PG Описание продукта Цена
6AV2107-0GA00-0BB0 277 SIMATIC WINCC LOGGING ДЛЯ RUNTIME ADVANCED, ОПЦИЯ ДЛЯ WINCC (TIA PORTAL), ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК. ЛИЦЕНЗИОННЫЙ КЛЮЧ НА USB, CLASS A 270.30
6AV2107-0GB00-0BB0 276 SIMATIC WINCC LOGGING ДЛЯ RUNTIME PROFESSIONAL, 1500 ЛОГОВ ТЕГОВ, ОПЦИЯ ДЛЯ WINCC (TIA PORTAL) ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК., ЛИЦ. КЛЮЧ НА USB, CLASS A 2486.76
6AV2107-0GD00-0BB0 276 SIMATIC WINCC LOGGING ДЛЯ RUNTIME PROFESSIONAL, 5000 ЛОГОВ ТЕГОВ, ОПЦИЯ ДЛЯ WINCC (TIA PORTAL) ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК., ЛИЦ. КЛЮЧ НА USB, CLASS A 8325.24
6AV2107-0HA00-0BB0 277 SIMATIC WINCC RECIPES + LOGGING ДЛЯ RUNTIME ADVANCED, ОПЦИЯ ДЛЯ WINCC (TIA PORTAL), ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК. ЛИЦЕНЗИОННЫЙ КЛЮЧ НА USB, CLASS A 424.00
6AV2107-2GD00-0BD0 276 SIMATIC WINCC LOGGING ДЛЯ RUNTIME PROFESSIONAL, РАСШИРЕНИЕ ВОЗМОЖНОСТЕЙ С 1500 ДО 5000 ЛОГОВ ТЕГОВ, ПРОГРАММНАЯ ОПЦИЯ ДЛЯ WINCC (TIA PORTAL) ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК., ЛИЦ. КЛЮЧ НА USB, CLASS A 5838.48
6AV2107-4GX00-0BF0 276 SIMATIC WINCC LOGGING, ОБНОВЛЕНИЕ ДЛЯ SIMATIC WINCC ARCHIVES V7.0 ДО ОПЦИИ LOGGING ДЛЯ WINCC (TIA PORTAL), ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК., 10 ЛИЦ. КЛЮЧЕЙ НА USB, CLASS A 32.86

Компания Инженерное Бюро ООО «Авиган», предлагает Разработку и внедрение энергосберегающих технологий для предприятий различных отраслей промышленности.

Источник

Опциональные пакеты для SIMATIC WinCC (TIA Portal) / WinCC Logging

Более подробную информацию можно узнать у нас по телефону +7(812)385-50-34 | 8(800)555-97-29

6AV2107-0GB00-0BB0

SIMATIC WINCC LOGGING ДЛЯ RUNTIME PROFESSIONAL, 1500 ЛОГОВ ТЕГОВ, ОПЦИЯ ДЛЯ WINCC (TIA PORTAL) ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК., ЛИЦ. КЛЮЧ НА USB, CLASS A

6AV2107-0GD00-0BB0

SIMATIC WINCC LOGGING ДЛЯ RUNTIME PROFESSIONAL, 5000 ЛОГОВ ТЕГОВ, ОПЦИЯ ДЛЯ WINCC (TIA PORTAL) ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК., ЛИЦ. КЛЮЧ НА USB, CLASS A

6AV2107-0HA00-0BB0

SIMATIC WINCC RECIPES + LOGGING ДЛЯ RUNTIME ADVANCED, ОПЦИЯ ДЛЯ WINCC (TIA PORTAL), ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК. ЛИЦЕНЗИОННЫЙ КЛЮЧ НА USB, CLASS A

6AV2107-0GA00-0BB0

SIMATIC WINCC LOGGING ДЛЯ RUNTIME ADVANCED, ОПЦИЯ ДЛЯ WINCC (TIA PORTAL), ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК. ЛИЦЕНЗИОННЫЙ КЛЮЧ НА USB, CLASS A

6AV2107-2GD00-0BD0

SIMATIC WINCC LOGGING ДЛЯ RUNTIME PROFESSIONAL, РАСШИРЕНИЕ ВОЗМОЖНОСТЕЙ С 1500 ДО 5000 ЛОГОВ ТЕГОВ, ПРОГРАММНАЯ ОПЦИЯ ДЛЯ WINCC (TIA PORTAL) ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК., ЛИЦ. КЛЮЧ НА USB, CLASS A

6AV2107-4GX00-0BF0

SIMATIC WINCC LOGGING, ОБНОВЛЕНИЕ ДЛЯ SIMATIC WINCC ARCHIVES V7.0 ДО ОПЦИИ LOGGING ДЛЯ WINCC (TIA PORTAL), ИСПОЛНЯЕМОЕ ПО, ОДИНОЧНАЯ ЛИЦЕНЗИЯ, БЕЗ ПО И ДОК., 10 ЛИЦ. КЛЮЧЕЙ НА USB, CLASS A

Не нашли что искали? Позвоните нам по телефону +7(812)385-50-34 | 8(800)555-97-29 или Оформите заявку, наши специалисты ответят на ваш вопрос.

Промышленное оборудование из Германии

188692, Санкт Петербург, пос. Кудрово, ул. Центральная, д. 41

Источник

Самоучитель по WinCC OA. Часть 1. Создание проекта и модуль para

Решил немного рассказать про систему визуализации от Siemens под названием WinCC OA. Эта SCADA на рынке России распространена гораздо меньше классических версий WinCC (и tia-портальных тоже), знаний по ней в открытом доступе достаточно мало, знаниями делятся неохотно. В ряде моментов WinCC OA радикально отличается от обычных распространенных SCADA, поэтому для начала необходимо усвоить базис.

Перед усвоением этого базиса я рекомендую в общем ознакомиться с архитектурой построения WinCC OA. Лучший способ такого ознакомления — найти в Интернете записи вебинаров и выступлений эксперта по WinCC OA Кондрашкина Андрея. Рекомендую эту запись. Андрей Геннадьевич — очень мощный специалист и прекрасный докладчик. Настоящий цикл заметок, собственно говоря, и основан на его двухдневном вводном обучении.

Можно углубиться в изучении вопроса и дальше, например — ознакомиться с аддонами SmartSCADA или Preactor, но это выходит очень далеко за рамки базового понимания системы. Самое главное, что необходимо вынести из этого ролика — это понимание архитектуры WinCC OA. Например, то, что система состоит из отдельных законченных функциональных единиц, которые называются «менеджерами». Менеджер выполняет строго свою заданную роль. Центральным звеном всей системы является менеджер событий (event manager или EV). Есть менеджер визуализации, User Interface или ui. Есть драйвера, например — s7. Есть менеджер для выполнения скриптов, control. Все менеджеры общаются друг с другом посредством центрального EV по стандартному протоколу TCP/IP, вне зависимости от того, находятся они на одном физическом ПК, или разнесены на несколько.

Читайте также:  Что такое одноименная фаза

Вторая важная отличительная черта, которую необходимо понять. OA — это система событийная. В ней почти отсутствует постоянный polling данных. Изменение показаний на экране оператора произойдет только в случае изменения значения соответсвующей переменной в контроллере.

Третье. Все или почти все реализовано скриптами (»Что нельзя запрограммировать на Ассемблере, можно спаять» (с) ) и текстовыми файлами. Необходимо зажечь лампочку на мнемосхеме? Скрипт. Причем скрипт, который подвязывается к изменению переменной и выполняющий определенные действия только по этому изменению автоматически.

Итак, приступаем. В первую очередь необходимо найти установщик и поставить саму систему на свой компьютер. Инсталяцию, я думаю, можете запросить в ближайшем к вам бюро Сименс. Что касается самого процесса установки, то он весьма шустрый, инсталлятор занимает порядка 1 ГБ. Процесс установки в подавляющем числе случаев проблем не вызывает. По крайней мере, на мой программатор, на котором уже трудится то ли 3, то ли 4 версии одного только TIA Portal, система установилась. В самых плачевных случаях, когда операционка забита всем, чем можно и нельзя, процесс установки может идти с ошибками, в частности — ругаться на майкрософт редистрибьютабелс. Тогда необходимо завершить установку и грохнуть все редистрибьюталсы вручную, обычно помогает. Как вариант- применять все в рамках свежей виртуальной машины. В процессе инсталляции рекомендую отметить галочками драйвер S7plus и русскоязычную справку, а так же установить демо-примеры.

Пару слов про лицензию. Хорошая новость — без лицензии система работает. И позволяет вести разработку. Плохая новость — каждые 30 минут все пользовательские интерфейсы (ui) будут закрываться. В WinCC OA инженерная среда (эти менеджеры называются «para» для редактирования базы данных и «gedi» для редактирования визуализации) тоже является пользовательским интерфейсом, поэтому и она тоже будет закрываться без возможности нажать кнопку «сохранить». Помните это — только 30 минут работы. Таймер в 30 минут накопительный. Вы можете поработать 10 минут, закрыть все ui и открыть заново, но таймер не начнет считать время с 30 минут, а лишь с 20. В общем, работа без лицензии требует изрядной внимательности, увлечься разработкой можно, но чревато потерями результатов труда.

И, напоследок. Все примеры и все скриншоты у меня приведены для англоязычной среды разработки. С моей точки зрения необходимо работыть в инженерных средах без перевода, языковой минимум инженера — уметь читать документацию на английском языке. Однако, если кто-нибудь из читателей предпочитает русский язык, то у меня есть для них хорошая новость — все переведено «из коробки». По умолчанию WinCC OA запускает интерфейс на языке операционной системы, у меня он английский. Для того, чтобы задать конкретный язык, необходимо закрыть все работающие модули и программы WinCC OA и открыть в редакторе файл C:\Siemens\Automation\WinCC_OA\3.16\config\config

Путь файла может отличаться, если вы выбрали другий путь установки или у вас используется другая версия WinCC OA.

Если изменить lang = «auto» на lang = «ru_RU.utf8», то система запустится на русском языке.

Символ # коментирует (фактически — отменяет) строчку конфигурации lang, и в результате актуальной является следующая строчка lang, в которой уже явно прописан русский язык:

Способ попроще — кнопка в меню «администратора проектов»

Приступим к созданию проекта. Для этого необходимо запустить программу WinCC OA Project Administrator.

Когда кому-нибудь потребуется лицензировать систему, то вам понадобиться hardware code хоста в случае, если лицензия идет через простой shield-file. Для этого в верхнем меню есть кнопка «Get hardware code».

Далее создаем новый пустой проект. Для этого наверху есть кнопка «New project». Если вы работаете с версией 3.17, необходимо выбрать Legacy Standart Project.

Новый проект в серии 3.16

Выбираем стандартный проект.

Указываем имя проекта и путь. Оставляем галочку Runnable (запускаемый) и при необходимости выбираем языки проекта. В версии 3.17 дополнительное появляется галочка «Use NextGenArchiver», не надо ее выбирать, она касается системы трендов «нового поколения», в то время, как эти заметки основаны на «старом поколении». Английский язык должен быть выбран обязательно. Если планируется многоязычный проект, то набор языков необходимо определить прямо на этом этапе. На курсах по WinCC OA на этом акцентируют особое внимание. Использование русских букв в названии файлов и папок не рекомендуется.

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

Через несколько секунд появится окно с подверждением создания проекта.

Сразу покажу, как редактировать конфиг-файл проекта. Выбираем проект (на скрине выше он уже выбран) и нажимаем кнопку «Change project properties», далее нажимаем кнопку «Edit config file» и выбираем файл конфигурации проекта.

Редактирование проекта Выбор конфиг-файла проекта Редактирование конфига проекта

Очень многое в системе делается через конфиг. Важное замечание. Конфиг-файл всегда должен заканчиваться пустой строкой. Закроем конфиг-файл и запустим проект. Для запуска проекта необходимо нажать на кнопку с зеленым светофором. После этого на экране появится весьма много окон.

Предупреждение об отсутствии лицензии. Ну, тут остается только нажать кнопку ОК. Окно со вводом root’ового пароля. В нашем случае пароль не задан, так же жмем ОК. Сразу после этого откроется окно с редактором gedi, но сейчас нас больше интересует окно WinCC OA Console

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

Process Monitor. Этот менеджер есть на любом хосте системы (даже если на хосте нет Event Manager). С помощью pmon работает система дигностики WinCC OA, благодаря ему видны все менеджеры, все распределенные системы, состояние этих менеджеров, загрузку каждого процессора, объем дисковой информации и так далее.

Control Manager. Контрол — это менеджер, отвечающий за исполнение скриптов. В данном случае, как я понимаю, запускается ядро системы (или системные скрипты).

Последний менеджер — ui в режиме gedi, среда разработки.

В правой части находятся кнопки управления менеджерами. Слева от имени менеджера находится численная индикация его состояния.

Например, сейчас я остановил менеджер ui, его код состояния 0 (остановлен) и цвет красный (может быть белым, если менеджер еще не стартовал в системе). Код 1 — менеджер запускается, код 2 — менеджер в работе, код 3 — неопределенное состояние. Если менеджер подсвечивается фиолетовым цветом, это означает, что он пытался запуститься, падал по ошибке и подняться снова, но превышено количество повторных запусков.

Далее откроем менеджер gedi (в моем случае — запустим gedi через консоль) и через него откроем редактор para

В редакторе gedi нажать кнопку, выделенную на скриншоте Модуль редактирования данных para

Para предназначен для создания типов точек данных и самих точек данных. В общем понимании тип точки данных, data point type — это объявление структуры, а сама точка данных (data point) является непосредственным экземпляром структуры этого типа. Да, именно так организована база данных сигналов в системе WinCC OA. Грамотно составить модель данных — это очень важный шаг, и его необходимо продумать еще на начальном этапе.

Читайте также:  какие тарифы мтс доступны в крыму 2021

Например, аналоговый датчик содержит в себе как само значение аналогового сигнала, флаги состояния (достоверность, выход за границы и т.д.), а так же все уставки (пределы измерения, аварийные и предупредительные уставки, например). Задвижка? Концевики открыто и закрыто, промежуточное состояние, команды открыть/закрыть, задание времени контроля выполнения команды (таймаут на открытие/закрытие) и т.д.

Создадим тип точки данных

Создать тип точек данных Объявить имя типа точек данных

Имя DPT (data point type) — Flap. Далее посредством правой кнопки мыши и пункта меню Add node создаем следующую структуру.

Задать структуру типа точек данных

Добавим еще один уровень вложенности

Получается следующая структура. Входа (inputs) клапана — это его положение (Position) и расход (Flow), команды (Commands) клапана — открыть (Open) и закрыть (Close), аварии клапана — момент (Torque). Данная структура в настоящий момент состоит только из узлов, листьев (конечных элементов) нет. А ведь те же Position и Flow должны быть аналоговыми величиными, а Open, Close и Torque — булевыми. Чтобы привести структуру в завершенный вид надо назначить его листьям тип данных:

Назначение типов переменных для «листьев» структуры Конечный вид типа точек данных Flap

Для упрощения Position и Flow — тип данных int, остальные конечные элементы — bool. По нажатию кнопки ОК в списке появляется тип данных Flap (пока еще без экземпляров, без DP, так как создан только DPT).

Создан тип точек данных

Если навести курсор на Flap и нажать правую кнопку мыши, то появится меню, из которого выбираем «Create datapoint»

Создать точку данных типа Flap Указать имя точки данных

Точке данных необходимо присвоить имя. Я создам сразу три DP: Flap1, Flap2 и Flap3.

Развернем DP с именем Flap1

Развернутый вид DP Flap1 в модуле para

Тут мы видим, что кроме созданных узлов иерархии и конечных точек появились еще и элементы, которые мы не создавали. Их имена начинаются с нижнего подчеркивания: _original, _common и _lock. В системе WinCC OA они называются конфиги. Каждый конфиг отвечает за какую-то функциональность. Это позволяет настраивать каждый DPE (datapoint element) индивидуально.

Конфиг original для элемента точки данных

original — это один из самых главных конфигов DPE. Он содержит значение DPE в системе и его метку времени. В настоящий момент значение равно 0, а метка времени 01.01.1970. Метка времени задается по аналогии с unix time, поэтому отсчет времени ведется с 1970 года. Изменим значение Flap1.Inputs.Position.original прямо в конфигураторе para

Задание значения для DPE

Мы видим не только новое значение и метку времени его изменения, но так же и пользователя, и имя менеджера и номер системы, откуда пришло изменение. Так же доступны и вспомогательные биты (variable bits). Первые 5 или 6 бит выставляются системой (признак качества, например), а остальные доступны для назначения пользователем.

Обратите еще внимание, что поле Original Value доступно для ввода (в настоящий момент времени все эти DPE — внутренние тэги, так как не привязаны ни к какому драйверу), а Online Value — нет. В большинстве случаев эти значения совпадают. Original — это, грубо говоря, то, что «прилетает с поля», а Online — значение переменной в самой системе. Когда они могут не совпадать? Например, если мы реализовали функционал контроля выхода переменной за пределы. Например, если с поля прилетает значение 12, в то время, как максимальное значение — 10, то мы можем задать Online = 10 и выставить бит плохого качества.

Кликнем правой кнопкой по DPE Position (Flap1) и посмотрим, какие еще конфиги бывают в системе, и за что некоторые из них отвечают.

Добавление конфига к DPE

Archive settings отвечает за помещение значения в историческую базу данных.

Alert settings — за журнал тревог и сообщений.

Periphery address — значение переменной берется с драйвера или OPC-сервера и является внешним тэгом. Именно эти DPE считаются в лицензии. То есть, количество тэгов в проекте — это количество DPE, на которые навесили конфиг «переферийный адрес».

Command conversion и Message conversion — преобразование из инженерных в «физические» (там все, что угодно может быть — код АЦП, миллиамперы и т.д.) величин и обратно.

Default value и Value Range — отвечают за допустимый диапазон значений и подстановку, в случае недостоверности значения.

Smoothing — сглаживание значения аналоговой величины. Весьма важный конфиг с точки зрения производительности системы. Актуален в случае, если драйвер производит постоянный опрос (polling) значения с контроллера. При отсутствии этого конфига каждое новое значение переменной, полученное с ПЛК (например, период опроса для драйвера s7 по умолчанию составляет 100 мс или 10 раз в секунду), будет улетать в сторону EV. Но зачем грузить менеджер событий (как и всю систему) пустой обработкой? В этом случае можно настроить порог, по превышению которого система будет учитывать изменение значения и отдавать его в обработку. В противном случае драйвер продолжает работать тихо, сам по себе, никуда далее сообщения не отсылая. Возможностей выстроить склаживания дано достаточно, начиная с простого сравнения «новое/старое».

Authorization — назначение уровня прав доступа к переменной

Datapoint function — простая математическая обработка значения. Разберем на примере. Создадим конфиг Datapoint function для DPE Flap3.Inputs.Position

Появляется конфиг _dp_fct, жмем кнопку Configure и выполняем следующие действия

Нажать «Configure» Вызвать окно выбора точек данных для первого параметра В качестве первого параметры выбрать Flap1.Inputs.Position Добавить параметр к список Теперь задан параметр p1

Так мы задали первый параметр для функции обработки. Аналогичным образом (или просто заменив Flap1 на Flap2 в строчке с названием «p..=») зададим второй параметр.

Далее в нижней части в строчке «Function» пишем «p1 + p2»

..и жмем ОК. Смотрим конфиг _original для DPE Flap3.Inputs.Position

В принципе, все правильно, так как положение Flap1 у нас равно 10 (недавно задавали его значение вручную), а Flap2 равно 10, итого 0 + 10 = 10.

Кстати, обратите внимание, что конфиги навешиваются на DPE индивидуально, а не являются частью DPT (типа точки данных). В этом случае возникает закономерный вопрос — а что делать в случае массивого тиражирования объектов в системе? Ладно, если точек данных три, а если три тысячи? Настраивать каждую вручную — излишне трудозатратно и неэффективно. В этом случае есть два варианта. Первый — использование Master Datapoint. Это своего рода шаблон, на базе которого можно проводить тиражирование. Проблема в том, что при необходимости внести нестандартную для общей канвы конфигурацию, это будет сделать затруднительно. Второй способ — это экспорт данных во внешний мир, тиражирование DP в Excel и последующий импорт обратно.

Источник

Информ портал о технике и не только