Problem with struct in argument method

When we call a Method from the PLC to the OPC foundation library GitHub - OPCFoundation/UA-.NETStandard: OPC Unified Architecture .NET Standard , we get an error on the MethodGetHandle function block with error 8034 Bad_NodeIdUnknown, whereas when I test this with UAExpert, it works fine. Individual arguments work, but when we create a structure from an argument, I get the above error. we tested with the newest version of Automatin studio 6, CP1684,

UaExpert

Have you checked the actual node indentifier and the type for the object that is the parent of the method itself?

Trying to get this from your pictures this would be then possibly the ‘Package’ object. These can be checked easily with UA Expert. And are shown in the top right on your screenshot of UaExpert.

I have checked everything, and did not have receive a right solution, so for now i have used a string with JSON and i used the JSONer library to convert to struct. but that take a lot off preformce from the plc.

Hello,
I think that the “.” is problematic since the B&R System might recognize this as B&R PLC variable notation.
I tried creating a method on the B&R server using the shown notation from the screenshot and got the error UA_Bad_MethodNameInvalid - 0xB0000011
The error is described with

The method name contains invalid characters. Only the following characters are allowed: ‘a-z’, ‘A-Z’, ‘0-9’, and ‘_’, with ‘0-9’ not allowed as the first character.

Assuming this will also impact Methods from other servers.
After all this topic might be worth checked by local support and clarified in detail.

Since you are using the .Net Stack maybe there is a chance in remodel the datamodel on the server to avoid the “.” in the name.

BR Fabian

Hi @Ernst, what is the status or solution of your topic? Can you update us?

I checked various things, even without special characters, dots, etc. I gave up on this problem and couldn’t find a solution, so I solved it with a JSON string.

I now use the following for the JSON string, and it works fine, even with dots.