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

  • Tutorial

Решил немного рассказать про систему визуализации от 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 и русскоязычную справку, а так же установить демо-примеры.

Еще несколько tips & tricks в случае уставшей операционки. При создании проекта проект в итоге не создается, этот этап «зависает». Первая возможная причина — неудачный старт системы в прошлом, когда не все менеджеры выгрузились. Необходимо убить все процессы, имя которые начинается с winccoa, вручную. Вторая, более сложная причина — один или несколько портов TCP, которые «слушает» WinCC OA, уже заняты другими процессами. Устранение этого выходит очень далеко за рамки вводной части.

Пару слов про лицензию. Хорошая новость — без лицензии система работает. И позволяет вести разработку. Плохая новость — каждые 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.

Смотрим сам файл:

[general]
pvss_path ="C:\Siemens\Automation\WinCC_OA\3.16\"
proj_path ="C:\Siemens\Automation\WinCC_OA\3.16\"
proj_version = "3.16"
langs = "en_US.utf8"
langs = "de_AT.utf8"
langs = "ru_RU.utf8"
lang = "auto"

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

[general]
pvss_path ="C:\Siemens\Automation\WinCC_OA\3.16\"
proj_path ="C:\Siemens\Automation\WinCC_OA\3.16\"
proj_version = "3.16"
langs = "en_US.utf8"
langs = "de_AT.utf8"
langs = "ru_RU.utf8"
#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
Новый проект в серии 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, благодаря ему видны все менеджеры, все распределенные системы, состояние этих менеджеров, загрузку каждого процессора, объем дисковой информации и так далее.

Database Manager отвечает за хранение данных. Archive Manager (6 штук) отвечают за тренды и архивы средствами встроенной в WinCC OA базы данных. Обратите внимание, что у каждого архивного менеджера в системе свой уникальный номер. Это касается любого менеджера, у всех менеджеров одного типа должен быть свой номер, который присваивается путем передачи аргумента -num в строке запуска.

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

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

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

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

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

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

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

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

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

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

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

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

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

Детализация типа
Детализация типа

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

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

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

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

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

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

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

Создано три DP
Создано три DP

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

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

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

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

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

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

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

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

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

Добавление конфига к DPE
Добавление конфига к 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"
Нажать "Configure"
Вызвать окно выбора точек данных для первого параметра
Вызвать окно выбора точек данных для первого параметра
В качестве первого параметры выбрать Flap1.Inputs.Position
В качестве первого параметры выбрать Flap1.Inputs.Position
Добавить параметр к список
Добавить параметр к список
Теперь задан параметр p1
Теперь задан параметр 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 и последующий импорт обратно.

Средняя зарплата в IT

113 000 ₽/мес.
Средняя зарплата по всем IT-специализациям на основании 10 037 анкет, за 2-ое пол. 2020 года Узнать свою зарплату
Реклама
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее

Комментарии 32

    +1
    Александр, я так полагаю Вы решили на хабре свою статью из ВК выложить для лучшей индексации поисковиками. Спасибо большое за Вашу работу. Кондрашки действительно отличный преподаватель, базовый двухдневный курс у него позволил лучше понять WinCC OA.
    Жаль только, что сейчас набегут ИТ-шники и начнут критиковать использование SCADA-систем и предлагать что-то вроде этого.
    Обычно промышленные предприятия не сильно заморачиваются за поддержку ПО, которое сделал на коленке работник, а потом кусают локти, когда этот работник увольняется.
    К счастью большинство уже перешло на общепромышленные решения в части верхнего уровня АСУ ТП.
      0
      Да, коллега, все верно. Я счел необходимым немного расширить охват своих заметок. Кроме того, хабр удобнее с точки зрения демонстрации программного кода прямо в тексте, а не скриншотами.

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

      Есть общепризнанный инструментарий для создания операторских систем в промышленности, это факт. Однако, ни законом, ни обществом не запрещено и не порицается брать любую среду разработки (особо сильные могут обойтись средствами vi и make) и «писать свою скаду».
      0
      главный вопрос к WinCC OA — зачем? (если есть обычная WinCC)
      в чем ее отличие от обычной WinCC?
      чем она лучше/хуже обычной WinCC?
      в каких случаях следует применять WinCC OA?
      в чем заключается открытость ее архитектуры (относительно обычной WinCC)?
        0
        Это веб поделие. Дух смузихлебства докатился и до Сименса (
          0
          Вы с WinCC Unified, очевидно, путааете
          0
          В меру своих убогих знаний постараюсь сформулировать отличия кратко. Под «обычной WinCC» буду предполагать классическую версию 7.

          Общая идеалогия. 7 — монолитная, ОА — модульная, основанная на менеджерах, общающихся на TCP. В ОА рассматривается и лицензируется система, а не набор хостов. Ничто не помешает даже однопользовательскую систему разнести на три физических хоста (1 — EV и драйверы, 2 — ui, 3 — архивы), при этом набор купленных компонент не меняется. На практике так, вряд ли, кто-то будет делать, но, тем не менее.

          Можно написать абсолютно любой менеджер или драйвер и интегрировать в свою систему.

          Кроссплатформенность. ОА, кроме винды, крутится еще на трех дистрах пингвина, причем, в рамках системы хосты могут быть на разных ОС.

          Наличие «катастрофоустойчивого» резервирования. Применяется на пара резервных серверов, а две таких пары, то есть 2х2

          Возможность построение распределенных систем. В самом простом случае пара строчек в конфиге, и две никак не связанные до этого системы, теперь имеют единую базу точек данных. Причем, как я понял, обмен между dist-менеджерами построен на принципах телемеханических протоколов и весьма похож на IEC104.

          Система фактически написана сама на себе. Это если грубо. Тот же модуль para является панелью «системного» (что-то вроде include) проекта, и его можно спокойно изменить/модифицировать.

          Возможность менять систему на лету и не только «ручными средствами» конфигурирования. Скриптами можно и добавлять точки данных, и изменять конфигурацию на лету, и создавать/добавлять панели.

          Область применения? А исходя из здравого смысла и дальнейших планов на развитие. Если в АСУ ТП находится пара-тройка S7-1511, и она всю жизнь будет в stand alone режиме, то тут в WinCC Professional может оказать много, можно и Advanced обойтись.

          А если речь идет про управление магистральных нефтепроводов или любую другую распределенную системы в пару миллионов внешних сигналов, то это совсем другое дело.

            0
            Общая идеалогия. 7 — монолитная,
            ОА — модульная, основанная на менеджерах, общающихся на TCP.

            В обычной «сервер алармов», «сервер трендов», «сервер сбора данных», «визуализация», «сервер скриптов» (есть же окошко настроек, в котором указываешь какие части запускать при старте Runtime) — не модульно?

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

            А именно что: экраны, процессоры, узлы, теги ввода\вывода, устройства?
            разве в обычной WinCC лицензируется «набор хостов»?

            Можно написать абсолютно любой менеджер или драйвер и интегрировать в свою систему.

            На чем?
            В чем?

            Вообще вопрос то был простой примитвный… приземленный: обычная WinCC плохо проворачивает свои же Сишные скрипты (успела… не успела… что не успела — пропустила и так сойдет (на раз в секундовом SWITCH_CASE проверяли), VB не проверяли, может там лучше) — как со скриптами у WinCC OA?

            Есть ли какое средство отладки скриптов чуть более удобное, чем printf в консоль в обычной WinCC?

            Библиотечный графический объект в обычной WinCC (типа один раз слепил объект насоса из круга с анимацией цветом, числовым полем, текстовая надпись, привязка всплывающего окошка с параметрами/настройками насоса, а потом раскидал десяток экземпляров по мнемосхемам и привязал только меняющуюся часть у тегов (типа TagPrefix, но чтоб можно было замещаемые части в любой части имени тега вставлять и любое количество раз, типа как в Citect у джинов)) и если надо исправить, то меняешь библиотечный, а экземпляры подхватывают изменения автоматом — есть подобное в WinCC OA?

            Комментарии к тегам в WinCC OA осилили добавить?

            Аналоговые алармы в WinCC OA так же дико как в обычной WinCC добавляются?

            В WInCC OA можно квитировать аларм из скрипта (или еще как, но в дисплее алармов, а ткнув в картинку технологического объекта с этим алармом ) зная только имя тега, к которому привязан аларм?

            WinCC OA можно заставить экспортировать алармы/тренды в стороннюю БД?

            Импорт/экспорт тегов делается также через пришлепку к MS Excel, которая запросто сотрет все 200 строк, которые только что вставили (потому что то ли много за раз то ли опечатку в имени тега увидел) и вешает венду и рисует белыми квадратами?
              0
              Коллега, Вы обратили внимание, что эта заметка называется «Часть 1»?
              Вопросов, тем не менее, задали уже на 15 частей вперед. Материал переносится сюда не сразу, постепенно ответы будут.
              Если не терпится, то vk.com/@akcount, там гораздо больше.
                0
                Можно написать абсолютно любой менеджер или драйвер и интегрировать в свою систему.
                На чем?
                В чем?

                Есть два варианта:
                • на С++, используя предоставляемый вендором пакет библиотек. Так можно писать свои библиотеки и графические элементы, которые система видит как родные. (само ядро WinCC OA на Qt написано)
                • на C# писать своё приложение с доступом к базе реального времени через API, но там надо лицензию докупать на использование API

                  0
                  Вообще вопрос то был простой примитвный… приземленный: обычная WinCC плохо проворачивает свои же Сишные скрипты (успела… не успела… что не успела — пропустила и так сойдет (на раз в секундовом SWITCH_CASE проверяли), VB не проверяли, может там лучше) — как со скриптами у WinCC OA?

                  В основе WinCC OA лежит событийная модель, а все скрипты, которые работают с тегами, делают это по подписке. То есть, если событие сгенерировано, оно будет обработано.
                    0
                    Есть ли какое средство отладки скриптов чуть более удобное, чем printf в консоль в обычной WinCC?

                    Есть дебаггер, но, честно признаюсь, пока не осилил. В консоль как-то проще.
                    В версии 3.17 добавили фреймворк для тестирования, так что теоретически можно заморочиться и автотесты к скриптам прикрутить.
                      0
                      Библиотечный графический объект в обычной WinCC (типа один раз слепил объект насоса из круга с анимацией цветом, числовым полем, текстовая надпись, привязка всплывающего окошка с параметрами/настройками насоса, а потом раскидал десяток экземпляров по мнемосхемам и привязал только меняющуюся часть у тегов (типа TagPrefix, но чтоб можно было замещаемые части в любой части имени тега вставлять и любое количество раз, типа как в Citect у джинов)) и если надо исправить, то меняешь библиотечный, а экземпляры подхватывают изменения автоматом — есть подобное в WinCC OA?
                      Комментарии к тегам в WinCC OA осилили добавить?
                      Аналоговые алармы в WinCC OA так же дико как в обычной WinCC добавляются?
                      В WInCC OA можно квитировать аларм из скрипта (или еще как, но в дисплее алармов, а ткнув в картинку технологического объекта с этим алармом ) зная только имя тега, к которому привязан аларм?
                      WinCC OA можно заставить экспортировать алармы/тренды в стороннюю БД?

                      И к модели данных и к модели графики есть полный доступ из скриптов.
                      Из скриптов можно создавать и удалять теги, создавать и удалять графические компоненты на экране, писать в файлы, реляционные базы данных, делать post и get запросы. Проще сказать, чего нельзя. Нельзя импортировать .Net библиотеки, wpf контролы и activeX компоненты (если сильно хочется, надо на С++ писать).
                      Библиотечные графические элементы есть.
                      Настраивается и кастомизируется в свойствах тега всё, что только можно себе представить.
                      0
                      Из-за названия продукта складывается впечатление, что это та же WinCC, только в профиль. На самом деле WinCC OA — это отдельный продукт с другой архитектурой. Сам Сименс позиционирует его как нечто среднее между языками программирования типа C++ и SCADA системами типа WinCC. Соответственно, порог вхождения для работы с ней повыше будет, чем для того же WinCC или InTouch, зато и возможностей для реализации чего-нибудь нестандартного гораздо больше.
                  0

                  Интересная скада, гибкая, с поддержкой многопоточности (в отличие от классической wincc) многие вещи работают из коробки (snmp например), но купить ее в российском Сименсе — это квест, который полностью отбивает всё желание её использовать.

                    0
                    Потому что это разработка не Сименс, это PVSS, купленная вместе с фирмой в 2007г.

                    До сих пор не интегрирована в SIOS (единый портал ТП для АСУТП Сименса), тех.поддержка вроде тут (у отдельной фирмы?)

                    Документацию в открытом доступе я не нашел, хотя особо и не старался. Такая вот OPEN…

                    Вот купить по идее, не проблема, в департаменте A&D, IA&DT, тьфу DFPD =)

                    Собственно, прежде чем связываться, я бы советовал очень хорошо понимать дальнейшие пути действий.
                      0

                      Купить проблема, если приобретаете не под конкретный проект, а для того чтобы оценить потенциал программного продукта, протестировать в связке со своим оборудованием. Несколько месяцев общения как с официальными дилерами, так и самим Сименсом не принесли результатов.
                      С документацией действительно проблема, но особых проблем с настройкой не возникло.
                      А связались с этим продуктом в основном из-за кроссплатформенности, классическая wincc под виндой уже не проходит по требованиям ИБ.

                        0
                        классическая wincc под виндой уже не проходит по требованиям ИБ.
                        Хм. У всех проходит, у вас не проходит. Ну да ладно, СЗЗБ.
                          0
                          Потому что WinCC OA де-факто это не коробочный продукт, а проектный.
                            0
                            В Европе почему-то вполне себе коробочный.
                            И вообще закупать кота в мешке не протестировав продукт в «боевых» условиях — это на большого любителя.
                            П.С. К счастью, для меня тема общения с Сименсом уже не актуальна.
                              +1
                              В Европах коробочно он продается партнерскими компаниями, которые его до коробочной версии специально допилили, например тот же Cleverdist. До версии 3.17 его даже не было в Industry Mall.
                              Никто не мешает вам зарегестрироваться на портале WinCC OA и скачать демо-версию и документацию.
                                0
                                1. Не надо мне рассказывать как он продается в Европе, прошёл через это, купил, потестил, всё ок.
                                2. Никто не мешает, Вы правы, более того, я там зарегистрирован и весь доступный контент у меня есть, проблема в том, что демо версий недостаточно для полноценного тестирования продукта. 61850, например, в демке не работает.
                                  П.С. Думаю нет смысла в продолжении диалога, я лишь описал проблемы, с которыми столкнулся я и с которыми, соответственно, могут столкнуться другие люди.
                          +1
                          А что не так с документацией? При установке дистрибутива вместе с ним ставится полный комплект документации, где описаны вещи от состава тестового проекта и системных требований до нюансов конфигурации и разработки API.
                          Другое дело, что русскоязычная часть перевода отстаёт, при разработке лучше руководствоваться английской версией (или немецкой, перевод идёт параллельно), но это уже мелочи.
                            0
                            У остальных продуктов документация доступна на сайте SIOS. Это называется открытый доступ.

                            Или можно где скачать официально дистрибутив с докой вместе?
                              0
                              Потому что это разработка не Сименс, это PVSS, купленная вместе с фирмой в 2007г.
                              До сих пор не интегрирована в SIOS (единый портал ТП для АСУТП Сименса),

                              Интеграция в Сименс ещё идёт, с выходом версии 3.17 появились заказные номера и в каталог решений Сименса она попала. До этого заказать и купить действительно был тот ещё квест. Сейчас сильно проще.

                              тех.поддержка вроде тут (у отдельной фирмы?)

                              Это как раз та самая ETM, которая разработчик системы. У продукта недавно появился официальный сайт SIMATIC WinCC Open Architecture Portal, правда, там в разделе загрузок больше маркетинговые презентации.
                                0
                                Или можно где скачать официально дистрибутив с докой вместе?
                                Мы у регионального представительства Сименса брали, они охотно делятся.
                          0
                          ну и killer feature WinCC (в связке с ПЛК Siemens) — метка времени аларма от ПЛК (алармы генераться в ПЛК спец. блоками) — в WinCC OA она есть?
                            0
                            Есть драйвера для связи с ПЛК Сименс (S7 и S7Plus).
                            Из документации:
                            С помощью алармов S7 системы WinCC OA можно инициировать запуск и квитировать в WinCC OA алармы, которые до сих пор существовали только в ПЛК. Т.е., квитированием в WinCC OA алармы также квитируются и в ПЛК.

                            Лично этот функционал не пробовал, так что подробнее прокомментировать не могу.
                              0
                              Судя по мануалу и настройкам драйвера S7plus — есть.
                              0

                              Опписание, о чем идет речь, не помешало бы. Не все знают, что такое WinCC. Первая часть все-таки

                                0
                                В вводной части статьи ссылка на презентацию приведена.

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                              Самое читаемое