Industrial IoT / SCADA · SDK / protocol

open62541

open62541 Project

Implement OPC UA client and server integrations with a C library.

Official documentationDownload development spec

References cover the 1.5 documentation line and explicitly linked 1.5.0/1.5.2 pages. Pin one release and its build flags for implementation; example-server certification does not automatically transfer to an application.

OPEN62541 / DEVELOPER FIELD GUIDE

Choose an interface. Define a verifiable result.

Company or project context, ten technical entry points and a practical analysis of every reference.

2026-10-08 · Integration not tested

Company / project overview

Original summary of official company or project statements; use the source for the full original page.

open62541 · About
Projectopen62541 is an open-source C implementation of OPC UA for client/server industrial connectivity with configurable platform plugins.
Maintenance and fitThe project identifies o6 Automation as its current maintainer. It suits teams building their own OPC UA applications and managing native code, information models and security configuration.
Complete official About page ↗
About reference — TA analysis
AudienceBuyers, partners and product owners shortlisting an AI provider.
Our assessmentUse positioning and company history for initial fit. Obtain project-specific deployment, support and commercial terms separately.

Official sources reviewed; no live API, inference or benchmark was run. Expected results are proposed internal contracts.

Top 10 technical entry points

Ten documented technical entry points selected by developer task; not ten separate SDKs or an official ranking.

Choose by the work you need to complete
InterfacePurpose and audience
01 · CMake build and feature configurationAPI / SDK / developer guideBuild shared/static libraries and select SDK features.Embedded C developers
02 · Server lifecycle C APIAPI / SDK / developer guideCreate, iterate and shut down an OPC UA server.Gateway implementers
03 · Typed server variablesAPI / SDK / developer guideAdd variables and update their typed values.Equipment data-model engineers
04 · Information model guideAPI / SDK / developer guideStructure nodes, references, variable types and object types.Industrial integration architects
05 · AccessControl pluginAPI / SDK / developer guideIntegrate session authentication and authorization callbacks.Server security integrators
06 · Logging plugin APIAPI / SDK / developer guideConnect SDK log output to application logging.Operations and SDK maintainers
07 · ECC security configurationAPI / SDK / developer guideReview elliptic-curve security backend requirements.Secure connectivity engineers
08 · Client services and subscriptionsAPI / SDK / developer guideAccess remote services and receive monitored-item notifications.Telemetry client developers
09 · PubSub publishing tutorialAPI / SDK / developer guideConfigure published fields and a PubSub publisher.Industrial messaging developers
10 · PubSub subscriber tutorialAPI / SDK / developer guideReceive published fields into target variables.Edge data consumers

Reference analysis

Capabilities summarize official documentation. Constraints and proposed tests are our engineering assessment.

01

API / SDK / developer guide

CMake build and feature configuration

CMake build and feature configuration · TA
Target audienceEmbedded C developers
Documented capabilityBuild shared/static libraries and select SDK features.
Input → outputSource and CMake options → library/header artifacts.
Execution environmentC compiler and CMake on the target toolchain.
Our decision constraintSecurity and optional services depend on selected build options.
Our suggested validationRecord compiler, release and enabled encryption backend.
Official reference · CMake build and feature configuration ↗
02

API / SDK / developer guide

Server lifecycle C API

Server lifecycle C API · TA
Target audienceGateway implementers
Documented capabilityCreate, iterate and shut down an OPC UA server.
Input → outputServer configuration → lifecycle status and network service.
Execution environmentApplication-owned C process.
Our decision constraintDo not change configuration while the server runs.
Our suggested validationCheck startup return status and release resources on shutdown.
Official reference · Server lifecycle C API ↗
03

API / SDK / developer guide

Typed server variables

Typed server variables · TA
Target audienceEquipment data-model engineers
Documented capabilityAdd variables and update their typed values.
Input → outputNodeId, attributes and value → variable node/status.
Execution environmentC server address space.
Our decision constraintWritable access must be explicitly configured; types must match.
Our suggested validationExercise type mismatch and read-only failures in later integration.
Official reference · Typed server variables ↗
04

API / SDK / developer guide

Information model guide

Information model guide · TA
Target audienceIndustrial integration architects
Documented capabilityStructure nodes, references, variable types and object types.
Input → outputAsset semantics → browsable typed graph.
Execution environmentClient/server information model design.
Our decision constraintA numeric reading alone omits NodeId, type and semantic context.
Our suggested validationReview units, namespace identity and reference relationships.
Official reference · Information model guide ↗
05

API / SDK / developer guide

AccessControl plugin

AccessControl plugin · TA
Target audienceServer security integrators
Documented capabilityIntegrate session authentication and authorization callbacks.
Input → outputSession/user context and requested operation → access decision.
Execution environmentServer plugin configuration.
Our decision constraintApplication policy must match actual users and node permissions.
Our suggested validationVerify denied users cannot read or modify protected nodes.
Official reference · AccessControl plugin ↗
06

API / SDK / developer guide

Logging plugin API

Logging plugin API · TA
Target audienceOperations and SDK maintainers
Documented capabilityConnect SDK log output to application logging.
Input → outputSDK log category/level/message → log sink.
Execution environmentC logging plugin.
Our decision constraintCompile-time log selection constrains what runtime filtering can show.
Our suggested validationUse correlation context without recording credentials.
Official reference · Logging plugin API ↗
07

API / SDK / developer guide

ECC security configuration

ECC security configuration · TA
Target audienceSecure connectivity engineers
Documented capabilityReview elliptic-curve security backend requirements.
Input → outputBackend, policy and certificate configuration → secure-channel eligibility.
Execution environmentEncryption-enabled build.
Our decision constraintSupported curves vary with crypto backend and version.
Our suggested validationVerify peer trust and policy compatibility before connecting equipment.
Official reference · ECC security configuration ↗
08

API / SDK / developer guide

Client services and subscriptions

Client services and subscriptions · TA
Target audienceTelemetry client developers
Documented capabilityAccess remote services and receive monitored-item notifications.
Input → outputEndpoint, service request or monitored item → result/callback.
Execution environmentC client; service processing includes client iteration.
Our decision constraintSubscriptions deliver notifications; monitored items generate them.
Our suggested validationTrack service status and subscription liveness separately.
Official reference · Client services and subscriptions ↗
09

API / SDK / developer guide

PubSub publishing tutorial

PubSub publishing tutorial · TA
Target audienceIndustrial messaging developers
Documented capabilityConfigure published fields and a PubSub publisher.
Input → outputConfigured data fields → published data-set messages.
Execution environmentPubSub-enabled C build.
Our decision constraintTutorial is a development starting point; transport and release must match.
Our suggested validationCheck field order, data types and subscriber interpretation.
Official reference · PubSub publishing tutorial ↗
10

API / SDK / developer guide

PubSub subscriber tutorial

PubSub subscriber tutorial · TA
Target audienceEdge data consumers
Documented capabilityReceive published fields into target variables.
Input → outputPubSub messages and reader configuration → target variable updates.
Execution environmentC subscriber example with documented transport configuration.
Our decision constraintReceiving a packet does not prove every target field has valid semantics.
Our suggested validationTest publisher identity, field mapping and missing-message handling.
Official reference · PubSub subscriber tutorial ↗

Official source repository

Official source repository · Supporting reference analysis
TADevelopers evaluating source and maintenance
Our validation adviceReview release tags, examples and build options; certification of an example server does not certify your application.
Official reference · Official source repository ↗

04 / INPUT · EXPECTED OUTPUT · ACCEPTANCE

Expected results before implementation

Illustrative OPC UA adapter contract only; no server, client, device write or network connection was run.

Illustrative contract · no API call or model execution · not measured provider output

Typed value read

Expected behavior — illustrative, not executed
InputExample NodeId mapped to a Double variable.
Expected resultInternal result stores value=24.0, type=Double and status=Good.
AcceptancePreserve NodeId and actual timestamps when available; do not invent freshness.

Valid empty browse

Expected behavior — illustrative, not executed
InputBrowse an accessible node with no matching references.
Expected resultInternal status=empty and references=[].
AcceptanceOnly classify empty when the service and operation status succeed.

Typed write rejected

Expected behavior — illustrative, not executed
InputString proposed for an Int32 variable.
Expected resultInternal status=error with provider status retained.
AcceptanceDo not silently coerce the value or claim equipment changed.

Untrusted endpoint

Expected behavior — illustrative, not executed
InputPeer certificate fails the configured trust policy.
Expected resultInternal connection failure; data=null.
AcceptanceKeep certificate failure distinct from an empty address space.

Map the expected result to your application

Map the actual SDK or service response into this proposed internal contract after integration. All IDs and values below are invented examples; no credentials or live requests are included.

Expected output JSON — illustrative, not measured · Open62541-expected-results.json
{
  "schema_version": "1.0.0",
  "example": true,
  "provider": "open62541",
  "status": "ok",
  "input_id": "sample-001",
  "data": {
    "node_id": "ns=2;s=Example.Temperature",
    "value": 24.0,
    "type": "Double",
    "status_code": "Good",
    "source_timestamp": null
  },
  "error": null,
  "verification": "illustrative-only;not-provider-response"
}
Download specification, example and acceptance plan
Engineering handoff — our proposed contract and gates
Result interpretationSuccessful transport or execution does not establish model accuracy. Preserve valid empty results separately from operational failure.
ReproducibilityRecord model, runtime, configuration and input identifiers; agree quality and latency criteria before representative tests. No measured performance is claimed.
Operation boundaryIllustrative OPC UA adapter contract only; no server, client, device write or network connection was run.

Development assessment

OPC UA tag reader

Development concept · integration not tested

Provider capabilities above are based on official documentation or repositories. The proposed product, inputs, deliverable and acceptance criteria below are our development assessment.

Integration pilot

Validate runtime, schemas or hardware together before estimating a deployable product.

Proposed inputs
A test device or simulator, a tag map and documented units.
Proposed deliverable
Timestamped device values with freshness, unit and connection state.
Acceptance criterion
Verify scaling and timestamps against the source; a disconnected device must not appear healthy.
Dependencies
A gateway or service account, an equipment schema and access to a test environment.

Integration condition

References cover the 1.5 documentation line and explicitly linked 1.5.0/1.5.2 pages. Pin one release and its build flags for implementation; example-server certification does not automatically transfer to an application.

Development sequence

  1. Confirm access to open62541, license and the exact supported version.
  2. Prepare the sample above and implement one documented operation for “OPC UA tag reader”.
  3. Normalize the result with source, time and explicit error state; keep the provider response for review.
  4. Run the acceptance criterion before estimating rollout effort or committing a customer deliverable.

How to validate demand

Record product views, documentation clicks, specification downloads and contextual hub clicks. These are event counts, not unique people or completed integrations.

This feasibility assessment uses implementation conditions. No traffic-based rank or delivery-time promise is assigned.

Related products