Docs · Spec · AutoID
AutoID — Automatic Identification
AutoID — RFID readers, barcode scanners, optical readers. Codec-heavy: 19 structured types for scan results, tag programming, antenna control.
OPC UA companion specification for automatic-identification devices — RFID readers, barcode scanners, 2D code readers, optical character readers. Defines the on-the-wire shape for tag data, scan results, antenna configuration.
What's in the package
| Artefact | Count |
|---|---|
| Enums | 6 |
| DTOs | 19 |
| Codecs | 19 |
| Registrars | 1 (AutoIDRegistrar) |
DTO-heavy — anything an AutoID device returns from a scan is a typed structure.
Loading
php
examples/autoid/load.php
use PhpOpcua\Client\ClientBuilder;
use PhpOpcua\Nodeset\AutoID\AutoIDRegistrar;
$client = ClientBuilder::create()
->loadGeneratedTypes(new AutoIDRegistrar()) // pulls DI
->connect('opc.tcp://rfid-gateway.local:4840');
Direct dependencies
- DI — AutoID devices extend
DeviceType.
Notable types
The 19 DTOs cluster around:
- Scan results —
ScanData,ScanResult,RfidScanResult,OcrScanResult,OpticalScanResult. Each carries a strongly- typed payload variant for the matching reader class. - Configuration —
ScanSettings,AntennaNameIdPair,RfidAccessRequest,RfidPasswordTypes. - Status —
AutoIDOperationStatusEnumeration,RfidTransponderStatusEnumeration.
For a scan event that returns a tag:
php
examples/autoid/read-scan.php
use PhpOpcua\Nodeset\AutoID\Types\ScanData;
$dv = $client->read('ns=N;s=Reader1.LastScanData');
$scan = $dv->getValue();
if ($scan instanceof ScanData) {
foreach ($scan->ScanData as $tag) {
// typed tag record
}
}
Notable enums
AutoIDOperationStatusEnumeration— per-operation resultRfidTransponderStatusEnumeration— tag-level statusOcrFontEnumeration,OcrTraceabilityCodeEnumeration— OCR variantsOpcUaDataTypeEnumeration— payload type discriminator
Last updated · 2026-05-25