Problem Overview
The SIMATIC RF615R UHF RFID reader exposes an embedded OPC UA server that allows SCADA, MES, and PLC clients to read tag data, subscribe to read events, and trigger read operations on configured read points. On firmware V4.2, an OPC UA client can establish a session (anonymous or certificate-based), browse the address space, read tag records produced by the last successful scan, and subscribe to event notifications without issue. Calls to the Scan or ScanStart method on a read point, however, return OPC UA status Bad_DeviceNotReady with the symbolic name DEVICE_NOT_READY, the internal numeric code 17, and the description "The specified read point is not active because no antenna was assigned to it." The reader's status LED changes from green to a blinking red pattern, the WBM Logbook writes an OPC UA error 17 entry tied to the offending read point, and the Service Logbook adds a corresponding ReadPointMethodError line. The same read point continues to operate correctly when the operator initiates a scan from the WBM Diagnostics page, which makes the failure look inconsistent.
This article consolidates the root cause, the diagnostic workflow, the corrective procedure, and the verification steps for OPC UA scan-method failures on the SIMATIC RF615R and the related RF600 family readers. The guidance applies to OPC UA clients built with the official SIMATIC RF615R OPC UA test application, custom Python clients using the opcua library, Kepware, Ignition, the Siemens OPC UA Scout, and the SIMATIC Ident Configuration Tools.
Affected Hardware and Firmware
| Item | Value | Source |
|---|---|---|
| Reader | SIMATIC RF615R (6GT2811-6CC10-0AA0) | Siemens RF600 product family |
| Reader family | SIMATIC RF600 | RF600 system manual |
| Firmware version | V4.2 (confirmed failure) | Reproduced in field report |
| OPC UA server | Embedded, TCP port 4840 default | WBM > Interfaces > OPC UA |
| WBM URL | https://<reader-IP>/wbm | WBM login page |
| Error numeric code (internal) | 17 (decimal) | WBM service logbook |
| OPC UA status code | Bad_DeviceNotReady | OPC UA Part 4 status table |
| Symbolic name | DEVICE_NOT_READY | RF615R status table |
| Default security policy | None (anonymous) or Basic256Sha256 | WBM > Security > OPC UA |
Bad_DeviceNotReady when returning the service result to the client. Always inspect both codes during diagnostics.Symptom Summary
The following symptoms, all observed simultaneously, form the diagnostic fingerprint of the issue:
- OPC UA session establishment succeeds (anonymous or with x509 certificate + user token).
- Browsing the address space succeeds; the
ObjectsFolder > DeviceSet > RF615R > ReadPointCollection > ReadPoint_1node is visible. - Reading tag data (e.g.,
LastEPC,LastRSSI,LastAntenna) returns the most recent cached scan result. - Event subscriptions (e.g.,
TagSeenEventType) deliver prior events but stop firing once the failure begins. - Calling
ScanorScanStartonReadPoint_1returnsBad_DeviceNotReady/ numeric 17 /DEVICE_NOT_READY. - The WBM Diagnostics > Read Point "Start" button continues to scan successfully and populates the tag list.
- The reader status LED transitions from solid green to a repeating red blink pattern, even though physical RF transmission is still active.
- WBM Logbook contains:
OPC UA error 17 ReadPointMethodError. - WBM Service Logbook contains:
Read point not active: no antenna assigned to read point 1.
Two facts are essential: (1) the OPC UA path is healthy enough to read cached data, which rules out transport, certificate, and authentication problems; (2) the WBM-initiated scan works, which rules out RF hardware failures, antenna cabling, and tag compatibility. The defect is therefore a configuration-state mismatch on the read point, not a transport or hardware fault.
Root Cause Analysis
Two independent configuration conditions on the SIMATIC RF615R prevent an OPC UA client from calling Scan or ScanStart on a read point. Either condition can produce the same observable status 17 in the logbook. A third, rarer condition produces the literal error message wording. All three must be inspected during diagnosis.
Cause 1 — Read Point in "Parallel" (Continuous) Scan Mode
The RF615R supports two scan-timing models for each read point: triggered and parallel / continuous. In triggered mode, the read point is idle until a trigger fires (WBM button, OPC UA method, or external digital input). The OPC UA methods Scan, ScanStart, and ScanStop are valid and behave as documented.
In parallel mode, the read point begins scanning as soon as the configuration is activated and continues indefinitely in a round-robin over the assigned antennas. A read point in parallel mode is internally flagged as "always scanning." The OPC UA server rejects Scan and ScanStart on a read point that is already scanning, because the call would be a no-op or could corrupt the internal scan state machine. The reader's internal status returns 17 (DEVICE_NOT_READY) with the misleading description referencing the antenna assignment, which is a known behavior on firmware V4.2.
The "parallel" name in the WBM is counter-intuitive: it does not mean "operate OPC UA and WBM in parallel." It means "operate the read point in continuous, non-triggered mode." Disabling the parallel option returns the read point to triggered mode, where OPC UA scan methods are accepted.
Cause 2 — A Trigger Is Bound to the Read Point
When a digital input, a logical condition, or an internal cyclic trigger is bound to a read point, the read point is also treated by the firmware as "permanently active" even if the parallel option is disabled. The trigger fires the scan automatically and re-arms, so the firmware again rejects Scan and ScanStart as redundant. The status code returned is identical to the parallel-mode case.
Triggers are configured under WBM > Configuration > Read Points > select the read point > Triggers. Common entries on a fresh project include:
-
Trigger_1bound to digital input DI0 of the reader's M12 port. -
Trigger_2bound to a cyclic 250 ms timer. -
Trigger_3bound to a PLC tag over the PROFINET or EtherNet/IP interface.
Removing the trigger binding and reloading the configuration to the reader clears the second cause.
Cause 3 — No Antenna Assigned to the Read Point
The literal interpretation of the error description ("no antenna was assigned to it") is a third, rarer cause: the read point configuration has zero antennas bound. This is the case when the WBM Configuration > Read Points > Antennas list is empty. The OPC UA method call short-circuits with the same status 17. Always verify this condition first because it is the cheapest to check and the most common commissioning mistake.
Diagnostic Procedure
Run the following checks in order. Each step is independent of OPC UA; they can all be performed from the WBM, which removes the client from the equation.
-
Log in to WBM at
https://<reader-IP>using an administrator credential. The default user isadminwith the password configured during first commissioning. -
Open the Logbook. Navigate to Diagnostics > Logbook. Filter for entries containing
OPC UAand17. Confirm that the timestamp of the error matches the timestamp of the client call. -
Open the Service Logbook. Navigate to Diagnostics > Service Logbook. Look for
ReadPointMethodErrorand the descriptive message. Capture the exact text into the support ticket. - Inspect the Read Point configuration. Navigate to Configuration > Read Points. Select the read point named in the OPC UA call. Under Antennas, verify that at least one physical antenna port (Ant1, Ant2, Ant3, Ant4) is listed and enabled.
- Inspect the Read Point scan mode. On the same Read Point page, locate the Parallel mode or Continuous mode checkbox. Note its state.
- Inspect the Triggers tab. On the Read Point page, open the Triggers sub-page. Note any configured triggers and their sources.
- Trigger a scan from the WBM. Navigate to Diagnostics > Read Point, select the read point, and click Start scan. If this works, the RF chain, antennas, and tag inventory are healthy. The failure is isolated to OPC UA method handling.
-
Test
ScanStopfirst. From the OPC UA client, callScanStopon the read point. This forces the read point out of any active scan state, regardless of mode. Then re-attemptScanorScanStart. If the retry succeeds, the read point was in continuous mode and theScanStopcall broke the lock. -
Export the configuration. Click the floppy disk icon in the WBM toolbar to download the current configuration file (
.rfcor.xml). Attach it to the support ticket so a Siemens specialist can verify the read point mode and trigger bindings offline.
Resolution
Three corrective paths are available. Apply them in the order listed, then verify.
Resolution Path A — Clear the Parallel / Continuous Mode
- In the WBM, navigate to Configuration > Read Points and select the affected read point.
- Locate the Parallel mode option (also labeled Continuous scanning or Cyclic scanning depending on firmware minor revision) and disable it.
- Click Apply or Save.
- Click the Load to device (or Transfer to reader) button to commit the change to the reader's non-volatile memory. The reader will restart the read point service, not the full reader.
- Wait for the read point to enter the Idle state in the WBM Diagnostics view.
Resolution Path B — Remove the Trigger Binding
- In the same Read Point page, open the Triggers sub-page.
- For each trigger listed, click the Delete (trash can) icon or uncheck the Active checkbox.
- If a trigger is referenced from a higher-level object (such as a PROFINET slot), remove the reference there as well. Open Configuration > Interfaces > PROFINET and inspect the input assignment for the trigger word.
- Click Apply, then Load to device.
Resolution Path C — Restore an Antenna to the Read Point
- Open Configuration > Read Points and select the read point.
- Open the Antennas sub-page.
- Check the box next to each antenna port that is physically connected (Ant1 through Ant4).
- Set the radiated power (in dBm) and the antenna gain (in dBi) to match the physical antenna datasheet.
- Click Apply, then Load to device.
Verification
After the corrective steps, run the following verification sequence.
- WBM scan test. From Diagnostics > Read Point, start a manual scan. Confirm that the tag list populates within the configured scan timeout (default 5000 ms).
-
OPC UA
Scanmethod. From the OPC UA client, callScanon the read point with a short timeout (for example, 2000 ms). The call must returnGood. The response contains the number of tags read. -
OPC UA
ScanStartandScanStopmethods. CallScanStartto start a continuous scan from the client. Confirm that the read point's status changes to Scanning in the WBM. CallScanStopafter 5 seconds. Confirm that the status returns to Idle. -
Logbook regression check. Open the WBM Logbook and filter for the last hour. Confirm that no new
OPC UA error 17orReadPointMethodErrorentries are present. -
Event subscription check. From the OPC UA client, subscribe to
TagSeenEventType. Place a known tag in front of the antenna. Confirm that the event fires with the correct EPC, RSSI, and antenna ID. - Configuration persistence. Power-cycle the reader (disconnect and reapply the 24 V supply). Re-run steps 1 to 3. The changes must persist, confirming that the configuration was committed to non-volatile memory.
OPC UA Method and Read Point Reference
The RF615R OPC UA address space follows the OPC UA Companion Specification for RFID. The methods under the ReadPointType are summarized below.
| Method | Input Arguments | Output | Pre-conditions |
|---|---|---|---|
Scan |
None | UInt32 TagCount, String[] EPCs | Read point is idle; antennas assigned; not in parallel mode; no active trigger. |
ScanStart |
None | Boolean Accepted | Same as Scan; transitions the read point to Scanning state. |
ScanStop |
None | Boolean Accepted | Read point is in Scanning state. |
SetPower |
UInt16 dBm | Boolean Accepted | Antennas assigned. |
GetLastScan |
None | String LastEPC, Int16 LastRSSI, UInt8 LastAntenna | Always available, even in error state. |
Reset |
None | Boolean Accepted | None. |
The GetLastScan method is the reason a malfunctioning client still "appears" to work: it returns the last cached scan result without engaging the scan state machine. This explains the original report that "I can see the result of the last scans, but scan or scan-start actions don't work."
Read Point Configuration Parameters
The read point is the logical grouping of antennas and triggers that the OPC UA server exposes. A correct read point configuration is the foundation of OPC UA scan reliability. The following table summarizes the settings and their impact on OPC UA method behavior.
| Setting | Path in WBM | Default | Impact on OPC UA |
|---|---|---|---|
| Name | Configuration > Read Points > Name | ReadPoint_1 | Used as the OPC UA node name. |
| Antennas | Read Points > Antennas | Empty | Empty list causes status 17 on any scan method. |
| Parallel mode | Read Points > Mode > Parallel | Off | On causes status 17 on Scan and ScanStart. |
| Trigger sources | Read Points > Triggers | Empty | Active triggers cause status 17 on Scan and ScanStart. |
| Scan duration | Read Points > Timing > Duration | 5000 ms | Maximum runtime of a triggered scan. |
| Scan interval | Read Points > Timing > Interval | 0 ms | Delay between scans in cyclic mode. |
| Output power | Read Points > Antennas > Power | 24 dBm | ERP in dBm; must respect regulatory mask. |
| RSSI threshold | Read Points > Filter > RSSI | -80 dBm | Tags below threshold are dropped. |
Network, Security, and Client Integration
Endpoint and Discovery
The RF615R OPC UA server listens on TCP port 4840 by default. The endpoint URL is:
opc.tcp://<reader-IP>:4840
The server publishes an OPC UA discovery endpoint on the same port. The discovery URL follows the same pattern. With the default WBM configuration, the server exposes two security policies:
- None with anonymous authentication (development use only).
- Basic256Sha256 with x509 certificate authentication and optional user-token policy (Username / Password or Certificate).
For production deployments, disable the None policy under WBM > Security > OPC UA > Endpoint Configuration, generate a server certificate with at least a 2048-bit RSA key, and push the certificate to the OPC UA clients in their trust store.
Client Code Example (Python, opcua Library)
The following Python snippet demonstrates a robust client wrapper that performs the recommended ScanStop pre-flight check, calls Scan, and parses the result. Adapt the endpoint URL and NodeId to match the project configuration.
from opcua import Client, ua
client = Client("opc.tcp://192.168.0.50:4840")
client.set_security_string("Basic256Sha256,Sign,certificate.der,private_key.pem")
client.connect()
read_point = client.get_node("ns=4;s=ReadPoint_1")
# Defensive pre-flight: force idle
try:
read_point.call_method("4:ScanStop")
except ua.UaStatusCodeError as e:
if e.code != ua.StatusCodes.Bad_Busy and e.code != ua.StatusCodes.Bad_DeviceNotReady:
raise
# Execute a one-shot scan
status, out = read_point.call_method("4:Scan")
print("Scan status:", status, "tags:", out)
client.disconnect()
Client Code Example (Python, Plain Asynchronous Scan Loop)
import time
from opcua import Client, ua
client = Client("opc.tcp://192.168.0.50:4840")
client.connect()
rp = client.get_node("ns=4;s=ReadPoint_1")
rp.call_method("4:ScanStart")
try:
for _ in range(5):
time.sleep(1)
ev = client.get_node("ns=4;s=ReadPoint_1_LastEPC").get_value()
if ev:
print("Tag seen:", ev)
finally:
rp.call_method("4:ScanStop")
client.disconnect()
ns=4 is the namespace assigned by the RF615R server. Confirm it by browsing ObjectsFolder > Server > Namespaces in your client. The exact namespace index varies with reader firmware.Integration with TIA Portal and SIMATIC Ident
When the RF615R is connected to a SIMATIC S7-1200 or S7-1500 controller over PROFINET, the SIMATIC Ident function blocks (FB 119 "IDENT_CONTROL", FB 126 "IDENT_DEMO") communicate with the reader through the Ident profile. OPC UA on the RF615R can run alongside PROFINET, but the read point used for the PLC should be a different read point than the one used for OPC UA control. Sharing a single read point between the PLC and an OPC UA SCADA causes the same status 17 because the PLC's cyclic trigger keeps the read point in the "always scanning" state from the OPC UA server's perspective.
Error Code Reference
The RF615R returns a numeric status code in the WBM Service Logbook that maps to an OPC UA status code and a symbolic name. The mapping for firmware V4.2 is summarized below.
| Numeric | Symbolic Name | OPC UA Status | Meaning / Resolution Hint |
|---|---|---|---|
| 0 | OK | Good | Method succeeded. |
| 1 | GENERAL_ERROR | Bad_UnexpectedError | Capture WBM diagnostic dump; contact Siemens support. |
| 10 | INVALID_ARGUMENT | Bad_InvalidArgument | One or more method arguments are out of range. |
| 11 | ACCESS_DENIED | Bad_UserAccessDenied | OPC UA user lacks the method-execute right on the read point node. |
| 12 | TIMEOUT | Bad_Timeout | Scan did not complete within the configured scan duration. |
| 13 | BUSY | Bad_Busy | Another method call is in progress. Retry after 200 ms. |
| 14 | NOT_SUPPORTED | Bad_NotSupported | Method not available on this read point or firmware version. |
| 15 | CONFIG_ERROR | Bad_ConfigurationError | Read point configuration is invalid. Re-check antennas and triggers. |
| 16 | ANTENNA_FAULT | Bad_DeviceFailure | Physical antenna port fault. Check cabling, VSWR, and antenna gain setting. |
| 17 | DEVICE_NOT_READY | Bad_DeviceNotReady | Read point is already scanning (parallel mode or active trigger), or no antenna is assigned. Apply Resolutions A, B, and C above. |
| 18 | RF_INTERFERENCE | Bad_DeviceFailure | Spectrum analyzer reports another strong UHF source. Retune channel. |
| 19 | READPOINT_NOT_FOUND | Bad_NodeIdUnknown | The OPC UA NodeId references a read point that has been deleted. |
Best Practices and Preventive Configuration
Apply the following configuration discipline on new deployments to prevent the issue from recurring.
- One mode per read point. Decide between triggered-by-client (no parallel, no triggers) and triggered-by-hardware (triggers from PLC or DI) at design time. Mixing them on a single read point will produce intermittent status 17 errors.
-
Always call
ScanStopbeforeScan. Even on a read point that is believed to be idle, a defensiveScanStopcall clears any stale scanning flag. Treat it as a one-line pre-flight check in every client wrapper. - Use a separate read point for OPC UA control. On a project that also drives the read point from a PROFINET PLC, create two physical read points: one for the PLC trigger path, one for the OPC UA control path. This isolates the two control domains and prevents accidental contention.
- Apply the configuration, then power-cycle. WBM changes are not durable until Load to device is clicked. After loading, perform a controlled 24 V power cycle to validate that the change persisted.
-
Tag the configuration file. Save the exported
.rfcconfiguration into version control with a commit hash and the reader's serial number. This makes a future rollback a single file restore. - Lock the WBM admin role. Disable anonymous WBM access. Require a strong, rotated password. An attacker on the OT network can otherwise re-enable parallel mode remotely and disrupt production.
-
Monitor the OPC UA diagnostics page. Periodically poll
Server_ServerStatus_StateandServer_ServerStatus_StartTimeto detect silent restarts of the OPC UA server, which often coincide with WBM configuration reloads. - Disable unused security policies. The WBM allows simultaneous exposure of the None and Basic256Sha256 policies. In production, leave only Basic256Sha256 enabled to prevent credential downgrade attacks.
Frequently Asked Questions
Why does GetLastScan still work when Scan fails with error 17?
Because GetLastScan reads a cached EPC from RAM and does not engage the scan state machine. The RF615R exposes cached data even when the read point is in a non-triggerable state, which is by design and is useful for HMI dashboards that only display the last known tag.
What does the "parallel" option in the WBM actually do?
It enables continuous, non-triggered scanning of the read point as soon as the configuration is loaded. It is not a setting that allows WBM and OPC UA to operate simultaneously. The naming is a known source of confusion in firmware V4.2.
Can I call Scan and ScanStart in parallel from different OPC UA clients?
No. The RF615R serializes scan method calls. A second call returns Bad_Busy (status 13) until the first call completes. Use the ScanStart / ScanStop pair for long-running acquisition and Scan for one-shot reads.
Is the error code 17 specific to the RF615R or shared across the RF600 family?
It is shared across the SIMATIC RF600 family, including the RF680R and RF685R. The same resolution procedure applies, but the WBM menu path for the parallel option differs slightly between the older and newer firmware revisions; consult the device-specific manual for the exact label.
How do I confirm the fix remotely without a physical site visit?
After applying the configuration change, have the on-site engineer perform a 24 V power cycle and then call Scan from the OPC UA client. The remote engineer can validate the transition by polling the OPC UA Server_ServerStatus_State variable and by checking the WBM Service Logbook timestamp for the last ReadPointMethodError entry.