Форум программистов, компьютерный форум, киберфорум
АСУ ТП, промэлектроника
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/467: Рейтинг темы: голосов - 467, средняя оценка - 4.64
 Аватар для Sanprof
96 / 96 / 16
Регистрация: 28.01.2008
Сообщений: 426

OPC сервер своими руками

17.04.2012, 12:32. Показов 96140. Ответов 102

Студворк — интернет-сервис помощи студентам
здравствуете, может кто встречал статьи или еще что, по теме как написать OPC сервер своими руками (стандарт OPC у меня есть со всем списком интерфейсов и т.п., тек что это можно не предлогать). Суть в том, что есть система классов (тегов) имеющих значения, OPC сервер должен давать возможность эти значения отдавать клиентам.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2012, 12:32
Ответы с готовыми решениями:

Резервированный OPC-сервер
Добрый день! Совсем недавно получил в свои руки систему диспетчерского управления одного из предприятий энергетики. И уже заметил пару...

Использование OPC-сервера от OPC Foundation (.NET)
Всем привет, возникла необходимость в разработке OPC DA 2.05a сервера под .NET, среди бесплатных вариантов ничего не нашел, писать...

OPC сервер
Здравствуйте! Ситуация такая: необходимо передать данные из codesys (контроллера нет - использую эмуляцию), через OPC-сервер, в...

102
6 / 6 / 3
Регистрация: 05.10.2015
Сообщений: 40
13.10.2015, 10:14
Студворк — интернет-сервис помощи студентам
разница с console
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
group.DataChanged += new Opc.Da.DataChangedEventHandler(OnTransactionCompleted);
            Console.ReadLine();
        }
 
        static void OnTransactionCompleted(object group, object hReq, Opc.Da.ItemValueResult[] items)
        {
            Console.WriteLine("------------------->");
            Console.WriteLine("DataChanged ...");
            for (int i = 0; i < items.GetLength(0); i++)
            {
                Console.WriteLine("Item DataChange -   ItemId:    {0}", items[i].ItemName);
                Console.WriteLine("                    Value:    {0,-20}", items[i].Value);
                Console.WriteLine("                    TimeStamp: {0:00}:{1:00}:{2:00}.{3:000}",
                                                        items[i].Timestamp.Hour,
                                                           items[i].Timestamp.Minute,
                                                        items[i].Timestamp.Second,
                                                        items[i].Timestamp.Millisecond);
            }
            Console.WriteLine("-------------------<");
Смотреть по консоли работает items[i].Value
Делаю тоже самое в форме
writeValue[i].Value - но это не срабатывает
Тем более мне не массивом надо
0
0 / 0 / 0
Регистрация: 23.10.2015
Сообщений: 2
23.10.2015, 14:41
Voland_, добрый день!
Столкнулся с необходимостью написанием Клиента для OPC сервера, но я в этом "Чайник".
Исходные данные такие:
1. Есть OPC-сервер Bosch, я его установил и появилась соответствующая служба. Так же моя СКАДА тоже его увидела.
2. Есть конфигуратор параметров (тоже от Bosch), установил, запускаю, указываю данные для подключения к контроллеру Bosch, путь к XML файлам сгенерированных Bosch-ом.
3. Запускаю СКАДУ вижу статусы охранных датчиков (зон), но считываются значения единожды (при запуске службы) и процессе работы не обновляются, так же не могу послать команду "Взять/Снять с охраны".
К данному OPC-серверу прилагается описание из которого я понял что нужно на языке XML Shema дописать данный сервер/клиент.
Кто-нибудь что-нибудь понял?
0
Модератор
 Аватар для vxg
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,473
23.10.2015, 15:00
Цитата Сообщение от AlexKip Посмотреть сообщение
Кто-нибудь что-нибудь понял?
возможно данный сервер позволяет менять свою конфигурацию через подсовывание ему XML файлов. в таком случае этот процесс сугубо личная инициатива данного сервера и не имеет ничего общего с OPC - просто нужно указать то что вам нужно в этих файлах. как вариант - возможно значения обновляются но с очень большим периодом - проверьте этот момент в настройках. и уточните как именно вы не можете послать команду? выдается ли какое-нибудь сообщение?
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
23.10.2015, 17:28
AlexKip,
1) попробуйте какой-нить другой OPC-клиент. Возможно, Ваш "СКАДА" что-то там неправильно себе манипулирует с запросами. Возможно, не все типы запросов поддерживаются этим сервером.
2) Если сервер использует внешние файлы (что вполне возможно) в качестве конфигурационных, то нужно понимать, что для COM-процесса (коим является OPC-сервер) текущей директорией является хрен знамо что. И да, COM-сервер не обязательно стартует и работает из службы - в общем случае это не связанные между собой вещи. "Физическую" связь между описанием OPC-сервера и файлом, в котором он сидит вы сможете посмотреть утилитой dcomcnfg, поискав OPC-сервер от Bosch в списке.
0
0 / 0 / 0
Регистрация: 23.10.2015
Сообщений: 2
26.10.2015, 15:25
1. Пробовал другой OPC- клиент. Результат тот же.
2. Я так понимаю, что сервер использует внешние файлы, т.к. в программе - конфигураторе я указываю путь к папке с .XML, затем после добавления в СКАДА вижу все те зоны, которые были созданы в Bosch.
Через "dcomcnfg" в "Службах" нашел OPC-server, в свойствах на вкладке "Зависимости" обнаружил, что эта служба (как я понял) зависит от "Модуль запуска процессов DCOM-сервера" и "Сопоставитель конечных точек RPS".
Что это за компоненты такие - непонятно...
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
27.10.2015, 15:40
Цитата Сообщение от AlexKip Посмотреть сообщение
"Модуль запуска процессов DCOM-сервера" и "Сопоставитель конечных точек RPS".
Это вам сейчас не нужно - используется для удаленного запуска/подключения процессов с доступом по сети.
Цитата Сообщение от AlexKip Посмотреть сообщение
Пробовал другой OPC- клиент. Результат тот же.
Какой клиент пробовали? Какие запросы тестировали? Все ли перебрали?
0
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 3
05.04.2016, 16:48
Подскажите где достать Api с примерами для C# и/или VB.Net
Нужен бесплатный OPC Client для связи своей проги с OPC (inSAT Multi-Protocol MasterOPC Server)
Пытался скачать с opcfoundation: https://opcfoundation.org/deve... lications/
Но после регистрации всё-равно не даёт скачать
0
Модератор
 Аватар для vxg
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,473
05.04.2016, 19:25
А вы думаете найти в доках инфу про клиента для шарп? Люди разве есть там такое давно не глядел?

Добавлено через 2 минуты
Ооо. Есть... Удивительно.
0
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 6
16.01.2021, 07:55
vxg

Если возможно, укажите где в справке (inSAT Multi-Protocol MasterOPC Server) пример на C# ?
0
Модератор
 Аватар для vxg
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,473
16.01.2021, 11:29
dvmax, если я правильно помню то о чем думал 5 лет назад то имелся ввиду пример в документации OPC https://opcfoundation.org/deve... ls-classic а не в документации inSAT Multi-Protocol MasterOPC Server но может он там тоже есть
0
0 / 0 / 0
Регистрация: 15.11.2023
Сообщений: 2
15.11.2023, 05:07
Доброго времени суток. Не стал создавать новую тему. Встал вопрос о смене направления. Разрабатывается ли подобный софт (клиент, сервер) на Java? На сколько она хорошо подходит? В инете попадалась инфа, что Java используется, но не как основной инструмент. Основное это .Net.
0
Модератор
 Аватар для vxg
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,473
15.11.2023, 07:27
st3prof, подобный - какой? OPC весьма зоопарковый становился когда я стал от него отдаляться - у него вообще крен в сторону сетевого протокола был кажется. сетевую вещь можно сделать на любом языке который это умеет.
0
0 / 0 / 0
Регистрация: 15.11.2023
Сообщений: 2
15.11.2023, 07:38
Есть система для моделирования Ideas, получать/передавать данные из модели. Передавать и получать данные из Scada-системы, передавать/получать данные с реального производства. Я так понимаю нужен какой-то сервер, который всей это обработкой будет заниматься. Стоит ли туда соваться только со знанием Java? Понимаю, что придётся многому учиться (для меня это абсолютно новая область), но если ещё и новый стек технологий программирования изучать, то это не вариант.
0
Модератор
 Аватар для vxg
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,473
15.11.2023, 11:29
st3prof, алгоритм такой же как и для любой задачи:
- формулируем что мы хотим
- ищем способы это сделать
- изучаем способы с точки зрения реализуемости
- реализуем задачу выбранным способом

Фантазия на ровном месте:
- есть какая-то как вы говорите система которую можно связать с какой-то как в говорите другой системой
- один и возможно не единственный из способов связи - OPC непонятно какой версии и спецификации
- по какой-то причине мы решили выбрать именно такой вариант
- уточняем недостающие моменты - версию и спецификацию
- уточняем какие есть варианты для реализации на тех языках/инструментах которые у нас есть - наверное идем куда-то сюда https://github.com/OPCFoundation/UA-Java-Legacy

Относительно обработки:
- есть сервер - он что-то предоставляет другим сущностям (например, информацию о технологическом процессе) - обычно сервер поднимают SCADA или ПО идущее с оборудованием чтобы внешние системы могли с ними взаимодействовать
- есть клиент - он что-то делает с информацией получаемой от сервера или как-то управляет через него процессом или оборудованием - обычно клиентом является либо сопрягаемая система или специально разработанное ПО
- возможно, конечно, у вас будет несколько серверов и клиентов которые по цепочке что-то перекладывают/передают, это вам самому нужно понять какая у вас задача
0
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
20.11.2023, 13:27
добрый день. Нужна помощь в написании UA servera. Описание, алгоритмы, библиотеки. Больше описание или пример
. Ничего путного пока найти не могу.
0
Модератор
 Аватар для vxg
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,473
21.11.2023, 19:10
Vlad_V9, думаю надо начать с того чтобы раскрыть тайну на чем вы пишите
0
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
21.11.2023, 19:25
c++ компилятор g++. По библиотекам кое что нашел, (у qt есть что то но не идущее в комплекте надо собирать отдельно их qmake не понял что я от него хочу, freeopcua заругался на boost, OPC UA Open62541 почти собрался споткнулся на константе ) собрать ничего не получилось из того что нашел. Это пол беды, вторая половина нет описания на сам протокол. ОС Windows.
0
Нарушитель
444 / 885 / 105
Регистрация: 23.11.2021
Сообщений: 5,197
Записей в блоге: 19
21.11.2023, 19:31
Vlad_V9, а для чего это вообще нужно? Глянул здесь — вообще ничего не понял, какая-то жуть с кучей параметров, похоже на убогие "скады" для canopen или modbus-rtu (то бишь софт, вообще ничего общего с реальностью не имеющий).
0
0 / 0 / 0
Регистрация: 20.02.2022
Сообщений: 57
21.11.2023, 19:37
СКАДУ с контроллером связать. Все нормальные скады имеют ОРС сервера. Wonderware только чего стоит.
0
Нарушитель
444 / 885 / 105
Регистрация: 23.11.2021
Сообщений: 5,197
Записей в блоге: 19
21.11.2023, 19:47
Vlad_V9, но скада же не умеет в автоматизацию и управление! Там все через одно место и мышкодергательство…

Если есть протокол железки, правильней написать сокет-сервер для общения с ней по какому-то своему внутреннему протоколу. И свой сервер управления, который будет толпы этих железок пасти и нужные данные архивировать. И все это будет на ура поддерживаться, недорого в эксплуатции, быстро адаптируемо к новым железкам… Т.к. даже иксы не надо будет ставить + вместо дорогущих промышленных монстров можно взять компактные безвентиляторные компы за 15-20тыр на основе i3 с 4ГБ ОЗУ, а то и вообще за 2тыр взять одноплатник - если позволяют условия эксплуатации.

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Vlad_V9 Посмотреть сообщение
Wonderware
Ужас-то какой! Я бы это УГ даже бесплатно длинной палкой не тыкал бы! Неужели кто-то считает, что подобной ублюдочностью удобно пользоваться?
Как к нему из терминала подобраться?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.11.2023, 19:47

OPC - сервер
Имеется следующая проблема: на одной машине установлен ОРС-сервер и клиент. для Microsoft Windows XP Professional Service Pack 2 ...

OPC сервер для Modbus
Добрый день. Необходима информация, если кто обладает, об архитектуре OPC серверов. Сейчас возникла потребность в создании своего сервера....

OPC сервер под EtherNet/IP (плк WAGO 750-8202)
Добрый день, уважаемые коллеги! Не подскажите как связать scada-систему с шестью плк WAGO 750-8202 работающих по протоколу EtherNet/IP? ...

Конфигурационный файл Lectus Modbus OPC/DDE сервер для работы с Ивит-М
Здравствуйте. Мучаюсь уже давно, поэтому прошу помощи. Если кто составлял конфиг, работающий в lectus для прибора ивит-м очень прошу...

Сервер вирталок своими руками
Ищу людей\статьи как сделать можно сделать хостинг виртуальных машин с нуля Считайте это как хобби (просто никогда не делал полноценный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru