МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • SCADA системы

    |[pic] |

    |Рис.15. Диалог Historical Logging Properties. |

    Включение опции Enable Historical Logging дает общее разрешение на

    регистрацию значений переменных. Срок хранения регистрационных файлов на

    диске (исключая текущий день) определяется в поле Keep Log Files for в

    днях. Если в это поле введено значение 0, файлы будут храниться бесконечно

    долго. Регистрационные файлы могут быть размещены в каталоге приложения

    (опция по умолчанию Store Log Files in Application Directory). В противном

    случае следует отметить опцию Store Log Files in Specific Directory

    (хранить файлы в ином каталоге) и ввести полный путь до каталога, в котором

    будут храниться регистрационные файлы (при работе с распределенными

    архивами - полный сетевой путь).

    Отображение трендов

    Тренды реального времени являются динамическими объектами. Они позволяют

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

    конкретной переменной или для выражения, которое содержит одну или

    несколько переменных. Данные будут появляться в окне тренда и двигаться

    справа налево.

    Чтобы создать тренд реального времени, необходимо:

    . выбрать инструмент тренд реального времени в панели инструментов

    WindowMaker;

    . щелкнуть в окне, затем переместить мышь по диагонали и сформировать

    прямоугольник необходимого размера;

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

    в окне (рис.16).

    |[pic] |

    |Рис.16. Объект "тренд реального времени". |

    При создании тренда реального времени настройки его конфигурации

    устанавливаются по умолчанию (настройки предыдущего тренда).

    Для конфигурирования тренда реального времени следует либо дважды щелкнуть

    на созданном объекте, либо, предварительно выбрав объект, запустить команду

    Special/Animation Links. На экране появится диалог Real Time Trend

    Configuration (конфигурирование тренда реального времени). Среди настроек

    этого диалога можно отметить диапазон времени, охватываемый трендом (Time

    Span), частоту вывода значение переменной (Interval), разрешение сетки по

    большим и малым делениям горизонтальной и вертикальной осей (Time Division,

    Value Division), цвета фона и рамки графика (Color). Конфигурирование

    перьев тренда включает выбор имени переменной или выражения, цвета и

    толщины линии для каждого пера (поле Expression). Для повышения

    производительности системы следует отметить опцию Only update when in

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

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

    дисплее (находится в RAM). Есть и другие способы повышения

    производительности при работе с трендами реального времени (уменьшение

    толщины линии графика, уменьшение частоты выводы значений переменной).

    Например, если установлен диапазон времени (Time Span) в 30 минут, а

    частота вывода - 2 секунды, то число измерений, которые нужно провести за

    каждые 30 минут, будет равно 900 (30 * 60/2 = 900). При частоте выводе в 5

    секунд число измерений существенно уменьшается: 30 * 60/5 = 360.

    Исторические (архивные) тренды не являются динамическими. Они обеспечивают

    "снимок" состояния данных за прошедшее время, то есть по архивным данным. В

    отличие от трендов реального времени исторические тренды обновляются только

    по команде - при запуске скрипта, изменении значения выражения или нажатии

    оператором соответствующей кнопки. При конфигурировании архивного тренда

    можно создать "визиры" (ползунки, бегунки), с помощью которых удобно

    получить значения всех отображаемых переменных на один и тот же момент

    времени. Бегунки архивного тренда представляют собой позиционные индикаторы

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

    Связав объект "движковый регулятор" с полем бегунка, можно осуществлять

    перемещение вдоль архивного тренда. Кроме того, имеются функции вычисления

    среднего, минимального и максимального значений в определенном бегунком

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

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

    величины: среднее, минимальное, максимальное, отношение мин/макс и

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

    реализовать и другие функции (увеличение и уменьшение заключенной между

    бегунками области графика).

    Благодаря системе распределенных архивов на один и тот же график можно

    выводить информацию из нескольких баз данных.

    Все сказанное выше о механизме создания тренда реального времени

    инструментом Real Time Trend в среде разработки WindowMaker и о его

    последующем конфигурировании можно отнести и к архивному тренду,

    создаваемому инструментом Historical Trend среды разработки.

    Предлагаемый ниже способ создания и конфигурирования архивного тренда

    предполагает использование мастер-средств библиотеки Wizard.

    Нажатие кнопки выбора мастер-средств в панели инструментов вызывает

    появление на экране диалога Wizard Selection (выбор мастер-средств).

    После выбора из предложенного набора мастер-средств Hist Trend with

    Scooters (архивный тренд с бегунками) и щелчка по Ok программа возвращает

    пользователя в среду разработки. Курсор мыши при этом примет форму вставки

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

    объекта выводит на экран архивный тренд (рис.17). Объекты этого типа ведут

    себя аналогично любым другим объектам, то есть их можно перемещать,

    масштабировать и т. д.

    |[pic] |

    |Рис.17. Объект "архивный тренд". |

    Двойной щелчок на объекте приводит к появлению на экране диалога

    конфигурирования архивного тренда (Historical Trend Char Window).

    |[pic] |

    |Рис.18. Диалог конфигурирования архивного тренда. |

    Для конфигурирования тренда с параметрами по умолчанию следует нажать

    кнопку Suggest (вариант). Нажатие кнопок Times и Values выводит на экран

    окна конфигурирования разрешения сетки по большим и малым делениям

    горизонтальной и вертикальной осей, цвета фона и рамки графика, временного

    диапазона и т. д. Кнопка Pens (перья) предназначена для настройки перьев

    архивного тренда.

    Чтобы добавить в тренд функции масштабирования и перемещения или элементы

    управления перьями, следует использовать панели Zoom/Pan и Trend Pen Legend

    (рис.16), соответственно. Для того, чтобы эти компоненты работали

    совместно, они должны иметь одинаковые имена (Hist Trend).

    Изменение параметров архивных трендов в режиме исполнения

    При управлении в режиме реального времени оператор анализирует архивную

    информацию. Объем информации, ее временные диапазоны, объем статистических

    данных, необходимые для принятия решения по управлению технологическим

    процессом, заранее не известны. Поэтому оператор должен иметь возможность

    менять настройки архивных трендов, не выходя из режима Runtime. В InTouch

    такая возможность существует.

    Для этого следует включить опцию Allow runtime changes (разрешить изменения

    во время исполнения) в диалоге конфигурирования архивного тренда (в книге

    не показан).

    Теперь в режиме WindowViewer щелчок на архивном тренде будет вызывать на

    экран диалог изменения параметров архивного тренда (Historical Trend

    Setup). В этом диалоге можно определить дату и время начала архивного

    тренда (поле Chart Start), его временной диапазон (Chart Length), присвоить

    перьям цвет и имена переменных, выбирая их из словаря.

    Архивный тренд может выводиться в одном из трех возможных режимах:

    . Min/Max - график изменения значений переменной в виде вертикальных

    линий в процентах от всего диапазона, позволяющий оценить скорость

    изменения переменной;

    . Average/Scatter - график среднего значения переменной;

    . Average/Bar Chart - график среднего значения переменной в виде

    гистограммы.

    Выбор режима производится в поле Display Mode.

    Система распределенных архивов

    В InTouch имеется система распределенных архивов, обеспечивающая поиск

    архивных данных в любом InTouch - приложении. Данная система расширяет

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

    информацию из нескольких удаленных баз данных, которые в этом случае

    называются провайдерами архивов.

    Одновременно можно обращаться к восьми провайдерам (по одному на каждое

    перо). Каждый узел, выполняющий функцию регистрации, может писать только в

    один архив.

    Система, приведенная на рис.19, имеет два провайдера архивов. Левый

    провайдер регистрирует информацию только из узла, расположенного слева

    внизу. Правый провайдер регистрирует информацию из узла, расположенного

    справа вверху. Остальные три узла (вверху слева) лишь используют архивные

    данные. Читать информацию из архивных файлов может каждый из узлов системы.

    Создание такой системы предполагает следующие действия:

    . создание списка провайдеров архивов;

    . создание и определение параметров объекта "архивный тренд";

    . конфигурирование приложения на удаленное архивирование данных;

    . копирование приложения на все узлы.

    |[pic] |

    |Рис. 19. Распределенная система архивов. |

    Встроенные языки программирования

    Встроенные языки программирования - мощное средство SCADA - систем,

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

    приложений. Первые версии SCADA - систем либо не имели подобных языков,

    либо эти языки реализовывали небогатый набор функций. В современных версиях

    SCADA - систем функциональные возможности языков становятся существенно

    богаче. Явно выделяются два подхода:

    . Ориентация встроенных языков программирования на технологов. Функции в

    таких языках являются высокоуровневыми, не требующими профессиональных

    навыков программирования при их использовании. Количество таких

    функций в базовых поставках не исчисляется сотнями, хотя существуют

    свободно распространяемые библиотеки дополнительных функций.

    . Ориентация на системного интегратора. В этом случае в качестве языков

    чаще всего используются VBasic - подобные языки.

    В каждом языке допускается расширение набора функций. В языках,

    ориентированных на технологов, это расширение достигается с помощью

    дополнительных инструментальных средств (Toolkits). Разработка

    дополнительных функций выполняется обычно программистами - профессионалами.

    Разработка новых функций при втором подходе выполняется обычно

    разработчиками приложений (как и в традиционных языках программирования).

    Полнота использования возможностей встроенных языков (особенно при втором

    подходе) требует соответствующего уровня квалификации разработчика, если,

    конечно, в этом есть необходимость. Требования задачи могут быть не столь

    высокими, чтобы применять всю "мощь" встроенного языка.

    Во всех языках функции разделяются на группы, часть из которых присутствует

    практически во всех языках: математические функции, функции работы со

    строками, обмен по SQL , DDE - обмен и т. д.

    В разрабатываемом приложении создаются программные фрагменты, состоящие из

    операторов и функций языка, которые выполняют некоторую последовательность

    действий. Эти программные фрагменты связываются с разнообразными событиями

    в приложении, такими как нажатие кнопки, открытие окна, выполнение

    логического условия (a +b > c). Каждое из событий ассоциируется с

    графическим объектом, окном, таймером, открытием/ закрытием приложения.

    Когда приложение содержит сотни окон, тысячи различных графических

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

    "работать" огромное количество отдельных программных фрагментов. Велика

    вероятность их "одновременной" активизации.

    Каждая из функций во встроенном языке выполняется в синхронном или

    асинхронном режиме. В синхронном режиме выполнение следующей функции не

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

    запуске асинхронной функции управление переходит следующей, не дожидаясь

    завершения исполнения предыдущей функции.

    В связи с этим возникает несколько вопросов. С каким приоритетом

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

    событий и если да, то каков уровень вложенности? В SCADA - системах уровень

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

    из них.

    Скрипты в InTouch

    Скрипты в InTouch - это программные фрагменты, активизируемые по событиям

    (по нажатию клавиши, кнопки, открытию окна, изменению значения переменной и

    т. д.).

    Типы скриптов

    В InTouch различают несколько типов скриптов:

    . Application Scripts (скрипты уровня приложения) относятся ко всему

    приложению и используются для запуска других приложений, имитации

    технологических процессов, вычисления значений переменных и т.д.

    . Window Scripts (скрипты уровня окна) связываются с конкретным окном.

    . Key Scripts (клавишные скрипты) привязываются к какой-либо клавише или

    комбинации клавиш клавиатуры. Это может быть полезным при создании

    каких-либо глобальных для всего приложения функций (возврат в главное

    окно, окончание сеанса работы с приложением и т. д.).

    . Touch Pushbutton Action Scripts (скрипты, запускаемые кнопками) очень

    похожи на клавишные скрипты и связываются с объектами, которые будут

    использоваться в качестве исполнительных кнопок. Эти скрипты

    запускаются при каждом нажатии на объект-кнопку.

    . Condition Scripts (скрипты по изменению логического выражения)

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

    принимать значения либо "истина", либо "ложь". Логические скрипты

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

    . Data Change Scripts (скрипты по изменению данных) связываются либо с

    переменной, либо с полем переменной. Эти скрипты исполняются только

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

    превышающую значение допуска, заданного в словаре переменных.

    . ActiveX Event (скрипты событий ActiveX) предназначены для поддержки

    механизма реакции на события в ActiveX - объектах. С каждым событием

    может быть связан один скрипт типа ActiveX Event, запускающийся в

    WindowViewer во время исполнения приложения.

    . Quick Function - скрипты, которые могут вызываться из других скриптов

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

    объектов.

    Диалоги редактора, открываемые при создании скриптов различных типов, имеют

    небольшие отличия. Вызов диалога редактора скриптов в окне WindowMaker

    осуществляется командой Special/Scripts с последующим выбором типа

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

    воспользоваться окном Application Explorer, выбрав папку Scripts. На рис.

    5.1.1 приведен диалог Application Scripts (скрипты уровня приложения).

    Редактор скриптов InTouch поддерживает два типа скриптов: простые и

    сложные. Простые скрипты - это скрипты, содержащие операторы присваивания,

    сравнения, простые математические функции и т. д. Сложные скрипты позволяют

    выполнять различные логические операции типа IF - THEN - ELSE, а также

    могут включать циклы типа FOR - NEXT.

    Справа, в поле Functions, размещены клавиши вызова списков различных групп

    встроенных функций. Доступ к спискам встроенных функций возможен также

    командой Insert/Functions с последующим выбором группы функций (см. рис.

    5.1.1).

    Встроенные функции

    В пакете InTouch имеется набор встроенных функций, которые могут быть

    связаны с командами или использованы в скриптах для выполнения самых

    различных задач.

    Все встроенные функции разбиты на четыре группы:

    - String... - для обработки различных символьных строк и переменных;

    - Math... - математические функции;

    - System... - системные функции;

    - Misc... - функции для работы с алармами распределенных систем, трендами,

    печатью и др.

    · Вызов списка функций группы осуществляется нажатием соответствующей

    клавиши. Например, щелчок по клавише String... редактора скриптов вызывает

    появление диалога Choose function (выбор функции) со списком строковых

    функций.

    Описание некоторых функций этого списка приведено в табл. 5.1.

    |Функция |

    |Описание |

    | |

    |StringFromIntg() |

    |Возвращает символьное представление целого аргумента в указанной системе|

    |счисления |

    | |

    |StringFromReal() |

    |Возвращает символьное представление вещественной величины либо в формате|

    |с плавающей запятой, либо в экспоненциальном формате |

    | |

    |StringLen() |

    |Возвращает длину указанной строки |

    | |

    Страницы: 1, 2, 3, 4, 5, 6


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.