Looks like the xml definition of address space has some error. This is a good place to fix them
(self)
| 113 | self.aspace.make_aspace_shelf(shelffile) |
| 114 | |
| 115 | def _address_space_fixes(self): |
| 116 | """ |
| 117 | Looks like the xml definition of address space has some error. This is a good place to fix them |
| 118 | """ |
| 119 | |
| 120 | it = ua.AddReferencesItem() |
| 121 | it.SourceNodeId = ua.NodeId(ua.ObjectIds.BaseObjectType) |
| 122 | it.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) |
| 123 | it.IsForward = False |
| 124 | it.TargetNodeId = ua.NodeId(ua.ObjectIds.ObjectTypesFolder) |
| 125 | it.TargetNodeClass = ua.NodeClass.Object |
| 126 | |
| 127 | it2 = ua.AddReferencesItem() |
| 128 | it2.SourceNodeId = ua.NodeId(ua.ObjectIds.BaseDataType) |
| 129 | it2.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) |
| 130 | it2.IsForward = False |
| 131 | it2.TargetNodeId = ua.NodeId(ua.ObjectIds.DataTypesFolder) |
| 132 | it2.TargetNodeClass = ua.NodeClass.Object |
| 133 | |
| 134 | results = self.isession.add_references([it, it2]) |
| 135 | |
| 136 | params = ua.WriteParameters() |
| 137 | for nodeid in (ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerRead, |
| 138 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData, |
| 139 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents, |
| 140 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite, |
| 141 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData, |
| 142 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents, |
| 143 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall, |
| 144 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse, |
| 145 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes, |
| 146 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds, |
| 147 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement, |
| 148 | ua.ObjectIds.Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall): |
| 149 | attr = ua.WriteValue() |
| 150 | attr.NodeId = ua.NodeId(nodeid) |
| 151 | attr.AttributeId = ua.AttributeIds.Value |
| 152 | attr.Value = ua.DataValue(ua.Variant(10000, ua.VariantType.UInt32), ua.StatusCode(ua.StatusCodes.Good)) |
| 153 | attr.Value.ServerTimestamp = datetime.utcnow() |
| 154 | params.NodesToWrite.append(attr) |
| 155 | result = self.isession.write(params) |
| 156 | result[0].check() |
| 157 | |
| 158 | |
| 159 | def load_address_space(self, path): |
no test coverage detected