книги / SCADA-╤Б╨╕╤Б╤В╨╡╨╝╤Л ╨║╨░╨║ ╨╕╨╜╤Б╤В╤А╤Г╨╝╨╡╨╜╤В ╨┐╤А╨╛╨╡╨║╤В╨╕╤А╨╛╨▓╨░╨╜╨╕╤П ╨Р╨б╨г ╨в╨Я
..pdfДля связи далеко разнесенных в пространстве мониторов мож но использовать радиоканал, выделенные или коммутируемые те лефонные линии. В этих случаях нужны дополнительные устрой ства - модемы.
В сети M-LINK каждый монитор может иметь статус MASTER или SLAVE. Монитор со статусом MASTER является активным. Он посылает команды управления и запросы на передачу инфор мации. Монитор со статусом SLAVE принимает посланные ему команды и передает запрошенные данные. Команды управления содержат указания на изменение значений атрибутов каналов уда ленного узла.
Таким образом, запросы, посылаемые монитором со статусом MASTER, могут быть двух типов:
запрос данных; запрос на изменение.
Первый из них используется для получения значений каналов или другой информации от монитора со статусом SLAVE, второй - для изменения значений атрибутов каналов на удаленном монито ре. В запросах на изменение передаются новые значения корректи руемых атрибутов удаленной базы.
Чтобы один монитор выступал и как MASTER, и как SLAVE, надо создать параллельные сети, используя при этом по два после довательных порта на каждом узле. Тогда два монитора смогут работать в режиме MASTER.
Для запроса данных по M-LINK предназначены каналы подти па «СВЯЗЬ» с дополнениями IN M-LINK и IN M-LINK(T). Для второго дополнения вместе со значением канала передается время его последнего изменения. Оно копируется в соответствующий атрибут запрашивающего канала, а также заносится в архивы. Для передачи данных следует использовать дополнения OUT M-LINK и OUT M-LINK(T). В последнем случае так же, как и при запросе, со значением канала передается время его формирования.
Указанные каналы имеют следующие настройки: NN - номер последовательного порта;
NODE - имя удаленного узла;
СН - имя канала на удаленном узле;
ATR - копируемый атрибут удаленного канала; OBJ - имя объекта в базе каналов удаленного узла.
241
Номер последовательного порта задается вводом с клавиатуры в соответствующем поле диалога «Каналы объекта». Значение этой настройки должно быть на единицу меньше номера соответ ствующего порта (О -С0М1, 1 - COM2, ...). Остальные настройки указываются в диалоге выбора канала.
Для обмена данными необходимо настроить соответствующие параметры запуска узла в бланках «Основные» и «Параметры поел, портов» диалога «Параметры узла». К ним относятся статус узла, а также физические параметры связи.
Статус узла задается в бланке «Основные». Чтобы узел под держивал статус MASTER, необходимо установить флаг M_Link в разделе Host Mode данного бланка, а для поддержки режима SLAVE - тот же флаг в разделе Slave Mode. Физические парамет ры порта, через который будут передаваться данные, настраивают ся в бланке «Параметры поел, портов».
В рамках задач управления обменом по последовательным портам Трейс Моуд позволяет осуществлять следующие операции:
отключение обмена по указанному порту; переключение обмена на резервный порт; отключение группы каналов от обмена.
Чтобы управлять состоянием обмена по последовательным портам, надо использовать канал типа OUTPUT подтипа «СИСТЕМНЫЙ» с дополнением к подтипу RS-on-off. Каждый его
бит управляет обменом по соответствующему последовательному порту, т. е. младший бит управляет обменом по нулевому порту, а старший - по пятнадцатому. Значение бита, равное единице, оз начает запрет обмена по соответствующему порту, а нулю - раз решение.
Для резервирования линий связи при обмене по последова тельному интерфейсу надо предусмотреть не только использова ние дополнительной пары проводов, но также и возможность пе реключения обмена на резервный порт. Чтобы решить эту задачу, надо на узлах со статусом SLAVE для двух портов (основного и резервного) в бланке «Параметры портов» диалога «Параметры узла» задать назначение Slave MLINK. Остальные параметры этих портов следует настроить одинаково (кроме базового адреса и номера прерывания), исходя из условий связи. Затем к разъемам этих портов следует подключить соответствующие линии связи.
242
В узле со статусом MASTER также надо описать два порта. Этим портам должна быть назначена связь с контроллерами. Ос тальные параметры связи должны соответствовать тем, которые установлены для узлов со статусом SLAVE.
Кроме настройки последовательных портов на узел со статусом MASTER потребуется вносить некоторые дополнения в базу кана лов. Во-первых, все каналы, обменивающиеся данными в резерви руемой сети M-LINK, следует собрать в отдельный объект и уста новить для него флаг загрузки.
После этого надо создать канал, который будет управлять пе реключением обмена на резервный порт. Этот канал должен иметь подтип «ОБЪЕКТ» и дополнение к подтипу «Изменить базу». В качестве настройки для этого канала надо указать имя объекта, в котором расположены каналы, реализующие обмен по M-LINK. Старший байт значения, посылаемого в этот канал, задает номер последовательного порта, по которому следует осуществлять связь, младший байт - номер устройства (узла). Все каналы, реали зующие обмен по резервируемой сети, должны быть настроены на обмен по основному порту. Номер основного порта задается в по ле NN настроек канала.
Если в сети M-LINK присутствуют несколько узлов, то отклю чение любого из них приводит к существенным задержкам в опро се остальных. Это обусловлено тем, что при каждом запросе к от ключенному узлу будет выдерживаться тайм-аут до посылки следующего запроса. Тайм-аут, как правило, существенно больше, чем время ответа.
Для предотвращения таких задержек необходимо предусмот реть механизмы прекращения запросов к отключенным узлам. Для этого необходимо:
все каналы, обменивающиеся данными с одним удаленным уз лом, поместить в отдельный объект;
предусмотреть специальные каналы, управляющие отключени ем от источников данных объектов, описанных в предыдущем пункте.
Для управления отключением каждого из созданных таким способом объектов от источников и приемников данных надо соз дать отдельный канал, который должен иметь подтип «ОБЪЕКТ» и дополнение к подтипу «Подключение». В качестве настройки
243
такого канала следует указать имя управляемого им объекта. По сылка в такой канал значения, равного единице, будет осуществ лять отключение каналов управляемого объекта от источников или приемников данных. Если такими источниками или приемниками были атрибуты каналов удаленного узла, то запросы к этому узлу прекратятся. Чтобы возобновить обмен, в управляющий канал следует послать нуль.
При обмене данными по сети M-LINK могут возникать различ ные ошибки, обусловленные либо отключением устройств, либо наличием помех в линии.
Чтобы контролировать наличие сбоев при обмене по последо вательным портам, в системе предусмотрены специальные каналы:
канал подтипа «ДИАГНОСТИКА» с дополнением к подтипу M-LINK(Host);
канал подтипа «ДИАГНОСТИКА» с дополнением к подтипу M-LINK(Slave).
Эти каналы предназначены для контроля состояния обмена в режиме HOST и SLAVE соответственно.
6.4. Обмен с базами данных через механизмы ODBC
Для связи с базами данных и бизнес-приложениями в МРВ встроена поддержка интерфейса ODBC. МРВ может запрашивать данные из зарегистрированных источников данных ODBC и запи сывать в них значения каналов. При этом передача значений кана лов может осуществляться как в режиме формирования новых за писей в базе (INSERT), так и в режиме обновления существующих (UPDATE). Кроме того, по интерфейсу ODBC можно получать доступ к архивным данным Трейс Моуд с помощью популярных программ - баз данных, например Microsoft Access или Excel.
Для связи по ODBC с базами данных в директории проекта на до создать конфигурационный файл odbc.cfg. Этот файл имеет текстовый формат. В нем описывается база данных, имя пользова теля, имеющего доступ к ней, а также элементы запросов на языке SQL для управления обменом данными.
Перед тем как создать источник данных, следует удостоверить ся в наличии Трейс Моуд ODBC-драйвера.
Установка драйвера производится автоматически при инсталля ции системы. Чтобы проверить, насколько успешно была проведена
244
Таблица архива Трейс Моуд носит имя ARCHIVE и содержит следующие девять полей:
TIME |
- время изменения значения канала (TIMESTAMP); |
|
CHAN_ID - числовой идентификатор канала (INTEGER); |
||
ATTRJD |
- числовой идентификатор атрибута (SMALLINT); |
|
CHAN_NAME |
- имя канала (VARCHAR); |
|
ATTR_NAME |
- имя атрибута (VARCHAR); |
|
ATTRCODE |
- краткое имя атрибута (VARCHAR); |
|
FLAGS |
|
- флаги (SMALLINT); |
VALUE |
|
- значение (REAL); |
MSEC |
|
- уточняет данные поля TIME, показывая |
время с точностью до 1 мс.
Поле FLAGS содержит однобайтовое двоичное число, биты ко торого принимают значение, равное единице, в следующих ситуа циях:
0-й бит - если в настройках канала установлен флаг «Отчет тревог»;
1-й бит - если в настройках канала установлен флаг «Регист ратор»;
2-й бит - если в настройках канала установлен флаг СПАД; 3-й бит - если в настройках канала установлен флаг «Атрибу
ты»; 4-й бит - если в настройках канала атрибут «Состояние» на
ходится в режиме ON;
5-й бит - если атрибут «Подключение» канала установлен в состояние «Подключен»;
6-й бит - если каналу устанавливается флаг аппаратной недос товерности;
7-й бит - если каналу устанавливается флаг программной не достоверности; например, установлен флаг «Контроль шкалы» и реальное значение канала меньше заданного значения атрибута «НПредел» или больше значения атрибута «ВПредел».
Если флаг не установлен, значение соответствующего бита равно нулю.
В Microsoft Excel и Microsoft Access данное двоичное число отображается в формате DEC.
Значения полей CHAN_NAME, ATTR_NAME и ATTRCODE могут отсутствовать, если источником данных является отдельно
247