Особенности создания связей между деревом системы и деревом объектов
Связи, как и большинство других действий в MasterSCADA, настраиваются «мышью». Различают два типа связей – прямые, когда данные от переменной-выхода без какой-либо обработки сразу же поступают к переменной-входу, и косвенные, например, когда одна переменная является источником для аргументов формулы расчета или события.
Итак, чтобы организовать прямую связь между переменными проекта MasterSCADA нужно перетянуть, удерживая ЛК, одну переменную на другую. В месте, где связь может быть установлена, обозначение манипулятора примет вид/, отпустив ЛК, вы увидите, что к стандартному обозначению переменной добавится розовая вертикальная черта, это говорит о том, что связь установлена (Рисунок 2-11). Рисунок 2-11. Обозначение прямых связей В случае, если разработчик проекта пытается установить связь, при которой возможна потеря точности, например, между вещественным двойной точности выходом дерева объекта и входом дерева системы целого типа, то MasterSCADA отследит это и выдаст предупреждение. Для того чтобы разорвать прямую связь, достаточно нажать ПК 9 на переменной и в появившемся контекстном меню выполнить пункт Разорвать связь. Если необходимо связать переменную любого из деревьев с аргументом формулы события или расчета, то в этом случае алгоритм будет таким: · Выделите переменную с обытие или расчет в дереве объектов. 9 ПК-здесь и далее правая кнопка мыши
· Перейдите на страницу свойств Формула · Перетащите ЛК нужную переменную в таблицу страницы свойств После этого вы сможете использовать значение переменной в формуле. Способ создания формул рассмотрим в одной из следующих глав. Удалив переменную из таблицы страницы свойств Формула вы тем самым разорвете связь. Чтобы оперативно определить, какие связи имеет та или иная переменная, достаточно выделить ее в дереве и перейти на страницу свойств Список связей. На данной странице отображаются как прямые связи, так и косвенные. Создание связей в проекте - очень важная задача, и, самое главное, решая ее, не допустить ошибок! MasterSCADA позволяет «перетаскивать» переменную в дерево объектов из деревасистемы несколько раз. На первый взгляд, это может показаться разработчику удобным, но правильно ли это? Давайте разберем ситуацию: проект готов к внедрению. Но в момент пуско- наладки отказывает какой-либо модуль ввода-вывода. Экстренно производится замена, но вместо используемого модуля устанавливают сходный по свойствам прибор другого производителям. Это повлечет за собой смену конфигурации ОРС-сервера и, как следствие, изменение дерева системы. Если каждая переменная дерева системы будет связана с несколькими переменными дереваобъектов, то для того чтобы восстановить проект, потребуется значительно больше времени.
При копировании, вставке из палитры переменных или объектов, в случае если они имеют внешние связи, то автоматически появится окно восстановления связей. Основа построения логики контроля и управления в MasterSCADA – это передача данных по связям между переменными. Например, от аналогового входа модуля (дерево системы), к которому подключен физический датчик уровня в баке, значение передается в блок первичной обработки параметра, принадлежащий объекту «Бак» (дерево объекта), а от этого блока в документы данного объекта (мнемосхему, тренд, журнал сообщений и т. п.). Еще раз обратим внимание, что для успешной разработки каждого проекта очень важно как можно быстрее понять, какие связи являются устойчивыми, а какие могут меняться в процессе разработки или модификации проекта.
Вернемся к нашему примеру. Значение уровня необходимо отображать на мнемосхеме бака, а при его выходе за установленные границы формировать сообщения. Отсюда следует, что все вышеперечисленное должно принадлежать объекту «Бак». А вот источник сигнала в виде аналогового входа модуля может меняться – сейчас мы подключились к одному входу, а при его неисправности можем «перекинуть концы» от физического датчика уровня и на соседний свободный вход. Отсюда вывод, что такая связь является внешней и должна легко устанавливаться в одном единственном месте. Если бы мы связали сигнал от аналогового входа модуля отдельно с каждой обработкой или документом, где он используется, то процедура замены стала бы трудоемкой. Но мы сделаем в рамках объекта одну единственную переменную «Уровень», которая и будет отвечать за связь с реальным источником сигнала, а остальные его потребители получат значение уже от нее. Тем самым замена сигнала, используемого во многих обработках или документах, сведется к замене единственной связи, если мы изначально правильно сгруппировали объекты и переменные.
|