Expand description
OMG DDS-OPCUA Gateway 1.0 — Type-System + AddressSpace Mapping.
Crate zerodds-opcua-gateway. Safety classification: STANDARD.
Spec formal/2020-01-01 (docs/standards/cache/omg/dds-opcua-1.0.pdf).
§Scope
Wir implementieren die Type-System-Mapping-Layer aus Spec §8.2 (OPC-UA → DDS) + §9.2 (DDS → OPC-UA) als pure-Rust no_std+alloc Library:
BuiltinTypeKindEnum mit allen 25 OPC-UA-Built-in-Type-IDs (Spec §8.2 Tab 8.1).- Primitive-Type-Mapping (Boolean, SByte/Byte, Int16/UInt16, Int32/UInt32, Int64/UInt64, Float, Double, String) — Spec Tab 8.1.
NodeIdmit allen 4 Identifier-Kinds (Numeric, String, Guid, Opaque) — Spec §8.2.2 Tab 8.2.ExpandedNodeIdmit Namespace-URI + Server-Index — Spec §8.2.2.NodeClassEnum (8 Werte) — Spec §8.3.1 Tab 8.3.StatusCode+Guid+ByteString+LocalizedText+QualifiedNameModelle — Spec Tab 8.2.BodyEncoding+ExtensionObject+Variant+DataValue— Spec Tab 8.2.- AddressSpace-Mapping: DDS Domain → OPC-UA ObjectNode + DDS Topic → OPC-UA ObjectNode + DDS Sample → OPC-UA Variable — Spec §9.3.
§Was nicht abgedeckt ist
- OPC-UA Binary Wire-Encoding (Spec OPCUA-06 Mappings) —
Caller-Layer (typisch externer OPC-UA-Stack wie
opcuaoderopen62541). - Subscription Service Set Behavior (Spec §8.4.3) — Runtime- Logic; das Mapping-Modell ist exposed, das eigentliche Polling/ Notification ist Caller.
- Historical Access (Spec §8.3.4 + §9.3.4) — verlangt Historical-Server-Backend.
Re-exports§
pub use address_space::DomainNode;pub use address_space::SampleVariable;pub use address_space::TopicNode;pub use address_space::mangle_topic_node_browse_name;pub use data_value::DataValue;pub use data_value::ExtensionObject;pub use data_value::Variant;pub use data_value::VariantValue;pub use node_id::ExpandedNodeId;pub use node_id::NodeId;pub use node_id::NodeIdentifier;pub use types::BuiltinTypeKind;pub use types::ByteString;pub use types::Guid;pub use types::LocalizedText;pub use types::NodeClass;pub use types::QualifiedName;pub use types::StatusCode;pub use types::map_primitive_to_dds;pub use xml::BridgeDef;pub use xml::ConnectionDirection;pub use xml::GatewayConfig;pub use xml::OpcuaXmlError;pub use xml::OpcuaXmlError as XmlError;pub use xml::UaConnection;pub use xml::parse_gateway_config;
Modules§
- address_
space - AddressSpace-Mapping DDS ↔ OPC UA — Spec §9.3.
- data_
value Variant+DataValue+ExtensionObject— Spec §8.2.2 Tab 8.2.- dds_
to_ ua - DDS → OPC UA Type Mapping — Spec §9.2.
- historical
- Historical Data Reading — Spec §9.3.4.4.
- node_id
NodeId+ExpandedNodeId— Spec §8.2.2 Tab 8.2.- service_
sets - OPC UA Service Sets Mapping — Spec §8.3.
- subscription_
mapping - OPC-UA Subscription Model Mapping — Spec §8.4.
- types
- OPC-UA Built-in Types + Primitive-Type-Mapping zu DDS — Spec §8.2.
- xml
- DDS-OPCUA Gateway XML Configuration Loader (Spec §10).