Системное дерево содержит специальные элементы, поддерживаемые сервером. Они позволяют получить доступ к внутренним переменным, их статусу и многому другому.
Системное дерево "System" лежит в
• | OPC-DA и OpcPipe: прямо в корне(root). |
• | OPC-UA в разделе "Objects.Topic.System" |
С помощью записи в специальный элемент "AddTopic" можно добавить дополнительные подключения к ПЛК без использования программы конфигурирования.
Системную тему можно отключить с помощью конфигурационного программного обеспечения в разделе "Station" - "Общие системные настройки" - "Use OPC system topic".
Примеры:
• | Состояние подключения SPS: Если настроено соединение с именем "s7", то статус соединения находится под заголовком
System.Topics.s7.Status (через OPC UA server.System.Topics.s7.Status)
Режим работы ПЛК находится под
System.Topics.s7.PlcDetails.PlcMode |
• | Добавить новую связь с записью в System.AddTopic..
"s7.tcp://192.168.2.200:102?name=\"my name\",typ=client,ownTSAP=0101,destinationTSAP=0302,slave=9,start1=1,WriteAllowed=1" |
Элементы в корневой части (root)
• | OPCPipe и OPC DA стартовый уровень лежит в корневом (root) уровне. |
• | В соответствии с OPC-UA стартовый уровень находится под рубрикой "Objects.Topics". |
Тема/Топик
|
Описание
|
System
|
Системные данные как перечень пунктов, информация о версиях
|
Memory
|
Временные переменные и структуры, которые передаются на память системы.
|
<user defined>
|
Темы, заданные пользователем, созданные с помощью конфигурационного программного обеспечения, браузера или путем записи в System.AddTopic.
|
System
Тема/Топик
|
Описание
|
AddTopic
|
Добавляет подключения к контроллерам.
При записи строки в заданный синтаксис будут добавлены соединения. Синтаксис описан в разделе AddTopic.
|
Topics / Темы
|
Предварительно заданный элемент "System.Topics" содержит список настроенных подключений к контроллерам. Элементы позволяют получить доступ к информации о статистике самого OPC-сервера и подключениях к контроллерам.
Дополнительную информацию от контроллеров можно прочитать как название контроллера, режим его работы и многое другое.
|
Licenses
|
Информация о действующих лицензиях
|
Versions
|
Версии программного обеспечения и его частей с OPC-сервера или PlcEngine.
|
Internal
|
Пожалуйста, не используйте это. Сделано для специальных применений.
|
Platform
|
Позволяет использовать теги для различных функций платформ, например: входы и выходы на Phytec Regor.
|
Status
|
Extended Server status
|
CurrentTime
и другие теги
|
Текущая информация о времени и время доступна для дальнейшей обработки.
|
Значения для System.Topics.<Название рубрики>
Тема/Топик
|
Описание
|
Status
|
Выводит статус соединения..
0-> ok
3 -> отсутствие связи
5 -> доступ запрещён
6 -> ожидание данных
7 -> ждать отправки, готово / wait for send ready
23 -> Коммуникационный партнер отказывается от порта. Ни одна программа его не открыла.
26 -> ARP не может разрешить этот адрес. Чаще всего партнёр отключается или разъединяется
29 -> Отстранено. Ни один клиент OPC или логическая таблица не использовали один элемент.
30 -> Перезагрузка Osi по принципу "peer". В основном, TSAP неверен.
31 -> Порт уже используется, в основном другой программой
32 -> Доменное имя не может быть разрешено. Сервер домена недоступен, или имя не было найдено.
33 -> Сеть недоступна. В большинстве случаев сетевые интерфейсы компьютеров плохо настроены.
|
ReadCount
|
Количество обработанных заданий на синхронное чтение. Эта переменная может быть записана.
|
WriteCount
|
Количество обработанных заданий на запись. Эта переменная может быть записана.
|
ActiveCount
|
Количество активных элементов.
|
ServerCycle
|
Количество циклов с измененными данными ПЛК. Эта переменная может быть записана.
|
Redundancy / дублирование
|
Это будет работать в соединениях, настроенных только для дублирования Details here.
|
AddVariable
|
Этот элемент присутствует только в разделе Memory.
Добавляет переменную в переменные памяти. Этот элемент только для записи.
Синтаксис следующий
<имя переменной>=<тип переменной><[><размер массива><]><;comment>
Поддерживаются следующие типы переменных: у8 (u8), у16 (u16), у32 (u32), у64 (u64), и8 (i8), и16 (i16), и32 (i32), и64 (i64), ф32 (f32), ф64 (f64), ,бит (bit), string.
Пример: MyVariable=u16[10];Массив UINT 16 с 10 элементами
Если имя переменной содержит точки, все имена которых указаны перед последней точкой, являются узлами.
Примечание: Символы, созданные с помощью AddVariable, будут удалены, если программное обеспечение OPC или PLC Engine Collect будет остановлено.
|
DeleteVariable
|
Удаляет переменную, созданную с помощью AddVariable. Имя переменной должно быть дано. Этот элемент только для записи.
Каждую переменную и каждый узел необходимо удалять отдельно.
Замечание: Если будет удалена переменная, которая не была создана с помощью AddVariable, то доступ будет запрещен.
|
AddSymbol
|
Данный элемент существует только в темах контроллеров, которые не поддерживают символы в самом контроллере. В основном это контроллеры Siemens S7 300/400, устройства Modbus или Mitsubishi.
Добавляет символ. Используется синтаксис элемента типа контроллер желаемого типа темы.
SymbolName=<ItemSyntax><;comment>
Пример для S7 300: MyFlag=mw0;Flag word zero
Символ с названием может содержать точки. Таким образом, можно создать несколько уровней.
Примечание: Символы, созданные с помощью AddSymbol, будут удалены, если программное обеспечение OPC или PLC Engine Collect будет остановлено.
|
DeleteSymbol
|
Удаляет символ, созданный с помощью AddSymbol.
|
AddStructure
|
Не доступно на сегодняшний день
|
DeleteStructure
|
Не доступно на сегодняшний день
|
DeleteTopic
|
Если соединение было добавлено динамически, этот пункт отображается на экране. Если это также записано, это динамически созданное соединение будет удалено.
|
Значения для System.Topics.<topicName>.PlcDetail
Если данные не могут быть считаны с контроллера, качество ухудшается (неисправен датчик).
Тема/Топик
|
Описание
|
PlcMode
|
0 -> ПЛК в режиме Stop, 1 -> ПЛК в режиме RUN/STOP, 2 -> ПЛК в режиме RUN.
|
KeySwitch
|
0 -> Key switch in position Stop, 1 -> Run/Prog, 2 -> Run, 3 -> Mres
|
PlcName
|
Имя, данное контроллеру. Не все контроллеры содержат названия.
|
PlcType
|
Тип ПЛК, который производитель дал ему. Не все контроллеры содержат эту информацию.
|
OrderNumber
|
Порядковый номер контроллера. Не все контроллеры содержат эту информацию.
|
Force
|
Information wheather forces will exist in the controllers program code. Some p,c deliver the number of forces here.
|
Battery
|
Status of the battery. 0 -> Ok, 1 -> empty, 2 -> no battery, 3 -> not supported
|
Не все типы контроллеров и версии микропрограммного обеспечения поддерживают все пункты в разделе PlcDetails (Подробности о ПЛК).
Поэтому OrderNumber (номер заказа) будет доступен только в Siemens S7. Подробную информацию можно найти в системных руководствах к контроллерам.
Значения для System.AddTopic
Темы могут быть созданы с помощью этого элемента.
Важно: При использовании AddTopic созданные соединения не являются постоянными. При выключенном питании они потеряются. Они должны быть созданы заново после включения питания.
Тема, созданная с помощью System.Topics.<созданная тема>, может быть удалена с помощью System.Topics.<созданная тема>DeleteTopic.
Тема/Топик
|
Описание
|
Name
|
<Topic Name>. Имя созданного соединения. Пожалуйста, обратите внимание на правила для названий тем, которые будут существовать у различных OPC клиентов.
|
PlcType
|
Действительными являются:
Значение
|
Описание
|
s7
|
Siemens S7-200, 300, 400 и совместимы с Speed7. Может использоваться для доступа к контроллеру через адаптер MPI от Hilscher, Process Informatik, IBH Softec, Softing, Helmholz.
|
tia
|
Siemens S7 1200 и 1500. Это позволит поддерживать оптимизированные блоки данных.
|
s5
|
Siemens S5 с network CP Все стоки поддерживаются 135, 155, 188. Все типы CPU.
|
compactlogics
|
Rockwell Control Logix и Compact Logix.
|
slc
|
Rockwell SLC family.
|
modbus
|
Modbus TCP и совместимые системы как Wago, Beckhoff, Modicon, Omron и прочие.
|
melsecQ
|
Mitsubishi Melsec family.
|
raw
|
Raw data. (сырые данные)
|
|
NetworkProtocol
|
Действительными являются:
Значение
|
Альтернатива
|
Description
|
ip
|
tcp
|
TCP/IP TCP через IpV4 (192.168.1.1) или IpV6 <235b:34aa::0001:0030) или доменные имена
|
udp
|
|
TCP/IP UDP через IpV4 (192.168.1.1) или IpV6 <235b:34aa::0001:0030) или доменные имена
|
h1
|
osi
|
OSI/H1 через MAC Addresses (080006010001) или (08:00:06:01:00:01)
|
|
NetworkAddress
|
IpV4 (192.168.1.1) или
IpV6 (235b:34aa::0001:0030) или
имена доменов (s7.mydomain.com)
|
Port / Порт
|
1 .. 65534. Это необходимо только для IP-соединений.
|
ConnectType / Тип соединения
|
Действительными являются:
|
OwnTSAP
|
в (hexadezimal) шестнадцатеричном формате. Это действительно только для соединений OSI/H1 или порта 102 (RFC1006). (0101)
|
DestinationTSAP
|
в (hexadezimal) шестнадцатеричном формате. Это действительно только для соединений OSI/H1 или порта 102 (RFC1006). (0302)
|
Slave
|
В соединениях Modbus это адрес ведомого или узла. В соединениях Роквелла - это номер процессора. Все остальные соединения не используют это значение.
|
Start1
|
I Modbus-соединение определяет предполагаемый первый регистр. Фальсификация означает, что первый регистр равен нулю, в противном случае счетчик регистров начинается с единицы.
|
Create / Создать
|
Запись значения, отличного от нуля, создает соединение. Эта переменная только для записи.
|
CreateStatus / Создать Статус
|
0 -> Тема создана. Эта переменная только для чтения.
1 -> Неверные параметры подключения. В основном это происходит на слишком длинных величинах TSAP.
5 -> Неверный адаптер. Данный адаптер недоступен. В основном на переменных адаптерах (USB к Ethernet), которые были отключены.
17 -> Свободная память недоступна.
101 -> не поддерживается. Это будет происходить по протоколам plc, которые недоступны.
1319 -> не поддерживается. Чаще всего это происходит на неподдерживаемых сетевых протоколах, так как IpV6 не настроен.
1324 -> Лицензионный лимит. Максимальное количество соединений уже создано.
1325 -> не имеющий лицензии.
|
AddTopic / Добавить Топик
|
можно использовать вместо переменных Name, PlcType, NetworkProtocol, NetworkAddress, Port, ConnectType, OwnTSAP, DestinationTSAP для создания соединений. Эта переменная только для записи. Синтаксис на примере соединения s7 с именем "s7".
"s7.tcp://192.168.2.200:102?name=\"my name\",typ=client,ownTSAP=0101,destinationTSAP=0302"
Элемент Create(создать) в данном случае не используется.
|
Значения для System.Versions
Номер версии 0 говорит о том, что компонент не загружен.
Тема/Топик
|
Описание
|
PlcEngine
|
Номер версии ядра PlcEngine или OPC сервера.
|
Wmk
|
Номер версии библиотеки Wmk. Эта библиотека содержит общие функции.
|
IpLib
|
Номер версии библиотеки TCPIP. Эта библиотека содержит все функции IP сокетов.
|
H1
|
Номер версии драйвера Osi/H1.
|
OpcDA
|
Номер версии библиотеки OPC DA. Эта библиотека содержит классический OPC и доступна только для Windows.
|
OpcUA
|
Номер версии библиотеки OPC UA. Эта библиотека содержит OPC UA.
|
OpcPipe
|
Номер версии библиотеки OpcPipe. Эта библиотека содержит систему управления документами.
|
PlcLib
|
Номер версии библиотеки протоколов ПЛК. Эта библиотека содержит все протоколы ПЛК и управление ими.
|
ItemSyntax
|
Номер версии библиотеки синтаксиса элемента. Библиотека преобразует символы в элементы.
|
ConfigSubs
|
Номер версии общих функций конфигурации. Библиотека обрабатывает конфигурацию ядра.
|
..
|
В зависимости от версии программного обеспечения или версии отображаются дополнительные номера версий компонентов программного обеспечения.
|
Значения для System.Platform
Platform предлагает переменные, которые отличаются от платформы к платформе. В основном это переменные ввода/вывода.
Переменные, которые предлагаются на устройствах Regor компании Phytec:
Тема/Топик
|
Описание
|
Digital1Dir
|
Определяет функцию контакта 1/(Pin1) на разъеме ввода/вывода. "true" переключает контакт как выход, "false" как вход.
|
Digital1In
|
Если контакт 1/(Pin1) является входом, то "true" - это замкнутое соединение от контакта 1/(Pin1) к заземлению.
|
Digital1Out
|
Если контакт 1/(Pin1) является выходом, то переключатель замыкается на "true".
|
|
Digital2Dir, Digital2In, Digital2Out для контакта 2/(Pin2). Соответственно для контактов 3 и 4 /(Pin3 и 4).
|
ErrorLED
|
"true" означает, что светодиод горит. При записи "false" светодиод гаснет, "true" снова включается.
|
RunStopLED
|
"true" означает, что светодиод горит. При записи "false" светодиод гаснет, "true" снова включается.
|
Значения для System.Licenses
Лицензии и их подробности здесь.
Тема/Топик
|
Описание
|
BaseLicense / Базовая Лицензия
|
Номер заказа товара. Комментарий к продукту содержит название продукта.
|
BaseLicenseExpires / Срок действия базовой лицензии истекает
|
Дата окончания срока действия ограниченных по времени и тестовых лицензий в формате гггг-мм-дд чч:мм
Например: 2017-12-31 23:59 23:59
|
BaseLicenseState / Состояние базовой лицензии
|
Битовое кодированное значение:
Бит 0: Постоянная лицензия присутствует и все в порядке.
Бит 1: Электронный ключ распознан и действителен.
Бит 2: Электронный ключ был распознан в прошлом, но теперь его не удается найти.
Бит 3: Лицензирование с помощью программного обеспечения с кодом подтверждения.
Бит 4: Обнаружен код подтверждения программного обеспечения и OK.
Бит 5: Обнаружен ограниченный по времени код подтверждения. Срок годности указан в пункте BaseLicenseExpires.
Бит 6: Обнаружен и истек ограниченный по времени код подтверждения.
Бит 7: Аппаратное обеспечение (сетевая карта), к которому была подключена лицензия, больше не присутствует.
Бит 8: Лицензия не распознается, это тестовая версия. Срок годности указан в пункте BaseLicenseExpires.
Бит 9: Фаза тестирования истекла, требуется перезапуск.
Бит 10: Бесплатный лицензионный продукт установлен, лицензирование не требуется.
|
AddonLicenseX / Дополнительная лицензия X
|
Номер заказа дополнения/разширения. X является порядковым номером и начинается с 1. Если существует несколько дополнений, то будут существовать дополнительные элементы AddonLicenseX. Комментарий к элементу содержит название продукта дополнения/разширения.
|
Values for System.Status
Provides data points for extended status of the entire server.
Item name
|
Description
|
StructChangeCounter
EnumChangeCounter
|
These items are incremented when the internal structure or enum lists are modified.
This is not connection-specific, but a single counter for the entire server.
If automatic import is switched off, the counters increment when a structure/enum is imported manually.
If automatic import is switched on, the counters increment when a new structure/enum is read from the PLC.
|
|