Problem Overview: D063 Trigger Event Occupied on the S7-300 CPU 315-2AG10
The diagnostic buffer entry "D063 – Resources error: the trigger event is occupied" is a STEP 7 / TIA Portal event reported by the SIMATIC S7-300 CPU 315-2 DP (6ES7 315-2AG10-0AB0) when an online operation (monitor, modify, force, single-step, status of variables, breakpoint set/delete, or trace) collides with the CPU's internal pool of test resources. The 315-2 family has a small, fixed number of hardware-supported trigger events (breakpoint and watch slots) that are shared between STEP 7, the integrated PROFIBUS DP interface, and any active HMI / Panel connection. When those slots are not released back to firmware after a previous online session ends irregularly – for example when the engineering cable is unplugged, the PG crashes, the STEP 7 process is killed from Task Manager, or the laptop is put to sleep – every subsequent request returns D063 until the trigger resources time out internally (typically 30–60 minutes) or until a CPU reset releases them.
Field reports on this MLFB consistently show that the error appears after only one programming device, one STEP 7 project, and one online session. It is not a project- or program-size problem; it is a firmware resource bookkeeping problem in the CPU. The condition is reproducible in the field on firmware 2.6.x and earlier 2.x releases, which is why Siemens explicitly recommends firmware updates and full CPU resets as the primary mitigations.
| MLFB / Order Number | Description | Firmware (relevant) | Integrated interfaces | Work memory |
|---|---|---|---|---|
| 6ES7 315-2AG10-0AB0 | CPU 315-2 DP (this article's target) | 2.0.0 – 2.6.x | MPI + PROFIBUS DP master/slave | 128 KB |
| 6ES7 315-2AH14-0AB0 | CPU 315-2 PN/DP (successor) | 3.0 – 3.3 | MPI/DP + PROFINET | 256 KB |
| 6ES7 315-2AF03-0AB0 | CPU 315-2 DP (predecessor) | 1.x | MPI + PROFIBUS DP | 64 KB |
| 6ES7 315-1AF01-0AB0 | CPU 315 (single-port) | 1.x | MPI only | 48 KB |
Why D063 Appears: Resource Model of the CPU 315-2
The CPU 315-2 AG10 supports a limited set of test and commissioning functions that consume internal trigger-event resources. The relevant limits are listed in the S7-300 CPU 31xC and CPU 31x Manual (Edition 04/2014), sections 11.2 (Test and Commissioning Functions) and 11.4 (Diagnostic Buffer):
- Up to 4 breakpoints in single-step mode per run-time level (OB1, OB3x, etc.)
- Up to 4 monitor points (status of variables) per run-time level
- Up to 4 control points (modify/force) per run-time level
- A single shared trigger-event pool that the firmware must book and release for every online operation
The trigger-event pool is finite and is not reset by simply closing the STEP 7 window. The firmware only releases the slot when (a) the online session is gracefully closed, (b) STEP 7 sends a release trigger command, or (c) the watchdog inside the CPU times out the slot. If the PG-to-CPU connection is torn down abnormally (cable unplug, NIC reset, PC sleep, STEP 7 crash, antivirus killing the S7DOS service), the trigger slot stays reserved for the duration of the internal timeout, which on the 315-2 AG10 can be up to one hour. During that period, attempting to monitor or set a breakpoint returns D063 immediately.
Event ID 0xD063 with timestamp matching the failed online attempt.Symptoms and Diagnostic Indicators
D063 is not a system fault (SF LED does not blink) and is not a stop (STOP LED remains off). The CPU stays in RUN; only online operations are affected. Typical field symptoms:
- Online connection to the CPU is established (PG/PC shows the online dot in the project tree).
- Selecting Monitor/Modify, Status, or Set Breakpoint immediately returns the dialog "Resources error: the trigger event is occupied".
- Closing and reopening STEP 7 does not resolve the error.
- Unplugging the Ethernet/PROFIBUS cable and reconnecting does not resolve the error.
- The condition self-clears after a delay typically between 20 minutes and 1 hour.
- Diagnostic buffer of the CPU contains one entry per failed attempt with event ID 0xD063 and a translated text identical to the dialog.
Additional related diagnostic events that often co-appear in the buffer:
| Event ID | Text | Meaning | Action |
|---|---|---|---|
| 0xD063 | Resources error: trigger event is occupied | Test resource collision (this article) | Wait for timeout, MRES, or firmware update |
| 0xD062 | Resources error: no more trigger events | Pool fully exhausted, not single collision | Same as D063, also check force table size |
| 0xD061 | Resources error: monitor or modify functions exhausted | Too many simultaneous watch points | Reduce active monitor points to < 4 |
| 0x4F1C | Communication error on the interface | Transport-layer reset (often the cause) | Check cable, PG NIC, PROFIBUS terminator |
| 0x4F02 | Connection aborted by CPU | CPU-side timeout cleared the trigger | Informational; explains why D063 self-clears |
Step-by-Step Diagnosis
Before resetting the CPU, perform the following checks in order. They identify the root cause and avoid the loss of retentive data that a memory reset can cause.
-
Confirm firmware version. In STEP 7 Manager, right-click the CPU in the project tree, choose PLC > Diagnostic/Setting > Module Information > Diagnostic Buffer. The first entry shows the firmware version string (e.g.,
V 2.6.7). If the firmware is below 2.6, obtain the latest 2.6.x from the Siemens firmware download entry for 6ES7 315-2AG10-0AB0 and update. - Inspect the diagnostic buffer for the full sequence. Filter for the last 24 hours. D063 is almost always preceded by 0x4F1C (interface error) or 0x4F02 (connection aborted). If you see these, fix the underlying transport issue first.
- List active test functions. From STEP 7 Manager: PLC > Test & Commissioning > Test Settings. Note the value of Number of breakpoints set, Number of monitor points, and Number of control points. The 315-2 supports at most 4 per run-time level. The diagnostic buffer cannot show live counts, but the test settings dialog can if the online connection succeeds (use a second PG if necessary).
-
Check the PG / laptop side. The S7DOS service handles S7 communication. If a corporate IT image deploys an aggressive antivirus, the service may be killed mid-session. Verify:
sc query S7DOSon Windows. Status must be RUNNING. Also disable PC sleep and USB selective suspend on the laptop's power profile before commissioning. - Validate the physical layer. For MPI/DP connections on the 315-2 AG10, the bus must be terminated (120 Ω at both ends, switch ON at the last node). Open-circuit or shorted lines cause the CPU to drop S7 connections and leave the trigger slot reserved. For Ethernet CP (e.g., CP 343-1 in the rack) the issue is identical and shows up as 0x4F1C on the CP, not on the CPU.
- Count parallel online users. Even a single HMI panel that uses Status or Monitor on the same CPU occupies one of the trigger slots. The 315-2 cannot serve more than two simultaneous online test users without contention. Check Accessible Nodes for any other active PG.
Resolution Procedure
The resolution order below is chosen so that the least destructive step is taken first. Only proceed to a memory reset if the firmware update and online-clear sequence fail.
Step 1 – Force-Release the Trigger Slot from STEP 7
The 315-2 firmware supports an online Reset Test Resources command hidden under the test settings dialog:
- Connect the PG to the CPU and establish an online connection.
- Open PLC > Test & Commissioning > Test Settings.
- Click Delete All Breakpoints.
- Click Delete All Monitor Points.
- Click Delete All Control Points.
- Confirm the dialog "Test resources released".
If STEP 7 itself refuses to connect because the previous session is stuck, the dialog is unreachable. In that case, use Step 2.
Step 2 – Wait for the CPU's Internal Watchdog
When STEP 7 or the cable disappears without sending a release, the CPU's PG interface monitor times the slot out. The duration is firmware-dependent:
| Firmware | PG-interface trigger timeout | Source |
|---|---|---|
| V 1.x | ~ 10 min | S7-300 CPU 31x manual, ed. 2004 |
| V 2.0 – 2.5 | ~ 30 – 45 min | S7-300 CPU 31x manual, ed. 2010 |
| V 2.6.x | ~ 60 min (can be reduced to 5 min with STEP 7 test setting) | S7-300 CPU 31x manual, ed. 2014 |
From firmware 2.0 onward, the timeout value can be changed by setting the CPU's PG interface timeout parameter (in HW Config under CPU Properties > Communication > PG/OP Connection Timeout) to a value such as 5 s for fast failover. This setting is preserved across CPU restarts. Default is 30 s for S7 communication but a longer value for the test-resource pool. Verify the value on the target CPU before assuming a one-hour wait.
Step 3 – Memory Reset (MRES) of the CPU 315-2 AG10
If waiting is not acceptable, a full memory reset clears the firmware's resource bookkeeping. Caution: this also erases the user program and retentive data unless a SIMATIC MMC of size ≥ 64 KB is plugged in, in which case the project is reloaded automatically from the card at next power-up.
- Set the mode selector to STOP. The STOP LED lights steady.
- Hold the mode selector in MRES for at least 3 seconds until the STOP LED starts to flash.
- Within 3 seconds, turn the selector briefly to MRES and back to STOP. The STOP LED flashes faster while the reset runs.
- Wait until the STOP LED is steady again. The CPU is now in a clean state with all trigger slots released.
- If a SIMATIC MMC is present, the CPU re-loads the user program and restarts. If not, download the project from STEP 7 (PLC > Download to Target Device).
Step 4 – Firmware Update to 2.6.x or Later
Siemens released firmware 2.6 specifically to address online test-resource leaks reported in earlier 2.x. The update procedure for the 315-2 AG10 is documented in Siemens FAQ 78389080:
- Download the firmware update file from the Siemens support portal. The file is named
6ES7315-2AG10-0AB0_V26.zipand contains two FW files: one for the CPU (CPU3152AG10.FW) and one for the display (if used). - Place the SIMATIC MMC (≥ 4 MB for 2.6) into the PG's card reader.
- Format the card with the SIMATIC Card Manager (SMC tool) to FAT16 with the Update checkbox ticked.
- Copy the firmware files to the card.
- Insert the card into the CPU, set the selector to STOP, then power up. The STOP, SF, and BF LEDs will all flash during the update. Do not interrupt power.
- When the STOP LED is steady, the update is complete. Remove the card.
- Verify the version with STEP 7's Module Information.
Step 5 – Avoid the Trigger Condition Going Forward
Once the immediate error is cleared, apply the following engineering controls to prevent recurrence:
- Always close the online session from STEP 7 (PLC > Disconnect) before unplugging the cable.
- Disable Windows Sleep and Hibernate while commissioning.
- Add the STEP 7 executable (
S7WM.exe,SIMATIC_Manager.exe) and the S7DOS service to the antivirus exclusion list. - Set the CPU's PG/OP connection timeout to 5 seconds for fast failover, as described in Step 2.
- Avoid force tables larger than 32 entries on the 315-2 – they consume monitor resources even when not in use.
- If the project is migrated to a successor CPU (315-2 PN/DP 6ES7 315-2AH14-0AB0), the resource pool is larger (8 breakpoints, 8 monitor points) and the D063 issue is resolved at the firmware level.
Verification Checklist
After applying any of the steps above, verify that D063 is gone with the following tests:
- Open STEP 7, establish an online connection to the CPU.
- Open PLC > Monitor/Modify and add 4 watch points on tags from OB1, OB35, and OB100. All four should display live values.
- Right-click a network in OB1 and select Set Breakpoint. The breakpoint must take effect immediately, the CPU must change to Hold status, and STEP 7 must show the yellow break-point arrow.
- Open the diagnostic buffer. No
0xD063event should be present for the last 10 minutes. - Repeat the test after physically pulling the Ethernet/PROFIBUS cable for 5 seconds and reconnecting. The trigger slot should release within the configured PG/OP timeout (default 30 s, or 5 s if you set it as above).
Alternative Platforms and Migration Notes
If the recurring D063 error cannot be tolerated (for example in a 24/7 process that cannot accept one-hour PG downtimes), the recommended migration path is to replace the 315-2 AG10 with the successor CPU 315-2 PN/DP (6ES7 315-2AH14-0AB0). Both CPUs share the same program and I/O layout, so the project can be re-compiled without re-engineering. Key differences for the migration:
| Parameter | 6ES7 315-2AG10-0AB0 (V 2.6) | 6ES7 315-2AH14-0AB0 (V 3.3) |
|---|---|---|
| Work memory | 128 KB | 256 KB |
| Bit memory | 2 048 B | 2 048 B |
| Max breakpoints per level | 4 | 8 |
| Max monitor points per level | 4 | 8 |
| PROFINET interface | No (PROFIBUS DP only) | Yes (2-port switch) |
| Test-resource pool size | Small (root cause of D063) | Larger, fully refactored |
| PG/OP timeout minimum | 5 s | 1 s |
| Known D063 issues | Yes, fixed in 2.6.x | None reported in V 3.0+ |
Migration does not require a STEP 7 version upgrade; both CPUs are supported in STEP 7 V5.5 SP4 and TIA Portal V13 SP1 onward. If a TIA Portal migration is already planned, the 315-2 PN/DP is the natural target and eliminates the D063 class of issues entirely.
Troubleshooting Matrix
| Observed symptom | Likely cause | First action | Second action |
|---|---|---|---|
| D063 only on this CPU, every other S7-300 works | CPU firmware resource leak | Update firmware to 2.6.x | MRES |
| D063 immediately after MRES, then re-appears | Antivirus killing S7DOS | Add S7DOS to AV exclusion | Re-image PG |
| D063 appears only when the cable is unplugged | Trigger slot is not released on transport reset | Reduce PG/OP timeout to 5 s | Always use Disconnect before unplugging |
| D063 only when an HMI panel is online | Two online users competing for the pool | Disengage HMI from online, then retry PG | Migrate to CPU with larger pool |
| D063 paired with 0x4F1C burst | Bus termination / EMC | Check 120 Ω terminator and shielding | Replace PROFIBUS connector |
| D063 with firmware 2.6 and a force table > 32 entries | Force table consumes monitor resources | Reduce force table to < 32 entries | Re-engineer forcing as logic |
Safety and Operational Notes
Per the S7-300 CPU 31xC and CPU 31x Operating Instructions, section 11.2.4, activating breakpoints forces the CPU into HOLD mode. In HOLD the process outputs are frozen, not cleared. If the controlled process requires fail-safe behaviour on PG intervention, either (a) move outputs to a safe state in the OB that handles the HOLD event, or (b) use Status read-only mode and avoid breakpoints. For safety-related applications (SIL 1 or higher) the breakpoints are not permitted at all and D063 is therefore a non-issue because the test pool is never used.
Do not perform MRES on a CPU that is the master of a PROFIBUS DP segment with active slaves in a live process. The DP master is taken down during MRES, the slaves enter their configured fail-state, and the controlled process will react. Plan MRES for a maintenance window.
What does the D063 "Resources error: the trigger event is occupied" actually mean on the CPU 315-2 AG10?
It means the firmware's shared pool of online test resources (breakpoint and watch slots) still has a slot reserved from a previous online session that did not close cleanly. The CPU itself stays in RUN; only online monitoring, breakpoint, and modify/force operations are blocked until the reserved slot times out or the CPU is reset.
How long do I have to wait for the trigger slot to release itself on a 315-2 AG10?
Between 20 and 60 minutes on firmware 2.6.x, depending on the PG/OP timeout configured in HW Config (default 30 s for S7 communication, but a longer internal watchdog for the test-resource pool). The internal timeout can be reduced to 5 s by lowering the CPU's PG/OP connection timeout parameter, so the wait drops to a few seconds in practice.
Will a firmware update from 2.5 to 2.6 actually fix the recurring D063 error?
Yes, in the majority of field-reported cases. Firmware 2.6 introduced a faster and more deterministic release of the trigger-event pool on transport-layer resets. Combine the update with the configuration change of the PG/OP timeout to 5 s for full mitigation on the 6ES7 315-2AG10-0AB0.
Is MRES the same as "Reset to factory settings" from STEP 7, and which one clears D063?
No. The STEP 7 menu PLC > Edit Ethernet Node > Reset to Factory Settings only clears passwords, IP/MPI addresses, and the diagnostic buffer – it does not touch the test-resource state. Only the hardware MRES selector (or a full power-down with MMC removed) clears the trigger slot and therefore D063.
Can the D063 error damage the user program or the CPU?
No. D063 is a transient, non-sticky diagnostic event. It does not put the CPU into STOP, does not flash the SF LED, and does not modify retentive data. The only operational impact is that online engineering tools cannot run test functions until the trigger slot is freed. A safe MRES does not lose retentive data if a SIMATIC MMC is present in the slot.