SINUMERIK 828D Extended User Alarms 701000-701999: DB9913 Configuration and High DB1600 Bits

A machine tool broken into a dozen stations, each needing its own message — what happens when the 248 user alarms run out? The 828D ships with a capacity of 248 alarms (700000–700247), and beyond that Siemens provides a second path: extended PLC alarms, an extra 1000 (701000–701999). The catch is that extended alarms are not enabled by changing a machine data: the PLC program has to carry an extra block, DB9913, and by default that block does not even appear in the library — because the PLC project has “Activate compatibility mode” ticked.

This article follows the Siemens application notes (CNC4YOU 3204 / 2786) and section B031 of the 828D manual through the whole procedure: when extended alarms are actually justified, the hard PPU and software thresholds, the “compatibility mode” trap, how alarm numbers map onto the high DB1600 bits and onto DB9913, bit 5 for the alarm log, red alarms versus black messages, and why variable substitution stops working at 701248.

Related reading: how to compute the address from the alarm number is covered in SINUMERIK 828D user alarm bit addresses: the DB1600 sequential mapping (that article covers the arithmetic, this one covers configuration). The 840D uses a different DB2 grouped algorithm entirely, see SINUMERIK 840D PLC user alarms explained.

1. When extended alarms are justified: deciding whether 248 really is not enough

Confirm that you have genuinely run out before adding a second range — very often the problem is wasteful numbering rather than lack of capacity.

Table 1 — Judging whether 248 alarms are enough

SituationVerdictRecommendation
Only up to about 7001xx is in use and plenty of numbers are freeNot exhausted, just badly plannedRe-plan the numbering in blocks (by station, by assembly); extended alarms are unnecessary
700000–700247 is filled up past roughly 700240Genuinely running outMove to extended alarms early rather than waiting to hit 700247
One alarm number must show different texts in different situationsNot a capacity problemCheck first whether the standard range variable interface DBD1000 series solves it
The machine builder's standard program already occupies all 248The classic extended scenarioStart at 701000 and leave the original range untouched
More than 1248 alarms are neededBeyond what the 828D offersSplit the information across custom HMI screens or message texts

Total user alarm capacity on the 828D = 248 (standard) + 1000 (extended) = 1248 alarms. That is the officially documented combination; there is no third tier.

One-line rule: tidy up the numbering in the 248 range first, and only move to extended alarms once it is genuinely full. Extended alarms mean PLC changes, a download and an NCK restart — far more maintenance overhead than renumbering.

2. Hard prerequisites: PPU model, software version, and the compatibility-mode trap

Without this section nothing else happens — the last row in particular is the number one reason DB9913 is missing from the library.

Table 2 — Hard prerequisites for enabling extended alarms

CategoryRequirementNote
Hardware (official list)PPU24x.3 / PPU28x.3, PPU27x.4 / PPU29x.4Turning, milling and grinding all covered
System software828D V4.7.4 or higherEarlier versions have no extended alarm capability
Programming toolPLC Programming Tool V3.3 or higherOlder tools cannot generate DB9913
PLC project type828D Step 2 07.01 or higherSelected in the project “Type…” dialog
🚨 Compatibility mode“Activate compatibility mode” must be untickedLeave it ticked and DB9913 never appears in the special data block library
Access levelManufacturer level with passwordAlso required to edit alarm texts
PLC programmust additionally contain DB9913Mandatory once more than 248 alarms are used
Prerequisites for 828D extended alarms: PPU24x.3/PPU27x.4 or higher, software V4.7.4+, programming tool V3.3+, PLC type Step 2 07.01+, and compatibility mode must be unticked or DB9913 never appears

3. The high DB1600 band: extended alarms start at DBX4000.0

Extended alarm trigger bits also live in DB1600, but they are not contiguous with the 248 — they start again at DBX4000.0, leaving everything between DBX31 and DBX3999 unused.

Table 3 — How the standard and extended bands divide DB1600

广告
ItemStandard user alarmsExtended user alarms
Alarm numbers700000 – 700247701000 – 701999
Count2481000
Trigger bitsDB1600.DBX0.0 – DBX30.7DB1600.DBX4000.0 – DBX4124.7
Bytes occupied31125
Variable interfacefrom DB1600.DBD1000, +4 per alarmfrom DB1600.DBD5000, +4 per alarm
What defines the responseMD14516[xx] (or DB4500.DBB3000–3247)DB9913 (one block per alarm number)
PLC change requiredNoYes — DB9913 must be added and downloaded

The extended band uses the same arithmetic, only with a different starting point:

index M = alarm number - 701000
byte    = 4000 + M / 8      (integer)
bit     = M % 8             (remainder)
address = DB1600.DBX<byte>.<bit>

Examples: 701000 → DB1600.DBX4000.0; 701001 → DBX4000.1; 701008 → DBX4001.0; 701999 → 4000 + 999/8 = 4124 with a remainder of 7 → DB1600.DBX4124.7.

Compute the variable interface the same way: (alarm number − 701000) × 4 + 5000. So 701000 = DB1600.DBD5000, 701001 = DBD5004 and 701247 = DBD5988. Those three values line up with the official table, which makes them a handy self-check.

4. Writing DB9913 block by block: one block per alarm number

This is the biggest difference from standard alarms: there is no MD14516 for extended alarms — everything the alarm does to the machine is written into DB9913.

Table 4 — DB9913.DBWxx bit definitions (828D manual, section B031)

BitMeaningNote
Bit 0NC start disabledblocks NC start while active
Bit 1read-in disableblocks program read-in
Bit 2feed disablefeed hold for all axes
Bit 3EMERGENCY STOPtriggers the emergency stop reaction
Bit 4PLC stopputs the PLC into stop
Bit 5alarm log= 1 puts the alarm into the alarm log
Bit 6acknowledge via DB1600.DBX3000.0the PLC must drive this bit to acknowledge
Bit 7acknowledge via power off / ononly cleared by a power cycle
Bit 8PLC user alarm for channel 1for multi-channel controls
Bit 9PLC user alarm for channel 2for multi-channel controls

How alarm numbers map onto DB9913 blocks:

block index S = alarm number - 701000
701000 -> DB9913.DBB0 (DBW0)
701001 -> DB9913.DBB1
...
701999 -> DB9913.DBB999

Two official notations exist: the lookup table in the 828D manual says DB9913.DBB0 – DBB999 (one byte per number), while the “bit editor” description in section B031 says DB9913.DBWxx (one word per number, holding 10 bits). Both come from Siemens. Do not hand-calculate byte values — open the PLC tool, double-click the alarm’s “initial value” and tick the bits in the bit editor; the tool writes whatever structure actually applies.

Full configuration procedure (PLC Programming Tool side):

  1. Open the PLC software, right-click the PLC project name (for example 828_milling1) and choose “Type…”;
  2. Select a PLC type of “828D Step 2 07.01” or higher;
  3. Untick “Activate compatibility mode” (leave it ticked and DB9913 never shows up);
  4. Press Confirm; if the change was accepted a confirmation window appears — press OK;
  5. Go to “Library” → “Special data block” → DB9913 should now be visible;
  6. Double-click ALARM_INI(DB9913) and confirm — DB9913 is added to the user data blocks automatically;
  7. Double-click the “initial value” of the alarm number you want → tick Bits 0–9 in the bit editor → confirm;
  8. Save and download to the PLC.
Writing DB9913 block by block: select PLC type Step 2 07.01 or higher, untick compatibility mode, open Library then Special data block, double-click ALARM_INI(DB9913), then set one block of configuration data per alarm number in the bit editor

5. Getting extended alarms into the alarm log: DB9913 bit 5 = 1

Extended alarms are not recorded in the alarm log by default either. Getting them logged means setting bit 5 of the block inside DB9913.

Table 5 — Standard versus extended: two entirely different procedures for the alarm log

Alarm typeWhere to set itHow it takes effect
Standard (700000–700247)MD14516[xx] bit 5 = 1restart the HMI
Extended (701000–701999)bit 5 = 1 in the matching alarm block of DB9913download to the PLC → restart the NCK

Note the third row: extended alarms need an NCK restart; restarting only the HMI is not enough. This differs from standard alarms, which is why people restart the HMI, wait, and see nothing happen.

The application note (CNC4YOU 2786) and the English 828D manual disagree about bit 5 of MD14516 (the manual marks it Reserved and uses bit 6 for alarm/message). But on the DB9913 side, bit 5 = alarm log is unambiguous — the B031 bit-editor table states it directly. So for extended alarms, set bit 5 = 1 without hesitation.

Getting 828D extended alarms into the alarm log: set bit 5 of the matching block in DB9913, download to the PLC, then restart the NCK — restarting only the HMI does not take effect

6. Red alarms versus black messages: bits 6 and 7 decide whether acknowledgement is needed

Red versus black is not cosmetic — it decides which window the information lands in and whether somebody has to acknowledge it.

Table 6 — Alarm (red) versus message (black)

ItemAlarm (red)Message (black)
Where it showsalarm listMessages page
Meaningserious, requires stopping or actioninformational
Acknowledgementrequired (via bit 6 or bit 7)not required
With neither bit 6 nor bit 7 set—cleared immediately when the trigger bit goes to 0, shown on the Messages page
Typical usemotor overload, guard door openhydraulics not started, coolant level low

The two acknowledgement options (bits 6 and 7 of DB9913):

  • Bit 6: acknowledge via DB1600.DBX3000.0 — either the operator or the PLC program must drive this bit before the alarm clears. The PLC must contain this reset logic; without it the alarm never goes away.
  • Bit 7: acknowledge via power off / on — cleared only by cycling power, reserved for the most serious faults.

On a multi-channel machine there are also Bit 8 / Bit 9 (PLC user alarm for channel 1 / channel 2), which decide which channel owns the alarm; the same assignment can be made through MD14518 $MN_USER_DATA_PLC_ALARM_ASSIGN.

7. Variable substitution in the text: using %d, and why it stops at 701248

Extended alarms include one genuinely powerful feature — one alarm number showing different text depending on a variable. But only 248 of the numbers have it.

Table 7 — Where variable substitution is available

广告
Alarm number rangeNumeric variableVariable interfaceNote
701000 – 701247availableDB1600.DBD5000 – DBD5988+4 bytes per alarm
701248 – 701999not available—officially stated: no numeric variable in this range

Permitted placeholders (as documented for the alarm texts):

PlaceholderMeaning
%ddecimal value
%xhexadecimal
%bbinary
%ooctal
%uunsigned integer
%ffloating point

The official example, which explains it best:

  • I0.0 switched on → alarm 701000 shows Axis 1 error test
  • I0.1 switched on → alarm 701000 shows Axis 2 error test

The trick: both inputs trigger the same alarm bit, DB1600.DBX4000.0, and each writes a different value into the variable interface DB1600.DBD5000. With %d in the alarm text, the number changes accordingly.

How to edit the texts (HMI route): Start-up → HMI → Alarm texts → pick “Manufacturer PLC alarms (oem_alarms_plc)” in the Select file dialog → confirm → the editor opens. Each alarm text may be up to 255 characters long.

🚨 A restart is mandatory after editing texts: alarm text files are loaded only during system startup, so without a restart you keep seeing the old text. Keep the file name lower case; it is stored at oem/sinumerik/hmi/lng on the CF card (the /oem/cfg/ path quoted in third-party notes does not match the manual — follow the directory that exists on your machine).

8. Download and verification steps, plus the fault list

Do not walk away after editing DB9913 — work through these six steps first.

  1. Save → download to the PLC (DB9913 is a user data block and must be downloaded);
  2. Restart the NCK (not just the HMI);
  3. On the HMI open the NC/PLC variables screen and enter addresses such as DB1600.DBX4000.0 to confirm they can be monitored;
  4. Force the trigger condition (for example by switching the corresponding input) and check that the alarm window shows the number with the right text;
  5. Open the alarm log and confirm the alarms flagged with bit 5 are recorded;
  6. Write different values into the variable interface (change 1 to 2, say) and confirm the %d in the text follows the value.
Download and verification of 828D extended alarms in six steps: save and download DB9913 to the PLC, restart the NCK, monitor DBX4000.0 in the NC/PLC variables screen, force the trigger and watch the alarm window, check the alarm log, then change the variable to confirm %d follows

Table 8 — Extended alarm fault list

SymptomMost likely causeWhat to do
DB9913 missing from the special data block librarycompatibility mode is still ticked, or the type is below Step 2 07.01set the type to Step 2 07.01 or higher and untick compatibility mode, confirm, then reopen the library
DB9913 changes have no effect at allonly the HMI was restarted; no download or no NCK restartdownload to the PLC → restart the NCK
Alarm number appears but there is no textthe number is not configured in oem_alarms_plc, or no restart afterwardsadd the text → restart the system
%d shows no numberthe alarm number is in 701248–701999, which has no variablevariables exist only for 701000–701247; otherwise use the DBD1000 series in the standard range
The variable shows the wrong value or is off by one slotwrong interface indexinterface = 5000 + (alarm number − 701000) × 4
The alarm never clearsbit 6 acknowledgement is set but nothing drives DB1600.DBX3000.0add the reset logic in the PLC, or drop back to the self-clearing mode without bits 6 and 7
On a twin-channel machine the alarm lands on the wrong channelbits 8 / 9 not setset Bit 8 / Bit 9 per channel, or use MD14518
Alarm state looks right but the machine does not reactbits 0–4 not tickedgo back to the bit editor and tick the NC reaction bits you need
Permission denied when editing alarm textsnot at Manufacturer access levelenter the Manufacturer password

Closing advice: save a copy of the PLC project before you start, screenshot the DB9913 bit combinations, and keep a table in the machine file showing which alarm number belongs to which station or assembly — nobody remembers a hundred-odd extended alarms six months later.

Frequently Asked Questions

How many PLC alarms can an 828D have in total?

Standard user alarms give 248 (700000–700247, trigger bits DB1600.DBX0.0–DBX30.7) and extended user alarms give 1000 (701000–701999, trigger bits DB1600.DBX4000.0–DBX4124.7), making 1248 in total. That is the documented upper limit on the 828D; there is no third tier. Enabling the extended range carries hard prerequisites: hardware must be PPU24x.3 / PPU28x.3 or PPU27x.4 / PPU29x.4, system software V4.7.4 or higher, PLC Programming Tool V3.3 or higher, the PLC project type must be 828D Step 2 07.01 or higher with “Activate compatibility mode” unticked, and Manufacturer access level is required. Note also that the 808D holds 128 standard alarms (that figure comes from third-party compilations rather than a manual we could verify), and Siemens documents nothing about an extended range on that control.

How do I configure DB9913 for extended user alarms?

In the PLC programming tool, right-click the project name and choose “Type…”, select a type of 828D Step 2 07.01 or higher and untick “Activate compatibility mode” (leave it ticked and DB9913 never appears), then confirm and press OK. Next go to “Library” → “Special data block” and double-click ALARM_INI(DB9913); confirm and it is added to the user data blocks automatically. Then double-click the “initial value” of the alarm you want and tick bits in the editor: bit 0 NC start disabled, bit 1 read-in disable, bit 2 feed disable, bit 3 emergency stop, bit 4 PLC stop, bit 5 alarm log, bit 6 acknowledge via DB1600.DBX3000.0, bit 7 acknowledge via power off/on, bits 8 and 9 for channel 1 and channel 2. The block index is the alarm number minus 701000 (701000 is DBB0, 701999 is DBB999). Finally save, download to the PLC and restart the NCK.

Why are there no numeric variables for alarms above 701000?

Because Siemens limits variable substitution to 701000–701247, those 248 numbers. Each of them has a companion double-word interface from DB1600.DBD5000 upwards, four bytes apart (701247 corresponds to DBD5988), so writing %d, %x, %b, %o, %u or %f into the alarm text prints the variable value. For 701248–701999 the documentation states explicitly that there is no corresponding numeric variable, so a %d written there simply will not print a number. Either move any alarm that needs substitution into 701000–701247, or fall back to the standard range and use the DB1600.DBD1000 series interface.

Last updated: 2026-10-25

Also available in Chinese: 828D 扩展用户报警 701000–701999 怎么加?DB9913 配置数据 + DB1600 高位段实操
The original Chinese version — same procedure, with the full field notes.
© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容

广告