9/1/2022 6:31 AM | |
Joined: 11/12/2021 Last visit: 12/12/2022 Posts: 1 Rating: (0) |
Hello, We are preparing our OPC-UA Server that is compliant with the OPC-UA standards. It can handle .xml models created via our own wizard or from an external software like SiOME. We noticed an issue with handling arrays that are created directly by SiOME. Arrays that are 1 dimensional are working fine but the issues starts if we will create 2 or 3 dimensional arrays. The issues is that array created by our own wizard compliant with OPC-UA has an additional information that created object is a Matrix that contains a list of values (strings as an example): [Check Attachment1.png in the attached ImageAttachments.zip] Thanks to that this array is properly recognized by any of OPC-UA Client like Ua-Expert. You can see that elements are structured into separate indexes like [0][0], [0][1], [0][2] etc.: [Check Attachment2.png in the attached ImageAttachments.zip] With an .xml file created by SiOME array contains also an information that it is a array (ValueRank = “2”andArrayDimensions="5,10") but the information that this is a matrix is missing: [Check Attachment3.png in the attached ImageAttachments.zip] Because of that this .xml imported directly to our OPC-UA Server reports the following error during write operation:Write to node 'NS4|Numeric|6078' failed [ret = BadTypeMismatch]. This array looks also much worse on any of OPC-UA Client (like a 1 dimension array but with 50 of elements): [Check Attachment4.png in the attached ImageAttachments.zip] Because of that mismatch our UaServer cannot fully support read/write operations because the structure is a bit different. It should be visible as matrix (following OPC-UA standards). In order to make it functional we have an workaround but we are not satisfied with that:
Then read/write operations are supported but this is a manual operations and it flattens the array into the 1 dimensional. If we will put the same .xml file via TIA Portal into a S7-1500 PLCs OPC-UA Server then this array is handled properly but in modern systems not only PLC can share operations via OPC-UA Server. The question is:is it some kind of a bug or different handling of arrays or there is a hidden option in SiOME in order to create a matrix compliant with OPC-UA standard? Best regards, Marcin AttachmentImageAttachments.zip (450 Downloads) |
Last edited by: MFP388 at: 09/02/2022 07:31:58Last edited by: MFP388 at: 09/02/2022 08:56:00Last edited by: MFP388 at: 09/02/2022 08:56:37 |
|
Follow us on