Category Archives: MasterSCADA

Подключение ПЧ Delta к MasterSCADA

Данный пример демонстрирует работу с частотным преобразователем Delta Eclectronics VFD-E. Частотный преобразователь должен быть настроен на протокол Modbus RTU, также необходимо сделать несколько дополнительных настроек.

Настройки частотного преобразователя.

Необходимо задать настройки следующих параметров.

Аналогичные настройки в MasterLink (в SCADA).

Настройки группы параметр 02.xx нужны для управления частотным преобразователем со SCADA системы (пуск/стоп, вперед/назад, реверс, задание частоты). Если нужен только мониторинг состояния частотного преобразователя, то нужно задать только параметры из групп 09.xx – в этом случае в SCADA будут заблокированы кнопки управления.

Настройки MasterSCADA.

Необходимо в режиме разработки задать номер COM порта, через который будет осуществляться работа с преобразователем частоты.

Остальные параметры менять не нужно.

Информация об OPC DA серверах

ОРС сервер — программа, которую MasterSCADA использует в качестве «посредника» для доступа к данным, поступающим от аппаратных средств. Это можно представить следующим образом:

Есть различие между понятиями ОРС-сервер контроллера (программа) и ОРС — сервер- элемент дерева системы

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

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

Для того, чтобы использовать ОРС сервер контроллера необходимо реализовать следующие действия:

  1. Выполнить команду «поиск ОРС серверов» (из контекстное меню Компьютера, или меню «Добавить»), если она не была выполнена раньше.
  2. Вставить необходимые ОРС серверы (функциональные блоки) в Компьютер. Это можно сделать одним из трех способов: 1)через контекстное меню Компьютера; 2) из списка «ОРС серверы» в меню «Добавить»; 3) из библиотеки ОРС серверы в палитре элементов.
  3. Вставить ОРС переменные (см. раздел ОРС переменные)

ОРС HDA сервер — программа, которую MasterSCADA использует в качестве «посредника» для доступа к архивным данным, которые предоставляет контроллер или счетчик коммерческого учета. Контроллер (счетчик) накапливает эти данные путем опроса аппаратных средств.

OPC HDА 1.2 (OPC Historical Data Access – интерфейс OPC для доступа к архивным данным).

Все полученные данные от ОРС HDA сервера MasterSCADA сохраняет в своем архиве. Дальнейшая работа с этими данными осуществляется при помощи стандартных функций MasterSCADA. Возможно просматривать эти данные при помощи трендов.

При переходе в режим исполнения MasterSCADA получает все накопленные данные с момента выхода из режима исполнения, а также продолжает получать новые данные по мере их поступления.

Поиск ОРС DA серверов

Диалоговое окно браузера OPC DA серверов вызывается по команде главного меню Сервис-> Органайзер -> OPC Серверов…, или  через контекстное меню Компьютера. В результате на экране появится органайзер приблизительно такого вида:

В окне органайзера отображено дерево ОРС серверов, обнаруженных на данном компьютере и в ближайшем сетевом окружении. Отметьте флажками ОРС серверы, которые вы собираетесь использовать в проекте и впоследствии они будут отображены в контекстном меню Компьютера , раскрывающейся команде «ОРС серверы» в меню «Добавить» , а также в категории «ОРС серверы» в палитре элементов.

Поиск OPC HDA серверов

Диалоговое окно браузера OPC HDA серверов вызывается по команде главного меню Сервис-> Органайзер -> OPC HDA Серверов…, или  через контекстное меню Компьютера.

В результате на экране появится органайзер приблизительно такого вида:

В окне органайзера отображено дерево ОРС серверов, обнаруженных на данном компьютере и в ближайшем сетевом окружении. Отметьте флажками ОРС серверы, которые вы собираетесь использовать в проекте и впоследствии они будут отображены в контекстном меню Компьютера.

Работа с элементами MasterSCADA

Вставка в дерево нового объекта

Для того, чтобы вставить в дерево новый компьютер, ОРС сервер, переменную, группу переменных или новый объект — используйте контекстное меню, кнопку <Insert> или одну из команд меню «Добавить».

Выбор и вставка в дерево объекта нового элемента

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

Перемещение элемента в дереве

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

Копирование и дублирование

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

Выделение группы

В дереве объекта можно использовать выделение группы элементов подобно тому, как это делается в программе Explorer. Если щелкнуть левой клавишей мыши на элементе, удерживая нажатой клавишу <Ctrl>, то элемент будет добавлен к уже выделенным, если же удерживать клавишу <Shift>, будут выделены все элементы от ранее выделенного до текущего, находящиеся на одном уровне вложенности.

 

ОРС переменные в MasterSCADA

Через ОРС переменные в MasterSCADA осуществляется доступ к данным ОРС серверов. Существует три основных вида ОРС переменных:

  • для чтения;
  • для записи;
  • для чтения и записи.

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

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

Если вы предполагаете использовать в Проекте все Переменные ОРС сервера, выберите в контекстном меню ОРС сервера пункт «Вставить все» и в дереве отобразятся сразу все созданные группы и переменные.

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

В MasterSCADA реализована поддержка ОРС переменных, являющихся массивами. При вставке такой переменной создается группа (по имени переменной), в которую добавляются ОРС переменные, соответствующие элементам массива. Количество элементов в массиве устанавливается на странице свойств группы ОРС переменных «Общие». Имена переменных в группе соответствуют индексу элемента в массиве, т.е., в режиме исполнение на элемент группы с именем «1» поступает значение из массива по индексу 1.

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

Конфигурирование сетевых настроек MasterSCADA

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

Клиент-серверная архитектура

Одноранговая архитектура

1. Сетевые настройки MasterSCADA:

  • В дереве системы выберите компьютер, для которого создаются сетевые настройки.
  • Перейдите на закладку «Режим исполнения».
  • Выберите закладку «Связь». (Примечание: Для того, чтобы удостовериться в наличии связи между компьютерами, воспользуйтесь командой «ping», входящей в набор вспомогательных утилит Windows.)
  • В поле «IP-адреса основного компьютера» введите сетевой адрес, назначенный Вашим системным администратором.
  • Поле «IP-адреса резервного компьютера» заполняется только при наличии резервированной системы управления.

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

Примечание:

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

2. Распределение объектов по узлам сети:

  • Каждому компьютеру или контроллеру (если есть поддержка программирования из-под MasterSCADA) указывается, какой объект(объекты) на нем будет использоваться.

  • Следующий шаг — это проведение операции экспортирования проекта и копирования его на все компьютеры сети.

3. Запуск системы:

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

При работе по сети MasterSCADA использует протокол TCP/IP порт 3675. Технология .Net Remoting.

Тиражирование элементов проектов и использование библиотек в MasterSCADA

Если вы предполагаете использовать созданный Объект повторно, вы можете воспользоваться одним из трех возможных способов его тиражирования.

Копирование и вставка из буфера

Скопируйте объект в буфер через контекстное меню, щелкните на том объекте, в который собираетесь вставить скопированный, выберите команду вставки из буфера.

Дублирование

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

Помещение в библиотеку и последующая вставка из нее

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

Перенос библиотек на другие компьютеры

В папке для хранения библиотек и настроек, расположение которой определяется в диалоге настроек (его можно вызвать командой «Настройки» в меню «Сервис»), имеется вложенная папка «Library», содержащая все библиотеки. Для переноса объекта (или библиотеки) на другой компьютер просто скопируйте его папку в папку «Library» другого компьютера и выполните команду «Обновить палитру».

Восстановление связей при вставке объектов

При вставке объектов в проект они автоматически (если это не запрещено в настройках Системы) пытаются установить связи с внешними источниками и приемниками данных.

Особенности тиражирования элементов проектов при переносе из одного проекта в другой

При помещении в проект объектов из другого проекта существуют некоторые особенности, которые необходимо учитывать:

  • Диапазон изменения (Интервал шкалы) переменных восстанавливается по имени Интервала.
  • Категории сообщений для Событий и функциональных блоков, генерирующих сообщения, восстанавливаются по именам категорий. Если в новом проекте категории с аналогичными именами отсутствуют, то используется категория, заданная по умолчанию.
  • Типы окон объекта восстанавливаются по имени окна. При этом, если в новом проекте уже существует тип окна с тем же именем, то окну вставляемого объекта будут заданы стандартные размеры окон данного типа.
  • Привязка объектов к компьютерам в дереве системы не восстанавливается.
  • Дополнительные настройки журналов объектов, заданные при работе с ними в режиме исполнения в другом проекте, при переносе объекта в новый проект сбрасываются.
  • При вставке компьютера из другого проекта он теряет все настройки, унаследованные им от  системы в первоначальном проекте, и приобретает все настройки, заданные для системы в новом проекте. Вставленные в компьютер OPC-серверы сохраняются.

Использование ActiveX на мнемосхеме MasterSCADA.

  1. Запускаем MasterSCADA
  2. Открываем или создаем проект, в котором будет мнемосхема, с нашем модулем.
  3. Открываем мнемосхему, на которой будет расположен наш модуль.
  4. В меню «Сервис» выбираем «Органайзер ActiveX…»

5.  Находим наш User Control по его дружественному имени (если задан атрибут DisplaName) или по его  полному имени (namespace + имя класса)

6.  Нажимаем на кнопку «>>>», ставим галочку «Редактируемый в схеме» и нажимаем кнопку «ОК». Данная галочка определяет: будет или нет работать наш ActiveX в режиме разработки проекта. Если модуль рассчитан для работы только в режиме исполнения, то данную галочку ставить необязательно.

 

7. Выбираем наш модуль на палитре в разделе «Другие элементы ActiveX», и перетаскиваем его на мнемосхему

8.  Нажимаем на кнопку и видим сообщение «Hello World!»

Использование и динамизация свойств контрола.

Для создания свойства контрола достаточно объявить просто свойства в классе контрола. Пример по созданию и динамизации свойств контрола можно посмотреть в проекте: «[Папка в которую установлена MasterSCADA]APIMasterSCADAExamples», класс — Examples.UserControls.PropertiesDynamization.PropertiesDynamization.

 

Создание безоконного контрола.

Если необходимо создать контрол с прозрачным фоном, то необходимо использовать другой базовый класс – InSAT.Library.Gui.Windowless.WindowlessControlBase. Этот класс в отличие от NetActiveXBase не унаследован от системного класса Control, поэтому для него не поддерживается дизайнер контрола (визуальное редактирования контрола в студии). WindowlessControlBase является облегченным контролом, поддерживающим только отрисовку содержимого в функции OnPaint, а также возможность реагировать на события мыши (для этого нужно переопределить функции OnMouseDown, OnMouseMove, OnMouseUp). Пример работы с таким контролом в проекте APIMasterSCADAExamplesExamples.sln.

Контрол —  UserControlsSimpleWindowlessActiveXSimpleWindowlessActiveX.cs

 

С точки зрения производительности такие контролы быстрее и потребляют меньше памяти, так как для них не создается окно Windows. Другим преимуществом также является то, что такие контролы имеют общий Z-порядок с большинством стандартных контролов MasterSCADA.

 

    Создание ActiveX с использованием .Net Framework.

    Создание простого .Net User Control, регистрируемого в системе как ActiveX

    1. Если у вас ещё нет проекта, в который вы хотите добавить новый User Control, то выполните пункт 1 раздела «Пример создания пустого ФБ (на языке C# в Visual Studio 2005)» из описания по созданию ФБ на C# (Создание ФБ на C#.doc).
    2. Выполните пункты 2-5 раздела «Пример создания пустого ФБ (на языке C# в Visual Studio 2005)» из описания по созданию ФБ на C#(Создание ФБ на C#.doc).
    3. Создаем новый User Control:

    4. Наследуем созданный User Control от класса InSAT.Library.Gui.NetActiveXBase

    5.  Добавляем атрибуты для регистрации ФБ как COM объекта:

    6. Значение атрибута Guid должно быть уникальным, уникальное значение можно получить при помощи VS (“Tools”->”Create GUID” в открывшемся окне выбираем GUID Format “Registry Format”, нажимаем “Copy” и “Exit”):

     

    7.  Добавляем атрибут для регистрации дружественного имени ActiveX.

    8.  Добавляем кнопку, по нажатию на которую, будет выдаваться сообщение “Hello world!”

    9. Чтобы зарегистрировать наш user control как ActiveX, необходимо просто скомпилировать наш проект.

     

     

      Динамические мнемосхемы без динамизации в MasterSCADA

      В MasterGraph мнемосхемы формируются не только из элементов собственной палитры, но и с помощью элементов дерева проекта, перетаскиваемых в мнемосхему. Этот раздел служит только напоминанием о возможностях стандартных элементов проекта, поскольку их подробное описание приведено в посвященных им отдельных статьях.

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

      вы можете придать им дополнительные динамические свойства, как и любым обычным элементам палитры графического редактора. Обратите внимание, что именно такой способ создания динамических мнемосхем является наиболее простым и правильным с точки зрения идеологии Master SCADA .

      Переменные на мнемосхемах

      Переменные могут быть представлены на мнемосхемах в виде значений (создаются при перетаскивании объекта в мнемосхему левой кнопкой мыши) или щитовых приборов (создаются при перетаскивании объекта в мнемосхему правой кнопкой мыши). Значения и приборы уже сопоставлены с шкалой параметра и могут не только показывать числом, столбиком или стрелкой само значение параметра, но и отображать цветом нарушения заданных в шкале границ. Обратите внимание, что все графические представления переменных имеют аналог в палитре MasterGraph. Практически во всех случаях при создании мнемосхем за исключением отладочных и демонстрационных целей необходимо использовать переменные Master SCADA , а не эти элементы.

      Визуальные функциональные блоки на мнемосхемах

      Визуальные функциональные блоки (ВФБ) – это стандартные библиотечные элементы Master SCADA: исполнительные механизмы, технологические аппараты, элементы управления. Такие ВФБ при перетаскивании из дерева объектов на мнемосхему отображают заданное в них разработчиком графическое представление. Ряд ВФБ позволяет выбрать одно представление из нескольких (ВФБ «Задвижка», «Насос» и ряд других) или выбрать отдельное изображение для каждого состояния (ВФБ «Двухпозиционный механизм с выбором изображения»), либо выбрать отображаемый динамический мультфильм (ВФБ «Динамический ИМ»). Все они имеют окно управления с контролем прав доступа, способ отображения открытого (включенного) и закрытого (отключенного) состояния, индикацию аварии.

      Объекты на мнемосхемах

      Объекты могут быть представлены на мнемосхемах в виде кнопок вызова. При перетаскивании объекта в мнемосхему левой кнопкой мыши создается ссылка на документ «Мнемосхема» (на кнопке отображается ее сжатое изображение, либо любой рисунок по выбору разработчика, либо только надпись). При перетаскивании по правой кнопке мыши из списка имеющихся документов объекта выбирается документ, на который нужно создать ссылку. Если выбрать в списке «Изображение объекта», то будет вставлено изображение объекта. Вы можете дополнительно динамизировать кнопку объекта, чтобы, например, красной рамкой отображать аварию. Изображение объекта – это символ (обычно, динамический), который, будучи помещен на мнемосхему, выполняет две функции одновременно:

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

      динамического отображения состояния объекта с помощью динамизации свойств элементов символа.

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

        Внесение динамизированного элемента в Библиотеку MasterSCADA

        Только что мы уже упоминали удобство использования библиотеки при работе с символами и импортированными элементами управления ActiveX, однако зачастую библиотекой можно пользоваться и просто для хранения предварительно настроенных и динамизированных типовых элементов. На рисунке 1 показан пример занесения «Цилиндра» с динамизированным уровнем (процентом заливки) и цветом заливки в созданную нами библиотеку Динамизация. Для наглядности последующего выбора элемента из библиотеки предварительно переименуем его в «Индикатор уровня».

        Рис.1

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

         

        Рис.2

        Мало того, в новом проекте у нас изначально не было входа мнемосхемы с таким названием («Вход_Уровень»), но при вставке элемента на панели входов автоматически появится группа «Индикатор уровня» со входом «Вход_Авария» (рис.3).

         

        Рис.3

        А в панели динамизации вставленного элемента автоматически «прописывается» новый путь к входу динамизации (рис.4).

         

        Рис.4

        Теперь остается лишь не забыть привязать сам «Вход_Авария» к переменной в новом проекте с помощью панели свойств Входа (рис.5). Напомним, это производится перетаскиванием переменной из дерева объектов в графу «Объект».

         

        Рис.5

        Таким образом, библиотека – это хранилище графических объектов, включая динамические. Объектом может быть как отдельный элемент, так и группа элементов. При помещении объекта в библиотеку сохраняются все его свойства, настроенные пользователем, в том числе динамизация, как входных, так и выходных свойств.