В резервированной системе «КАСКАД Цифра» обычно работают два OPC-сервера. Один сервер работает в левой системе, а другой — в правой. Существует две возможности подключения этих серверов к избыточной системе “КАСКАД Цифра”. Какой вариант используется для проекта, зависит от возможностей резервирования и поведения OPC-клиента.
Опция 1 (по умолчанию)
По умолчанию каждый OPC-сервер подключается к своей собственной системе, что означает, что оба сервера могут предоставлять данные OPC-клиентам. Однако клиент может записывать значения только через сервер, работающий в активной системе.
Вариант 2
Используйте опцию connectToRedundantHosts для подключения к резервной системе. В этой конфигурации оба сервера ведут себя полностью симметрично, что означает, что для клиента не имеет значения, какой OPC-сервер является активным или пассивным. Если, например, клиент записывает один и тот же элемент на оба сервера в такой конфигурации, в системе “КАСКАД Цифра” отображаются два изменения значений.
Начиная с версии 2.12 любой клиент OPC может подключаться и обмениваться данными с «КАСКАД Цифра» через сервер OPC. Так обеспечивается связь и управление системами баз данных, другими системами управления, инструментами долгосрочного архивирования и инструментами отчетности. Сервер OPC доступен только в системе Windows.
Если значение недействительно, то есть «_online.._bad = TRUE», тогда «_online.._default = TRUE» или «= FALSE» сопоставляются с неисправным общим (000000LL).
Для установки подключения клиентов к серверу OPC не требуется добавлять какие-либо записи в файл «config». Необходимо только добавить код, если «КАСКАД Цифра» не должен использоваться в качестве интерфейса.
В файле «config» есть два раздела, относящиеся к серверу OPC:
[OPCSERVER]
[KASKAD]
и
[opcsrv]
ПРИМЕЧАНИЕ
Общие записи в файле «config», которые могут относиться к разным разделам, необходимо объявлять в разделе [opcsrv], в противном случае соответствующие параметры не будут применены.
В разделе [OPCSERVER] используются следующие ключевые слова:
Запись
Тип
Значение по умолчанию
Диапазон
Описание
STOPWITHLASTCLIENT
int
1
0|1
Определяет необходимость автоматического останова сервера «КАСКАД Цифра» OPC после завершения работы клиента ОРС (тип: int, значение по умолчанию: 1, диапазон: 0/1). В случае подключения нескольких клиентов к серверу ОРС сервер завершает работу после завершения подключения с последним клиентом.
DEFAULTTRACEFILE
string
«»
«»
С помощью этой записи указывается файл, в котором регистрируются сообщения об отладке (по умолчанию: «»).Пример:[OPCSERVER]STOPWITHLASTCLIENT = 0 DEFAULTTRACEFILE = «C:/TEMP/MyLOG.log» TRACEFILE = 1 TRACELEVEL = 8
TRACEFILE
int
0
0|1
Определяет необходимость записи сообщений об отладке в файл, указанный с помощью записи «DEFAULTTRACEFILE»(1 = да; 0 = нет)
TRACELEVEL
int
0
0 — 31
Определяет сообщения об отладке, которые необходимо регистрировать. Значение «TRACELEVEL» – это сумма следующих значений:1: Сохранение успешных вызовов в файл журнала2: Сохранение информационных сообщений в файл журнала4: Сохранение предупреждений в файл журнала8: Сохранение ошибок в файл журнала16: Сохранение прочих сообщений в файл журналаПример:TRACELEVEL = 8 // сохранение только сообщений об ошибкахTRACELEVEL = 12 // сохранение ошибок и предупреждений (4+8)TRACELEVEL = 31 // сохранение всех сообщений (1+2+4+8+16) Примечание.При наличии неверно введенных ключевых слов или значений в файле «config» (например, если пропущена кавычка в начале пути к файлу в значении записи «DEFAULTTRACEFILE») в средстве просмотра журналов выводится сообщение об ошибке и сервер OPC не запускается.
maxLogFileSize
uint
10
>= 0
Определяет максимальный размер файла журнала сервера ОРС (в мегабайтах). Запись используется в разделе файла конфигурации, посвященном интерфейсу поставщика. [opcservervendor]# интерфейс WSKInterface = «WSK150_System1″Interface = «WSK150_System2″Interface = «WSK150_System3″Interface = «WSK150_System4» # Интерфейс WSK[WSK150_System1]# Имя библиотеки DLLVendorDLL = DynWsk# АктивныйActive = Y# Последовательный интерфейсPort = COM3# Настройки портаMode = «BAUD=9600 PARITY=n DATA=8 STOP=1″# Часть, посвященная интерфейсам поставщика «WSK150_System1″# В данной части содержатся особые настройкиmaxLogFileSize = 1DEFAULTTRACEFILE = «D:/KASKAD/emptynothing/log/WSK150_Anlage1LOG.log»TRACEFILE = 1TRACELEVEL = 32 Примечание.Значение по умолчанию равно 10. Тем не менее, если запись «maxLogFileSize» указана в сегменте [general], ее значение также действительно и для сервера OPC.0 = без ограничений
IgnoreTimestampChange
bool
1
0|1
В случае изменения временной метки элемента, передаваемого с ОРС сервера, это изменение игнорируется. Передачу инициирует только изменение качества или значения.Если эта конфигурационная запись имеет значение 0, ОРС сервер также отсылает элементы в случае изменения временной метки.
OVERWRITELOGFILE
bool
1
0|1
Обеспечивает возможность долгосрочного прослеживания ОРС сервера. Это значит, что файл журнала перезаписывается, при этом перед перезаписью он копируется и сохраняется с расширением «bak» (поведение до данного момента). Если «OVERWRITELOGFILE = 0», файл трассировки изменяется и сохраняется с расширениями «.0», «.1», «.2» и т. д., при этом файл с самым высоким значением расширения является текущим файлом трассировки. Таким образом, больше не нужно копировать файл журнала, что может занимать много времени, особенно в случае с большим «maxLogFileSize». Необходимо отметить, что в случае возникновения проблем со старыми значениями (в случае необходимости получения предыдущих значений вместо новых значений с ОРС сервера), следует использовать данную конфигурационную запись.
В разделе [KASKAD] используются следующие ключевые слова:
Запись
Тип
Значение по умолчанию
Диапазон
Описание
CompareOldNew
int
0
0|1
Активирует сравнение предыдущего и нового значений на сервере «КАСКАД Цифра» OPC (тип: int, значение по умолчанию: 0, диапазон: 0/1). Неизменяемые данные от периферийного оборудования не отсылаются в «КАСКАД Цифра». Пример:[KASKAD]CompareOldNew = 1
В разделе [opcsrv] используются следующие ключевые слова:
Укажите элементы точек данных, которые необходимо только считывать, и включите их в группу «OPCRead».
Укажите элементы точек данных, в которые необходимо сохранять значения, и включите их в группу «OPCWrite». Присвоить им значения можно позже.
Запустите сервер через консоль после запуска менеджера данных и менеджера событий. Сервер был автоматически зарегистрирован во время установки.
Запустите клиент
Настройте подключение сервера OPC, как указано в руководстве клиента. Значение ProgID (идентификатора программы в реестре) сервера OPC равно «»КАСКАД Цифра».OPC.1» — создайте группы и элементы на клиенте.
Автоматический общий запрос при запуске драйвера или при переключении на резерв
Во время запуска драйвер OPC получает все данные от сервера. Таким образом, выполнять общий запрос не требуется. Однако драйвер OPC выполняет общий запрос при переключении на резерв.
ПРИМЕЧАНИЕ
Теоретически клиент также может запускать сервер. Однако при запуске через консоль обеспечивается завершение работы сервера при завершении работы «КАСКАД Цифра», поэтому рекомендуется придерживаться именно такого способа запуска.
В этом разделе описывается функция OPC DA CNS сервера OPC DA “КАСКАД Цифра», которая позволяет сопоставлять представления CNS с адресным пространством сервера. Таким образом, адресное пространство сервера не зависит от структуры точек данных соответствующего проекта и может быть свободно определено.
Использование CNS означает, что группы точек данных не требуются. Необходимую структуру представления CNS можно определить с помощью редактора Plantmodel или функций управления.
Конфигурация
Идентификатор представления, которое должно быть сопоставлено с адресным пространством, должен быть указан во внутренней конфигурации элемента точки данных.CNSView типа _OPCPvssServer. Каждому серверу может быть назначено только одно представление.
ПРИМЕЧАНИЕ
Сервер OPC DA проверяет конфигурацию.Элемент точки данных CNSView только при запуске. Если в адресное пространство должно быть отображено другое представление, в элементе точки данных должен быть определен другой идентификатор представления. После этого сервер должен быть перезапущен. В случае неверного идентификатора просмотра сервер завершает работу и отображается следующее сообщение об ошибке: СЕРЬЕЗНОЕ, 54, Непредвиденное состояние, CNSViewBrowser, Конструктор, View ‘View13’ не существует!
Системное имя “КАСКАД Цифра» и имя представления не являются частью адресного пространства сервера. Первым уровнем адресного пространства является корневой узел, настроенный с помощью элемента конфигурации rootNode. Узлы представления CNS отображаются под настроенным корневым узлом.
Уровень доступа
Атрибут AccessLevel должен использоваться для определения способа доступа к значению переменной (чтение /запись). Сервер OPC UA представляет только узлы, для которых определен соответствующий уровень доступа.
Чтобы определить уровень доступа для узла, ключевое слово OA:OPC со значением типа данных UINTEGER_VAR должно быть сохранено в пользовательских данных узла (либо автоматически через редактор Plantmodel – OPC или cnsSetProperty). Все дочерние заметки, для которых явно не задан уровень доступа, наследуют уровень доступа родительского узла.
Поле
Бит
Описание
Читать
0
Указывает, является ли значение читабельным 0: Не читабельно1: Читабельно
Запись
1
Указывает, является ли значение доступным для записи 0: Не доступным для записи 1: доступным для записи
Наследование
31
Указывает, является ли уровень доступа этого узла наследуемым или действителен только для этого узла.0: Наследуемый 1: Не наследуемый
Сопоставление с адресным пространством сервера
Точки данных могут быть назначены узлам представления CNS. Если узлу назначен элемент точки данных и определен уровень доступа, объект для этого узла представляется как КОНЕЧНЫЙ элемент и представляет текущее значение связанного элемента точки данных.
Узлы CNS без какого-либо связанного элемента точки данных представлены в виде элементов ВЕТВИ.
Обратите внимание на следующую информацию:
Узел без уровня доступа не представлен в адресном пространстве сервера, если не определен уровень доступа по крайней мере для одного дочернего узла и дочерний узел не назначен элементу точки данных
Узел с определенным уровнем доступа, но без назначенного элемента точки данных, не сопоставляется с адресным пространством, если только не существует хотя бы одного дочернего узла с назначенным элементом точки данных.
Родительский узел с назначенным элементом точки данных, но без определенного уровня доступа, отображается как элемент ВЕТВИ, если уровень доступа определен для одного из дочерних узлов.
Структура объектов в адресном пространстве соответствует структуре связанной точки данных. Если узлу назначена структура элемента точки данных, сервер OPC UA добавляет все элементы связанной структуры к узлу CNS.
Сопоставление узлов с адресным пространством под КОНЕЧНЫМ элементом (т.Е. узлом с назначенным элементом точки данных) невозможно. Если конечный элемент имеет дочерние узлы в представлении CNS, они не отображаются в адресном пространстве и в LogViewer отображается соответствующее сообщение об ошибке.
ПРИМЕЧАНИЕ
Имена элементов точек данных связанной структуры используются для идентификатора узла OPC DA. Если имена элементов точки данных связанной структуры конфликтуют с узлами CNS с тем же идентификатором, сервер OPC DA отображает сообщение об ошибке в LogViewer. В этом случае узлы, которые уже существуют в адресном пространстве, остаются неизменными, а новые конфликтующие узлы не добавляются в адресное пространство.
Атрибуты представления CNS сопоставляются с адресным пространством следующим образом:
Просмотр CNS
Адресное пространство
Комментарий
Путь к идентификатору
ItemId
Полный идентификационный путь соответствующего узла CNS без имени системы и имени представления CNS.
Пользовательские данные (OA: OPC)
Уровень доступа
Уровень доступа (чтение/ запись) узла CNS хранится в его пользовательских данных
Дополнительная информация
Изменения в представлении CNS
Следующие изменения в используемом представлении CNS динамически применяются к адресному пространству во время выполнения:
Создание новых узлов
Удаление существующих узлов
Изменение идентификатора узла
Связь элементов точек данных с узлами
Удаление назначений элементов точек данных
Изменение уровня доступа к узлам
Модификации типов точек данных “КАСКАД Цифра» (например, добавление нового узла к существующему типу точки данных или изменение типа элемента) не применяются к адресному пространству во время выполнения. Поэтому сервер должен быть перезапущен после изменения типа точки данных элемента (структуры) точки данных, который связан с узлом CNS.
Пример сопоставления представления CNS с сервером
В следующем примере показано, как представление CNS может быть сопоставлено с адресным пространством сервера OPC UA.
Просмотр CNS
Связь с точкой передачи данных
Определен уровень доступа?
Сопоставлен с сервером
N1
НЕТ
НЕТ
ДА
N1_1
ДА
НЕТ
Да (как ФИЛИАЛ)
N1_1_1
ДА
ДА
ДА
N1_2
НЕТ
ДА
НЕТ
N1_3
ДА
ДА
ДА
N1_3_1
ДА
НЕТ
Нет (КОНЕЧНЫЙ элемент N1_3 не может иметь дочерних узлов)
Связь и обмен данными между любыми клиентами OPC и сервером «КАСКАД Цифра» OPC через «КАСКАД Цифра» осуществляется менеджером WCCOAopcsrv, который устанавливает подключение к менеджеру событий. Этот менеджер необходимо добавить в список менеджеров, а процесс необходимо запустить через консоль:
WCCOAopcsrv
При запуске клиента «КАСКАД Цифра» OPC (WCCOAopc) через консоль сервер «КАСКАД Цифра» OPC автоматически запускается в фоне.
Группы точек данных
Все данные, которые указываются на клиенте, объединяются в две группы точек данных, содержащих необходимые элементы точек данных.
Стандартные группы точек данных «OPCRead» и «OPCWrite» используются для присвоения элементам точек данных (элементам OPC) свойств только для чтения или для записи соответственно.
В этих группах указываются элементы точек данных, которые сервер должен передавать клиенту.
Процесс включения элементов точек данных в группы точек данных описан в разделе «Группы точек данных».
Элементы из группы «OPCRead» поддерживают только чтение со стороны клиента.
Элементы из группы «OPCWrite» поддерживают как чтение, так и запись со стороны клиента.
Все элементы точек данных в группе «OPCRead» выводятся на клиенте вместе с соответствующими значениями.
Что касается элементов точек данных из группы «OPCWrite», клиент может не только считывать их значения, но и устанавливать новые значения.
ПРИМЕЧАНИЕ
Обратите внимание, что группы «OPCRead» и «OPCWrite» удалить невозможно. Однако, если группы все таки были удалены, необходимо создать псевдоним этих групп, в противном случае сервер OPC для этих групп не будет найден.
Если сервер OPC DA запускается новым пользователем «КАСКАД Цифра», например «OPCCLIENT» (параметр «-user») и если он получает значение от клиента OPC DA, значение всегда записывается от имени корневого пользователя.
Поддерживается использование элементов точек данных только текущей системы! Элементы точек данных распределенных систем не поддерживаются.
Диапазон адресов сервера «КАСКАД Цифра» OPC организован неиерархически и не допускает иерархического просмотра через клиент.
После каждого изменения групп (например, добавления нового элемента точки данных или изменения фильтра) необходимо перезапускать сервер OPC (WCCOAopcsrv).
Сервер OPC входит в состав стандартной версии «КАСКАД Цифра». Должен быть доступен корректно установленный клиент OPC. Подробная информация приводится в руководстве клиента.
При установке сервера регистрация должна выполняться автоматически. В противном случае сервер следует зарегистрировать с помощью следующей программы:
WCCOAopcsrv.exe /RegServer
ПРИМЕЧАНИЕ
Значение ProgID (идентификатора программы в реестре) сервера OPC равно «»КАСКАД Цифра».OPC.1».
Также имеется возможность запустить второй сервер через консоль. Второй сервер регистрируется и запускается с помощью следующей программы:
WCCOAopcsrv /runServer2 /RegServer
Для удаления из реестра информации о сервере используется параметр «/unregServer».
ПРИМЕЧАНИЕ
Значение ProgID (идентификатора программы в реестре) второго сервера OPC равно «»КАСКАД Цифра».OPC.2».
При поиске ключа «»КАСКАД Цифра».OPC.1» или «»КАСКАД Цифра».OPC.2» в реестре в разделе «CLSID» можно найти элемент «LocalServer32». В нем содержится исполняемая команда. В нее можно добавлять параметры, например имя проекта.
Настройки DCOM для сервера СибКом OPC
ПРИМЕЧАНИЕ
СибКом в общем случае не рекомендует применять DCOM для обеспечения связи с сервером OPC. При сетевых подключениях с резервированием DCOM может становиться причиной проблем. Их можно избежать, если установить удаленный сервер OPC DA на одном компьютере с клиентом OPC DA или использовать двухпортовые сетевые карты. Следует учитывать, что при переключении двухпортовой сетевой карты может возникать кратковременная задержка.
Необходимо внести следующие изменения в «DCOMCNFG» сервера СибКом OPC:
Авторизация: выберите пункт «Текущий пользователь» и отредактируйте данные пользователя с правами администратора.
Уровень полномочий –> стандартный.
Параметры безопасности: «Пользовательский доступ» -> использовать стандартные настройки «Пользовательские полномочия» -> использовать стандартные настройки «Настройка авторизации» -> настройте и разрешите всем пользователям выполнять любые действия
Выберите следующий параметр: выполнять приложение на данном компьютере
ВНИМАНИЕ
В некоторых случаях после изменения «DCOMCNFG» может потребоваться перезагрузка системы.
ПРИМЕЧАНИЕ
Изменение настроек DCOM, связанных с правами доступа, предоставляет полные полномочия для управления запуском сервера при использовании Pmon, например удаление разрешения на запуск объекта сервера OPC (Безопасность -> Разрешения на запуск и активацию). Чтобы избежать запуска сервера клиентом, необходимо отключить параметры «Удаленный запуск» и «Локальный запуск».