|
54 / 54 / 2
Регистрация: 30.05.2014
Сообщений: 83
|
||||||||||||||||
OPC клиент (OPC_DA v2.05) для платформы NET12.10.2014, 22:35. Показов 44734. Ответов 51
Метки нет (Все метки)
Предлагаю следующую библиотеку для обмена данными с OPC сервером в приложении NET.
Библиотека "OPC_NET" представляет OPC клиент для платформы NET и предназначена для легкого обмена с любыми OPC серверами поддерживающими стандарт OPC_DA v2.05. Основана на SDK OpcNetApi организации OPC Foundation - разработчика стандарта. Данные для обмена объявляются в файле типа xlsx. Данные читаются и пишутся по именам заданным в этом файле. Пример работы: 1. Заполнение таблицы сигналов 2. Соединение с сервером
Скачать (исходник и мануал прилагаются):OPC_NET_RUS_V1.0.rar PS: буду благодарен, если кто поделится этим чудом - ".NET4.0(WCF)" от OPC Foundation (https://opcfoundation.org/deve... et-4-0-wcf). Сразу перепишу либу на новый лад. Изменения версии 1.11: - переделаны события изменения данных: удалены события конкретных типов и создано общее событие – содержащее информацию обо всех измененных переменных; - в классе Items добавлены несколько методов для коллекции объектов; - открыты перечисления для входных числовых значений; - переименованы некоторые объекты; Скачать (исходник и мануал прилагаются): OPC_NET_RUS_V1.11.rar Прошу добавить в заголовок темы, а то сам тему изменить не могу.
5
|
||||||||||||||||
| 12.10.2014, 22:35 | |
|
Ответы с готовыми решениями:
51
OPC клиент для сохранения данных с OPC сервера ASP.net OPC клиент OPC DA клиент на библиотеках OPC Foundation |
|
3 / 3 / 1
Регистрация: 18.12.2014
Сообщений: 74
|
|
| 21.04.2017, 07:47 | |
|
при подключении к opc, 0 возвращается? там есть ещё функция проверки переменных! попробуйте её ещё, она тоже если всё верно должна 0 возвратить! на овне не тестил, а на siemens всё работает как надо)
0
|
|
|
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 9
|
|
| 21.04.2017, 11:54 | |
|
Попробую заново создам проект. На win 7 x64 базовой может работать или обязательно нужна х32 ?
0
|
|
|
3 / 3 / 1
Регистрация: 18.12.2014
Сообщений: 74
|
|
| 21.04.2017, 12:34 | |
|
нет, работает и на x64, скомпилируй проект под x86, c Any CPU не запускалось у меня на x64
1
|
|
|
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 9
|
||
| 22.04.2017, 13:27 | ||
|
Добавлено через 14 часов 17 минут Похоже ошибка появляется из-за прописанного тега Com4/TRM201v24(8bit adr=0)/LvoP/Pv До этого пробовал на 3х других OPC клиентах, всё нормально читается. Собственно вопрос, как в этом клиенте правильно задавать переменные для сервера OWEN.RS485, или придётся в сам клиент какие-то изменения вносить? Добавлено через 2 часа 11 минут Всё заработало когда прописал переменные через TableSignal4.xml
0
|
||
|
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 9
|
|
| 23.04.2017, 13:52 | |
|
Подскажите, когда на подписку ставлю больше одного тега, значения перестают автоматически обновляться, может что-то не так делаю?
0
|
|
|
608 / 583 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
|
|||||||||||
| 21.03.2018, 12:00 | |||||||||||
|
Возможно я пинаю труп, но решил попробовать что за оно.
OPC_NET.OPCclient использовать не стал, не понравилось что у события приёма данных отсутствуют биты качества и метка времени. т.е. остались нужны всего две из выложенных библиотек: OpcNetApi.Com.dll и OpcNetApi.dll дальше, для конкретного OPC сервера получил все его элементы и подписался на обновления (код в WPF, немного изменил то, что представил EVG-1980):
Opc.Da.BrowseElement.IsItem всегда false. Чёрт его знает чего. Пробовал переносить рабочие куски кода, пересоздавать окна, переписывать код вручную заново, даже перезагружать студию и комп, не помогает =( следовательно две проблеммы: 1) в методе browseserver не срабатывает выход на уровень наверх, рекурсия не прерывается (ну как, прерывается, т.к. сервер при попытке просмотреть дочерние элементы тэга сыпет ошибки). 2) в методе createcontrol не происходит подписка на тэг, что печально. пробовал анализировать не только свойство IsItem, но и HasChildren. Проблему 1 это исправляет, проблема 2 начинает сыпать ошибками 0x80020008 (несоответствие типа вроде) сталкивался ли кто с такой фигнёй? Либо может идеи есть? и да, может стоило не некропостить, а новую тему создать (хотя вопросы по выложенным в теме либам)? в общем, одни вопросы) Добавлено через 45 минут Опаньки, нашел как всё поломать: свойства проекта, изменить требуемую версию Framework с 4.5.2 на любую другую. Всё. Потом, даже если выполнить обратное действие, всё останется поломанным, даже удаление и добавление ссылок на библиотеки заново не помогает. Я, честно говоря, в недоумении. Вопросов стало ещё больше. Добавлено через 1 час 12 минут ну, и немного ещё: если использовать OPC_NET.OPCClient и поменять версию Framework все вышеназванные проблемы сохраняются:
и ещё заметил, после коннекта Opc.Da.Server.GetState() выбрасывает FatalExecutionEngineError даже находясь внутри try{}catch{}
1
|
|||||||||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 21.03.2018, 17:19 | |
|
радуйтесь. этож .NET
. Когда Allen Bradley затевали тему OPC, подобной лабуды в помине не было. Все прекрасно справлялись с COM/DCOM. Причем, даже delphi'сты (в лице, например, меня), где COM-объекты выглядят не так красиво как в C++.
0
|
|
|
608 / 583 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
|
|
| 22.03.2018, 08:36 | |
|
уря) я починиль!)
сначала скажу что наткнулся на эту страницу, где в ветке downloads скачал OPC client for WPF. Увидел очень похожие исходники, только с комментариями на английском, да и версия у встроенных dll подревнее была)) Так вот, к чему это я: в скаченном проекте указанные мною действия к проблемам не приводили, всё продолжало работать. Поплясав с бубном в поисках разницы в проектах увидел, чтоб всё работало, конечная платформа должна иметь тип x86, а не AnyCPU, как было по умолчанию. Теперь походу нужно будет тестить в разных виндах...
0
|
|
|
54 / 54 / 2
Регистрация: 30.05.2014
Сообщений: 83
|
|
| 31.03.2018, 16:51 [ТС] | |
|
переходите на плюсы, нах этот net.
на плюсах все гораздо проще, нет кучи прослоек и интфейсов.
0
|
|
| 23.12.2018, 19:37 [ТС] | ||||||
|
Не по теме:
Кликните здесь для просмотра всего текста
SVClient.dll - это библиотека для отправки данных на монитор, написана на C++, поэтому сверху обертка для C#. Находится рядом с дистрибутивом в архиве cpp_client.rar. Сам только проверить на ПЛК не могу, не связан с автоматикой сейчас. Пишите в комментариях этой темы, что получилось-нет.
0
|
||||||
|
1 / 1 / 1
Регистрация: 19.03.2020
Сообщений: 10
|
|||||||
| 05.04.2020, 13:41 | |||||||
|
ВОт так выглядит у меня метод BrowseServer
0
|
|||||||
|
0 / 0 / 0
Регистрация: 19.09.2024
Сообщений: 3
|
|
| 19.09.2024, 23:03 | |
|
Что такое N7:0,L2 в подключении в RSLinx OPC Server??
0
|
|
| 19.09.2024, 23:03 | |
|
Помогаю со студенческими работами здесь
52
Использование OPC-сервера от OPC Foundation (.NET) Клиент OPC DA для Quantum OPC UA Клиент для работы с TeslaScada2 в Debian Клиент для OPC сервер Kepware и удаленное подключение Выпущен официальный ICQ-клиент для платформы Android Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|