Введениевскадасистемы
Скачать 3.5 Mb.
|
2.3.3. Обменданнымисдругимиприложениями Но приложения InTouch могут взаимодействовать не только между собой, но и с другими Windows - приложениями. Одним из известных примеров такого приложения является Microsoft Excel. InTouch - приложение может считывать и записывать какие - либо значения в любую клетку открытой в Excel электронной таблицы. Аналогично и программа Excel может читать и записывать информацию в базу данных InTouch - приложения. Данный механизм обеспечивает одновременное обновление данных в одном приложении при изменении их значений в другом. Если клиентом (приложением, запрашивающим информацию) по - прежнему является узел View, то Excel - это приложение, поставляющее информацию (сервер). В качестве группы или топика (Topic) тогда будет выступать имя таблицы Excel, а элемент обмена информацией - ячейка в таблице Excel (табл.2.1, вариант 1). Когда клиентом является приложение Excel, а сервером - приложение View, группой в этом случае всегда является словарь переменных InTouch (база данных) с именем Tagname. Элементом обмена будет элемент базы данных - имя переменной (табл.2.1, вариант 2). Таблица 2.1. Приложение-клиент Приложение-сервер Группа Элемент View Excel Sheet1.XLS R1C1 Excel View Tagname R_Level В случае обмена данными по сети с использованием пакета Wonderware NetDDE необходимо к трехуровневой структуре адреса добавить четвертый уровень - имя удаленного узла сети (Node Name). Подводя итог вышесказанному, следует подчеркнуть, что информация по доступу к данным устройств ввода/вывода или других приложений должна храниться в приложении (в словаре переменных). И разработчику в InTouch-приложении важно подключиться к вышеописанному каналу доступа. Для этого в InTouch необходимо определить имя доступа Access Name и связать его с переменной приложения. 2.3.4. Определениеименидоступавсловарепеременных InTouch В InTouch - приложениях вся информация о переменных приложения хранится в Tagname Dictionary (Словарь переменных). Это не что иное, как база данных реального времени - один из центральных компонентов InTouch. При определении переменной в базе данных InTouch запрашивает определенную информацию о каждой переменной, например, имя переменной, ее тип, имя доступа и т. д. В пакете InTouch используется два базовых типа переменных - Memory (внутренние) и I/O (переменные ввода/вывода). Переменные типа Memory могут быть использованы для создания различных системных констант, моделирования элементов системы управления и в вычисляемых переменных, доступных другим Windows - программам. Все переменные, которые получают или передают свое значение другой Windows - программе, должны иметь тип ввода/вывода (I/O). В эту категорию попадают переменные, которые посредством канала доступа (Access Name) принимают или отправляют данные из/в серверов ввода/вывода, других приложений InTouch, других программ Windows. Определение новой переменной в базе данных InTouch, как и просмотр, и модификация атрибутов уже существующих переменных, производится в диалоге Tagname Dictionary (рис.2.3.5). Доступ к этому диалогу осуществляется командой Speсial/Tagname Dictionary в окне среды разработки WindowMaker или двойным щелчком по иконке Tagname Dictionary в окне Application Explorer. Рис. 2.3.5. Диалог Tagname Dictionary (Словарь переменных). Поля Tagname и Comment предназначены для ввода имени переменной и соответствующего комментария. По умолчанию включена опция Read/Write (чтение/запись). Можно отметить и опцию Read Only, если в процессе исполнения WindowViewer должен только читать значение переменной. В любое время в режиме проектирования можно открыть список переменных приложения щелчком по кнопке Select для выбора соответствующей переменной, просмотра списка или модификации атрибутов. Диалог Select Tag (выбор переменной) представлен на рис.2.3.6. Рис. 2.3.6. Диалог Select Tag (выбор переменной). Для каждой переменной в этом диалоге приведена следующая информация: имя переменной, ее тип, имя доступа, группа аларма и комментарий. Группа алармов (Alarm group, рис.2.3.6) для переменной определяется в диалоге, вызываемом нажатием кнопки Group диалога Tagname Dictionary. Все, что касается алармов, рассматривается в соответствующем разделе ниже. Выбор типа переменной осуществляется в диалоге Tag Types (тип переменной, рис. 2.3.7), вызываемом на экран нажатием кнопки Туре диалога Tagname Dictionary. Рис. 2.3.7. Диалог Tag Types (тип переменной). В этом диалоге представлен полный список основных типов переменных InTouch. Выбор завершается отметкой соответствующей опции и щелчком по Ok. После выбора типа переменной программа возвращает пользователя в диалог Tagname Dictionary (Словарь переменных). При этом будет открыт и дополнительный диалог подробного описания переменной, содержание которого зависит от выбранного типа. На рис.2.3.8 представлен диалог подробного описания вещественной переменной типа I/O Integer. Рис. 2.3.8. Диалог подробного описания переменной типа I/O. Кнопка Access Name (имя доступа) используется для определения канала обмена (канала доступа) с сервером, с которым будет связана описываемая переменная. Имя доступа Access Name определяется именем узла, именем приложения и именем группы или топика. Имя топика должно совпадать с соответствующим именем, заданным при конфигурировании DDE, SuiteLink-сервера. Имя элемента, как компонента многоуровневого адреса, определяется в поле Item (рис.2.3.8). В распределенных системах InTouch имя доступа может быть определено либо как локальный адрес, либо как глобальный. Локальные адреса используются в том случае, когда View - узлы имеют свои серверы ввода/вывода. На рис. 2.3.9 узлы исполнения (View - узлы), каждый со своей копией одного и того же приложения, ссылаются на свои собственные источники данных ввода/вывода (серверы ввода/вывода). Рис. 2.3.9. Сеть View - узлов с собственными серверами ввода/вывода. Поэтому при определении канала доступа к информации ввода/вывода достаточно трехуровневого адреса (Application - приложение, Topic - объект, Item - элемент). Имя узла (Node) в этом случае опускается. Щелчок по кнопке Access Name (рис.2.3.8) вызывает на экран одноименный диалог. Рис. 2.3.10. Диалог Access Names (имена доступа). Этот диалог предназначен для определения нового канала доступа (кнопка Add), модификации существующего (Modify) или удаления (Delete). Щелчок по кнопке Add вызывает диалог определения нового канала доступа (рис.2.3.11). Рис.2.3.11. Диалог определения нового канала доступа (локальный адрес). Диалог определения канала доступа заполнен в соответствии с примером, рассмотренным на рис.2.3.4. В качестве имени (канала) доступа (Access Names) рекомендуется выбирать имя группы или топика (Topic Name). Следует подчеркнуть, что поле Node Name (имя узла) оставлено пустым. Щелчок по кнопке Ok возвращает пользователя в диалог Access Names (имена доступа) с определенным именем доступа (рис.1.2.12). Рис.2.3.12. Диалог Access Names с определенным именем доступа. Глобальные адреса источников данных ввода/вывода позволяют нескольким View - узлам обращаться к одному и тому же серверу ввода/вывода. Такой подход предоставляет возможность отказаться от нескольких серверов ввода/вывода, однако менее защищен от отказов (рис.2.3.13). Рис.2.3.13. Архитектура с двумя View - узлами и сервером ввода/вывода. Два View - узла исполняют идентичные копии одного и того же приложения и ссылаются на один и тот же источник ввода/вывода (I/O сервер). Поэтому при определении канала доступа к информации ввода/вывода необходимо использовать четырехуровневый адрес (Node - узел, Application -приложение, Topic - объект, Item - элемент). Заполненный диалог при определении имени доступа для такой конфигурации представлен на рис. 2.3.14. Рис.2.3.14. Диалог определения нового канала доступа (глобальный адрес). При выборе имени доступа действует то же правило, что и при локальной адресации: рекомендуется, чтобы это имя совпадало с именем группы данных или топика (Topic Name). Но поле Node Name (имя узла) необходимо заполнить. В качестве этого имени при глобальной адресации выбирают имя узла, на котором установлен сервер ввода/вывода, являющийся источником данных для нескольких приложений. Для каждой переменной ввода/вывода задается атрибут Access Name. С одним именем доступа, как правило, связано большое количество переменных. Распределение переменных по группам (топикам) - произвольное. Но для оптимизации функционирования серверов рекомендуется в одну группу относить переменные с одинаковой частотой обновления. В противном случае частота, задаваемая при конфигурировании топика в сервере, должна соответствовать минимальному временному кванту. Желательно на этапе конфигурирования сервера определить группы (топики) для каждого частотного диапазона и в соответствии с этими группами создать имена доступа (Access Name) в InTouch (лучше даже, чтобы имена групп совпадали с именами доступа). А далее каждую описываемую в InTouch-приложении переменную типа I/O связывать с подходящим именем доступа для обеспечения рационального пакетирования данных. 2.4. Коммуникационныевозможностив Citect 2.4.1. Коммуникационныепротоколы Для обмена данными с контроллерами в Citect могут использоваться следующие способы: встраиваемые драйверы, DDE - обмен, OPC - протоколы. • Первый путь предполагает создание динамических библиотек, выполняющих функцию драйверов. Citect поставляется с более чем 120 драйверами ввода/вывода. Все эти драйверы 32 - разрядные и обеспечивают подключение более 300 типов ПЛК, RTU, микроконтроллеров, Loop - контроллеров и т. д. Среди них контроллеры фирм ABB (AC 110, AC 160, AC 410, AC 450, Commander 100, 150, 200, 300), Advantech (Adam 4000, Adam 5000), Allen Bradley (PLC-5, PLC-5/250, PLC-2, PLC-3, SLC 500), Bristol Babcock (33хх RTUs), Control Microsystems (TeleSAFE), Fuji, Foxboro (760 Series), GE Fanuc (Series 90, Series 9070, Series 9030, Series 6), Hewlett Packard (HP 3852A), Hitachi (H20, H200, H250, H700), Honeywell (620 Series, TDC2000, UDC3000), Koyo (405 Series), Mitsubishi (Melsec A, AnA, FX), Modicon (Series 484, Series 584, Series 884, Series 984), Motorola (Moscad RTU), Omron, Samsung (Fara PLC), Siemens (Simatic - модели S5, S7, TI), Toshiba (EX 100, EX 250, EX 500, EX 2000, Tosdic-200, DPCS, PCS, OIS, SIS), Yokogawa (4082 Hybrid Recorder, 3880 Hybrid Recorder, Micro XL, Centum XL) и многих других фирм. Если нужного драйвера в системе Citect не окажется, можно воспользоваться пакетом разработки драйверов Driver Development Kit (DDK). • Связь через DDE - сервер использует стандартный коммуникационный протокол Windows. Citect поддерживает связь с любым DDE - сервером. • Система Citect может функционировать в качестве и OPC - сервера и OPC - клиента. 2.4.2. Установкасвязейсустройствамиввода/вывода Система Citect имеет в своем составе специальную утилиту - Express Communications Wizard (система установки связи) - средство быстрого и простого конфигурирования устройств. Эта программа использует полученную на каждом шаге процесса установки информацию и снабжает разработчика установками по умолчанию, оставляя в тоже время варианты выбора параметров ввода/вывода. Каждый диалог программы содержит четыре кнопки управления процессом установки связи: • Next - продолжение установки; • Back - возврат на предыдущий шаг; • Cancel - отмена установки; • Help - справочная информация. Щелчок по кнопке Finish последнего диалога завершает установку связи. Доступ к системе установки связи осуществляется в Citect Explorer из папки Communications соответствующего проекта (рис. 2.4.2). Рис. 2.4.2. Доступ к мастеру коммуникаций из Citect Explorer. Двойной щелчок по иконке Express I/O Device Setup запускает процесс установки и конфигурирования устройств ввода/вывода. В этом диалоге предлагается определить Citect -компьютер как сервер ввода/вывода и присвоить ему уникальное имя. Последовательное нажатие клавиши Next (далее) открывает перед разработчиком новые диалоги, предлагая ввести необходимую информацию по установке связи между Citect и устройством ввода/вывода. Citect предоставляет возможность пользователю разрабатывать и отлаживать проект без необходимости физического подключения к реальному устройству ввода/вывода. Просто при конфигурировании устройства ввода/вывода его можно определить как внутреннее (Memory I/O Device) или как диск (Disk I/O Device). Теперь Citect будет работать так, как будто взаимодействует с реальным контроллером. При выборе Disk I/O Device данные сохраняются в виде файла на жестком диске. При перезапуске Citect данные остаются доступными. Disk I/O Device может использоваться и другими компьютерами через ЛВС (LAN). Данные, записанные в Memory I/O Device, теряются при перезапуске системы. В этом диалоге производится выбор марки контроллера, интерфейсной платы и протокола обмена информацией. Для обмена по OPC-протоколу именно в этом диалоге выбирается протокол OPC, чтобы наделить Citect-приложение функциями OPC-клиента. Одним из основных элементов при обмене данными между компьютером и устройством является адрес устройства. Эту информацию можно найти в документации на используемый сервер ввода-вывода. В результате работы Express Communications Wizard будет заполнено несколько диалогов, полностью характеризующих установленную связь между Citect- компьютером и устройством ввода/вывода. Находясь в Citect Explorer (см. рис. 2.4.2), можно дважды щелкнуть по соответствующей каждому диалогу иконке и отредактировать параметры связи. Диалоги, автоматически заполненные в процессе работы Express Communications Wizard при установке связи между Citect - компьютером и контроллером Mitsubishi Melsec- FX Series PLC, подсоединенным к последовательному порту Com1, показаны на рис. 2.4.3. • В диалоге Server (сервер) для определения сервера задают его имя в поле Server Name. При наличии двух серверов (дублирование) каждый сервер должен иметь свое имя. • Диалог Boards (интерфейсная плата) включает следующие поля: o имя сервера (Server Name); o имя интерфейсной платы (Boards Name); o тип интерфейсной платы (Boards Type); o адрес интерфейсной платы (Address); o адрес порта в интерфейсной плате (I/O port). Рис. 2.4.3. Диалоги конфигурирования параметров связи. • Диалог Ports (порт) включает следующие поля: o имя порта (Port Name); o номер порта (Port Number); o имя интерфейсной платы (Boards Name); o скорость в бодах (Baud Rate); o количество битов (Data Bits) - 7 или 8; o количество стоповых битов (Stop Bits) - количество битов в конце посылки (1 или 2); o контроль на четность (Parity). • Диалог I/O Device (устройство ввода/вывода) включает следующие поля: • имя устройства ввода/вывода (Name); • номер устройства ввода/вывода (Number) - 0 - 4095; • адрес (Address); - протокол (Protocol) - большинство устройств поддерживает ряд протоколов, выбор которых зависит от выбранного метода связи; • имя порта (Port Name), обеспечивающего взаимодействие с устройством ввода/вывода. Итак, канал связи полностью определен, и это заняло у опытного пользователя всего несколько десятков секунд (в крайнем случае, пару минут). Теперь предлагается определить переменные, подключаемые к этому каналу связи. Находясь в Citect Explorer, следует открыть папку Tags, а затем дважды щелкнуть на иконке Variable Tags. На экране появится диалог (рис.2.4.4). Рис. 2.4.4. Диалог Variable Tags (переменная). Для каждого переменной следует определить: • уникальное имя (Variable Tag Name); • тип данных (Data Туре); • имя устройства ввода-вывода (I/O Device Name); • адрес (Address); • формат данных (Format) и т. д. Этот диалог придется заполнять для каждой переменной, нажимая каждый раз клавишу Add (добавить). Хотя информация, вводимая по каждой переменной, достаточно однотипна, при большом количестве переменных процесс будет достаточно трудоемким. Все переменные проекта хранятся в формате DBF, и возможно непосредственное редактирование баз данных с использованием таких программных продуктов, как Microsoft Excel. Файл с базой данных Variable.dbf находится в директории \Citect\User\. Такая возможность работы с базой данных переменных позволит существенно сократить сроки разработки проекта. Фрагмент файла Variable.dbf приведен на рис. 2.4.5. Рис. 2.4.5. Фрагмент базы данных в таблице Excel. 2.5. Подключениеузлов Citect 2.5.1. Архитектураклиент – сервер Citect ориентирован на реализацию архитектуры клиент - сервер и имеет в своем составе пять функциональных модулей (серверов или клиентов): • I/O - сервер ввода/вывода. Обеспечивает передачу данных между физическими устройствами ввода/вывода и другими модулями Citect. • Display - клиент визуализации. Обеспечивает операторский интерфейс: отображение данных, поступающих от других модулей Citect, и управление выполнением команд оператора. • Alarms - сервер алармов. Отслеживает данные, сравнивает их с допустимыми пределами, проверяет выполнение заданных условий и отображает алармы на соответствующем узле визуализации. • Trends - сервер трендов. Собирает и регистрирует трендовую информацию, позволяя отображать развитие процесса в реальном масштабе времени или в ретроспективе. • Reports - сервер отчетов. Генерирует отчеты по истечении определенного времени, при возникновении определенного события или по запросу оператора. Каждый функциональный модуль Citect исполняется как отдельная задача независимо от того, исполняются ли модули на одном компьютере или на разных. Поэтому Citect позволяет строить архитектуры различной сложности. Простейшая архитектура системы Citect состоит из одного компьютера, на котором работают все модули. Очевидно, эта архитектура применима лишь для малых систем с ограниченным числом параметров. Для средних и больших проектов (тысячи и десятки тысяч параметров) можно использовать сетевые возможности Citect. Компьютеры системы управления могут быть распределены по всему предприятию (цехам, участкам, офисам) и поставлять информацию оперативному персоналу и различным службам. Сетевые возможности Citect допускают использование в локальной сети до 256 компьютеров. Каждый из них может играть роль Display Client. Но по меньшей мере один из этих компьютеров должен быть сервером (ввода/вывода, алармов, трендов, отчетов). Архитектура клиент - сервер может быть представлена разнообразными вариантами: например, один компьютер может быть сервером ввода/вывода данных и сервером алармов, другой - сервером отчетов и сервером трендов. Остальные компьютеры сети являются клиентами визуализации - Display Client (рис.2.5.1- слева). File Server - компьютер с большой емкостью памяти (жесткий диск, лазерные диски) для хранения всей информации локальной сети (сервер базы данных). Для очень больших систем можно предложить вариант, в котором каждая задача обслуживается отдельным компьютером (сервер ввода/вывода, сервер тревог, сервер трендов и сервер отчетов), причем клиентами визуализации могут быть несколько компьютеров. Пример такой системы приведен на рис. 2.5.2. Рис. 2.5.2. Вариант сетевой архитектуры системы Citect. Следует отметить, что для рассматриваемых архитектур можно использовать только один сервер алармов, сервер трендов и сервер отчетов. В то же время допускается использование нескольких серверов ввода/вывода (I/O Server). |