Справка онлайн | OPC Scada Viewer
О программе
Семейство программных технологий OPC представляет собой единый интерфейс для управления объектами автоматизации и технологическими процессами. В настоящее время большинство измерительных устройств, устройств мониторинга и контроля имеют OPC сервера, с помощью которых можно получать текущие данные. OPC Scada Viewer поддерживает основные и наиболее востребованные стандарты OPC DA1 и DA2, которые позволяют осуществлять обмен данными в реальном времени с ПЛК, ЧМИ, ЧПУ и другими устройствами.
OPC Scada Viewer позволяет легко и в очень наглядной форме отображать данные, получаемые через интерфейс OPC. Отображение данных осуществляется в реальном времени, что позволяет использовать программу для оперативного контроля и мониторинга в различных системах. OPC Scada Viewer имеет большой набор индикаторов для отображения значений OPC тегов, начиная от простых аналоговых стрелочных индикаторов, и заканчивая графиками и диаграммами. Каждый из индикаторов может быть настроен индивидуально, в соответствии с нуждами пользователя.
Основные возможности OPC Scada Viewer:
•Получение данных с одного или нескольких OPC одновременно;
•Отображение значения OPC переменной с помощью богатого набора индикаторов;
•Разнообразные индикаторы для разных типов OPC переменных (логические значения, строки, целые и дробные числа);
•Гибкая настройка параметров визуализации для каждого индикатора;
•Создание нескольких страниц, с разным набором индикаторов;
•Использование произвольного фонового изображения, на котором будут размещены индикаторы;
•Визуальные и звуковые предупреждения при выходе значения OPC тега за указанные пределы;
•Функция автоматического поддержания и контроля соединения с OPC сервером;
•Программа работает на всех версиях Windows, начиная с Windows 95.
Программа очень проста в использовании! Процесс конфигурации полностью визуализирован и имеет полную контекстную справку. Вы можете полностью настроить приложение под себя.
Типовое использование
Хороший пример использования программы это замена большой и громоздкой SCADA, в системе, где требуется только функция контроля и мониторинга и нет необходимости в обратной связи.
Примеры приложений
•Системы регистрации данных;
•Системы удаленного мониторинга;
•Системы сигнализации и предупреждений.
Сайт компании: https://www.aggsoft.ru/
Домашняя страница программы: https://www.aggsoft.ru/opc-scada-viewer.htm
Глоссарий
ASCII - Акроним для Стандартного американского кода обмена информацией. Файлы ASCII - простые, бесформатные текстовые файлы, которые могут быть поняты фактически любым компьютером. Записная книжка Windows и фактически любой текстовой процессор может читать и создавать файлы ASCII. Файлы ASCII обычно имеют расширение * .TXT (например, README.TXT).
Binary File - Файл, который содержит данные или команды программы, написанные с использованием всей таблицы ASCII кодов (от 0 до 255).
Bytes (байты) - Набор восьми битов, которые представляют цифру, букву или знак препинания.
Bit (бит) - число в двоичной системе измерения. Возможные значения: 0 или 1. В восьми битовых числах 8 битов составляют один байт (символ) данных.
Client/Server (клиент/сервер) - схема построения сети, при которой один или несколько серверов предоставляют услуги (доступ, ресурсы, жесткие диски для хранения данных и т.п.) разнообразным приложениям (клиентам).
DA (data access) - доступ к данным.
IP, Internet Protocol (Интернет протокол) - Internet Protocol, обычно ассоциируется с высокоуровневым протоколом TCP/IP, позволяющем соединяться и обмениваться данными компьютерам в сети. Каждый элемент сети IP имеет сетевой IP адрес, выглядящий как 'xx.xx.xx.xx'.
IP адрес (адрес Internet Protocol) - адрес компьютера, подключенного к сети TCP/IP. Каждый клиент или сервер в сети должен иметь уникальный IP адрес. Клиенты могут иметь как статический IP адрес, так и динамический, выдаваемый при каждом подключении. IP адрес состоит из четырех групп цифр, разделенных точкой. Пример: 198.63.211.24.
LAN (Local Area Network) - небольшая локальная сеть компьютеров.
NIC, Network Interface Card (сетевая карта) - часть компьютера, которая содержит все необходимое для подключения компьютера к сети. Обычно, сетевые карты являются частью материнской платы компьютера или вставляются в соответствующий разъем (PCI, turbochannel, nuBus, и пр.) и предоставляют сетевое соединение (например, 10baseFL).
OPC (OLE for Process Control) – набор повсеместно принятых спецификаций предоставляющих универсальный механизм обмена данными в системах контроля и управления.
OPC Alarms and Events - интерфейс OPC для доступа к данным предупреждений и сигнализации.
OPC Data Access - интерфейс OPC для доступа к текущим данным.
OPC DA - см. OPC Data Access.
OPC Historical Data Access - интерфейс OPC для доступа к архивным данным.
OPC HDA - см. OPC Historical Data Access.
PC (ПК) - сокращение от Personal Computer (персональный компьютер).
TCP/IP, Transport Control Protocol / Internet Protocol - TCP и IP протоколы передачи данных, которые используют приложения для обмена данными между собой или между компьютерами. TCP/IP это основа построения современных гетерогенных сетей, которые являются основой Internet.
Системные требования
Для запуска программы необходима одна из следующих ОС:
•Windows 2000 SP 4 - Windows 11 (платформы x86 и x64, серверные и настольные операционные системы).
Вам будут необходимы права администратора для инсталляции и регистрации программы.
Необходим, по меньшей мере, один свободный COM-порт, не занятый никаким другим устройством (например, мышью), для того, чтобы подключить внешнее устройство.
Процесс инсталляции
Если на Вашем компьютере была установлена другая бета-версия, удалите ее.
Выйдите на время установки из работающей программы OPC Scada Viewer.
Запустите файл установки.
По умолчанию, OPC Scada Viewer будет установлен в папку "\Programs Files\OPC Scada Viewer" вашего системного диска, но вы можете указать свой путь.
В стандартной поставке OPC Scada Viewer отсутствуют файлы дополнительных модулей, которые вы можете скачать с нашего сайта.
Введение
Основные возможности
•Возможность просмотра данных с одного или нескольких OPC одновременно;
•Отображения значения OPC переменной с помощью богатого набора индикаторов;
•Разнообразные индикаторы для разных типов OPC переменных (логические значения, строки, целые и дробные числа);
•Гибкая настройка параметров визуализации для каждого изображения.
•Возможность создания нескольких страниц, с разным набором индикаторов.
При загрузке программы, главное окно программы появляется на экране (рис. 1). Изображение ниже показывает возможности программы и объясняет предназначение той или иной части окна программы.
Интерфейс
1.Панель меню - главное меню программы, которые описано в разделе "Меню";
2.Панель инструментов - на данной панели расположены кнопки для наиболее часто используемых функций;
3.Закладки, на которых вы можете по смыслу объединить группу индикаторов. Добавить закладку можно с помощью пункта меню "Редактирование - Добавить страницу";
4.Фоновое изображение, на которой может быть изображен технологический процесс. Фоновое изображение нужно будет подготовить в другой программе;
5.Индикатор - отображает текущее значение переменной OPC в той или иной форме. Создание и настройка индикаторов описана в разделе "Блок визуализации";
6.Панель протокола работы программы, на которой будут отображаться сообщения о выполняемых действиях;
7.Панель статуса - отображает текущее время, статус программы или текущей выполняемой операции.
Рис. 1 Главное окно программы
Большинство пунктов меню и кнопок панели инструментов имеют подсказку. Например, подведя курсор мыши к кнопке на панели инструментов, вы увидите эту подсказку (рис. 2).
Рис. 2. Подсказка элемента интерфейса
Первые шаги
Для того чтобы настроить программу, необходимо:
1.Добавить закладку.
2.Добавить один или несколько индикаторов на закладку.
3.Настроить параметры каждого индикатора.
Введение
Меню программы расположено на панели меню, которую вы можете передвигать в любую позицию на экране. Подменю состоит из следующих пунктов: Файл, Вид, Редактирование, Опции, Справка. Каждое меню описано в соответствующем разделе ниже. Некоторые пункты меню могут быть вызваны путем нажатия "горячей" клавиши, или кнопки на панели инструментов. Панель инструментов, по умолчанию, располагается ниже панели меню и может быть также размещена в любой части экрана.
Некоторые, наиболее часто используемые функции меню доступны через всплывающее меню, которое появляется при клике правой кнопки мыши на объекте.
В соответствующем разделе приведена информация о горячих клавишах для каждой функции. Горячая клавиша, указанная как "Ctrl+N" означает, что пользователь должен нажать и удерживать клавишу Ctrl и одновременно нажать клавишу N.
Меню Файл
Открыть
Клавиша: Ctrl+O
Кнопка на панели инструментов:
Позволяет открыть файл проекта, который был ранее сохранен в файл с расширением ".xml". При загрузке закрываются все страницы с блоками визуализации.
Сохранить
Клавиша: Ctrl+S
Кнопка:
Сохраняет в файл с расширением ".xml" параметры страниц и параметры блоков визуализации на них.
Новая конфигурация
Клавиша: Ctrl+N
Кнопка:
Удаляет все страницы и блоки визуализации на них и подготавливает программу для создания нового проекта.
Выход
Клавиша: Alt+F4
Кнопка:
Закрывает программу. При выходе из программы в реестре сохраняются параметры текущей конфигурации, которая будет загружена при следующем запуске программы.
В этом меню также создается список последний открытых файлов, для того, чтобы было удобно переключаться между разными проектами.
Меню Вид
В этом меню вы можете выбрать, какие из элементов интерфейса пользователя показывать, а какие нужно скрыть. В частности, вы можете включить и выключить: главное меню, панель инструментов или панель с протоколом работы программы.
Полноэкранный режим позволяет скрыть заголовок программы и развернуть окно программы на весь экран. Это позволяет предотвратить перемещение окна программы пользователем.
Меню Редактирование
Отменить
Клавиша: Ctrl+Z
Кнопка на панели инструментов:
Команда отменяет последнюю операцию перемещения или удаления блока визуализации, а также удаления страниц. Программа запоминает 100 последних операций, которые затем можно отменить. После загрузки конфигурации из файла очищается список команд на отмену.
Повторить
Клавиша: Ctrl+R
Кнопка:
Повторяет последнюю отмененную операцию перемещения или удаления блока визуализации, а также удаления страниц.
Добавить страницу
Клавиша: Ctrl+T
Кнопка:
Команда добавляет новую страницу, на которой можно будет поместить блоки визуализации. При выполнении этой команды будет открыто диалоговое окно с параметрами страницы (рис. 3).
Рис. 3. Окно настройки параметров страницы
Для страницы вы можете задать имя, которое будет отображаться в заголовке страницы, а также выбрать тип фона:
1.Нет - страница будет создана без фонового изображения и будет использоваться цвет фона по умолчанию;
2.Цвет - страница будет создана без фонового изображения и будет использоваться указанный цвет фона;
3.Изображение - указанное изображение будет использоваться в качестве фона, поверх которого будут располагаться блоки визуализации. Наша программа не имеет встроенных средств рисования графических элементов, отображающих технологический процесс. Однако вы можете сделать это с помощью любого другого графического редактора.
В качестве фона могут использоваться изображения следующих форматов: BMP, JPG, PNG и GIF.
При использовании фонового изображения вы можете указать следующие опции:
•Центрирование - изображение будет располагаться по центру страницы;
•Масштабирование - изображение будет масштабироваться до размеров страницы;
•Пропорциональное - данная опция становится активной, если включена опция "Масштабирование". Если опция "Пропорциональное" отключено, то фоновое изображение будет растянуто, чтобы покрыть все площадь страницы, без соблюдения пропорций. Если опция "Пропорциональное" включено, то изображение будет растягиваться с соблюдением пропорций, но тогда возможна ситуация, когда будут видны полосы по бокам изображения;
•Подгонять размер окна под размер изображения - если данная опция включена, то изображение всегда будет занимать всю площадь страницы, и при этом размер окна программы будет автоматически увеличиваться или уменьшаться до размеров изображения. При этом будет запрещено изменение размеров окна программы;
•Поворот - позволяет повернуть фоновое изображение на указанное количество градусов;
•Цвет фона - если используется пропорциональное изменение размеров изображения, то полосы свободного пространства страницы, не занятые изображением, будут заполняться указанным цветом.
Удалить страницу
Кнопка:
Данная команда становится активной, если ранее была создана одна или несколько страниц с помощью команды "Добавить страницу". С помощью данной команды вы можете удалить текущую страницу со всеми блоками визуализации. При выполнении этой команды программа запросит подтверждение перед удалением страницы.
Изменить страницу
Кнопка:
Данная команда становится активной, если ранее была создана одна или несколько страниц с помощью команды "Добавить страницу". Команда позволяет открыть диалоговое окно (рис. 3) изменения параметры страницы.
Добавить блок
Клавиша: Ctrl+N
Кнопка:
Данная команда становится активной, если ранее была создана одна или несколько страниц с помощью команды "Добавить страницу". Команда позволяет добавить блок визуализации, который представляет собой индикатор, для отображения значения OPC переменной (OPC тега). Процедура добавления блока описана в отдельном разделе "Блок визуализации".
Удалить блок
Кнопка:
Данная команда становится активной, если на закладке выбрано блок визуализации и позволяет удалить выбранный блок. При выполнении этой команды программа запросит подтверждение перед удалением блока.
Изменить блок
Кнопка:
Данная команда становится активной, если на закладке выбрано блок визуализации и позволяет изменить параметры блока. При изменении параметров блока будет открыто диалоговое окно, аналогичное тому, что описано в разделе "Блок визуализации". Также вы можете изменить параметры блока, дважды кликнув по нему левой клавишей мыши.
Копировать блок
Клавиша: Ctrl+Shift+C
Кнопка:
Данная команда становится активной, если на закладке выбран блок визуализации, и позволяет сделать копию выбранного блока. При выполнении этой команды, автоматически создается копия выбранного блока с параметрами, идентичными оригиналу, за исключением заголовка. После копирования блока вы сможете изменить параметры копии по вашему желанию. Данная функция упрощает работу при создании нескольких однотипных блоков.
Блок визуализации
После выбора команды добавления блока курсор мыши изменит свой вид на "+" (курсор в виде крестика), с помощью которого вы сможете разметить границы будущего блока. Для этого необходимо, удерживая в нажатом состоянии левую клавишу мыши, растянуть появившийся прямоугольник до нужных размеров. Передвижение блока по странице может осуществляться как с помощью мыши, так и с помощью клавиш управления курсором клавиатуры. С помощью клавиатуры можно передвигать блок с максимальной точностью.
После того как вы закончите разметку границ блока визуализации, будет открыто диалоговое окно настройки параметров блока визуализации (рис. 4). Первым делом необходимо выбрать OPC переменную, для которой будет отображаться индикатора. В зависимости от типа данных переменной будет сформирован список доступных типов индикаторов.
Рис. 4. Выбор переменной
Чтобы выбрать тег, вам следует:
1.Перейти на вкладку "OPC тег" (рис. 4) и нажать кнопку "Выбрать переменную с сервера".
2.Выбрать тип OPC сервера из выпадающего меню.
3.Будет отображено диалоговое окно настройки OPC соединения (рис. 5).
Рис. 5. Выбор сервера и тега
Сервер - список, содержащий все настроенные подключения для соответствующего OPC типа (DA или UA). После настройки возможно использовать идентичное подключение в других блоках визуализации.
Имя - отображаемое имя OPC тега.
Идентификатор тега - необходимо указать ID тега (Item ID), включая полный путь к нему, если таковой имеется.
Добавить, Изменить, Удалить - эти кнопки позволяют настроить или изменить подключение к вашему OPC серверу.
Обрабатывать только допустимые значения - если эта опция включена, программа будет игнорировать все значения с состоянием качества OPC, отличным от "хорошо", и обрабатывать только допустимые значения.
Принудительное чтение значения - если эта опция включена, программа будет принудительно считывать значение OPC тега с OPC сервера. В противном случае программа будет ждать уведомления об обновлении значения от OPC сервера. Этот режим чтения может быть полезен с некоторыми удаленными OPC серверами.
Тип данных - вы можете выбрать тип данных вашего OPC тега и позволить программе определить его автоматически.
Выбрать тег - вы можете выбрать OPC тег в браузере, просматривая адресное пространство сервера. Обратите внимание, что некоторые серверы могут иметь очень много OPC тегов. Получение всех тегов может занять значительное количество времени.
Параметры подключения к серверу
Если вы настраиваете новое или редактируете существующую конфигурацию с вашим OPC сервером, появится следующее диалоговое окно (рис. 6).
Имя - отображаемое имя настроенного подключения.
Сервер - вы можете указать имя или IP-адрес удаленного компьютера. Если вам нужно подключиться к серверу на локальном компьютере, укажите LOCALHOST в качестве имени компьютера. После ввода имени компьютера нажмите кнопку "Найти сервер", чтобы получить список доступных OPC серверов. Если программа не может получить список серверов, возможны следующие причины:
•Программа была запущена пользователем, который не имеет прав на подключение к удаленному компьютеру.
•OPC Core Components Redistributable с www.opcfoundation.org не установлены на локальном и удаленном компьютерах.
Серверы - список содержит список доступных OPC серверов на указанном компьютере.
•Описание - поле показывает краткое описание сервера.
•Поддержка DA - поле показывает поддерживаемый DA.
•Поставщик - поле показывает имя поставщика.
Рис. 6. Параметры подключения к серверу.
Выбор OPC тегов
Рис. 7. Выбор тега
Информация - группа показывает полную информацию о выбранном OPC теге.
Опции Тип данных и Фильтр позволяют вам выбрать только те теги, которые соответствуют заданному условию (либо по имени, либо по типу данных) из доступных на сервере. Эта функция особенно полезна, когда на сервере много тегов.
Для выбора переменной необходимо выбрать ее в дереве слева и нажать кнопку "OK".
Параметры отображения
После выбора переменной нужно настроить параметры отображения для данной переменной. В зависимости от типа данных переменной будут доступны те или иные индикаторы. Для того чтобы настроить параметры отображения, необходимо выбрать закладку "Параметры отображения" (рис. 8).
Рис. 8. Параметры отображения.
Каждый блок визуализации имеет несколько элементов (рис. 9). Настройка каждого элемента блока визуализации осуществляется при выборе соответствующего пункта из выпадающего списка "Элемент". Имеется возможность включить и выключить отображение каждого из элементов.
Рис. 9. Блок визуализации.
С помощью параметров отображения можно настроить точное положение блока визуализации на закладку и его размеры. Для этого необходимо выбрать "Окно" из списка "Элемент" (рис. 10).
Рис. 10. Параметры окна блока визуализации.
Вы также можете задать цвет фона для выбранного блока, а также выравнивание всего блока:
1.Нет - Блок располагается в позиции, указанной пользователем. Размер блока не изменяется;
2.Слева, справа, сверху, снизу - блок будет располагаться по одной из указанных сторон. При этом размер блока будет подгонять по размеру закладки. Например, если выбрано "Слева", то блок будет всегда располагаться вдоль левой стороны закладки, и высока блока будет соответствовать высоте закладки;
3.По клиенту - блок будет занимать всю площадь закладки.
Описание элементов блока визуализации
1.Заголовок - программа позволяет задать любой текст в качестве заголовка блока и стиль его оформления;
2.Индикатор состояния - отображает состояние соединения с OPC сервером. Зеленый индикатор сообщает о том, что соединение с сервером есть, а красный, что соединение с сервером было утеряно;
3.Индикатор - значение переменной может быть отображено с помощью индикаторов различного вида. Программа насчитывает более 20 видов различных индикаторов, и каждый обладает собственным набором параметров отображения, которые отображаются в виде дерева на рис. 9. Изменения параметров в этом дереве можно наблюдать в окне предварительного просмотра, правее от дерева параметров. Под окном предварительного просмотра указываются типы данных, для которых подходит выбранный индикатор;
4.Рамка - рамка позволяет визуально ограничить размеры блока. При включенной рамке также появляется возможность изменения размеров блока с помощью мыши;
5.Текущее значение OPC переменной - некоторые индикаторы имеют графическое представление, по которому трудно определить точное значение переменной. Данное элемент позволяет выводить точное значение, помимо значения на индикаторе;
6.Минимальное и максимальное значение для OPC переменной - позволяет задать одно или несколько условий (рис. 11), по которым будет определяться, что значение переменной находится в допустимых пределах. Если значение превысит заданный предел, то программа отобразит предупреждающий сигнал.
Рис. 11. Параметры элемента.
Для каждого элемента блока визуализации имеется возможность (рис. 12):
•Включить и выключить отображение этого элемента с помощью опции "Показывать";
•Задать тип, размер и цвет шрифта с помощью стандартного диалога, который появляется при нажатии кнопки "Шрифт";
•Задать выравнивание внутри этого элемента с помощью выпадающего списка "Выравнивание";
•Задать цвет рамки;
•Задать цвет фона.
Элементы "Значение", "Минимум" и "Максимум" имеют возможность задать список условий (рис. 11), при выполнении которых будут отображаться предупреждения и проигрываться заданные звуки. Для того чтобы добавить предупреждение, необходимо выбрать соответствующий элемент из списка и нажать на кнопку со знаком "плюс". После этого будет выведено диалоговое окно, в котором нужно будет задать необходимые параметры (рис. 12). Другие кнопки рядом служат для следующих операций (слева - направо):
1.добавления нового предупреждения;
2.удаление выбранного предупреждения;
3.удаления всех предупреждений;
4.изменения выбранного предупреждения;
5.перемещения выбранного предупреждения на одну позицию вверх;
6.перемещения на одну позицию вниз.
Рис. 12. Параметры предупреждения.
В окне параметров предупреждения вы можете настроить:
1.Условие, при котором оно будет срабатывать. При задании условий следует учитывать, что некоторые условия неприменимы для некоторых типов данных. Например, строковые значения могут проверяться только на равенство;
2.Отложенное выполнение. Выбранное вами действие будет выполнено через указанное количество секунд. Если в течении указанного интервала времени значение контролируемого параметра вернется в допустимые пределы (условие не будет выполняться), то действие не будет выполнено.
3. Действие, которое будет выполняться при выполнении условия:
1.Воспроизвести звук (рис. 13) - звук, который будет проигрываться при выполнении заданного условия. При этом звук может проигрываться как один раз, при первом выполнении условия, так и каждый раз, когда переменная изменилась и удовлетворяет условию.
Рис. 13. Параметры проигрывания звука.
2.Отправить эл. письмо (рис. 14) - при первом срабатывании условия будет отправлено электронное письмо по указанному адресу. Под полем адреса указывается заголовок сообщения и текст сообщения. В заголовке и тексте сообщения можно использовать специальные подстановочные значения, которые имеют вид %VALUE%. При отправке сообщения эти подстановочные значения будут заменены реальными значениями:
%FULL-DATE% - дата и время
%DATE% - дата
%TIME% - время
%VALUE% - текущее значение переменной
Параметры соединения с почтовым сервером задаются в настройках программы.
Рис. 14. Параметры отправки сообщения.
1.Расписание (рис. 15) - эта вкладка позволяет выбрать дни недели и время, когда данное предупреждение будет активно. Если время не задано, то предупреждение будет активно 24 часа в сутки.
Рис. 15. Расписание.
Для того чтобы сохранить параметры предупреждения, необходимо нажать кнопку "OK". После чего описание предупреждения появится в списке.
Для того чтобы сохранить параметры блока визуализации, необходимо нажать кнопку "OK" в окне настройки свойств блока. После чего все изменения будут применены.
Масштабирование
Функция масштабирования (рис. 16) позволяет произвести простые арифметические действия над исходным значением OPC тега перед выводом его на индикатор. Также это модифицированное значение будет использоваться в предупреждениях и скриптах. Обратите внимание, что масштабирование возможно только для числовых значений.
Примеры:
X*2-1
100*COS(X)
Рис. 16. Масштабирование.
Скрипты
Скрипты позволяют немного расширить стандартный функционал программы (рис. 17, 18). Например, можно изменить значение тега по сложному условию. Прототипом встроенного скриптового движка является BasicScript, который в свою очередь является простой реализацией языка программирования Basic.
Пример простого скрипта в формате BasicScript:
dim i, j = 0 // объявление переменных
function f1() // процедуры и функции
end function //
sub p1()
end sub
// главная исполняемая часть скрипта
for i = 0 to 10
p1()
next
Также в скриптах можно использовать специальные функции:
GetValue(Name) - эта функция возвращает значение OPC тега, по заданному имени. Этот OPC тег должен быть выбран в одном из блоков визуализации.
SetValue(Name, Value) - эта функция устанавливает значение тега с указанными именем.
Аргумент имя должен полностью совпадать с именем, отображаемом в поле "Информация о переменной - Имя".
Пример:
' Использование оператора Case
dim val1, val2, name1, name2
name1 = "ThisBlockOpcTagName"
name2 = "AnotherBlockOpcTagName"
val1 = GetValue(name1)
select case val1
case 1: val2 = "new value 1"
case 2..10: val2 = "new value 2"
case else: val2 = "new value 3"
end select
SetValue(name2, val2)
Рис. 17. Скрипты.
Рис. 18. Скрипт.
Для того чтобы сохранить скрипт, необходимо нажать кнопку "OK". После чего новый скрипт появится в списке.
Для того чтобы сохранить параметры блока визуализации, необходимо нажать кнопку "OK" в окне настройки свойств блока. После чего все изменения будут применены.
Меню Опции
Очистить лог - Команда позволяет удалить все сообщения из протокола работы программы. Данные удаляются только с экрана программы. Файл протокола, который создается программой во время работы программы и не удаляется.
Запретить изменение конфигурации - Данная опция позволяет включить и выключить режим запрета изменения конфигурации. При попытке изменить параметры страниц или блоков визуализации, их размер или положение будет выводиться предупреждающее сообщение.
Запретить изменение положения и размера блоков - если данная опция включена, то вы не сможете случайным образом передвинуть блок визуализации или изменить его размер. Изменение параметров самих блоков остается доступным.
Параметры
Данный пункт меню позволяет открыть окно параметров программы (рис. 19).
Цвета
Рис. 19. Настройка цвета
Здесь, на закладке "Цвета", можно настроить цвета различных элементов программы и окна сообщений программы, а также на закладке "Предупреждения" указать, будет ли программа спрашивать у пользователя подтверждение при удалении страниц и блоков визуализации.
Прочее
Рис. 20. Окно настройки параметров программы
Подтвердить удаление страницы - программа будет показывать диалоговое окно с запросом подтверждения удаления страницы.
Подтвердить удаление блока - то же самое для блока визуализации.
Лог
На данной странице можно настроить отображение и режим формирования лога работы программы.
Рис. 21. Параметры лога
Ограничить размер - при превышении указанного размера лог файл будет удален и запись сообщений программы будет продолжена в новый файл.
Очищать лог при старте программы - при старте программы имеющийся лог файл будет удален.
Безопасность
На данной странице можно защитить некоторые действия в программе паролем. При выполнении одного из отмеченных в списке действий будет запрошен пароль. Введенный пароль храниться в памяти программы 2 минуты. В течении этого интервала времени пароль повторно не запрашивается.
Рис. 22. Безопасность
Соединение
На данной странице можно настроить параметры соединения с почтовым сервером. Данные настройки используются при отправке электронных писем при обработке тревожных событий. На рис. 23 показан пример настройки параметров соединения для почты Gmail.
Рис. 23. Соединение
Сервер SMTP - адрес и порт SMTP сервера для отправки сообщений. Если порт не указан в явном виде, то будет использоваться порт с номером 21 (стандартный для SMTP).
Сервер требует авторизации - включите, если для отправки сообщений требуется авторизация. Если требуется авторизация по защищенному протоколу, то выберите соответствующую схему авторизации из выпадающего списка.
Имя пользователя - логин на почтовом сервере.
Пароль - логин на почтовом сервере.
От адреса/имени - имя и адрес электронной почты, от имени которых будут отправляться сообщения. Эти данные будут видны в поле "От" письма у получателя.
Использование программы
Для того чтобы начать работать с программой необходимо выполнить несколько простых шагов.
1. Добавление страницы
Выберите пункт меню "Редактирование" - "Добавить страницу". В появившемся диалоговом окне укажите параметры страницы (рис. 24) и нажмите кнопку "OK". В программе будет добавлена страница (рис. 25).
Рис. 24. Создание новой страницы
Рис. 25. Созданная страница
2. Добавление блока визуализации
Выберите пункт меню "Редактирование" - "Добавить блок". Подведите курсор мыши к свободному пространству на созданной ранее закладке (рис. 26), пока курсор не примет вид креста. Удерживайте нажатой левую клавишу мыши и задайте границы блока визуализации
Рис. 26. Создание блока визуализации
3. Выбор OPC переменной
После того как вы отпустите левую кнопку мыши, автоматически будет открыто диалоговое окно для настройки параметров блока (рис. 27). В этом окне выберите закладку "Переменная". На этой закладке кликните на кнопке "Выбрать переменную с сервера".
Рис. 27. Параметры OPC переменной
1.В другом диалоговом окне (рис. 28) введите имя компьютера, на котором расположен OPC сервер. Если сервер расположен на том же компьютере, где запущена программа, то поле с именем компьютера можно оставить пустым;
2.Кликните по кнопке "Обновить";
3.Выберите сервер из списка;
4.Кликните по кнопке "Подключиться к серверу";
5.Выберите переменную из списка;
6.Кликните по кнопке "OK".
Рис. 28. Выбор OPC переменной
После нажатия "OK" информация о переменной должны появиться в окне настройки параметров блока на панели "Информация о переменной" (рис. 29).
Рис. 29. Информация о выбранной переменной
4. Активация соединения
Переключитесь на закладку "Соединение" и убедитесь, что опция "Активно" включена.
5. Настройка параметров отображения
Переключитесь на закладку "Параметры отображения". На данной закладке можно настроить множество опций. Как минимум необходимо выбрать и настроить индикатор для выбранной переменной (рис. 30). Для этого:
1.Выберите "Индикатор" из списка "Элемент";
2.Включите опцию "Показывать";
3.Выберите тип индикатора;
4.Внешний вид индикатора будет отображаться в окне предварительного просмотра;
5.Настройте параметры отображения индикатора, если это необходимо, с помощью дерева параметров;
6.Кликните по кнопке "OK", чтобы сохранить все изменения.
Рис. 30. Параметры индикатора
После сохранения изменений, соответствующий блок появится на закладке (рис.31).
Рис. 31. Работающий блок визуализации
Таким же образом можно добавить неограниченное количество блоков и получить окно оперативного мониторинга, как показано в разделе "Введение".
Синтаксис
Синтаксис скриптов совместим с BasicScript или VBScript, но список встроенных и поддерживаемых функций полностью отличается. В папке с программой \ "ScriptSamples" вы может посмотреть некоторые примеры скриптов.
Обратите внимание, что программа приостанавливает все операции в данном блоке пока выполняет скрипт. Поэтому избегайте скриптов с длительным временем исполнения.
Скрипты могут использовать некоторые специальные функции:
function GetValue(Name: string): Varinat
эта функция возвращает значение OPC тега из любого блока визуализации.
Name - имя OPC тега, выбранного в блоке визуализации. Если имя начинается с символа "@", то программа будет искать блок по его заголовку, и возвращать значение переменной из этого блока. Примеры:
' эта команда возвращает значение переменной "Var" на OPC сервере "opcserver.OPC.1"
v = GetValue("opcserver.OPC.1.var")
' эта команда возвращает значение переменной "Var" на любом OPC сервере (первом найденном)
v = GetValue("var")
' эта команда возвращает значение для блока с заголовком "MyBlock"
v = GetValue("@MyBlock")
function SetValue(Name: string; Value: variant)
Функция устанавливает значение OPC тега в указанном блоке визуализации. Значение НЕ записывается в OPC сервер.
Name - имя тега (см. выше).
Value - новое значение.
function GetParam(BlockName, ParamName: string): Varinat
Эта функция возвращает параметр настройки отображения блока визуализации.
BlockName - см. выше Name
ParamName - идентификатор параметра.
ind.visible - true/false, включение/отключение отображения блока
ind.win.transparent - true/false, прозрачность
ind.win.backcolor.use - true/false, использование цвета фона
ind.win.backcolor - число integer, значение цвета фона
ind.win.left - число integer, позиция X левого верхнего угла блока
ind.win.top - число integer, позиция Y левого верхнего угла блока
ind.win.width - число integer, горизонтальный размер блока
ind.win.height - число integer, вертикальный размер блока
ind.win.align - число integer, 0 - нет, 1 - слева, 2 - справа, 3 - сверху, 4 - снизу, 5 - окно.
ind.win.indent - число integer, размер границы
ind.border.show - true/false, включение/отключение отображения границы блока
ind.border.color - число integer, значение цвета границы
ind.border.width - число integer, значение толщины границы
ind.border.transparent - true/false, прозрачность
ind.border.backcolor.use - см. выше
ind.border.backcolor - см. выше
ind.caption.show - true/false, включение/отключение отображения заголовка блока
ind.caption.text - text, текст заголовка
ind.caption.align - число integer, выравнивание текста 0 - слева, 1 - по центру, 2 - справа.
ind.caption.border.color - число integer, цвет границы заголовка
ind.caption.border.square - true/false, граница заголовка с прямыми углами
ind.caption.border.round - true/false, граница заголовка со скругленными углами
ind.caption.border.size - число integer, размер границы
ind.caption.transparent - см. выше
ind.caption.backcolor.use - см. выше
ind.caption.backcolor - число integer, цвет фона
ind.state.show - по аналогии, для других частей блока визуализации
ind.ind.show
ind.ind.transparent
ind.ind.border.size
ind.value.show
ind.value.align
ind.value.border.color
ind.value.border.square
ind.value.border.round
ind.value.border.size
ind.value.border.transparent
ind.value.border.backcolor.use
ind.value.border.backcolor
ind.minvalue.show
ind.minvalue.align
ind.minvalue.border.color
ind.minvalue.border.square
ind.minvalue.border.round
ind.minvalue.border.size
ind.minvalue.border.transparent
ind.minvalue.border.backcolor.use
ind.minvalue.border.backcolor
ind.maxvalue.show
ind.maxvalue.align
ind.maxvalue.border.color
ind.maxvalue.border.square
ind.maxvalue.border.round
ind.maxvalue.border.size
ind.maxvalue.border.transparent
ind.maxvalue.border.backcolor.use
ind.maxvalue.border.backcolor
function SetParam(BlockName, ParamName: string; Value: variant)
Эта функция устанавливает значение параметра отображения блока.
BlockName - см. GetParam.
ParamName - см. GetParam.
Value - новое значение, в зависимости от идентификатора параметра.
Обратите внимание, что программа сохранит измененные из скрипта значения при сохранении конфигурации в файл или реестр.
procedure ShowPage(Page: string)
Команда открывает указанную закладку. Если "Page" это число, то открывается закладка с указанным индексом (отсчет с нуля). Иначе программа ищет закладку с указанным заголовком и открывает ее.
function ExecuteFile(FileName, Parameters, WorkingDir: string; Options: integer): integer
Выполняет указанный файл.
FileName - полное имя файла
Parameters - необязательные параметры для исполняемого файла
WorkingDir - рабочая папка (если не задано, то используется текущая папка).
Options
0 - скрыть окно.
3 - развернуть окно на весь экран.
6 - свернуть окно на панель задач.
9 - показать окно и сделать его активным.
5 - показать окно и сделать его активным.
7 - показать окно в свернутом состоянии, но оставить его активным.
8 - не изменять состояние окна запускаемого приложения.
4 - показать окно в последней его позиции и оставить активным.
1 - показать окно в последней его позиции и оставить активным, если ранее окно было свернуто, то оно будет развернуто.
function AppendFile(FileName, Data: string): boolean
Добавить текст к файлу. Если файл не существует, то он будет создан.
function WriteFile(FileName, Data: string): boolean
Записывает текст в указанный файл. Если файл уже существует, то он будет перезаписан.
function ReadFile(FileName: string): string
Считывает весь текст из указанного файла.
Пример GetValue/SetValue
dim val1, val2, name1, name2
name1 = "ThisBlockOpcTagName"
name2 = "AnotherBlockOpcTagName"
val1 = GetValue(name1)
select case val1
case 1: val2 = "new value 1"
case 2..10: val2 = "new value 2"
case else: val2 = "new value 3"
end select
SetValue(name2, val2)
Пример выполнения файла
dim val1, name1
dim working_dir = ""
dim parameters = ""
name1 = "ThisBlockOpcTagName"
val1 = GetValue(name1)
if val1 > 100 then
ExecuteFile("C:\alert.bat", parameters, working_dir, 0)
end if
Пример записи в лог
dim val1, name1, s
name1 = "ThisBlockOpcTagName"
val1 = GetValue(name1)
if val1 > 100 then
s = "Value is too high"
AppendFile("C:\Logs\log.txt", s) ' создает или дописывает в файл
end if
Обработка событий
Вы можете выполнить скрипт при клике на любую часть блока визуализации.
Для этого необходимо добавить функцию с именем "onclick" в код вашего скрипта. Программа выполняет только эту функцию в скрипте и передает ей следующие аргументы:
caption - text, заголовок блока визуализации.
shift - text, состояние кнопок клавиатуры: "shift" - нажата кнопка Shift, "ctrl" - нажата кнопка Control, "alt" - нажата кнопка Alt.
button - text, тип клика кнопкой мыши: "left" - левый клик, "right" - правый клик, "double" - двойной.
area - text, место клика на блоке.
"state" - индикатор состояния (правый верхний угол).
"caption" - заголовок.
"minwarn" или "maxwarn" - индикатор предупреждения о выходе за пределы для минимального или максимального значения.
"minval" или "maxval" - блок отображения лимита.
"ind" - сам индикатор.
"value" - блок отображения текущего значения.
Если функция возвращает "true", то программа не будет выполнять встроенные обработчики для данного клика мышкой.
Пример:
function onclick(caption, shift, button, area) as boolean
ShowMessage(caption & " " & button)
ShowPage("2")
return false
end function
Повторное использование скриптов
Если вы хотите использовать один и тот же скрипт в нескольких блоках, то можно сделать следующее:
1. Добавить полный текст скрипта в один из блоков.
2. Добавить следующую команду в первой строке скрипта в других блоках:
imports "@BlockName::ScriptName"
Эта команда ищет блок с заголовком "BlockName" и использует скрипт "ScriptName" из его настроек.
Также можно сохранить скрипт в файле и указать одну из команд:
imports "ScriptName.vb"
Это команда загружает скрипт из файла "ScriptName.vb" в папке с программой.
imports "c:\ScriptName.vb"
Это команда загружает скрипт из файла по указанному пути.
Обратите внимание, что программа не отслеживает изменения файла скрипта на диске. Необходимо перезапустить программу после внесения изменений.
Поддерживаемые функции
Ниже приведен список функций, поддерживаемых в скриптах.
function IntToStr(i: Integer): String
function FloatToStr(e: Extended): String
function DateToStr(e: Extended): String
function TimeToStr(e: Extended): String
function DateTimeToStr(e: Extended): String
function VarToStr(v: Variant): String
function StrToInt(s: String): Integer
function StrToFloat(s: String): Extended
function StrToDate(s: String): Extended
function StrToTime(s: String): Extended
function StrToDateTime(s: String): Extended
function Format(Fmt: String; Args: array): String
function FormatFloat(Fmt: String; Value: Extended): String
function FormatDateTime(Fmt: String; DateTime: TDateTime): String
function FormatMaskText(EditMask: string; Value: string): string
function EncodeDate(Year, Month, Day: Word): TDateTime
procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word)
function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime
procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word)
function Date: TDateTime
function Time: TDateTime
function Now: TDateTime
function DayOfWeek(aDate: DateTime): Integer
function IsLeapYear(Year: Word): Boolean
function DaysInMonth(nYear, nMonth: Integer): Integer
function Length(s: String): Integer
function Copy(s: String; from, count: Integer): String
function Pos(substr, s: String): Integer
procedure Delete(var s: String; from, count: Integer): String
procedure Insert(s: String; var s2: String; pos: Integer): String
function Uppercase(s: String): String
function Lowercase(s: String): String
function Trim(s: String): String
function NameCase(s: String): String
function CompareText(s, s1: String): Integer
function Chr(i: Integer): Char
function Ord(ch: Char): Integer
procedure SetLength(var S: String; L: Integer)
function Round(e: Extended): Integer
function Trunc(e: Extended): Integer
function Int(e: Extended): Integer
function Frac(X: Extended): Extended
function Sqrt(e: Extended): Extended
function Abs(e: Extended): Extended
function Sin(e: Extended): Extended
function Cos(e: Extended): Extended
function ArcTan(X: Extended): Extended
function Tan(X: Extended): Extended
function Exp(X: Extended): Extended
function Ln(X: Extended): Extended
function Pi: Extended
procedure Inc(var i: Integer; incr: Integer = 1)
procedure Dec(var i: Integer; decr: Integer = 1)
procedure RaiseException(Param: String)
procedure ShowMessage(Msg: Variant)
procedure Randomize
function Random: Extended
function ValidInt(cInt: String): Boolean
function ValidFloat(cFlt: String): Boolean
function ValidDate(cDate: String): Boolean
function CreateOleObject(ClassName: String): Variant
function VarArrayCreate(Bounds: Array; Typ: Integer): Variant
Веб сервер
Программа имеет простой встроенный веб сервер, который позволяет удаленно просматривать состояние индикаторов. Если веб сервер включен (рис. 32), то программа периодически создает на диске снимки всех созданных страниц. Пользователи могут открыть адрес страницы в браузере и просмотреть эти снимки.
Дополнительно можно добавить пользователей и задать для них пароль для доступа.
В белом списке можно задать список IP адресов, для которых разрешен доступ к серверу. Если список пустой, то доступ разрешен всем.
Пример ссылки в браузере на локальном компьютере:
http://127.0.0.1:8081
Пример ссылки в браузере на локальном компьютере:
http://192.168.1.1:8081
Пример ссылки в браузере при подключении через Интернет:
http://11.22.33.44:8081
Рис. 32. Настройка веб сервера
Обратите внимание, что возможно, потребуется добавить разрешения для доступа к серверу в вашем файерволе.
Для обеспечения доступа через Интернет может потребоваться настройка роутера для перенаправления порта сервера на компьютер, где установлена программа.