Multi protocol masteropc server руководство

30.09.201412:0030 Сентября 2014 12:00:00

3 года назад, наша компания выпустила Modbus Universal MasterOPC сервер. За это время данный сервер успел обновится до третьей версии, и зарекомендовать себя как надежный, быстрый и функциональный инструмент. На основе данного сервера мы разработали ряд других OPC серверов, например, для счетчиков Меркурий и Энергомера, которые также хорошо себя зарекомендовали.
Сегодня мы хотим представить вам нашу новую разработку – Multi-Protocol MasterOPC сервер.
Особенностью нового OPC сервера является модульность – к серверу, подключаются дополнительные модули, обеспечивающие реализацию протокола. Данный сервер, способен в единой среде работать со всеми поддержанными протоколами. При этом, помимо модулей разработки ИнСАТ, есть возможность создания собственных модулей – на языке C++ и встроенном сценарном языке.

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

В настоящий момент к Multi-Protocol MasterOPC доступны три плагина – плагин протокола SNMP, User SCRIPT, User Protocol. Рассмотрим их подробнее.
Плагин протокола SNMPSNMP – это стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур TCP/UDP. Данный протокол используется для мониторинга состояния сетевого оборудования, компьютеров, источников бесперебойного питания и других устройств, входящих в локальную сеть предприятия.
В протоколе SNMP участвуют управляемое устройство с установленным на нем агентом и Система сетевого управления (NMS), которая и занимается мониторингом и управлением устройств. При этом взаимодействие между NMS и устройством может происходить в режиме запроса – NMS передает на устройство запрос чтения или записи, или в режиме Trap – широковещательный пакет устройства, подобные сигналы отправляются устройствами для того, чтобы оповестить о наступлении каких-либо критических событий. Оба режима работы поддержаны в нашем OPC сервере.
Для конфигурирования сервера на режим запроса, указывается IP адрес устройства и используемая версия протокола SNMP.

После этого в устройство добавляются теги SNMP. Основной тега SNMP является OID — Object ID, уникальный идентификатор объекта в дереве значений SNMP. Каждый OID соответствует какому-либо параметру опрашиваемого устройства (напряжение батареи в ИБП, температура внутри стойки, состояние маршрутизатора и т.д.). OID представляется в числовой форме, например — .1.3.6.1.4.1.318.1.1.8.5.1.7.0.

Для определения соответствия номера OID нужному параметру устройства, существуют специальные базы данных, называемыми MIB-файлами. MIB файл поставляется производителем и представляет собой текстовый файл с древовидной структурой всех параметров устройства. Для просмотра MIB файлов существуют специальные программы – OID браузеры, например, iReasoning MIB Browser:
http://ireasoning.com/mibbrowser.shtml

Рассмотрим теперь работу с трапами (Trap). Trap —  пакет, инициативно отправляемый устройством. Как правило, подобные сигналы отправляются устройствами для того, чтобы оповестить о наступлении каких-то критических событий (пропадание сетевого напряжения в ИБП, отказ устройства и т.п.).
Для работы с Trap, необходимо добавить в плагин специальное устройство.

Добавится устройство, с группой и 4 тегами.

Тег TrapsCounter выдает количество принятых за все время трапов.
SCurrentTrap – строк параметров последнего принятого трапа. Этот тег может быть включен как HDA тег, что позволит посмотреть весь архив принятых трапов.
SFailure – строка ошибки. Выдается при некорректной инициализации системы трапов.
Failure – флаг ошибки. Взводится при некорректной инициализации системы трапов.
В устройство можно добавить собственные теги, настроенные на прием определенных трапов.

Помимо стандартных свойств, тег трапа имеет отдельную группу – «Свойства протокола». Данная группа представляет собой фильтр, который позволяет выводить в тег только трапы с определенными параметрами. В частности, можно задать фильтрацию трапа по IP адреса источника, его OID, типу значения и т.д.
Посмотреть информацию на плагин SNMP для Multi-Protocol MasterOPC сервер можно на странице продукта, на нашем сайте:
/products/?category=1272
Плагин пользовательского протокола User SCRIPTMulti-Protocol MasterOPC сервер имеет встроенный сценарный язык программирования Lua. С помощью Lua можно производить обработку значений, работать с признаками качествами, а также реализовать поддержку собственных протоколов. Помимо возможности выполнить скрипт для различных обработок в узлах устройства и тегов в основных плагинах, сценарный язык выделен в самостоятельный плагин, имеющий возможность непосредственной работы с портами и называемый User SCRIPT.
User SCRIPT имеет 5 вариантов типов узла – COM и COM Slave (для работы с последовательными интерфейсами), TCP/IP и TCP/IP Slave (для работы в сетях Ethernet) и Program (для создания симуляторов, работы с базами данных и т.д.).

Язык программирования эквивалентен использованному в Modbus Universal MasterOPC сервере – аналогичный редактор, синтаксис и функции.

Пользователь, знакомый с Lua в Modbus Universal MasterOPC сервер, без труда сможет решить поставленную задачу и в Multi-Protocol MasterOPC.
Посмотреть информацию по плагину User SCRIPT для Multi-Protocol MasterOPC можно на странице продукта на нашем сайте:
/products/?category=1274
Плагин пользовательского протокола User ProtocolВ отличие от User SCRIPT в данном плагине разработка ведется на языке C++. Таким образом пользователю становится доступен весь функционал и библиотеки данного языка, обеспечивающего достижение максимальной производительности драйвера.
Для разработки драйвера в рамках данного плагина пользователю необходимо скачать с сайта специальный OPC сервер – оболочку – Multi-Protocol SDK MasterOPC Server.

В комплект OPC сервера также входит специальный конфигуратор протокола – Protocol Maker. Используя конфигуратор происходит создание основы будущего плагина —  с его помощью можно добавить в устройство протокола статические и динамические теги, дополнительные свойства (как к тегам, так и устройству), создать описание драйвера и лицензионное соглашение.

В поставку сервера входят несколько готовых примеров драйверов с открытым кодом, написанных в Visual Studio. Руководство по разработке драйверов включено в справочную систему сервера.

На основе данных примеров, а также используя Protocol-Maker, пользователь сможет создать собственный плагин для сервера. Разработанный плагин можно перенести в Multi-Protocol MasterOPC сервер, после чего пользователь может применять его в собственных проектах. Кроме того, наша компания готова принять разработанные драйверы на реализацию.
Посмотреть информацию по плагину User Protocol для Multi-Protocol MasterOPC можно на странице продукта на нашем сайте:
/products/?category=1275
Лицензионная политикаMulti-Protocol MasterOPC сервер имеет гибкую лицензионную политику. Используется индивидуальный способ лицензирования к каждому плагину, что позволяет оптимально подбирать конфигурацию сервера к каждой задаче. Кроме того, любой из плагинов предоставляется бесплатно с ограничением на 32 тега или одно устройство (в зависимости от способа лицензирования).
В ключевую версию OPC сервера входят плагин (или плагины) на приобретенное пользователем количество устройств (или тегов). При этом остальные плагины могут также присутствовать и функционировать со стандартным для демонстрационной версии ограничением.
Посмотреть общую информацию по Multi-Protocol MasterOPC, а также скачать бесплатную версию можно со страницы нашего сайта:
/products/?category=1271

Цены указаны без НДС

При заказе необходимо указать тип ключа!

Шифр L в коде заказа указывает на версию для ОС Linux.

FINS MasterOPC Server

MPS-OPC-FINS-S 17 000,00

заказать

MPS-OPC-FINS-M 25 000,00

заказать

MPS-OPC-FINS-H 40 000,00

заказать

MPS-OPC-FINS-S-L 25 500,00

заказать

MPS-OPC-FINS-M-L 37 500,00

заказать

MPS-OPC-FINS-H-L 60 000,00

заказать

SLMP MasterOPC Server

MPS-OPC-SLMP-S 17 000,00

заказать

MPS-OPC-SLMP-M 25 000,00

заказать

MPS-OPC-SLMP-H 40 000,00

заказать

MPS-OPC-SLMP-S-L 25 500,00

заказать

MPS-OPC-SLMP-M-L 37 500,00

заказать

MPS-OPC-SLMP-H-L 60 000,00

заказать

SNMP MasterOPC Server

MPS-OPC-SNMP-S 17 000,00

заказать

MPS-OPC-SNMP-M 45 000,00

заказать

MPS-OPC-SNMP-H 75 000,00

заказать

MPS-OPC-SNMP-S-L 25 500,00

заказать

MPS-OPC-SNMP-M-L 67 500,00

заказать

MPS-OPC-SNMP-H-L 112 500,00

заказать

BACnet MasterOPC Server

MPS-OPC-BACNET-S 30 000,00

заказать

MPS-OPC-BACNET-M 60 000,00

заказать

MPS-OPC-BACNET-H 90 000,00

заказать

MPS-OPC-BACNET-S-L 45 000,00

заказать

MPS-OPC-BACNET-M-L 90 000,00

заказать

MPS-OPC-BACNET-H-L 135 000,00

заказать

Profinet MasterOPC Server

MPS-OPC-PROFINET-S 30 000,00

заказать

MPS-OPC-PROFINET-M 60 000,00

заказать

MPS-OPC-PROFINET-H 85 000,00

заказать

MPS-OPC-PROFINET-S-L 45 000,00

заказать

MPS-OPC-PROFINET-M-L 90 000,00

заказать

MPS-OPC-PROFINET-H-L 127 500,00

заказать

IEC61850 MasterOPC Server

MPS-OPC-IEC61850-S 34 000,00

заказать

MPS-OPC-IEC61850-M 90 000,00

заказать

MPS-OPC-IEC61850-H 115 000,00

заказать

MPS-OPC-IEC61850-S-L 51 000,00

заказать

MPS-OPC-IEC61850-M-L 135 000,00

заказать

MPS-OPC-IEC61850-H-L 172 500,00

заказать

IEC60870-5-104 MasterOPC Server

MPS-OPC-IEC60870-5-104-S 34 000,00

заказать

MPS-OPC-IEC60870-5-104-M 60 000,00

заказать

MPS-OPC-IEC60870-5-104-H 90 000,00

заказать

MQTT MasterOPC Serve

MPS-OPC-MQTT-S 20 000,00

заказать

MPS-OPC-MQTT-M 62 500,00

заказать

MPS-OPC-MQTT-H 125 000,00

заказать

MPS-OPC-MQTT-S-L 30 000,00

заказать

MPS-OPC-MQTT-M-L 93 750,00

заказать

MPS-OPC-MQTT-H-L 187 500,00

заказать

Tunneler OPC Client (DA/HDA/UA)

MPS-OPC-TUNNELER-S 20 000,00

заказать

MPS-OPC-TUNNELER-M 42 000,00

заказать

MPS-OPC-TUNNELER-H 75 000,00

заказать

MPS-OPC-TUNNELER-S-L 30 000,00

заказать

MPS-OPC-TUNNELER-M-L 63 000,00

заказать

MPS-OPC-TUNNELER-H-L 112 500,00

заказать

User Protocol MasterOPC

MPS-OPC-USERP-S     По запросу
MPS-OPC-USERP-M     По запросу
MPS-OPC-USERP-H     По запросу

Converter в ODBC

MPS-OPC-CONV-ODBC-UNL 42 000,00

заказать

MPS-OPC-CONV-ODBC-UNL-L

Версия для Linux

63 000,00

заказать

DLMS MasterOPC Server

Energomera (CE301, CE303) MasterOPC Server

MPS-OPC-ENERGOMERA-10 3 000,00

заказать

MPS-OPC-ENERGOMERA-20 5 500,00

заказать

MPS-OPC-ENERGOMERA-50 11 000,00

заказать

MPS-OPC-ENERGOMERA-10-L 4 500,00

заказать

MPS-OPC-ENERGOMERA-20-L 8 250,00

заказать

MPS-OPC-ENERGOMERA-50-L 16 500,00

заказать

Energomera (CE304) MasterOPC Server

MPS-OPC-ENERG-CE-10 30 000,00

заказать

MPS-OPC-ENERG-CE-20 55 000,00

заказать

MPS-OPC-ENERG-CE-50 110 000,00

заказать

MPS-OPC-ENERG-CE-10-L 45 000,00

заказать

MPS-OPC-ENERG-CE-20-L 82 500,00

заказать

MPS-OPC-ENERG-CE-50-L 165 000,00

заказать

Energomera (CE6850) MasterOPC Server

MPS-OPC-ENERG-CIE-3 4 200,00

заказать

MPS-OPC-ENERG-CIE-10 12 500,00

заказать

MPS-OPC-ENERG-CIE-20 23 000,00

заказать

MPS-OPC-ENERG-CIE-50 46 000,00

заказать

MPS-OPC-ENERG-CIE-3-L 6 300,00

заказать

MPS-OPC-ENERG-CIE-10-L 18 750,00

заказать

MPS-OPC-ENERG-CIE-20-L 34 500,00

заказать

MPS-OPC-ENERG-CIE-50-L 69 000,00

заказать

Mercury (225, 230, 233, 234, 236) MasterOPC Server

MPS-OPC-MERCURY-10 4 500,00

заказать

MPS-OPC-MERCURY-20 8 000,00

заказать

MPS-OPC-MERCURY-50 16 000,00

заказать

MPS-OPC-MERCURY-10-L 6 750,00

заказать

MPS-OPC-MERCURY-20-L 12 000,00

заказать

MPS-OPC-MERCURY-50-L 24 000,00

заказать

NZIF (SET, PSCH) MasterOPC Server

MPS-OPC-NZIF-3 8 500,00

заказать

MPS-OPC-NZIF-10 25 000,00

заказать

MPS-OPC-NZIF-20 45 000,00

заказать

MPS-OPC-NZIF-50 90 000,00

заказать

MPS-OPC-NZIF-3-L 12 750,00

заказать

MPS-OPC-NZIF-10-L 37 500,00

заказать

MPS-OPC-NZIF-20-L 67 500,00

заказать

MPS-OPC-NZIF-50-L 135 000,00

заказать

Milur MasterOPC Server

MPS-OPC-MILUR-10 3 000,00

заказать

MPS-OPC-MILUR-20 5 400,00

заказать

MPS-OPC-MILUR-50 10 800,00

заказать

MPS-OPC-MILUR-10-L 4 500,00

заказать

MPS-OPC-MILUR-20-L 8 100,00

заказать

MPS-OPC-MILUR-50-L 16 200,00

заказать

UM31 MasterOPC Server

MPS-OPC-UM31-10 5 000,00

заказать

MPS-OPC-UM31-20 9 000,00

заказать

MPS-OPC-UM31-50 18 000,00

заказать

MPS-OPC-UM31-10-L 7 500,00

заказать

MPS-OPC-UM31-20-L 13 500,00

заказать

MPS-OPC-UM31-50-L 27 000,00

заказать

EK (260,270,280) MasterOPC Server

MPS-OPC-EK-3 12 500,00

заказать

MPS-OPC-EK-10 37 500,00

заказать

MPS-OPC-EK-20 67 500,00

заказать

MPS-OPC-EK-50 135 000,00

заказать

MPS-OPC-EK-3-L 18 750,00

заказать

MPS-OPC-EK-10-L 56 250,00

заказать

MPS-OPC-EK-20-L 101 250,00

заказать

MPS-OPC-EK-50-L 202 500,00

заказать

TEM MasterOPC Server

MPS-OPC-TEM-3 12 500,00

заказать

MPS-OPC-TEM-10 37 500,00

заказать

MPS-OPC-TEM-20 67 500,00

заказать

MPS-OPC-TEM-50 135 000,00

заказать

MPS-OPC-TEM-3-L 18 750,00

заказать

MPS-OPC-TEM-10-L 56 250,00

заказать

MPS-OPC-TEM-20-L 101 250,00

заказать

MPS-OPC-TEM-50-L 202 500,00

заказать

VZLET MasterOPC Server

MPS-OPC-VZLET-3 6 000,00

заказать

MPS-OPC-VZLET-10 17 500,00

заказать

MPS-OPC-VZLET-20 31 500,00

заказать

MPS-OPC-VZLET-50 63 000,00

заказать

MPS-OPC-VZLET-3-L 9 000,00

заказать

MPS-OPC-VZLET-10-L 26 250,00

заказать

MPS-OPC-VZLET-20-L 47 250,00

заказать

MPS-OPC-VZLET-50-L 94 500,00

заказать

Teplokom MasterOPC Server

MPS-OPC-TEPLOKOM-3 6 000,00

заказать

MPS-OPC-TEPLOKOM-10 17 500,00

заказать

MPS-OPC-TEPLOKOM-50 63 000,00

заказать

MPS-OPC-TEPLOKOM-20 31 500,00

заказать

MPS-OPC-TEPLOKOM-3-L 9 000,00

заказать

MPS-OPC-TEPLOKOM-10-L 26 250,00

заказать

MPS-OPC-TEPLOKOM-20-L 47 250,00

заказать

MPS-OPC-TEPLOKOM-50-L 94 500,00

заказать

Elemer MasterOPC Server

MPS-OPC-ELEMER-3 6 000,00

заказать

MPS-OPC-ELEMER-10 17 500,00

заказать

MPS-OPC-ELEMER-20 31 500,00

заказать

MPS-OPC-ELEMER-50 63 000,00

заказать

MPS-OPC-ELEMER-3-L 9 000,00

заказать

MPS-OPC-ELEMER-10-L 26 250,00

заказать

MPS-OPC-ELEMER-20-L 47 250,00

заказать

MPS-OPC-ELEMER-50-L 94 500,00

заказать

Pulsar MasterOPC Server

MPS-OPC-PULSAR-10 3 500,00

заказать

MPS-OPC-PULSAR-20 6 300,00

заказать

MPS-OPC-PULSAR-50 12 600,00

заказать

MPS-OPC-PULSAR-10-L 5 250,00

заказать

MPS-OPC-PULSAR-20-L 9 450,00

заказать

MPS-OPC-PULSAR-50-L 18 900,00

заказать

MKTS OPC

MPS-OPC-MKTS-3 6 000,00

заказать

MPS-OPC-MKTS-10 17 500,00

заказать

MPS-OPC-MKTS-20 31 500,00

заказать

MPS-OPC-MKTS-50 63 000,00

заказать

MPS-OPC-MKTS-3-L 9 000,00

заказать

MPS-OPC-MKTS-10-L 26 250,00

заказать

MPS-OPC-MKTS-20-L 47 250,00

заказать

MPS-OPC-MKTS-50-L 94 500,00

заказать

MasterOPC Logica

MPS-OPC-LOGICA-3 12 500,00

заказать

MPS-OPC-LOGICA-10 37 500,00

заказать

MPS-OPC-LOGICA-20 67 500,00

заказать

MPS-OPC-LOGICA-50 135 000,00

заказать

MPS-OPC-LOGICA-3-L 18 750,00

заказать

MPS-OPC-LOGICA-10-L 56 250,00

заказать

MPS-OPC-LOGICA-20-L 101 250,00

заказать

MPS-OPC-LOGICA-50-L 202 500,00

заказать

Обновлено: 23.04.2023

2 MasterOPC Tunneler. Руководство по настройке Стр. 2 ОГЛАВЛЕНИЕ MasterOPC Tunneler Введение Настройка Multi-Protocol MasterOPC на режим тоннеля Настройка серверной части тоннеля Чтение текущих данных настройка OPC DA Client Чтение архивных данных настройка OPC HDA Client Настройки OPC UA сервера Запуск в режим исполнения Настройка клиентской части тоннеля Добавление и настройка плагина OPC UA Client Добавление тегов Запуск в режим исполнения Проверка на OPC клиенте Настройка MasterSCADA как OPC UA клиента Чтение архивов Настройка MasterOPC Tunneler для работы через Интернет. 32

3 MasterOPC Tunneler. Руководство по настройке Стр. 3 1 Введение MasterOPC Tunneler предназначен для реализации сетевого обмена между OPC DA/HDA серверами и OPC DA клиентами, без специальной настройки DCOM. Суть решения в следующем на компьютере с ОРС сервером устанавливается первая часть туннеля — специализированный ОРС клиент, который опрашивает сервер и передает данные дальше по такому протоколу. На удаленном компьютере устанавливается программа, которая принимает данные по этому протоколу и выдает их через стандартный OPC DA интерфейс конечным OPC клиентам. Такая схема решает, как проблему настройки DCOM, так и проблему безопасности передачи данных. В MasterOPC Tunneler в качестве протокола связи между частями туннеля используется кроссплатформенная технология OPC UA, а сам туннель реализуется при помощи плагинов Multi-Protocol MasterOPC сервер. Для реализации туннеля необходимо использовать два MultiProtocol MasterOPC, на компьютер с целевыми OPC сервера устанавливается MultiProtocol MasterOPC с плагином OPC DA Client (или OPC DA+HDA Client), на компьютер с целевым OPC клиентом (SCADA системой) устанавливается сервер с плагином OPC UA Client. OPC DA/HDA Client (SCADA система) OPC DA/HDA server Плагин OPC UA Client MasterOPC Multi-Protocol Server OPC UA Internet Intranet OPC UA OPC UA server Плагин OPC DA/HDA Client MasterOPC Multi-Protocol Server OPC DA/HDA Server OPC DA/HDA Server OPC DA/HDA Server

4 MasterOPC Tunneler. Руководство по настройке Стр. 4 Каждый из плагинов туннеля приобретается отдельно, что позволяет гибко подобрать конфигурацию под конкретную задачу например производить опрос одним OPC UA клиентом нескольких OPC UA серверов. Т.е. возможна любая архитектура построения тоннеля. OPC DA/HDA клиенты OPC DA/HDA клиенты OPC DA/HDA клиенты OPC UA Client OPC UA Client OPC UA Client OPC UA Server OPC UA Server OPC UA Server OPC UA Server OPC DA/HDA серверы OPC DA/HDA серверы OPC DA/HDA серверы OPC DA/HDA серверы 2 Настройка Multi-Protocol MasterOPC на режим тоннеля Рассмотрим пошагово настройку Multi-Protocol MasterOPC для реализации тоннеля. В качестве примера мы будем получать данные от Modbus Universal MasterOPC сервера, конечным OPC клиентом будет MasterSCADA. 2.1 Настройка серверной части тоннеля Серверная часть тоннеля это компьютер, на котором находится OPC DA или OPC HDA серверы. На данном компьютере необходимо установить Multi-Protocol MasterOPC сервер, с плагинами OPC DA Client (если требуется получение текущих данных) или OPC HDA Client (если требуется получать архивные данные) плагины будут производить опрос с OPC серверов. Допускается использовать и OPC DA Client и OPC HDA Client одновременно. После настройки получения данных из OPC серверов в Multi-Protocol MasterOPC нужно включить режим OPC UA сервера Чтение текущих данных настройка OPC DA Client Для получения текущих данных предназначен плагин OPC DA Client. Рассмотрим его настройку.

5 MasterOPC Tunneler. Руководство по настройке Стр. 5 Создаем новую конфигурацию сервера, и через контекстное меню элемента Server добавляем протокол. В появившемся окне выбираем плагин OPCDACLIENT и нажимаем Да. В дерево добавился OPC DA клиент.

7 MasterOPC Tunneler. Руководство по настройке Стр. 7 В окне Выбор DA сервера, после нажатия кнопки Поиск, происходит поиск всех установленных на компьютере OPC DA серверов. Выберите нужный в списке и нажмите Готово. В поле настройки пропишется название OPC сервера. Также можно задать настройки OPC клиента: Тип опроса значения Периодический опрос изменений или Синхронное чтение (полный опрос). Мертвая зона (%) это максимальное отклонение сигнала от установленного значения, при котором сигнал считается не изменяющимся, и поэтому его опрос OPC клиентом не производится.

8 MasterOPC Tunneler. Руководство по настройке Стр. 8 Восстановление записанных значений после сбоя определяет нужно ли производить запись последних переданных значений в OPC сервер после сбоя. Устанавливать локальную метку времени если настройка включена, то приходящие значения получают текущее время, а не время, полученное от OPC-сервера. Теперь в устройство необходимо добавить теги то есть выбрать теги OPC DA сервера, которые необходимо опрашивать. Добавление тегов также производится через контекстное меню. Для автоматического выбора тегов сервера, воспользуйтесь кнопкой Теги протокола из сервера. В появившемся окне необходимо нажать на кнопку Соединить для подключения к OPC серверу. После этого в окне появится список всех тегов данного ОРС. Отметьте галочками нужные вам теги и группы и нажмите кнопку Готово.

9 MasterOPC Tunneler. Руководство по настройке Стр. 9 Примечание. Если нужно выделить сразу несколько тегов в ветке дерева, то отметьте галочкой верхний тег, а затем щелкните по нему правой кнопкой мыши все теги ниже будут отмечены. Теги будут добавлены в дерево. В свойствах тега можно увидеть его полный путь, комментарий (наследуется от тега ОРС сервера), тип данных и тип доступа. Также можно включить обработку тега включить масштабирование (функция Пересчет) Чтение архивных данных настройка OPC HDA Client Чтение архивов из контроллеров производится с помощью OPC HDA серверов. Для получения данных из них для передачи по туннелю используется плагин OPC HDA Client. Настраивается аналогично, как и OPC DA Client. Сначала производится добавление плагина через контекстное меню сервера.

10 MasterOPC Tunneler. Руководство по настройке Стр. 10 В узел добавляется устройство оно уже содержит 2 сервисных тега для диагностики связи с OPC HDA сервером. Теперь вызываем окно подключения к OPC HDA серверу. Появится окно со всеми доступными OPC HDA серверами выберем нужный и нажмем Готово.

11 MasterOPC Tunneler. Руководство по настройке Стр. 11 Теперь приступим к добавлению тегов. Аналогично, как и с OPC DA Client вызываем контекстное меню устройства и выбираем пункт Добавить Теги протокола (импорт). Появится окно, в котором выберем доступные OPC HDA теги подключенного сервера, выберем нужные отметив их галочками и нажмем Готово.

12 MasterOPC Tunneler. Руководство по настройке Стр. 12 Теги добавятся в устройство, при этом они сразу имеют режим HDA доступ. Также может потребоваться настройка глубины запроса данных на эту величину при старте OPC HDA Client начинает запрашивать данные из сервера. Настройка находится на уровне устройства и по умолчанию равна 1 дню. На этом настройка OPC HDA Client завершена Настройки OPC UA сервера Независимо от того будете ли вы получать текущие данные от OPC DA серверов, или архивные от OPC HDA серверов, или одновременно получать и текущие и архивные, дальнейшая настройка одинакова во всех случаях нужно активизировать режим OPC UA сервера. Для этого выделите корневой элемент сервера и в разделе OPC UA сервера включите настройку Подключение.

15 MasterOPC Tunneler. Руководство по настройке Стр Настройка клиентской части тоннеля Клинской часть тоннеля называется компьютер, на котором находится конечный OPC DA клиент (например, SCADA система). С клиентской машины можно производить опрос нескольких OPC UA серверов. Если в качестве клиента используется MasterSCADA версии 3.7 и новее, то клиентскую часть настраивать не нужно MasterSCADA имеет встроенный OPC UA клиент и может обращаться к UA серверам напрямую. Инструкция по настройке MasterSCADA приводится ниже в отдельном разделе. На данной машине нужно установить Multi-Protocol MasterOPC сервер с плагином OPC UA Client Добавление и настройка плагина OPC UA Client. Создайте новую конфигурацию, и также как в серверной части, произведите добавление плагина но теперь плагина OPCUACLIENT. Через контекстное меню плагина добавьте устройство.

16 MasterOPC Tunneler. Руководство по настройке Стр. 16 Устройство имеет специальную группу Diagnosis для вывода состояния подключения к UA серверу, а также группу ReservedChannels используемую для диагностики при использовании резервных каналов. Основными настройками устройства OPC UA клиента являются две: Период опроса период с которым OPC UA клиент будет получать данные от OPC UA серверов. Подключение OPC UA сервера при щелчке в поле данной настройки, можно вызвать специальное окно где и задаются настройки подключения. Откроем данное окно.

17 MasterOPC Tunneler. Руководство по настройке Стр. 17 Удаленный OPC UA сервер можно подключить двумя способами. Первый способ прописать в поле Адрес поиска IP адрес удаленной машины (или имя компьютера) и порт подключения. Пример строки подключения: opc.tcp:// :48010 Второй способ режим автоматического поиска. В этом случае нужно включить галочку Включить поиск OPC UA серверов. Для работы данного режима необходимо на обоих компьютерах установить службу Local Discovery Server, а также настроить ее (установить сертификаты). Данный способ нужно использовать если на компьютере установлено много OPC UA серверов. Воспользуемся полем Подключение сервера. Наш удаленный компьютер имеет IP адрес Порт мы установили Пропишем эти параметры в поле и нажмем Поиск. При этом, если сервер был найдет, может появится окно с запросом замены имени сервера в точке подключения. Суть этого запроса в том, что сервер возвращает в точке подключения не IP адрес, а имя компьютера. Поэтому если отказаться от замены, то подключение будет вестись по имени компьютера, а не по IP адресу. При работе в

19 MasterOPC Tunneler. Руководство по настройке Стр. 19 Если сервер требует авторизации, то переключатель раздел Аутенификационные установки переключается на режим Имя пользователя и Пароль. Введем в них логин и пароль, которые мы задали у сервера.

21 MasterOPC Tunneler. Руководство по настройке Стр Добавление тегов Теперь приступим к добавлению тегов. Добавление тегов также производится через контекстное меню устройства. Для автоматического добавления тегов из сервера выберите пункт меню Теги протокола из сервера. Открылось специальное окно Импорт OPC UA тегов. Из-за того, что OPC UA серверы могут иметь сложную архитектуру и с большой вложенностью окно импорта OPC UA тегов сложнее чем в случае с OPC DA.

22 MasterOPC Tunneler. Руководство по настройке Стр. 22 В верхней части окна находится строка подключения к серверу после нажатия на кнопку Соединить, произойдет подключение к OPC UA серверу, после чего в дерево будут загружены теги. При этом теги имеющие архивы, в столбец HDA доступ будут иметь подпись HistoryYes.

23 MasterOPC Tunneler. Руководство по настройке Стр. 23 Отметьте нужные вам теги галочками, а нажмите кнопку Готово. Теги добавятся в дерево. Если OPC UA сервер имеет архивы, и вы планируете их считывать, то у устройства должна быть включена настройка Получать архивные данные (по умолчанию включена). При включении настройки у всех тегов привязанных к считыванию архивных тегов, автоматически включается режим HDA доступа.

24 MasterOPC Tunneler. Руководство по настройке Стр Запуск в режим исполнения Сохраним конфигурацию и запустим ее в режим исполнения через круглую кнопку панели меню. Сервер запустится в режим исполнения. Если данные поступают с хорошим признаком качества значит соединение установлено. На этом настройка клиентской части завершена Проверка на OPC клиенте Проверим работу туннеля совместно с OPC DA клиентом например SCADA системой MasterSCADA. Создадим новый проект в MasterSCADA. Добавим в систему Компьютер, а в Компьютер через контекстное меню OPC сервер InSAT Multi-Protocol MasterOPC Server DA.

25 MasterOPC Tunneler. Руководство по настройке Стр. 25 Примечание. Если данный OPC сервер отсутствует в списке, вызовите контекстное меню у компьютера Поиск OPC DA серверов. Отметьте галочкой данный OPC сервер и нажмите Готово сервер появится в списке контекстного меню. Добавьте теги при помощи команды Вставить Все переменные и группы. Сохраните проект и запустите в режим исполнения. У тегов должны появится значения, поступающие от OPC DA сервера, установленного на удаленном компьютере. Если данные поступают, значит настройка туннеля произведена правильно.

26 MasterOPC Tunneler. Руководство по настройке Стр Настройка MasterSCADA как OPC UA клиента Если в качестве SCADA системы используется MasterSCADA версии 3.7 или новее, то она имеет встроенный OPC UA клиент, и может обращаться к серверной части туннеля (OPC UA серверу) напрямую. В этом случае OPC UA клиент Multi-Protocol MasterOPC не требуется. Для подключения к OPC UA сервера к MasterSCADA, нужно добавить его в компьютер через контекстное меню. Настройка подключения к определенному серверу и добавление тегов производится на закладке Настройки. Сначала настраивается подключение к UA серверу. Для этого нажмите кнопку Настройки появится специальное окно. Строка подключения прописывается на вкладке Настройки

28 MasterOPC Tunneler. Руководство по настройке Стр. 28 Каждый тег можно выделить и посмотреть его атрибуты, развернув специальную секцию окна Атрибуты узла.

29 MasterOPC Tunneler. Руководство по настройке Стр. 29 В окне атрибутов можно увидеть текущее значение, комментарий, путь переменной, поддержка архивов и т.д. Отметьте галочками нужные вами теги, а затем снова нажмите кнопку Применить переменные будут добавлены в дерево системы. После этого можно запускать MasterSCADA в режим исполнения Чтение архивов Помимо текущих значений MasterSCADA может читать из OPC UA архивы. Как и в случае с OPC HDA, OPC UA сервер накапливает считанные из прибора архивные данные (данные могут получены как от OPC HDA сервера, так и накоплены в буфере при опросе текущих значений), а затем отдает их клиенту. Наличие архивов определяет атрибут тега Historizing.

31 MasterOPC Tunneler. Руководство по настройке Стр. 31 Закройте окно, нажмите кнопку Применить. Выделите архивный тег и перейдите на вкладку Архив как и в случае с OPC HDA тегами, автоматически включается периодическая архивация с шагом в 0. Не нужно изменять данные настройки. Запустите режим исполнения и перейдите на вкладку Данные выхода на этой вкладке вы можете увидеть весь считанный и получаемый архив.

32 MasterOPC Tunneler. Руководство по настройке Стр. 32 В остальном работа с подобными тегами ведется, как и обычными архивируемыми тегами вы можете использовать их в трендах, отчетах, расчетах и т.д. 2.4 Настройка MasterOPC Tunneler для работы через Интернет Иногда возникает задача передавать данные от OPC серверов, расположенных не в локальной сети, а в сети Интернет. Для передачи данных через Интернет можно использовать два способа с использованием публичного статического IP и с использованием VPN. В случае использования VPN настройка плагинов Multi-Protocol ничем не отличается от настройки при работе в локальной сети, так как VPN представляет собой виртуальную локальную сеть. В случае использования статического IP адреса потребуется сделать ряд дополнительных настроек в Windows и сетевом оборудования. Во-первых, нужно обеспечить проброс портов с публичного IP адреса и порта, запрос должен перенаправляться на компьютер с OPC UA сервером в локальной сети. Для решения данной задачи вам нужно обратится к системному администратору. Во-вторых, из-за особенностей реализации OPC UA, нужно в ОРС сервере согласится на подмену имени компьютера на IP адрес. Опишем данный пункт подробнее. Например, есть компьютер, находящийся в локальной сети за публичным статическим IP адресом. Этот IP адрес и порт нужно ввести в поле подключения сервера.

33 MasterOPC Tunneler. Руководство по настройке Стр. 33 Будет произведен поиск OPC UA сервера по указанному адресу. Если OPC доступен, то сервер вернет клиенту точки подключения. Однако сервер вернет точки, которые будут содержать не IP адрес, а имя компьютера (например, opc.tcp//pc:55000). Поэтому после выполнения поиска и выбора точки, будет произведена подмена IP адреса на это имя компьютера. После запуска в режим исполнения OPC сервер будет пытаться связаться по имени компьютера, и, естественно, не сможет его обнаружить связи не будет. Чтобы этого избежать сервер выводит специальное диалоговое окно, в котором сообщает, что введенное пользователем имя сервера (IP адрес) не соответствует возвращаемому и спрашивает, заменить ли полученное от сервера имя компьютера на введенное пользователем в строке точки подключения.

34 MasterOPC Tunneler. Руководство по настройке Стр. 34 При работе по локальной сети можно нажать Нет, но при работе через статический IP нужно нажать Да тогда в точке подключения вместо имени компьютера будет подставлен наш IP адрес.

35 MasterOPC Tunneler. Руководство по настройке Стр. 35 После этого соединение UA клиента и UA сервера будет установлено дальнейшие действия (добавление и настройка тегов) аналогичны, как и при работе по локальной сети.

OPC tunneller

Есть такой танец с бубном при настраивании связи между OPC сервером и клиентом под названием «настройка DCOM».
Почитав инструкции и оценив мою ситуацию (ОРС сервер и клиент находятся в разных группах), решил попробовать «тунель».
Наткнулся в WWW на матрикон и АВВ. Какие есть еще варианты?
Конечно можно напрячь айтишников и сделать одну группу, но больно интересно стало попробовать такой способ связи, да и безопасность будет повыше

OPC tunneller

Бывают универсальные ModbusTCP > OPC DA серверы (например Lectus). Они могут выступать как клиенты OPC. Возможно заработает связка [OPC клиент ModbusTCP сервер] -сеть- [ModbusTCP клиент OPC сервер]

Технология OPC была разработана для унификации механизмов взаимодействия программного обеспечения систем управления с аппаратурой этих систем. В рамках этой технологии ОРС-серверы собирают данные от контроллеров и предоставляют их ОРС-клиентам (например, SCADA-системам). Любой ОРС-клиент может обмениваться данными с любым ОРС-сервером вне зависимости от специфики устройства, для которого разрабатывался конкретный ОРС-сервер.

Компания ИнСАТ предлагает ОРС-серверы ( DA , HDA , UA ) собственной разработки для следующих протоколов и устройств:

  • · Modbus ASCII/RTU/TCP
  • · SNMP
  • · IEC 61850
  • · IEC 60870-5-104
  • · Энергомера (СЕ 301, 303)
  • · Меркурий (230, 233, 234 и 236)
  • · СЭТ, ПСЧ, СЭБ производства НЗИФ
  • · УСПД УМ-31
  • · MasterOPC Tuneller

Кроме указанных протоколов компания ИнСАТ предоставляет средства разработки собственных ОРС-серверов на языках C ++ и SCRIPT .

Отличительные особенности ОРС-серверов компании ИнСАТ:

  • · Механизм плагинов – все протоколы в одном сервере
  • · Конвертирование любого из поддержанных протоколов в OPC UA
  • · Редактор скриптов на языке Lua (выполнение до, после и вместо сеанса связи)
  • · Архив на базе SQLite ( HDA доступ к архивам текущих значений)
  • · Симулятор значений для отладки
  • · Поддержка работы через модем
  • · Покадровый обмен данными
  • · Журнал событий
  • · Создание иерархий из подустройств и групп
  • · Импорт и экспорт карт тегов
  • · Масштабирование значений
  • · Перестановка байтов
  • · Извлечение битов

Для ознакомления с MasterOPC предоставляются бесплатные версии на 32 точки ввода/вывода или на 1 счётчик/устройство.

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

В первой части статьи мы дали краткое описание механизма encrypted SNI (eSNI). Показали каким образом на его основе можно уклоняться от детектирования современными DPI-системами (на примере билайновского DPI и запрещенного РКН рутрекера), а также исследовали новый вариант домен-фронтинга на основе данного механизма.

Во второй части статьи перейдем к более практическим вещам, которые будут полезны RedTeam специалистам в их нелегкой работе. В конце концов наша цель — не получение доступа к заблокированным ресурсам (для таких банальных вещей у нас есть старый добрый VPN). Благо что VPN-провайдеров существует великое множество, как говорится, на любой вкус, цвет и бюджет.

Try Harder…

Один из реализованных на Go инструментов – наша разработка для пивотинга внутрь сети – тунеллер rsockstun, которая, кстати говоря, нынче детектируется средствами от компании Microsoft и Symantec, как очень вредоносное ПО, направленное на нарушение мировой стабильности…

На наше везение (ура-ура. ), эта технология включена по умолчанию во все тарифные планы CloudFlare и прекрасно работает в сочетании с eSNI. Вот как раз ее то мы и будем использовать для того, чтобы научить наш туннелер использовать домен-фронтинг и скрываться от современных DPI.

Немного о WebSockets

Прежде всего, мы вкратце и простыми словами расскажем о веб-сокетах, чтобы все имели представление о том, с чем мы будем работать.

В голанге для работы с веб-сокетами есть несколько библиотек. Наиболее популярные из них это Gorilla WebSocket и стандартная WebSocket. Мы воспользуемся последней, т.к. она проще, меньше и работает, как говорят, немного пошустрее.

В коде клиента rsockstun нам необходимо заменить вызовы net.dial или tls.dial на соответствующие вызовы WebSocket:

Мы хотим сделать клиентскую часть нашего туннелера универсальной и способной работать как через прямое ssl-соединение, так и через протокол WebSockset. Для этого мы создадим отдельную функцию func connectForWsSocks(address string, proxy string) error по аналогии с connectForSocks() и будем ее использовать для работы с веб-сокетами в случае, если адрес сервера, заданный при запуске клиента, будет начинаться с ws: или wss: (в случае с Secure WebSocket).

А всю логику обработки подключения (авторизация клиента по паролю, установка и завершение yamux-сессии) мы поместим в обработчик подключения WebSocket:

Компилируем проект, запускаем серверную часть:

И затем клиентскую часть:

И проверяем работу на локальном хосте:

Переходим к домен-фронтингу

С веб-сокетами мы вроде бы как разобрались. Теперь давайте перейдем непосредственно к eSNI и домен-фронтингу. Как уже говорилось ранее, для работы с DoH и eSNI нам необходимо взять специальную ветку голанга от компании CloudFlare. Нам нужна ветка с поддержкой eSNI (pwu/esni).

Клонируем ее к себе локально или качаем и разжимаем соответствующий zip:

Затем нам необходимо скопировать каталог GOROOT, заменить соответствующие файлы из склонированной ветки и установить его как основной. Чтобы избавить разработчика от этой головной боли ребята из CloudFlare приготовили специальный скрипт – _dev/go.sh. Просто запускаем его. Скрипт вместе с makefile все сделают сами. Для интереса — можете заглянуть внутрь makefile за подробностями.

После отработки скрипта, при компиляции проекта, нам необходимо будет указывать в качестве GOROOT локальный каталог, подготовленный скриптом. В нашем случае это выглядит так:

Далее, нам необходимо реализовать в туннелере функционал запроса и парсинга публичных eSNI ключей для нужного домена. В нашем случае, это будут бубличные eSNI ключи от фронтенд-серверов CloudFlare. Для этого мы создадим три функции:

Дополнительно нам придется внести изменения в файл tls/handshake_client.go, чтобы использовать наше поле FakeServerName при формировании TLS хендшейка:

На этом всё! Можно компилировать проект и проверять работу. Но прежде чем запускать проверку, необходимо настроить аккаунт CloudFlare. Ну как сказать настроить – просто создать аккаунт на клаудфларе и привязать свой домен к нему. Все фишки, связанные с DoH, WebSocket и ESNI, включены в CloudFlare по умолчанию. После того как DNS записи обновятся – можно проверить работу домена выполнив запрос eSNI ключей:

Если вы видите нечто похожее для вашего домена – значит все у вас работает и можно переходить к тестированию.

Запускаем Ubuntu VPS, например, на DigitalOcean. P.S. В нашем случае только что выданный провайдером IP-адрес VPS оказался в блек-листах РКН. Так что не удивляйтесь, если с вами случится что-то похожее. Пришлось воспользоваться VPN чтобы попасть на свою VPS.

Копируем на VPS уже скомпилированный rsockstun (в этом, кстати, еще одна прелесть голанга – можно скомпилировать проект у себя и запустить на любом линуксе, соблюдая только разрядность системы) и запускаем серверную часть:

А затем клиентскую часть:

Как мы видим, клиент успешно подключился к серверу через фронтенд-сервер CloudFlare с использованием веб-сокета. Для проверки что туннель работает именно как туннель можно сделать curl-запрос через локальный socks5, открытый на сервере:

Теперь посмотрим, что же DPI видит в канале связи:

Или 32-битный вариант:

Всё! И больше никаких заморочек не надо. Это реально работает!

Флаги компилятора –w и –s нужны для того, чтобы убрать лишний мусор из исполняемого файла, сделав его меньше на пару мегабайт. Дополнительно его потом можно упаковать с помощью UPX, чтобы еще уменьшить размер.

Вместо заключения

В статье мы, на примере написанного на голанге туннелера, наглядно показали применение новой технологии домен-фронтинга, реализованной на довольно интересной особенности протокола TLS 1.3. Аналогичным образом можно адаптировать существующий инструментарий написанный на голанге для работы через сервера CloudFlare, например Merlin — известный C2, или заставить CobaltStrike Beacon использовать eSNI домен-фронтинг при работе с Teamserver через External C2 Channel, реализованный на голанге, или же на стандартном C++ с использованием пропатченной версии OpenSSL, о которой мы рассказывали в прошлой части статьи. В общем, фантазии нет предела.

Обновленный код туннелера, а так же скомпилированные исполняемые exe-файлы размещены в отдельной ветке проекта на github. Обо всех возможных проблемах туннелера лучше писать issue на странице проекта на GitHub.

Читайте также:

      

  • Рейтинг школы 169 спб
  •   

  • Регулятивная функция религии это кратко
  •   

  • Природные условия древней палестины 5 класс кратко
  •   

  • Какова причина реформы системы управления кратко
  •   

  • Рейтинг школ железнодорожного московской области

Modbus is an open industrial protocol. Three modifications of Modbus are available: Modbus RTU, ASCII and TCP. The following interfaces can be used for Modbus-based data transfer:

·        RS-232 or RS-485 

·        GSM or radio-channels

·        Various TCP/IP channels (Ethernet, Wi-Fi, GPRS)

Modbus protocol featured by its light transfer method and fast operation, and this makes it the most popular industrial protocol.

The BACnet protocol is applied in large automation systems of buildings or complexes (shopping centers, business centers, airports, etc.). One of the most important BACnet features is a high degree of versatility and flexibility: the protocol supports a large number of objects and data types, and provides a poll of various physical parameters.

Profinet is an extension of the Profibus protocol for communication over Ethernet. This protocol is applied in Siemens controllers and other manufacturers.

SNMP is an Internet-standard protocol for managing devices on IP networks. It operates on UDP/TCP protocols of the transport layer of network architectures. SNMP is commonly used to monitor various network devices (routers, multiplexers, servers, workstations, UPSs, etc).

IEC 60870-5-104 protocol is used in large-scale TCP/IP networks in telemetry systems. The protocol major applications are found in power generation and oil and gas transportation industries.

IEC 60870-5-104 protocol is used in large-scale TCP/IP networks in telemetry systems. The protocol major applications are found in power generation and oil and gas transportation industries.

IEC61850 MasterOPC Server is an OPC server destined to operate with any equipment that supports data exchange via the IEC 61850 protocol. Such equipment is most often used for monitoring parameters of electrical current in power plants. Due to wide use of the protocol, the OPC server is tested on various hardware configurations that are typical for substations (SIEMENS, ABB, AREVA, GE, SATEC, etc.) Stress test of the server showed its high performance and possibility of lossless transmission of short pulse signals.

Omron Corporation is one of leaders of Japanese instrument making industry. For over 70 years, the corporation has been producing a variety of products in such fields as electronic components, PLCs, automotive and medical electronics.
Omron PLCs are widely used in various of fields, especially in assembly lines, machines, batching systems, etc. The controllers have established themselves as high-performance, reliable, functional and affordable solutions. In Omron networks, the controllers use the FINS protocol to communicate between themselves.
FINS is an open communication protocol. The most of controllers and networks of Omron support that protocol. The FINS protocol operates in Ethernet networks (via the UDP transport protocol) as well as over serial communication channels (RS-232, RS-485 or GSM).
Omron MasterOPC Server is destined to integrate Omron equipment into systems of automation and dispatching via the FINS protocol. The server is implemented as a plugin for Multi-Protocol MasterOPC Server.

The SCRIPT plugin of Multi-Protocol MasterOPC Server is provided for programming of devices in the built-in programming language based on the LUA script language. The built-in programming language allows you to solve such tasks as development of own protocols, creation of device simulators, data processing, or interaction with external programs. 

The OPC DA Client plugin of Multi-Protocol MaterOPC Server provides connection to and data acquisition from OPC DA/HDA servers. 

The SCRIPT plugin of Multi-Protocol MasterOPC Server is provided for programming of devices in the built-in programming language based on the LUA script language. The built-in programming language allows you to solve such tasks as development of own protocols, creation of device simulators, data processing, or interaction with external programs. 

Mitsubishi Electric is one of the divisions of Mitsubishi Japanese conglomerate. Mitsubishi MELSEC-branded programmable logic controllers are known for their high reliability and performance for almost 40 years! MELSEC PLCs are among the best-selling in the world.
Mitsubishi MasterOPC Server allows to integrate Mitsubishi controllers with automation and supervision systems without using gateways and third-party software. An open proprietary SLMP protocol is used (also called MC protocol) is used for data transfer between Mitsubishi PLC and upper layer.

Energy metering solutions market has been recognized for a long time as a segment with a maximum number of various data exchange protocols used. Despite the fact that each meter type measures similar network parameters, most manufacturers use proprietary exchange protocols. To solve the problem of consolidating various devices into a single management solution, DLMS (Device Language Message Specification) protocol was developed and became a new industry standard.

Понравилась статья? Поделить с друзьями:

А вот и еще наши интересные статьи:

  • Руководство расторгло трудовой
  • Honda dio руководства
  • Руководство муниципального образования это
  • Как найти у мужчины точку джи инструкция по применению
  • Новости ржд руководство

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии