Стартовая страница › Форумы › Взаимодействие с устройствами › OPC › Подключение к OPC UA Owen
- В этой теме 44 ответа, 5 участников, последнее обновление 1 месяц назад сделано
Mikhail.
-
АвторЗаписи
-
17.04.2024 в 11:25 #32277
manjey73УчастникНу я не покупал 🙂 есть ПЛК100, который туда можно вкорячить, руки не доходят.
Вопрос встал в другом, другой человек пытается подключиться и не смог.
И я не смог.А идея передавать сигналы между устройствами облака, это возможно либо используя OPC UA либо мой драйвер по API + RapidScada и МАУ
ну или другие Scada системы с подобным функционалом.
А тут даже Prosys не может подключиться, хотя все настройки совпадают по их документации.з.ы. я задал вопрос через обратную связь, но ответа пока нет
17.04.2024 в 12:17 #32279
MikhailМодераторКлиент наверняка передаёт сертификат. Он его может не передавать, если только все параметры безопасности стоят в значениях Нет (или аналогичных).
Вопрос в том, что делает OPC-сервер с этими сертификатами. Самый простой вариант для сервера — принимать все сертификаты подряд.
17.04.2024 в 12:46 #32285
manjey73УчастникСертификат выдан DrvOpcUa — действителен по 06.04.2024
Может еще в этом дело?
Сертификат лежит в ProgramData\OPC Foundation\pki\trusted\certs
-
Ответ изменён 2 года, 3 месяца назад пользователем
manjey73.
17.04.2024 в 12:48 #32287
manjey73УчастникСостояние сертификата
Нет доверия к этому корневому сертификату центра сертификации, так как он не найден в хранилище доверенных корневых сертификатов центров сертификации.
18.04.2024 в 14:11 #32299
MikhailМодераторМожно попробовать удалить устаревший сертификат на клиенте. Тогда он новый создаст, скорее всего.
Но эти сертификаты самоподписанные, поэтому доверия к ним не будет у сервера, если он требует по-настоящему валидных сертификатов. Может Let’s Encrypt здесь поможет. Желательно проконсультироваться с Овен, какие сертификаты для них подойдут.
18.04.2024 в 14:25 #32302
manjey73УчастникУдалил, но он создал новый сертификат с той же датой окончания 06.04.2024
19.04.2024 в 14:44 #32330
MikhailМодераторНа моём ПК аналогично. Может создать сертификат вручную? Ссылка
Или подсунуть клиенту валидный сертификат, который будет распознаваться OPC-сервером.19.04.2024 в 14:52 #32331
manjey73УчастникИ где найти то, что требуется скачать? ссылки только на тексты и бла-бла-бла
Даже попробовать непонятно как.19.04.2024 в 15:35 #32335
MikhailМодераторЯ не пробовал у себя. С сертификатами нужно разбираться. Если Вам удастся что-то накопать на эту тему и понять, как они генерируются, будет очень полезно. Возможно, для этого потребуется собрать библиотеки OPC-клиента и посмотреть их работу в отладчике. Они нормально собирались.
19.04.2024 в 15:38 #32337
manjey73УчастникПонятно. Подождем каких-то ответов от Овен.
Пока они направили к вам 🙂 на что я написал, что Prosys тоже не подключается.
Жду ответа.19.04.2024 в 16:25 #32339
manjey73УчастникВоспользовался еще одной программой. UA Expert
Она при подключении отругалась на невалидный сертификат сервера, но позволяет при этом игнорировать эти ошибки, после чего подключение произошло.

Так что клиент все-таки получает сертификат и проверяет его, а он кривой, соответственно происходит отлуп…
Можно как-то в код клиента добавить игнорирование валидности сертификата сервера?
Настройку добавить для таких случаев?19.04.2024 в 22:19 #32341
manjey73Участникprivate async Task<bool> ConnectToOpcServer() { try { OpcClientHelperView helper = new(lineConfig.ConnectionOptions, LogStub.Instance, appDirs) { AutoAccept = true }; await helper.ConnectAsync(); // Тут вылетает в исключение opcSession = helper.OpcSession; return true; } catch (Exception ex) { ScadaUiUtils.ShowError(ex.BuildErrorMessage(DriverPhrases.ConnectServerError)); opcSession = null; return false; } finally { SetServerButtonsEnabled(); } }-
Ответ изменён 2 года, 3 месяца назад пользователем
manjey73.
19.04.2024 в 22:20 #32343
manjey73Участникawait helper.ConnectAsync(); отметил где вылетает в исключение.
Так понимаю, что происходит вызов уже внешней библиотеки. И как это можно обойти?
19.04.2024 в 22:35 #32344
manjey73УчастникOpc.Ua.ServiceResultException: «Error establishing a connection: Could not send an Open Secure Channel request.»
Изначально это исключение было создано в этом стеке вызовов: [Внешний код] Scada.Comm.Drivers.DrvOpcUa.OpcClientHelperBase.SelectEndpoint() в OpcClientHelperBase.cs Scada.Comm.Drivers.DrvOpcUa.OpcClientHelperBase.ConnectAsync() в OpcClientHelperBase.cs Scada.Comm.Drivers.DrvOpcUa.View.Forms.FrmDeviceConfig.ConnectToOpcServer() в FrmDeviceConfig.cs20.04.2024 в 14:14 #32345
manjey73УчастникСервер OPC UA ведет себе немного иначе при отключенной опции
«Автоматически принимать сертификаты»
А вот с установленной опцией

Время сертификата тю-тю. Запускал не знаю, первый раз или нет, где на Linuix найти сертификат и удалить его, чтобы он пересоздался?
-
Ответ изменён 2 года, 3 месяца назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.



