1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

OPCUA узкоспециализированный микросервер

RS-485, ProfiBUS, 4-20 mA, Wi-Fi, GSM и так далее
Ответить

Автор темы
mihalychSD
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 18 авг 2021, 13:51
Имя: МихалычСемьдесятДва

OPCUA узкоспециализированный микросервер

Сообщение mihalychSD »

Здравствуйте

необходимо сделать встраиваемый узкоспециализированный opcua сервер для определенных датчиков на tcp-binary. на первом этапе без шифрования - сейчас главное чтобы заработало. работать будет в закрытой ЛС, поэтому разбираться с шифрованием буду позже.

программа сделана. при тестировании на простом opcua клиенте (SimplexOpcUaClientVCL) - все норм.
заказчик использует MasterOPC.
когда настраиваю клиента в Multi-Protocol MasterOPC Server, при подключении к серверу, клиент не видит ни одной точки подключения.

понимаю, что не совсем в тему и не на этом форуме, но, по протоколу спросить не у кого. opcua штука закрытая, хотя исходников открытых много, очень мало кто может что-нибудь внятно объяснить.
если кто нибудь разбирался с протоколами opcua и сможет помочь буду очень признателен. застрял и не могу понять где накосячил.

возможно что сервер не зарегистрирован на discovery server, но связи наружу не будет, а где его ищет masteropc client я тоже пока не понял. к моему серверу (как DS) клиент не цепляется.
есть LDS, но я не понял как его указать в пакетах обмена. в DiscoveryURLs направляю на свой сервер и в списке точек подключения указываю свой сервер как DiscoveryServer, но подключения и пакетов поиска серверов не наблюдаю.

Автор темы
mihalychSD
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 18 авг 2021, 13:51
Имя: МихалычСемьдесятДва

OPCUA узкоспециализированный микросервер

Сообщение mihalychSD »

такая же фигня при тестировании с Opc.Ua.CertificateGenerator
сертификаты я на нем генерил (в пакете сертификат DER)
сертификат сгенер для application: TESTSERVER4A
организация: ORG4A
в сертификате DNS: WIN-FM6KO5S7R9V (127.0.0.1)
может проблема в значении SecureChannelId ?

Opc.Ua.CertificateGenerator в результате ругается так:
Attempting to read latest configuration options from server. | Warning: Selected Endpoint has no security. | Warning: Transport Profile URI is missing.
в списке только первая точка (opc.tcp://WIN-FM6KO5S7R9V:4848 - (none,none,binary)

во то что я отправляю как GetEndpoints rensponse (разобранный пакет MSGF - message):
поле LID - это внутренний номер объекта (в пакетах не передается!)
Класс = "TOPCUA_DS_TypeMessageResponse" (LID = 717)
IsNULL = TRUE
IsEmpty = TRUE
MessageType = 6 (Message)
StateRef = NIL
fMessageHeader:
Класс = "TOPCUA_DS_TypeMessageHeader" (LID = 719)
IsNULL = TRUE
IsEmpty = TRUE
MessageType = 6 (Message)
StateRef = NIL
fSecureChannelId = 3 (00000003)
fTokenID = 5 (00000005)
FSequenceNumber = 2 (00000002)
fRequestId = 1 (00000001)
fParameters:
Класс = "TOPCUA_TypeGetEndpointsResponceParameters" (LID = 747)
IsNULL = TRUE
IsEmpty = TRUE
FFindServersData:
Класс = "TOPCUA_TypeArrayOfEndpointDescription" (LID = 749)
IsNULL = FALSE
IsEmpty = FALSE
Число элементов = 3
Элемент[0]:
Класс = "TOPCUA_TypeEndpointDescription" (LID = 751)
IsNULL = TRUE
IsEmpty = TRUE
FEndpointUrl:
Класс = "TOPCUA_TypeString" (LID = 753)
IsNULL = FALSE
IsEmpty = FALSE
Value = "opc.tcp://WIN-FM6KO5S7R9V:4848"
FServer:
Класс = "TOPCUA_TypeApplicationDescription" (LID = 755)
IsNULL = TRUE
IsEmpty = TRUE
FApplicationUri:
Класс = "TOPCUA_TypeString" (LID = 757)
IsNULL = FALSE
IsEmpty = FALSE
Value = "urn:WIN-FM6KO5S7R9V:ORG4A:TESTSERVER4A"
FProductUri:
Класс = "TOPCUA_TypeString" (LID = 759)
IsNULL = FALSE
IsEmpty = FALSE
Value = "urn:WIN-FM6KO5S7R9V:ORG4A"
FApplicationName:
Класс = "TOPCUA_TypeLocalizedText" (LID = 761)
IsNULL = FALSE
IsEmpty = FALSE
FText:
Класс = "TOPCUA_TypeString" (LID = 765)
IsNULL = FALSE
IsEmpty = FALSE
Value = "TESTSERVER4A"
FApplicationType:
Класс = "TOPCUA_TypeApplicationType" (LID = 767)
IsNULL = TRUE
IsEmpty = TRUE
Value = 0 (00000000)
FGatewayServerUri:
Класс = "TOPCUA_TypeString" (LID = 769)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FDiscoveryProfileUri:
Класс = "TOPCUA_TypeString" (LID = 771)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FDiscoveryUrls:
Класс = "TOPCUA_TypeArrayOfString" (LID = 773)
IsNULL = FALSE
IsEmpty = FALSE
Число элементов = 1
Элемент[0]:
Класс = "TOPCUA_TypeString" (LID = 859)
IsNULL = FALSE
IsEmpty = FALSE
Value = "opc.tcp://WIN-FM6KO5S7R9V:4848"
FServerCertificate:
Класс = "TOPCUA_TypeByteString" (LID = 775)
IsNULL = FALSE
IsEmpty = FALSE
Длина = 998
HEX: 308203E2308202CAA00302010202101EA674EA416FE84C8CA6981343FD71D8300D06092A864886F70D01010505003027310E300C060355040A13054F52473441311530130603550403130C544553545345525645523441301E170D3231303831383139343430325A170D3236303732333139343430325A3027310E300C060355040A13054F52473441311530130603550403130C54455354534552564552344130820122300D06092A864886F70D01010105000382010F003082010A0282010100CBDF65C20FAB56736AF23EE8171AF8407E60F96AD2D74702D8ACBDF0DEF39EA954E780C362BEF11109A29CEFB96A894B913FF7F8154ECA21A69C11302D0512FF80FC80E138224E0CB4A0E71A56BA6E0A26B74016CAFEC2E4C51E5C6DA0CCC04DB389155EF37A9B17638FDE0C428DA2CD2FD344B9146886C308211C0B2EDDE3736A3C8864F1F4547C83834359EA785927A600EBA3D0846232AD39A0E388A2F62F367125BCF916780AA11345C876F88BEB90007B33096EDE54BE4F6A551F398BC50A967D99E7076E8D3DC3AB1B00A4FEF530DDDACCBC3CA9735A98CACA07BCA018A2507009FE8F0AB833892DADF4C9EDE502A98685AA60743650AE1328056DF68F0203010001A382010830820104301D0603551D0E04160414E87884F2EB8ACDA840A53D3F0F1F31DD7E5EB860305F0603551D23045830568014B2683C136F551E5DB40E3D11E6D79E9278968A24A12BA4293027310E300C060355040A13054F52473441311530130603550403130C54455354534552564552344182110095A314C78B460141832BB519E1734EB3300C0603551D130101FF04023000300E0603551D0F0101FF0404030202F430200603551D250101FF0416301406082B0601050507030106082B0601050507030230420603551D11043B3039862675726E3A57494E2D464D364B4F3553375239563A4F524734413A544553545345525645523441820F57494E2D464D364B4F355337523956300D06092A864886F70D010105050003820101006D0B76F65060A245906F203FFC64130B2E5375DC8330A5E5045ADFCF067ADDBA306082143A87EAAB0D52C005B985E6728FB493EFDAD7C3AD8D1A1D73AB4AC114DA660A9B369C5114A2324C1E230E4A16C076C0E2723DE49DE7E952B09A6293F4BB234106248A1454AEE9A7F2EA89001112A845029DC4CA8A2215355D80147E9DC9202CFB3A332E3FD34B08C76BBDA2327528E89762FBADC0BF6E5A790F81EA949D82DB148A88716343A87AB9335B61CB3B4F8C3F5DB228E9C73C7FB4B5D9759902BEA452117B29308A6A03CD38DCB1F73F98A65CBAEC30CB3E0F0CB0D3C6633BB1F99E41C824E6A636B8B0FBDA52DC7DB19C5C89FAE1623A33C28A8CD114520B
FSecurityMode:
Класс = "TOPCUA_TypeMessageSecurityMode" (LID = 777)
IsNULL = FALSE
IsEmpty = FALSE
Value = 1 (00000001)
FSecurityPolicyUri:
Класс = "TOPCUA_TypeString" (LID = 779)
IsNULL = FALSE
IsEmpty = FALSE
Value = "http://opcfoundation.org/UA/SecurityPolicy#None"
FUserIdentityTokens:
Класс = "TOPCUA_TypeArrayOfUserTokenPolicy" (LID = 781)
IsNULL = FALSE
IsEmpty = FALSE
Число элементов = 1
Элемент[0]:
Класс = "TOPCUA_TypeUserTokenPolicy" (LID = 861)
IsNULL = TRUE
IsEmpty = TRUE
FPolicyId:
Класс = "TOPCUA_TypeString" (LID = 863)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FTokenType:
Класс = "TOPCUA_TypeUserTokenType" (LID = 865)
IsNULL = TRUE
IsEmpty = TRUE
Value = 0 (00000000)
FIssuedTokenType:
Класс = "TOPCUA_TypeString" (LID = 867)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FIssuerEndpointUrl:
Класс = "TOPCUA_TypeString" (LID = 869)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FSecurityPolicyUri:
Класс = "TOPCUA_TypeString" (LID = 871)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FTransportProfileUri:
Класс = "TOPCUA_TypeString" (LID = 783)
IsNULL = FALSE
IsEmpty = FALSE
Value = "http://opcfoundation.org/UA-Profile/Tra ... c-uabinary"
FSecurityLevel:
Класс = "TOPCUA_TypeByte" (LID = 785)
IsNULL = TRUE
IsEmpty = TRUE
Value = 0 (00)
Элемент[1]:
Класс = "TOPCUA_TypeEndpointDescription" (LID = 787)
IsNULL = TRUE
IsEmpty = TRUE
FEndpointUrl:
Класс = "TOPCUA_TypeString" (LID = 789)
IsNULL = FALSE
IsEmpty = FALSE
Value = "opc.tcp://WIN-FM6KO5S7R9V:4848"
FServer:
Класс = "TOPCUA_TypeApplicationDescription" (LID = 791)
IsNULL = TRUE
IsEmpty = TRUE
FApplicationUri:
Класс = "TOPCUA_TypeString" (LID = 793)
IsNULL = FALSE
IsEmpty = FALSE
Value = "urn:WIN-FM6KO5S7R9V:ORG4A:TESTSERVER4A"
FProductUri:
Класс = "TOPCUA_TypeString" (LID = 795)
IsNULL = FALSE
IsEmpty = FALSE
Value = "urn:WIN-FM6KO5S7R9V:ORG4A"
FApplicationName:
Класс = "TOPCUA_TypeLocalizedText" (LID = 797)
IsNULL = FALSE
IsEmpty = FALSE
FText:
Класс = "TOPCUA_TypeString" (LID = 801)
IsNULL = FALSE
IsEmpty = FALSE
Value = "TESTSERVER4A"
FApplicationType:
Класс = "TOPCUA_TypeApplicationType" (LID = 803)
IsNULL = TRUE
IsEmpty = TRUE
Value = 0 (00000000)
FGatewayServerUri:
Класс = "TOPCUA_TypeString" (LID = 805)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FDiscoveryProfileUri:
Класс = "TOPCUA_TypeString" (LID = 807)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FDiscoveryUrls:
Класс = "TOPCUA_TypeArrayOfString" (LID = 809)
IsNULL = FALSE
IsEmpty = FALSE
Число элементов = 1
Элемент[0]:
Класс = "TOPCUA_TypeString" (LID = 873)
IsNULL = FALSE
IsEmpty = FALSE
Value = "opc.tcp://WIN-FM6KO5S7R9V:4848"
FServerCertificate:
Класс = "TOPCUA_TypeByteString" (LID = 811)
IsNULL = FALSE
IsEmpty = FALSE
Длина = 998
HEX: 308203E2308202CAA00302010202101EA674EA416FE84C8CA6981343FD71D8300D06092A864886F70D01010505003027310E300C060355040A13054F52473441311530130603550403130C544553545345525645523441301E170D3231303831383139343430325A170D3236303732333139343430325A3027310E300C060355040A13054F52473441311530130603550403130C54455354534552564552344130820122300D06092A864886F70D01010105000382010F003082010A0282010100CBDF65C20FAB56736AF23EE8171AF8407E60F96AD2D74702D8ACBDF0DEF39EA954E780C362BEF11109A29CEFB96A894B913FF7F8154ECA21A69C11302D0512FF80FC80E138224E0CB4A0E71A56BA6E0A26B74016CAFEC2E4C51E5C6DA0CCC04DB389155EF37A9B17638FDE0C428DA2CD2FD344B9146886C308211C0B2EDDE3736A3C8864F1F4547C83834359EA785927A600EBA3D0846232AD39A0E388A2F62F367125BCF916780AA11345C876F88BEB90007B33096EDE54BE4F6A551F398BC50A967D99E7076E8D3DC3AB1B00A4FEF530DDDACCBC3CA9735A98CACA07BCA018A2507009FE8F0AB833892DADF4C9EDE502A98685AA60743650AE1328056DF68F0203010001A382010830820104301D0603551D0E04160414E87884F2EB8ACDA840A53D3F0F1F31DD7E5EB860305F0603551D23045830568014B2683C136F551E5DB40E3D11E6D79E9278968A24A12BA4293027310E300C060355040A13054F52473441311530130603550403130C54455354534552564552344182110095A314C78B460141832BB519E1734EB3300C0603551D130101FF04023000300E0603551D0F0101FF0404030202F430200603551D250101FF0416301406082B0601050507030106082B0601050507030230420603551D11043B3039862675726E3A57494E2D464D364B4F3553375239563A4F524734413A544553545345525645523441820F57494E2D464D364B4F355337523956300D06092A864886F70D010105050003820101006D0B76F65060A245906F203FFC64130B2E5375DC8330A5E5045ADFCF067ADDBA306082143A87EAAB0D52C005B985E6728FB493EFDAD7C3AD8D1A1D73AB4AC114DA660A9B369C5114A2324C1E230E4A16C076C0E2723DE49DE7E952B09A6293F4BB234106248A1454AEE9A7F2EA89001112A845029DC4CA8A2215355D80147E9DC9202CFB3A332E3FD34B08C76BBDA2327528E89762FBADC0BF6E5A790F81EA949D82DB148A88716343A87AB9335B61CB3B4F8C3F5DB228E9C73C7FB4B5D9759902BEA452117B29308A6A03CD38DCB1F73F98A65CBAEC30CB3E0F0CB0D3C6633BB1F99E41C824E6A636B8B0FBDA52DC7DB19C5C89FAE1623A33C28A8CD114520B
FSecurityMode:
Класс = "TOPCUA_TypeMessageSecurityMode" (LID = 813)
IsNULL = FALSE
IsEmpty = FALSE
Value = 3 (00000003)
FSecurityPolicyUri:
Класс = "TOPCUA_TypeString" (LID = 815)
IsNULL = FALSE
IsEmpty = FALSE
Value = "http://opcfoundation.org/UA/SecurityPol ... ic128Rsa15"
FUserIdentityTokens:
Класс = "TOPCUA_TypeArrayOfUserTokenPolicy" (LID = 817)
IsNULL = FALSE
IsEmpty = FALSE
Число элементов = 1
Элемент[0]:
Класс = "TOPCUA_TypeUserTokenPolicy" (LID = 875)
IsNULL = TRUE
IsEmpty = TRUE
FPolicyId:
Класс = "TOPCUA_TypeString" (LID = 877)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FTokenType:
Класс = "TOPCUA_TypeUserTokenType" (LID = 879)
IsNULL = FALSE
IsEmpty = FALSE
Value = 1 (00000001)
FIssuedTokenType:
Класс = "TOPCUA_TypeString" (LID = 881)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FIssuerEndpointUrl:
Класс = "TOPCUA_TypeString" (LID = 883)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FSecurityPolicyUri:
Класс = "TOPCUA_TypeString" (LID = 885)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FTransportProfileUri:
Класс = "TOPCUA_TypeString" (LID = 819)
IsNULL = FALSE
IsEmpty = FALSE
Value = "http://opcfoundation.org/UA-Profile/Tra ... c-uabinary"
FSecurityLevel:
Класс = "TOPCUA_TypeByte" (LID = 821)
IsNULL = FALSE
IsEmpty = FALSE
Value = 2 (02)
Элемент[2]:
Класс = "TOPCUA_TypeEndpointDescription" (LID = 823)
IsNULL = TRUE
IsEmpty = TRUE
FEndpointUrl:
Класс = "TOPCUA_TypeString" (LID = 825)
IsNULL = FALSE
IsEmpty = FALSE
Value = "opc.tcp://127.0.0.1:4848"
FServer:
Класс = "TOPCUA_TypeApplicationDescription" (LID = 827)
IsNULL = TRUE
IsEmpty = TRUE
FApplicationUri:
Класс = "TOPCUA_TypeString" (LID = 829)
IsNULL = FALSE
IsEmpty = FALSE
Value = "urn:WIN-FM6KO5S7R9V:ORG4A:TESTSERVER4A"
FProductUri:
Класс = "TOPCUA_TypeString" (LID = 831)
IsNULL = FALSE
IsEmpty = FALSE
Value = "urn:WIN-FM6KO5S7R9V:ORG4A"
FApplicationName:
Класс = "TOPCUA_TypeLocalizedText" (LID = 833)
IsNULL = FALSE
IsEmpty = FALSE
FText:
Класс = "TOPCUA_TypeString" (LID = 837)
IsNULL = FALSE
IsEmpty = FALSE
Value = "TESTSERVER4A"
FApplicationType:
Класс = "TOPCUA_TypeApplicationType" (LID = 839)
IsNULL = TRUE
IsEmpty = TRUE
Value = 0 (00000000)
FGatewayServerUri:
Класс = "TOPCUA_TypeString" (LID = 841)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FDiscoveryProfileUri:
Класс = "TOPCUA_TypeString" (LID = 843)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FDiscoveryUrls:
Класс = "TOPCUA_TypeArrayOfString" (LID = 845)
IsNULL = FALSE
IsEmpty = FALSE
Число элементов = 1
Элемент[0]:
Класс = "TOPCUA_TypeString" (LID = 887)
IsNULL = FALSE
IsEmpty = FALSE
Value = "opc.tcp://WIN-FM6KO5S7R9V:4848"
FServerCertificate:
Класс = "TOPCUA_TypeByteString" (LID = 847)
IsNULL = FALSE
IsEmpty = FALSE
Длина = 998
HEX: 308203E2308202CAA00302010202101EA674EA416FE84C8CA6981343FD71D8300D06092A864886F70D01010505003027310E300C060355040A13054F52473441311530130603550403130C544553545345525645523441301E170D3231303831383139343430325A170D3236303732333139343430325A3027310E300C060355040A13054F52473441311530130603550403130C54455354534552564552344130820122300D06092A864886F70D01010105000382010F003082010A0282010100CBDF65C20FAB56736AF23EE8171AF8407E60F96AD2D74702D8ACBDF0DEF39EA954E780C362BEF11109A29CEFB96A894B913FF7F8154ECA21A69C11302D0512FF80FC80E138224E0CB4A0E71A56BA6E0A26B74016CAFEC2E4C51E5C6DA0CCC04DB389155EF37A9B17638FDE0C428DA2CD2FD344B9146886C308211C0B2EDDE3736A3C8864F1F4547C83834359EA785927A600EBA3D0846232AD39A0E388A2F62F367125BCF916780AA11345C876F88BEB90007B33096EDE54BE4F6A551F398BC50A967D99E7076E8D3DC3AB1B00A4FEF530DDDACCBC3CA9735A98CACA07BCA018A2507009FE8F0AB833892DADF4C9EDE502A98685AA60743650AE1328056DF68F0203010001A382010830820104301D0603551D0E04160414E87884F2EB8ACDA840A53D3F0F1F31DD7E5EB860305F0603551D23045830568014B2683C136F551E5DB40E3D11E6D79E9278968A24A12BA4293027310E300C060355040A13054F52473441311530130603550403130C54455354534552564552344182110095A314C78B460141832BB519E1734EB3300C0603551D130101FF04023000300E0603551D0F0101FF0404030202F430200603551D250101FF0416301406082B0601050507030106082B0601050507030230420603551D11043B3039862675726E3A57494E2D464D364B4F3553375239563A4F524734413A544553545345525645523441820F57494E2D464D364B4F355337523956300D06092A864886F70D010105050003820101006D0B76F65060A245906F203FFC64130B2E5375DC8330A5E5045ADFCF067ADDBA306082143A87EAAB0D52C005B985E6728FB493EFDAD7C3AD8D1A1D73AB4AC114DA660A9B369C5114A2324C1E230E4A16C076C0E2723DE49DE7E952B09A6293F4BB234106248A1454AEE9A7F2EA89001112A845029DC4CA8A2215355D80147E9DC9202CFB3A332E3FD34B08C76BBDA2327528E89762FBADC0BF6E5A790F81EA949D82DB148A88716343A87AB9335B61CB3B4F8C3F5DB228E9C73C7FB4B5D9759902BEA452117B29308A6A03CD38DCB1F73F98A65CBAEC30CB3E0F0CB0D3C6633BB1F99E41C824E6A636B8B0FBDA52DC7DB19C5C89FAE1623A33C28A8CD114520B
FSecurityMode:
Класс = "TOPCUA_TypeMessageSecurityMode" (LID = 849)
IsNULL = FALSE
IsEmpty = FALSE
Value = 3 (00000003)
FSecurityPolicyUri:
Класс = "TOPCUA_TypeString" (LID = 851)
IsNULL = FALSE
IsEmpty = FALSE
Value = "http://opcfoundation.org/UA/SecurityPolicy#Basic256"
FUserIdentityTokens:
Класс = "TOPCUA_TypeArrayOfUserTokenPolicy" (LID = 853)
IsNULL = FALSE
IsEmpty = FALSE
Число элементов = 1
Элемент[0]:
Класс = "TOPCUA_TypeUserTokenPolicy" (LID = 889)
IsNULL = TRUE
IsEmpty = TRUE
FPolicyId:
Класс = "TOPCUA_TypeString" (LID = 891)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FTokenType:
Класс = "TOPCUA_TypeUserTokenType" (LID = 893)
IsNULL = TRUE
IsEmpty = TRUE
Value = 0 (00000000)
FIssuedTokenType:
Класс = "TOPCUA_TypeString" (LID = 895)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FIssuerEndpointUrl:
Класс = "TOPCUA_TypeString" (LID = 897)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FSecurityPolicyUri:
Класс = "TOPCUA_TypeString" (LID = 899)
IsNULL = TRUE
IsEmpty = TRUE
Value = ""
FTransportProfileUri:
Класс = "TOPCUA_TypeString" (LID = 855)
IsNULL = FALSE
IsEmpty = FALSE
Value = "http://opcfoundation.org/UA-Profile/Tra ... c-uabinary"
FSecurityLevel:
Класс = "TOPCUA_TypeByte" (LID = 857)
IsNULL = FALSE
IsEmpty = FALSE
Value = 200 (C8)
fMessageError = NIL
FResponce:
Класс = "TOPCUA_TypeResponseHeader" (LID = 721)
IsNULL = TRUE
IsEmpty = TRUE
FAuthenticationToken:
Класс = "TOPCUA_TypeNodeID" (LID = 739)
IsNULL = FALSE
IsEmpty = FALSE
IsType = nidFOUR_BYTE
Encoding = 01
fNameSpace = 00 (BYTE)
IdentifierAsUINT32:
Класс = "TOPCUA_TypeUINT32" (LID = 743)
IsNULL = FALSE
IsEmpty = FALSE
Value = 431 (000001AF)
FTimestamp:
Класс = "TOPCUA_TypeDateTime" (LID = 731)
IsNULL = FALSE
IsEmpty = FALSE
Value = 132737930000000000 (01D79471ADDEE400)
DateTime = 2021.08.18 23:43:20
FsequenceNumber:
Класс = "TOPCUA_TypeCounter" (LID = 737)
IsNULL = TRUE
IsEmpty = TRUE
Value = 0 (00000000)
FServiceResult:
Класс = "TOPCUA_TypeStatusCode" (LID = 735)
IsNULL = TRUE
IsEmpty = TRUE
Value = 0 (00000000)
IsGood = TRUE
FInnerDiagnostics:
Класс = "TOPCUA_TypeDiagnosticInfo" (LID = 733)
IsNULL = TRUE
IsEmpty = TRUE
FStringTable:
Класс = "TOPCUA_TypeArrayOfString" (LID = 729)
IsNULL = TRUE
IsEmpty = TRUE
Число элементов = 0
fAdditional:
Класс = "TOPCUA_TypeExtensionObject" (LID = 723)
IsNULL = TRUE
IsEmpty = TRUE
NodeID:
Класс = "TOPCUA_TypeNodeID" (LID = 725)
IsNULL = FALSE
IsEmpty = FALSE
IsType = nidTWO_BYTE
Encoding = 00
IdentifierAsUINT32:
Класс = "TOPCUA_TypeUINT32" (LID = 745)
IsNULL = TRUE
IsEmpty = TRUE
Value = 0 (00000000)
BodyType = 0 (btNoBody)

Автор темы
mihalychSD
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 18 авг 2021, 13:51
Имя: МихалычСемьдесятДва

OPCUA узкоспециализированный микросервер

Сообщение mihalychSD »

проблема решена.
есть ошибки в описаниях протокола + нужно четко следить за номерами последовательности пакетов, номером сеанса и временем в ответах. без этого стандартные (четко следующие протоколу обмена) клиенты спотыкаются, а сторонние клиенты могут на это не обращать внимания.
сертификаты для простых микросерверов генерю вручную (производительности не хватает), а для pc-шных - на лету.
ошибка в пред.сообщении: сертификаты готовлю утилитой Opc.Ua.ConfigurationTool.exe
всем спасибо. тему можно закрыть.
Ответить

Вернуться в «Интерфейсы, протоколы, связь»