1. Product Identification: Siemens 6DD1672-0AB0
The Siemens 6DD1672-0AB0 is a parallel-port EPROM programmer designed for the SIMADYN D automation system family. The module is identified by its Siemens MLFB (Machine-Readable Product Designation) 6DD1672-0AB0 and is dedicated to offline programming of memory submodules used by the PM16 processor module. It shares the same physical platform and 1:1 parallel-port interface as the related 6DD1672-0AF0 programmer variant, but with a different feature/license set per the Siemens catalog. The programmer is delivered as a desk-top housing with a ZIF (Zero Insertion Force) socket on the top, a 25-pin female D-Sub parallel connector on the rear, and a power input. The ZIF socket accepts the SIMADYN D MS-series memory submodules (MS31 / MS41 / MS4, depending on the host processor generation).
SIMADYN D has been phased out of series production and is in the legacy/active-support phase under the Siemens product lifecycle. The 6DD1672-0AB0 programmer is no longer manufactured; spare units appear in the secondary market. Always verify the firmware sticker inside the housing and the simadyn.sys driver disk revision before commissioning. The official Siemens Industry Online Support portal at support.industry.siemens.com retains the legacy product entry and links to the SIMADYN D firmware/driver disks.
2. PM16 Processor and Memory Module Compatibility
The 6DD1672-0AB0 is primarily used to program EPROM submodules for the PM16 processor. The PM16 host accepts a single MS-type memory submodule. Three submodule generations are encountered in the field:
| MLFB | Designation | PM16 compatible | Capacity | Notes |
|---|---|---|---|---|
| 6DD1610-0AF1 | MS31 | Yes | 2 × 27C010 (1 Mbit each, byte-wide) | Earliest generation; slowest access; obsolete supply |
| 6DD1610-0AH0 family | MS41 | Yes (recommended) | 2 × 27C020 / 27C040 (2–4 Mbit each) | Higher capacity, faster access; preferred for new code |
| 6DD16xx-0xx (MS4) | MS4 | Yes | 4 Mbit Flash / EPROM | Pin-compatible with the MS41 socket footprint on PM16 |
The MS31 (6DD1610-0AF1) is the most commonly listed as missing from the 6DD1672-0AB0 module support table, while MS41 modules are listed as supported. In practice, the MS31 socket pinout is supported by the hardware, but the support list in the older 6DD1672-0AB0 manual predates MS31 firmware. Siemens documentation explicitly recommends migrating from MS31 to MS4 or MS41 when re-programming is required.
3. Parallel-Port Cable and PC Requirements
The 6DD1672-0AB0 connects to a standard PC parallel port (LPT1, base address 0x378) using a 1:1 (straight-through) cable. No crossover, no buffering, and no null-modem adapter is required. The full pinout is:
| PC end (DB-25 male) | 6DD1672-0AB0 end (DB-25 female) | Signal |
|---|---|---|
| Pin 2 | Pin 2 | Data 0 |
| Pin 3 | Pin 3 | Data 1 |
| Pin 4 | Pin 4 | Data 2 |
| Pin 5 | Pin 5 | Data 3 |
| Pin 6 | Pin 6 | Data 4 |
| Pin 7 | Pin 7 | Data 5 |
| Pin 8 | Pin 8 | Data 6 |
| Pin 9 | Pin 9 | Data 7 |
| Pin 15 | Pin 15 | Error |
| Pin 13 | Pin 13 | Select |
| Pin 12 | Pin 12 | PaperEnd |
| Pin 10 | Pin 10 | Ack |
| Pin 11 | Pin 11 | Busy |
| Pin 14 | Pin 14 | AutoFeed |
| Pin 1 | Pin 1 | Strobe |
| Pin 16 | Pin 16 | Init |
| Pin 17 | Pin 17 | SelectIn |
| Pin 18–25 | Pin 18–25 | GND (shield) |
Recommended PC platform: any IBM-PC/AT compatible with a true ISA-bus parallel port. USB-to-parallel adapters do not work because the programmer uses a bidirectional EPP-like handshake that is not emulated correctly by most USB bridges. If only USB is available, use a PCI / PCIe parallel port card with a native SPP / EPP BIOS mode.
4. Software Stack and Driver Installation
The full SIMADYN D engineering toolchain for offline EPROM programming of PM16 consists of the following components:
| Component | Version (field-proven) | Function |
|---|---|---|
| simadyn.sys | Driver disk release | Parallel-port driver; installed via install program in CONFIG.SYS |
| RCOP | V4.2.7-E | Read/Copy/Operator tool; reads MS31/MS41 contents via the 6DD1672-0AB0 |
| STRUC L | V4.2.7-E | Offline editor for *.ump / *.ufp (user memory program / user function program) |
| IBS | V4.0.3 | Interface builder / signal assignment for the PM16 |
| SINEC NML | V3.01.E | Network management layer for SINEC H1 / PROFIBUS-FMS |
| MSPP | V4.2 | MS-Module-Programming Package (alternative to STRUC L for direct burn) |
To install the parallel-port driver on Windows 95 / 98 / ME (the only operating system generation that supports the 6DD1672-0AB0 driver stack as shipped):
- Insert the SIMADYN driver disk. The disk contains the
simadyn.sysfile and aninstall.exesetup program. - Run
install.exeand follow the prompts. The setup program appends a line similar to the following toC:\CONFIG.SYS:DEVICE=C:\SIMADYN\SIMADYN.SYS - Reboot the PC. Confirm that
SIMADYNappears in the startup banner and that no "missing device" message is reported. - Verify the parallel-port base address in the PC BIOS matches the address expected by the driver (default: LPT1 at 0x378). If the BIOS remaps LPT1 to 0x3BC (a common setting on older motherboards with integrated video), change the BIOS setting to 0x378.
For Windows NT 4.0 / 2000 / XP, the simadyn.sys driver is not available natively. Field practice is either to (a) dual-boot into a Windows 98 DOS shell on a separate partition, or (b) boot a DOS image from a USB stick with the SIMADYN driver loaded via a custom CONFIG.SYS. Pure 32-bit Windows ports of the simadyn driver do not exist; the SIMADYN D engineering environment was retired before Windows 2000 became mainstream.
5. Reading the MS31 Submodule with RCOP
The read-out path is the only path that is fully supported by Siemens documentation for the MS31 (6DD1610-0AF1) on the 6DD1672-0AB0. The procedure is:
- Power off the 6DD1672-0AB0.
- Insert the MS31 into the ZIF socket with pin 1 aligned to the marked corner. Close the ZIF lever fully.
- Connect the parallel cable between the programmer and the PC's LPT1.
- Power on the programmer, then the PC.
- Start
RCOP.EXE. The program auto-detects the programmer on LPT1 and prompts with the type of module detected. - From the main menu, select Module → Read. RCOP dumps the entire MS31 contents to two files:
<name>.rmp(read memory program) and<name>.rfp(read function program). - Verify the read-back checksum by selecting Module → Verify against the freshly read files. A mismatch indicates a seating problem, dirty ZIF contacts, or an aged EPROM with bit rot.
.rmp and .rfp are RCOP's read-back format with RCOP-specific headers and an integrity checksum. They cannot be edited or burned directly. They must be transformed before they can be used by STRUC L or the burn tool.6. Converting .rmp/.rfp to .ump/.ufp for STRUC L
STRUC L 4.2.7-E expects the user-editable format .ump (user memory program) and .ufp (user function program). The conversion from RCOP's read format to STRUC L's edit format is a file-rename plus header rewrite. The documented field procedure is:
- Copy the freshly read
*.rmpand*.rfpfiles to a working directory. - Rename the file extensions:
ren program.rmp program.ump ren program.rfp program.ufp - Open STRUC L (V4.2.7-E) and load the
.umpvia File → Open → Memory Program. - Load the
.ufpvia File → Open → Function Program. - Edit the structure offline. STRUC L provides the standard SIMADYN D function block library (controllers, PWM, signal processing, communication blocks).
- Save the project. STRUC L writes back
*.umpand*.ufpin the edit format that the burn tool can consume directly.
.rmp / .rfp directly into STRUC L. STRUC L does not recognize the RCOP header and will report Unknown file format or, in some builds, silently load garbage. Always rename first.7. Burning the New MS31 Submodule
To burn the edited code onto a fresh MS31 (or, preferably, an MS41 — see section 11):
- Insert a blank, virgin EPROM-based MS31 (factory-new or fully UV-erased) into the 6DD1672-0AB0 ZIF socket.
- In STRUC L, select the processor type that matches the target module (for MS31, the target is "MS31" or "PM16 + MS31", depending on the STRUC L build).
- Open the
.ump/.ufpset you prepared in section 6. - From the STRUC L menu, select Module → Burn.
- STRUC L issues a
simadyn.sysdriver call, which the driver translates to handshakes on LPT1. The 6DD1672-0AB0 enters burn mode, raises the Vpp voltage on the ZIF, and programs the EPROM byte by byte. - After completion, STRUC L reports
Burn OKwith a byte count and CRC. The programmer automatically runs a verify pass against the image just burned. - If
Burn OKis followed byVerify FAIL, the EPROM is marginal — most likely a counterfeit or a part that has not been fully UV-erased. Repeat with a new submodule.
Burn time is typically 30–90 seconds for a fully populated MS31 (2 × 27C010), depending on the STRUC L build and the PC's parallel-port speed setting in the BIOS.
8. PM16 EPROM Programming Is Offline Only
The PM16 processor module does not support in-circuit programming of its MS submodule. The MS submodule must be removed from the PM16 carrier, programmed in the 6DD1672-0AB0, and re-inserted. Siemens documentation states this explicitly: the EPROM for PM16 must be programmed offline; it cannot be programmed online. There is no path to download a .ump / .ufp directly into a PM16-mounted MS31 via RCOP. RCOP can communicate with a PM16 online for status and diagnostic functions (using the SINEC NML layer over the serial service port or the SINEC H1 bus), but the actual program memory of the MS submodule is not writable in-circuit. The MS submodule contains the user program; the PM16 processor contains the runtime firmware in a separate, mask-programmed ROM that is not field-replaceable.
9. LRSTOP/2/59 "Configuration Is Incompatible" — Root Cause and Fix
When using MSPP V4.2 directly (i.e., outside STRUC L) to burn an MS submodule, the tool may report:
Version 4
MS-Module-Programming
LRSTOP/2/59
Configuration is incompatible
The error is raised by the MSPP tool's pre-burn consistency check, not by the 6DD1672-0AB0 hardware. The check compares three items:
- The processor-type tag in the
.ump/.ufpheader (e.g., "PM16", "PM16.2", "PM16.3"). - The target-slot tag selected in MSPP (e.g., "MS31", "MS41").
- The hardware ID read back from the MS submodule's identification EPROM (a small serial EEPROM on the MS module that identifies its part number, capacity, and generation).
If any of the three tags do not match the expected matrix, MSPP raises LRSTOP/2/59 Configuration is incompatible and aborts the burn. The most common causes, in order of frequency in the field:
| Cause | Symptom | Fix |
|---|---|---|
| MSPP target set to MS31 but physical module is MS41 (or vice versa) | MSPP shows correct target, ZIF module has a different sticker | Switch the MSPP target to match the physical module, or migrate to the physical module's generation |
| .ump / .ufp built for a different processor generation (e.g., PM5 instead of PM16) | STRUC L compiled the project for a different host | Re-open the project in STRUC L, set the target to PM16, re-save the .ump / .ufp, and re-attempt the burn |
| Identification EPROM on the MS module is corrupt or has been overwritten | RCOP cannot read the module type | Replace the MS submodule; the ID EPROM is not user-repairable in the field |
| MSPP V4.2 used against a submodule generation it does not recognize (e.g., MS4 rev. 2 hardware) | MSPP lists only the older MS31 / MS41 entries | Update MSPP to V4.2.7-E (matches STRUC L / RCOP V4.2.7-E), or fall back to STRUC L for the burn operation |
The recommended path is to abandon MSPP in favour of STRUC L for the burn operation. MSPP is a low-level, engineer-only tool intended for factory and repair-bench use; STRUC L runs the same burn code path with a friendlier front end and a more complete target/processor matrix.
10. Using STRUC L Instead of MSPP
STRUC L 4.2.7-E is the front-of-house burn tool. It calls the same simadyn.sys driver and the same 6DD1672-0AB0 firmware as MSPP, but wraps the call in a context where the target module type, the processor type, and the project processor are all set in one place. The burn path is:
- Open STRUC L, load the project's
.umpand.ufp. - From the Target menu, select the MS submodule type (MS31, MS41, MS4) and the host processor (PM16).
- STRUC L writes the combined target/processor matrix into a transient header that MSPP would otherwise check.
- From the Module menu, select Burn. STRUC L invokes
simadyn.sys, the 6DD1672-0AB0 enters burn mode, and the operation completes with a single OK / FAIL message — noLRSTOP/2/59intermediate, because STRUC L's target check runs before the simadyn.sys call.
11. Migrating from MS31 to MS41 / MS4
Siemens documentation recommends migrating PM16 projects from the original MS31 (6DD1610-0AF1) submodule to the MS41 (or the MS4 family) whenever a re-burn is performed. The reasons are:
- Supply: MS31 has been out of series production for decades. New-old-stock MS31 submodules are increasingly rare and are a common source of counterfeit parts.
- Capacity: MS41 / MS4 submodules typically provide 2×–4× the user-program memory of MS31, which gives headroom for project growth without changing the host processor.
- Burn speed: The 6DD1672-0AB0 burn path is faster on MS41 / MS4 (Flash-based) than on MS31 (UV-EPROM) because the Flash erase step is internal and does not require the user to UV-erase the submodule before re-burn.
- Verify reliability: Flash-based submodules give a clean, byte-exact verify on the first read-back, whereas UV-EPROM can have marginal bits that pass one verify and fail the next.
Migration is a direct port: load the original MS31 read-back .ump / .ufp into STRUC L, set the target to MS41 (or MS4), and re-burn. The PM16 firmware boot path treats MS31 and MS41 the same way at the application level; the only difference is the addressing range and the underlying storage technology.
12. Verification After Burn
After a successful burn, perform the following verification steps before the MS submodule is re-inserted into the PM16:
-
Re-read in RCOP: With the MS submodule still in the 6DD1672-0AB0 ZIF, run RCOP's Module → Read against the freshly burned module. Save as a new
.rmp/.rfppair. - Visually inspect the submodule label: Confirm the part number sticker on the MS submodule reads MS41 (or MS4) — a common bench error is to load the burn image from an MS31 project onto a different physical module by mistake.
- Insert into the PM16 and power up: With the rack powered down, insert the MS submodule into the PM16's memory slot. Apply rack power. Confirm the PM16's RUN LED goes solid green within 5 seconds. A flashing RUN LED indicates the PM16 could not load the program; remove the submodule and re-verify the burn.
- Functional check via RCOP / online connection: Connect the engineering PC to the rack via the SINEC H1 or service port. In RCOP, select Online → Status. Confirm that the PM16 reports the expected project name, CRC, and version string.
13. Troubleshooting Matrix
| Symptom | Likely cause | Action |
|---|---|---|
| RCOP does not detect programmer | simadyn.sys not loaded, or LPT base address mismatch | Verify SIMADYN line in CONFIG.SYS; check BIOS LPT1 = 0x378 |
| RCOP detects programmer, MS31 read fails mid-stream | Dirty ZIF contacts, MS31 inserted reversed | Power off, reseat, clean ZIF with isopropyl; verify pin-1 orientation |
| STRUC L reports "Unknown file format" on .ump load | File is actually .rmp / .rfp; rename step was skipped | Rename .rmp → .ump and .rfp → .ufp; reload |
| Burn completes, verify fails on a few bytes | Marginal / counterfeit EPROM, or insufficient UV-erase on reused MS31 | Replace MS submodule; use a new MS41 instead of reused MS31 |
| LRSTOP/2/59 "Configuration is incompatible" from MSPP | MSPP target/processor matrix does not match the physical module or the .ump header | Switch to STRUC L for the burn, or correct the MSPP target tag |
| PM16 RUN LED flashes after insertion | Burn image is for a different processor generation, or CRC is wrong | Re-verify the burn; check that STRUC L target was set to PM16 (not PM5 / PM6) |
| USB-to-parallel adapter present, RCOP hangs at "select module" | Adapter cannot bit-bang the parallel port at the 6DD1672-0AB0's expected timing | Replace with a native PCI / PCIe parallel port card |
14. Frequently Asked Questions
Can the 6DD1672-0AB0 program an MS31 (6DD1610-0AF1) module?
Yes, but the MS31 is not listed in the older 6DD1672-0AB0 module support table. The MS31 is electrically compatible with the ZIF socket; read it out with RCOP, rename .rmp/.rfp to .ump/.ufp, edit in STRUC L, and burn to a fresh MS31 (or, preferably, migrate to MS41/MS4). Siemens documentation recommends migrating from MS31 to MS4 or MS41 whenever a re-burn is required.
Can I program a PM16's MS submodule online (in-circuit)?
No. The PM16's MS submodule must be removed from the host and programmed offline in the 6DD1672-0AB0. RCOP can communicate online with the PM16 for status and diagnostics via SINEC NML, but the user-program memory of the MS submodule is not writable in-circuit.
What does the LRSTOP/2/59 "Configuration is incompatible" error mean?
It is raised by the MSPP V4.2 pre-burn consistency check when the target submodule type, the processor type in the .ump/.ufp header, and the physical module's hardware ID do not all match. The recommended fix is to abandon MSPP and burn via STRUC L, which performs the same target/processor check in a friendlier front end.
What is the minimum software version to use with the 6DD1672-0AB0?
Field-proven working set is simadyn.sys (release on driver disk), RCOP V4.2.7-E, STRUC L V4.2.7-E, IBS V4.0.3, and SINEC NML V3.01.E. Earlier V4.0 / V4.1 builds of RCOP and STRUC L do not recognize MS41 and raise compatibility errors similar to LRSTOP/2/59.
Can I use a USB-to-parallel adapter with the 6DD1672-0AB0?
No. The 6DD1672-0AB0 expects a native parallel port with hardware handshake on the data register; most USB-to-LPT bridges cannot meet the timing and the programmer hangs at the "select module" step. Use a PCI or PCIe parallel port card with a native SPP/EPP BIOS mode instead.