Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / SCADA-╤Б╨╕╤Б╤В╨╡╨╝╤Л ╨║╨░╨║ ╨╕╨╜╤Б╤В╤А╤Г╨╝╨╡╨╜╤В ╨┐╤А╨╛╨╡╨║╤В╨╕╤А╨╛╨▓╨░╨╜╨╕╤П ╨Р╨б╨г ╨в╨Я

..pdf
Скачиваний:
2
Добавлен:
13.11.2023
Размер:
23.86 Mб
Скачать

RegType, равным RegOx(R/W); указывает число регистров Ох, записываемых этим каналом, и может принимать значения от 1 до 16; не влияет на другие регистры:

регистры Зх и 4х читаются по одному за одну посылку; регистры 4х записываются по одному за одну посылку; регистры 1х и Ох читаются по 16 за одну посылку, незави­ симо от значения параметра Q(forOx/lx);

регистры Ох записываются в соответствии со значением па­ раметра Q(forOx/lx); для записи используются Q(forOx/lx) младших битов канала.

Чтение данных происходит по запросу сервера математической обработки в соответствии с фазой и периодом работы канала, а запись - при изменении выходного значения канала типа «О». При каждой посылке ответ ожидается в течение одной секунды. Если ответа за это время нет, то каналу выставляется признак достовер­ ности, равный единице, связь с узлом разрывается и предпринима­ ется попытка восстановить ее заново. Вне зависимости от того, была ли попытка успешной или нет, драйвер возвращает управле­ ние серверу математической обработки. Если восстановления свя­ зи не произошло, следующая попытка установки связи повторится при следующем обращении к этому узлу. Необходимо обратить внимание, что при безуспешной попытке записи значения канала система будет пытаться повторять запись до тех пор, пока она не пройдет успешно.

5.3.6. Обмен с контроллерами по протоколу Uni-Telway

Этот драйвер обеспечивает поддержку протокола Uni-Telway для обмена с ПЛК серий TSX компании Telemecanique, входящей в корпорацию Schneider Electric. Протокол Uni-Telway поддержива­ ется в ПЛК серий TSX Micro, TSX Nano, TSX Premium.

Драйвер поддерживает чтение/запись переменных MW и кон­ стант KW. Для обмена данными используется последовательный порт компьютера и конвертер RS-232/RS-485. Драйвер оформлен в виде драйвера для обмена по произвольному интерфейсу. Для кор­ ректной работы драйвера необходимо правильно произвести кон­ фигурацию порта TER или AUX в ПЛК и последовательного порта компьютера.

Драйвер состоит из следующих файлов: readme_UTWS.pdfописание драйвера;

211

media<n>.dll - драйвер носителя, обеспечивающий передачу и прием данных по протоколу Uni-Telway в режиме Slave;

tl2s<n>.dll - драйвер Uni-Telway, обеспечивающий формиро­ вание и расшифровку сообщений в режиме Slave;

UTWSconfig.exe - файл конфигурирования списка портов и ПЛК, с которыми может обмениваться данными драйвер;

UTWS.cfg - параметры последовательных портов и ПЛК, с ко­ торыми может обмениваться данными драйвер;

UniTelwaySlave.DRV - описание драйвера для системы Трейс Моуд.

Все файлы расположены в каталоге системы Трейс Моуд.

3.5.7. Контроль иуправление обменом

Для контроля состояния обмена по внешним и внутренним протоколам предусмотрены каналы подтипа «ДИАГНОСТИКА» с дополнениями к подтипу «DCS», «MODBUS», «КОНТР1», «КОНТР_2».

Для управления обменом по последовательным портам можно использовать каналы подтипа «СИСТЕМНЫЙ» с дополнениями к

подтипу «RS-on-off» и «Ввод», «Вывод». Каждый бит дополнения «RS-on-off» управляет обменом по одному последовательному порту: младший бит - по нулевому порту, а старший - по пятна­ дцатому. Значение бита, равное единице, запрещает обмен по со­ ответствующему порту.

3.5.8. Обмен с платамиустройства связи с объектом

Для обмена с платами УСО в МРВ применяется внешний драй­ вер, который поставляется опционально.

Если используемой платы УСО нет в списке поддерживаемых, то можно получить к ней доступ через внешний драйвер по интер­ фейсу ТСОМ.

Для обмена данными с платами УСО используются каналы следующих подтипов:

АНАЛОГ;

ДИСКРЕТ.

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

Тип платы указывается как дополнение к подтипу.

Каналы подтипа «АНАЛОГ» имеют следующие пять настроек:

212

BASE

- базовый адрес платы;

СН

- номер канала на плате;

MUX

- номер канала на мультиплексоре;

GAIN/REG

- параметр усиления;

ALT/REG

- сдвиг в битах считанного значения перед его

записью в канал.

Каналы типа INPUT помещаются в объект «АНАЛОГОВЫЙ ВВОД», a OUTPUT - в объект «АНАЛОГОВЫЙ ВЫВОД».

Каналы подтипа «ДИСКРЕТ» имеют также пять настроек:

BASE

- базовый адрес платы;

СН

- номер канала на плате;

MUX

- номер канала на мультиплексоре;

ТУРЕ

- тип опроса дискретного сигнала:

«Быстрый»

- по прерыванию;

«Нормальный»

- с периодом канала;

STATE

- тип инициализации портов микросхемы 8255

при старте.

 

Каналы типа INPUT данного подтипа помещаются в стандартный объект базы каналов «ДИСКРЕТНЫЙ ВВОД», a OUTPUT - в объ­ ект «ДИСКРЕТНЫЙ ВЫВОД».

Для каналов обмена с УСО по последовательному интерфейсу может быть задан повышенный приоритет при обработке. Для это­ го эти каналы (не более четырех) надо поместить в стандартный объект «БЫСТРАЯ ОБРАБОТКА».

Для измерения частоты изменения дискретных сигналов или подсчета числа импульсов предусмотрен специальный подтип ка­ налов, который называется «Быстрый». Чтобы контролировать частоту изменения, такому каналу следует задать дополнение к подтипу «Частота», а для подсчета импульсов - дополнение к под­ типу «Счетчик». Настройка СН1 данного канала указывает канал ввода дискретных сигналов, а настройка Bit - номер бита в вы­ бранном канале.

Каналы дискретного ввода, на которые указаны ссылки, опра­ шивают сигналы вне цикла системы с частотой разрешения тайме­ ра. Оно задается в бланке «Основные» диалога «Параметры узла». Таким образом, максимальная скорость опроса равна 1 мс.

Каналы подтипа «Быстрый» помещаются в объект «БЫСТРАЯ ОБРАБОТКА», а анализируемые ими каналы - в объект

213

«ТАЙМЕРЫ СЧЕТЧИКИ». При работе в реальном времени только первые четыре канала из объекта «ТАЙМЕРЫ СЧЕТЧИКИ» пере­

считываются вне цикла системы, а остальные - как обычные кана­ лы. Таким образом, максимальное число быстро опрашиваемых дискретных сигналов в одном узле равно 32.

Каналы подтипа «Быстрый» в МРВ требуют наличия драйвера поддержки плат УСО.

Большинство плат УСО после получения запроса требуют временных задержек на оцифровку данных, на переключение внутренних или внешних коммутаторов, на отработку усиления и пр. Чтобы установить эти задержки, в параметрах узла преду­ смотрен набор таймаутов. Для их настройки надо войти в бланк «Тайм-ауты» диалога «Параметры узла». Значения этих тайм­ аутов задаются в относительных единицах. Реальная задержка определяется производительностью процессора. Задержка обес­ печивается вставленным в тело программы циклом, внутри кото­ рого присутствует еще один пустой цикл. В качестве параметра обоих циклов используется введенное значение тайм-аута. Пре­ дельное значение тайм-аута равно 32 000.

Шкала тайм-аутов является квадратичной. Поэтому при их больших значениях на компьютерах со слабыми процессорами не остается времени на другие процессы и появляется видимый эф­ фект зависания.

Тайм-аут «ПРЕОБРАЗОВАНИЕ» представляет собой число проверок завершения преобразования. В DOS один запрос осуще­ ствляется за время порядка 1 мкс, в Windows - за 10 мкс. Посколь­ ку все тайм-ауты находятся внутри цикла пересчета базы каналов, задавать их избыточно нецелесообразно (при отказе оборудования существенно удлиняется цикл пересчета). По умолчанию значение тайм-аута «ПРЕОБРАЗОВАНИЕ» устанавливается равным 2000 опросов регистра АЦП.

Для управления обменом с платами УСО предназначен канал подтипа «СИСТЕМНЫЙ» с дополнением «Ввод», «Вывод». Для этого используются его биты 0...5. Эти биты управляют следую­ щими операциями:

0-й бит - чтением аналоговых сигналов;

1-й бит - чтением дискретных сигналов;

2-й бит - формированием аналоговых сигналов;

214

3-й бит - формированием дискретных сигналов;

4-й бит - чтением значений таймеров;

5-й бит - управлением таймерами.

Значения этих битов определяют следующие состояния обмена: О - разрешить; 1 - запретить.

5.3.9. Разработка драйверов

Для обмена данными с устройствами, поддержка которых не реализована в Трейс Моуд, надо разработать драйвер. Интерфейс взаимодействия Трейс Моуд с внешними устройствами оформля­ ется как динамически загружаемая библиотека и подключается аналогично стандартным драйверам, поставляемым с системой.

Чтобы драйвер обмена с контроллером был доступен для МРВ, он должен быть оформлен как DLL-модуль и размещен в директо­ рии запуска МРВ. При этом драйверу следует присвоить следую­ щее имя:

Т11 Sn.DLL - для каналов «КОНТР_1», T12Sn.DLL-для каналов «КОНТР_2»,

где п - номер в списке (от 0 до 31).

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

Во-первых, надо внести в файл Туре 1 l.ini (для каналов подтипа «КОНТР_1») или Typel2.ini (для каналов подтипа «КОНТР 2») название контроллера. Оно должно располагаться на отдельной строке, включать в себя не более 19 символов и не содержать про­ белов. Указанные файлы располагаются в поддиректории INI ин­ струментальной системы. Номер строки, в которой находится на­ звание контроллера,, является его номером в списке при формировании имени файла DLL-модуля.

Во-вторых, надо создать файл описания настроек каналов, об­ менивающихся с данным контроллером. Имя этого файла должно совпадать с названием контроллера в файле Typell.ini (или Typel2.ini), а расширение должно быть drv.

При отработке любого канала типа «КОНТР1» или «КОНТР 2» МРВ вызывает драйвер, соответствующий дополне­ нию к подтипу данного канала. При этом драйверу передается удаленный адрес. В нем указываются данные, которые надо за­

215

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

Удаленный адрес включает в себя 6 байт. Его можно разбить на несколько полей (до шести). Каждое поле может включать в себя один или два байта. Формирование значений полей удаленно­ го адреса осуществляется с помощью настроек канала.

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

<NAME_KONT>.drv,

где <NAME_KONT> - название контроллера в файле TYPE11 .INI или TYPE12.INI.

Файл <NAME_KONT>.drv имеет текстовый формат. Он дол­ жен располагаться в директории INI. В первой его строке следует записать имя контроллера, совпадающее с именем файла. На сле­ дующей строке указывается число полей в удаленном адресе. Да­ лее следуют строки с описаниями имен и способов формирования настроек и расположения полей в удаленном адресе.

Для полей, формируемых по меню, при нажатии ЛК на назва­ ние соответствующей настройки на экран выводится диалог со списком заданных для них текстов. При выборе любого из них по­ лю присваивается значение номера этого текста в списке (начиная с нуля).

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

53.10, Обмен данными с приложениями через механизмы DDE

Одним из механизмов обмена данными приложений Windows является DDE (Dynamic Data Exchange). МРВ может выступать как в качестве DDE-сервера, так и DDE-клиента. Выступая в роли DDE-сервера, МРВ выполняет следующие операции:

посылает реальные значения каналов приложению по своей инициативе (режим ADVISE);

изменяет значения атрибутов каналов по команде другого при­ ложения (режим РОКЕ);

посылает значения любых атрибутов каналов по запросу дру­ гого приложения (режим REQUEST).

Чтобы обмениваться данными с МРВ, используя механизм DDE, надо посылать ему запросы в следующем формате:

<server>|<topic>!<item> <data>,

216

где <server>

- имя DDE-сервера в формате RTM<nnn>, где

<ппп> - номер узла, которому адресован запрос;

<topic>

- тема запроса; в режиме ADVISE указывается GET,

а в режимах РОКЕ и REQUEST - обозначения атрибутов каналов;

<item>

- имя канала;

<data>

- посылаемое значение в формате числа с плаваю­

щей запятой; оно присутствует только в режиме РОКЕ.

При запросе реального значения в режиме REQUEST в качест­ ве темы надо указать GET.

Для посылки значения из приложения в атрибут «Вход» канала Трейс Моуд (режим РОКЕ) надо задать тему PUT или GET.

Пример. Требуется запрашивать в режиме ADVISE значения канала TRCAS_234 и помещать их в ячейку В5 таблицы Excel. МРВ, у которого запрашиваются данные, имеет сетевой номер 5.

Для решения этой задачи в ячейку В5 надо занести следующий запрос:

=RTM5|GET!TRCAS_234

Пример. Требуется посылать из EXCEL в диалоге по нажатию кнопки в верхнюю границу шкалы значение 300.

Для решения данной задачи надо выполнить следующие дейст­ вия:

1)занести в ячейку А1 таблицы «Лист!» значение 300;

2)написать короткий макрос на Visual Basic for Applications:

Sub MyDDE()

channelNumber = Application.DDEInitiate("RTM5", "HL") Application.DDEPoke channelNumber, "TRCAS-234", Worksheetsf^HCT 1 ").Cells(l, 1) Application.DDETerminate channelNumber

End Sub

3) создать диалог и обеспечить выполнение этого макроса при нажатии заданной кнопки в этом диалоге.

Для связи МРВ с другими приложениями, запущенными на удаленных компьютерах, можно использовать механизм NetDDE. Формат запроса в этом случае остается таким же, как описано вы­ ше. Однако элементы server и topic формируются иначе.

Имя сервера формируется следующим образом: \\<NAME>\NDDE$

где <NAME> - имя компьютера, на котором работает МРВ.

217

В качестве темы надо записать RTM<nnn>$, где <ппп> - номер узла, которому адресован запрос, а в качестве item - имя канала.

При обмене по NetDDE запрашиваются только реальные зна­ чения каналов и формируются только входные значения.

Управление обменом по DDE осуществляется каналами подти­ па «СИСТЕМНЫЙ» с дополнением «Сеть», DDE. Для этого ис­ пользуются биты с шестого по одиннадцатый (считая с нулевого).

Контроль текущего состояния обмена по DDE осуществляется с помощью канала «ДИАГНОСТИКА» с дополнением к подтипу DDE.

Выступая в роли DDE-клиента, МРВ выполняет следующие операции:

принимает данные, посылаемые DDE-серверами, по мере их изменения (режим ADVISE);

управляет переменными в DDE-серверах (режим РОКЕ); запрашивает данные у DDE-серверов (режим REQUEST).

Для обмена данными с DDE-серверами предусмотрен подтип каналов «DDE». Его дополнение к подтипу указывает файл конфи­ гурации обмена. Такие файлы должны располагаться в директории проекта. Их имена формируются следующим образом:

DDECNF<n>.CNF

где <п> - номер 0...7; он соответствует значению дополнения к подтипу (если дополнение к подтипу DDE0, то п должно быть равно нулю, если DDE1, то единице и т. д.).

Настройки каналов подтипа DDE определяют режим обмена, а также метод и режим формирования запросов у DDE-сервера.

Этот файл имеет текстовый формат и содержит следующую информацию:

server topicO [format_item] topic1

• • • •

где server — имя DDE-сервера; topic <n> — название темы (до 256 тем, которые выбираются настройкой канала D); format item - формат элемента item.

Формат item может отсутствовать. В этом случае для канала надо выбрать режим использования его имени в качестве item.

Строка описания элемента item может содержать тексты и форматы вывода чисел в нотации языка Си. При формировании DDE запроса item будет состоять из текстов и вставленных в него

218

Следующая настройка (формат) определяет метод формирова­ ния элемента item в запросе. Метод выбирается из списка, содер­ жащего следующие пункты:

имя

- в качестве item используется имя канала;

2 параметра

- в строке описания формата элемента item

может присутствовать до двух полей вставки чисел. Значение первого числа определяется значениями настроек А и В (млад­ ший и старший байт соответственно), а второго - значением на­ стройки С;

3 параметра - в строке описания формата элемента item мо­ жет присутствовать до трех полей вставки чисел. Значения перво­ го, второго и третьего чисел определяются значениями настроек А, В и С соответственно.

Каждая из настроек А, В, С и D является целым числом длиной в один байт. Соответственно, их значения могут лежать в диапазо­ не 0...255.

53.11. Обмен данными через механизмы ОРС

Одним из самых перспективных стандартов обмена данными между приложениями Windows, включая и контроллеры, при соз­ дании систем управления является механизм ОРС (OLE for Process Control).

МРВ может выступать в качестве ОРС-сервера и ОРС-клиента. В качестве ОРС-клиента он поддерживает следующие режимы:

SYNC/CACHE

- синхронное чтение из кэша;

SYNC/DEVICE

-

синхронный обмен данными с устрой­

ством;

 

асинхронный обмен данными с уст­

ASYNC/DEVICE

-

ройством;

 

асинхронное чтение данных при изме­

ADVISE

-

нении их значения.

 

 

В режиме ADVISE МРВ принимает значения, присылаемые по каналу подписки. Они обычно присылаются сервером только при изменении значения параметра.

В режиме ASYNC МРВ опрашивает ОРС-сервер и принимает данные, присылаемые по каналу подписки.

Для обмена данными между МРВ и ОРС-сервером МРВ созда­ ет на ОРС-сервере одну или несколько «приватных» групп. Они имеют следующие имена:

220