OPCFoundation / UA-CloudLibrary

OPC UA Information Model database with a REST and GraphQL interface, as well as user management. The global instance of this (hosted by the OPC Foundation) can be found at https://uacloudlibrary.opcfoundation.org.
Other
37 stars 18 forks source link

Node Set Validation errors #149

Closed MarkusHorstmann closed 1 year ago

MarkusHorstmann commented 1 year ago

Several nodesets in the cloud library validation show errors.

Reference to unknown node id:

        {
          "modelUri": "http://opcfoundation.org/UA/CSPPlusForMachine/",
          "validationStatusInfo": "Opc.Ua.PropertyState [Variable]StaticNodeIdTypes: did not find data type s=IdType (Namespace http://opcfoundation.org/UA/).",
        }

This should likely have an alias:

    <Alias Alias="IDType">i=256</Alias>

Invalid Value (nested uax:String) and missing required model declarations:

        {
          "modelUri": "http://www.Equinor.com/EntTypes/",
          "validationStatusInfo": "The ReadContentAsString method is not supported on node type Element. If you want to read typed content of an element, use the ReadElementContentAs method. Line 2, position 10.",
        }
  <UAVariable NodeId="ns=1;i=6144" BrowseName="1:Document Number" DataType="i=12" ValueRank="1" ArrayDimensions="5" AccessLevel="3">
...
    <Value>
      <uax:String xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd">
        <uax:String xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd"></uax:String>
      </uax:String>
    </Value>
  </UAVariable>
  <UAVariable NodeId="ns=1;i=6145" BrowseName="1:Document Title" DataType="i=12" ValueRank="1" ArrayDimensions="5" AccessLevel="3">
...
    <Value>
      <uax:String xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd">
        <uax:String xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd"></uax:String>
      </uax:String>
    </Value>
  </UAVariable>

Required versions of a dependency are not in the cloud library:

http://opcfoundation.org/UA/PlasticsRubber/Extrusion/GeneralTypes/

        {
          "modelUri": "http://opcfoundation.org/UA/PlasticsRubber/Extrusion/Calender/",
          "validationStatusInfo": "The following NodeSets are required: http://opcfoundation.org/UA/PlasticsRubber/Extrusion/GeneralTypes/ (Version: 1.01, PubDate: 04/01/2021)"
        },
        {
          "modelUri": "http://opcfoundation.org/UA/PlasticsRubber/HotRunner/",
          "validationStatusInfo": "The following NodeSets are required: http://opcfoundation.org/UA/PlasticsRubber/GeneralTypes/ (Version: 1.03, PubDate: 05/10/2021)"
        },
        {
          "modelUri": "http://opcfoundation.org/UA/PlasticsRubber/LDS/",
          "validationStatusInfo": "The following NodeSets are required: http://opcfoundation.org/UA/PlasticsRubber/GeneralTypes/ (Version: 1.03, PubDate: 05/10/2021)"
        }

The Cloudlibrary has http://opcfoundation.org/UA/PlasticsRubber/Extrusion/GeneralTypes/ (Version: 1.02, PubDate: 06/01/2020):

http://opcfoundation.org/UA/

        {
          "modelUri": "http://opcfoundation.org/UA/AMB/",
          "validationStatus": "ERROR",
          "validationStatusInfo": "The following NodeSets are required: http://opcfoundation.org/UA/ (Version: 1.05, PubDate: 10/26/2021)"
        }

The Cloudlibrary has http://opcfoundation.org/UA/ (Version: 1.04.7, PubDate: 07/15/2020)

Graph QL Query

query MyQuery {
  nodeSets(where: {validationStatus: {neq: INDEXED}}) {
    totalCount
    nodes {
      modelUri
      validationStatus
      validationStatusInfo
      identifier
      requiredModels {
        modelUri
        publicationDate
        version
        availableModel {
          modelUri
          publicationDate
          version
        }
      }
    }
  }
}
barnstee commented 1 year ago

Link to Equinor nodeset file: https://github.com/equinor/opc-ua-information-models/tree/master/equipment-scd

MarkusHorstmann commented 1 year ago

Link to Equinor nodeset file: https://github.com/equinor/opc-ua-information-models/tree/master/equipment-scd

Latest nodeset is uploaded, but missing a dependency:

{ "modelUri": "http://www.Equinor.com/EntTypes/", "publicationDate": "2023-03-29T12:11:40.000Z", "version": "3.509.0", "validationStatus": "ERROR", "validationStatusInfo": "The following NodeSets are required: http://www.OPCFoundation.org/UA/2013/01/ISA95 (Version: 1.301.1, PubDate: 09/13/2021)", "identifier": "3013765011", "requiredModels": [ { "modelUri": "http://opcfoundation.org/UA/", "publicationDate": "2022-11-01T00:00:00.000Z", "version": "1.05.02", "availableModel": { "modelUri": "http://opcfoundation.org/UA/", "publicationDate": "2022-11-01T00:00:00.000Z", "version": "1.05.02" } }, { "modelUri": "http://www.OPCFoundation.org/UA/2013/01/ISA95", "publicationDate": "2021-09-13T10:36:21.000Z", "version": "1.301.1", "availableModel": null } ] }

Opened new issue #182 to track this. Closing this issue.