## 6.5.3.1 Object RuntimeParameters

This FunctionalGroup is inherited from the AutoIdDeviceType and described in 6.1. Predefined runtime parameters for for this FunctionalGroup are defined in Table 15 and described below.

Parameter CodeTypesRWData allows the user to determine the supported code types and to select the configured CodeTypes for the diagnostics value RWData (defined in ). This parameter is used to expose the list of supported CodeTypes. This list can contain the predefined values or vendor specific values. The Value of the Variable contains the currently selected types. The code type Strings are defined in 9.1.3.

Parameter TagTypes allows the user to determine the expected tags in a multi-type environment (e.g. ISO 14443 or ISO 15693). This parameter is used to expose the list of supported tag types. This list can contain the predefined values or vendor specific values. The Value of the Variable contains the currently selected types. The following Strings are defined by this specification.

• ISO 14443
• ISO 15693
• ISO 18000-2
• ISO 18000-3 Mode1
• ISO 18000-3 Mode2
• ISO 18000-3 Mode3
• ISO 18000-4
• ISO 18000-61
• ISO 18000-62
• ISO 18000-63
• ISO 18000-64
• EPC Class1 Gen2 V1
• EPC Class1 Gen2 V2 Parameter RfPower is used to adjust radio transmission power, per antenna.

Parameter EnableAntennas determines the antennas that shall be used by the RfidDevice for its operation. The value is a binary selection of the antennas. Each bit represents one antenna, max. 32 antennas can be addressed.

• Bit0 corresponds to antenna number 1, Bit1 corresponds to antenna number 2, …
• A Bit value of 1 means an activated antenna, a Bit value of 0 a deactivated antenna. E.g.: The value BIN 1101 = DEC 13 enables the antennas 1+3+4
• A total value of 0 of EnableAntennas does not have any effect. The general device configuration can just be limited, not extended by EnableAntennas. E.g. if a four-port reader has three antennas activated according to the general configuration, it is not possible to activate the antenna four via EnableAntennas.

## 6.5.3.2 Object Diagnostics

The Diagnostics FunctionalGroup and its component, the LastAccess FunctionalGroup, are described in clause 6.1.3.3.

Predefined parameters that are specific for the LastAccess FunctionalGroup in the RfidReaderDeviceType are defined in Table 15 and described in the following list:

• Parameter RWData specifies the user data which was written to / was read from the Rfid Transponder by the command. The DataType can be one of the DataTypes defined in the ScanData Union defined in 9.4.2. Due to the use case for limited OPC UA Clients, the DataType is normally String or ByteString.
• Parameter Antenna specifies the antenna with which the transponder was accessed by the command.
• Parameter CurrentPowerLevel specifies the power level with which the transponder was accessed by the command.
• Parameter PC specifies the Protocol Control Word of the transponder accessed by the command.
• Parameter Polarization specifies the Polarization with which the transponder was accessed by the command.
• Parameter Strength specifies the Rssi value with which the transponder was accessed by the command.

## 6.5.3.3 Method Scan

This method starts the scan process of the RFID reader device synchronous and returns the scan results. It overwrites the Scan method of the AutoIdDeviceType defined in 6.1.3.4.

Signature

Scan (
[in]	ScanSettings				Settings
[out]	RfidScanResult []			Results
[out]	AutoIdOperationStatusEnumeration	Status
);


Argument Description
Settings Configuration settings for the scan execution. The ScanSettings DataType is defined in 9.3.7.
Result Results of the scan execution. The RfidScanResult DataType is defined in 9.3.12.
Status Returns the status of the scan operation.
The AutoIdOperationStatusEnumeration DataType is defined in 9.2.1.

Method Result Codes

ResultCode Description
Bad_MethodInvalid The device does not support this function
Bad_InvalidState There is already a scan active or this command is not available or not allowed e.g. due to special configuration
Bad_InvalidArgument The scan setting contained an invalid value like infinite duration.
Other OPC UA status codes defined for the Call Service in OPC 10000-4.

## 6.5.3.4 Method KillTag

This method will process a kill command e.g. like specified in GS1 EPCglobal, ISO/IEC 18000-63 and ISO/IEC 18000-3. The related standard depends on the RFID technology which is in use. The kill command allows an interrogator to permanently disable a transponder.

See Annex B for technology specific mappings.

Signature

KillTag (
[in]	ScanData					Identifier
[in]	CodeTypeDataType				CodeType
[out]	AutoIdOperationStatusEnumeration	Status
);


Argument Description
Identifier AutoID Identifier   according to the device configuration as returned as part of a ScanResult in a scan event or scan method. The ScanData DataType is defined in 9.4.2.
If the ScanData is used as returned in the ScanResult, the structure may contain information that must be ignored by the AutoID Device. An example is the ScanDataEpc where only the parameter UId is relevant for this Method.
If the Identifier is provided from a different source than the ScanResult, a ScanData with a ByteString can be used to pass a UId where the CodeType is set to ‘UId’.
CodeType Defines the format of the ScanData in the Identifier as string. The String DataType CodeTypeDataType and the predefined format strings are defined in 9.1.3.
Status Returns the result of the kill operation.
The AutoIdOperationStatusEnumeration DataType is defined in 9.2.1.

Method Result Codes

ResultCode Description
Bad_MethodInvalid The device does not support this function
Bad_InvalidState This command is not available or not allowed e.g. due to special configuration

## 6.5.3.5 Method LockTag

This method is used to protect specific areas of the transponder memory against read and/or write access. If a user wants to access such an area, an access password is required.

See Annex B for technology specific mappings.

Signature

LockTag (
[in]	ScanData					Identifier
[in]	CodeTypeDataType				CodeType
[in]	RfidLockRegionEnumeration		Region
[in]	RfidLockOperationEnumeration		Lock
[in]	UInt32					Offset
[in]	UInt32					Length
[out]	AutoIdOperationStatusEnumeration	Status
);


Argument Description
Identifier AutoID Identifier   according to the device configuration as returned as part of a ScanResult in a scan event or scan method. The ScanData DataType is defined in 9.4.2.
If the ScanData is used as returned in the ScanResult, the structure may contain information that must be ignored by the AutoID Device. An example is the ScanDataEpc where only the parameter UId is relevant for this Method.
If the Identifier is provided from a different source than the ScanResult, a ScanData with a ByteString can be used to pass a UId where the CodeType is set to ‘UId’.
CodeType Defines the format of the ScanData in the Identifier as string. The String DataType CodeTypeDataType and the predefined format strings are defined in 9.1.3.
Region Bank of the memory area to be accessed
The RfidLockRegionEnumeration DataType is defined in 9.2.5.
Lock Specifies the lock action like write/read protection, permanently.
The RfidLockOperationEnumeration DataType is defined in 9.2.4.
Offset Start address of the memory area [byte counting]
Length Length of the memory area [byte counting]
Status Returns the result of the LOCK operation.
The AutoIdOperationStatusEnumeration DataType is defined in 9.2.1.

Method Result Codes

ResultCode Description
Bad_MethodInvalid The device does not support this function
Bad_InvalidState This command is not available or not allowed e.g. due to special configuration

This method changes the password for a specific transponder.

The Method should only be called via a SecureChannel with encryption enabled.

See Annex B for technology specific mappings.

Signature

SetTagPassword (
[in]	ScanData					Identifier
[in]	CodeTypeDataType				CodeType
[out]	AutoIdOperationStatusEnumeration	Status
);


Argument Description
Identifier AutoID Identifier   according to the device configuration as returned as part of a ScanResult in a scan event or scan method. The ScanData DataType is defined in 9.4.2.
If the ScanData is used as returned in the ScanResult, the structure may contain information that must be ignored by the AutoID Device. An example is the ScanDataEpc where only the parameter UId is relevant for this Method.
If the Identifier is provided from a different source than the ScanResult, a ScanData with a ByteString can be used to pass a UId where the CodeType is set to ‘UId’.
CodeType Defines the format of the ScanData in the Identifier as string. The String DataType CodeTypeDataType and the predefined format strings are defined in 9.1.3.
The RfidPasswordTypeEnumeration DataType is defined in 9.2.6.
Status Returns the result of the TagPassword method.
The AutoIdOperationStatusEnumeration DataType is defined in 9.2.1.

Method Result Codes

ResultCode Description
Bad_MethodInvalid The device does not support this function
Bad_InvalidState This command is not available or not allowed e.g. due to special configuration

This method reads a specified area from a tag memory.

One Method invocation reads one AutoID Identifier. The Call Service used to invoke the Method can take a list of Methods. Therefore a list of AutoID Identifiers can be read by passing in a list of Methods to the Call Service.

See Annex B for technology specific mappings.

Signature

ReadTag (
[in]	ScanData					Identifier
[in]	CodeTypeDataType				CodeType
[in]	UInt16					Region
[in]	UInt32					Offset
[in]	UInt32					Length
[out]	ByteString					ResultData
[out]	AutoIdOperationStatusEnumeration	Status
);


Argument Description
Identifier AutoID Identifier   according to the device configuration as returned as part of a ScanResult in a scan event or scan method. The ScanData DataType is defined in 9.4.2.
If the ScanData is used as returned in the ScanResult, the structure may contain information that must be ignored by the AutoID Device. An example is the ScanDataEpc where only the parameter UId is relevant for this Method.
If the Identifier is provided from a different source than the ScanResult, a ScanData with a ByteString can be used to pass a UId where the CodeType is set to ‘UId’.
CodeType Defines the format of the ScanData in the Identifier as string. The String DataType CodeTypeDataType and the predefined format strings are defined in 9.1.3.
Region Region of the memory area to be accessed. If there is no bank available this value is set to 0. This is the bank for UHF (ISO/IEC 18000-63) or the bank (ISO/IEC 18000-3 Mode 3) or data bank (ISO/IEC 18000-3 Mode 1) for HF or memory area (ISO/IEC 18000-2) for LF.
See Annex B for technology specific mappings.
Offset Start address of the memory area [byte counting]
Length Length of the memory area [byte counting]
ResultData Returns the requested tag data
Status Returns the status of the read operation.
The AutoIdOperationStatusEnumeration DataType is defined in 9.2.1.

Method Result Codes

ResultCode Description
Bad_MethodInvalid The device does not support this function
Bad_InvalidState This command is not available or not allowed e.g. due to special configuration

## 6.5.3.8 Method WriteTag

This method writes data to a RFID tag.

See Annex B for technology specific mappings.

Signature

WriteTag (
[in]	ScanData					Identifier
[in]	CodeTypeDataType				CodeType
[in]	UInt16					Region
[in]	UInt32					Offset
[in]	ByteString					Data
[out]	AutoIdOperationStatusEnumeration	Status
);


Argument Description
Identifier AutoID Identifier   according to the device configuration as returned as part of a ScanResult in a scan event or scan method. The ScanData DataType is defined in 9.4.2.
If the ScanData is used as returned in the ScanResult, the structure may contain information that must be ignored by the AutoID Device. An example is the ScanDataEpc where only the parameter UId is relevant for this Method.
If the Identifier is provided from a different source than the ScanResult, a ScanData with a ByteString can be used to pass a UId where the CodeType is set to ‘UId’.
CodeType Defines the format of the ScanData in the Identifier as string. The String DataType CodeTypeDataType and the predefined format strings are defined in 9.1.3.
Region Region of the memory area to be accessed. If there is no bank available this value is set to 0. This is the bank for UHF (ISO/IEC 18000-63) or the bank (ISO/IEC 18000-3 Mode 3) or data bank (ISO/IEC 18000-3 Mode 1) for HF.
Offset Start address of the memory area [byte counting]
Data Data to be written
Status Returns the status of the write operation.
The AutoIdOperationStatusEnumeration DataType is defined in 9.2.1.

Method Result Codes

ResultCode Description
Bad_MethodInvalid The device does not support this function
Bad_InvalidState This command is not available or not allowed e.g. due to special configuration

## 6.5.3.9 Method WriteTagID

This method initializes an EPC-ID inclusive the PC of an ISO 18000-63 tag.

See Annex B for technology specific mappings.

Signature

WriteTagID (
[in]	ScanData					Identifier
[in]	CodeTypeDataType				CodeType
[in]	ByteString					NewUId
[in]	Byte						AFI
[in]	Boolean					Toggle
[out]	AutoIdOperationStatusEnumeration	Status
);


Argument Description
Identifier AutoID Identifier   according to the device configuration as returned as part of a ScanResult in a scan event or scan method. The ScanData DataType is defined in 9.4.2.
If the ScanData is used as returned in the ScanResult, the structure may contain information that must be ignored by the AutoID Device. An example is the ScanDataEpc where only the parameter UId is relevant for this Method.
If the Identifier is provided from a different source than the ScanResult, a ScanData with a ByteString can be used to pass a UId where the CodeType is set to ‘UId’.
CodeType Defines the format of the ScanData in the Identifier as string. The String DataType CodeTypeDataType and the predefined format strings are defined in 9.1.3.
NewUId AutoID Identifier   according to ISO/IEC 18000-3 Mode 3, ISO/IEC 18000-63 and GS1 EPCglobal. Depending on the length of this field, the UID length of the transponder will be adjusted. The byte length shall be an even number otherwise a Status OP_NOT_POSSIBLE_ERROR_6 shall be returned.
AFI Application Family Identifier. According to ISO/IEC 18000-3 Mode 3, ISO/IEC 18000-63 and GS1 EPCglobal. The default value is 0.
Toggle Numbering system identifier toggle. According to ISO/IEC 18000-3 Mode 3, ISO/IEC 18000-63 and GS1 EPCglobal. The default value is false.
Status Returns the status of the write operation.
The AutoIdOperationStatusEnumeration DataType is defined in 9.2.1.

Method Result Codes

ResultCode Description
Bad_MethodInvalid The device does not support this function
Bad_InvalidState This command is not available or not allowed e.g. due to special configuration

## 6.5.3.10 Variable AntennaNames

This OPC UA Property of DataType AntennaNameIdPair array represents the list of ID and name pairs for the antennas of the RFID reader device. The DataType AntennaNameIdPair is defined in 9.3.3. The Property can be set during commissioning.

## 6.5.3.11 Variable LastScanAntenna

This OPC UA Variable of DataType Int32 belongs to the Variable LastScanData and represents the ID of the antenna with which the last AutoID Identifier was scanned.

The Variable can be provided for simple applications where OPC UA Clients are limited to Data Access functionality. Such OPC UA Clients are typically limited to built-in DataTypes like UtcTime. The use of this Variable implies the following restrictions.

• Only one AutoID Identifier can be delivered for a scan.
• The frequency of scans is limited to the sampling interval set by the OPC UA Client.
• The delivery of scan results depends on the MonitoredItem settings or Read behaviour of the OPC UA Client. It is recommended that complex applications use scan Methods and Events.