1. Problem Overview
A legacy supervisory layer built around a SIMATIC S5-115U PLC equipped with a CP 1430 TF communications processor stops exchanging data with MS-DOS 6.22-based HMI/operator stations running Open Concepts PDS-SE drivers. Plant mimics freeze, log values are not refreshed, and the operator panel appears alive but disconnected. The CP 1430 is reachable through 10BASE2 thin Ethernet, yet no transport connection completes.
The most common trigger in this class of system is a silent MAC-address drift caused by replacement of the PC-side 3COM Etherlink III combo NICs (3C509) without updating the corresponding remote MAC entries inside the CP 1430 TF database. Because Fetch/Write is a non-open service in the TF protocol family, the change is invisible on the PC side and only manifests as a stuck connection at the PLC.
This reference covers:
- Interpreting the
0DFFerror returned byshowcfg.exefrom the PDS-SE driver - Re-establishing the Fetch/Write handshake between CP 1430 TF and the HMI PCs
- Validating the supporting FB 238/239 and FB 241-251 blocks in the CPU 945
- Mapping a forward migration path to S7-300/400 with SIMATIC NET OPC
2. System Architecture and Components
Understanding the wiring is the first step to isolating the fault. The reference architecture that produces this error pattern is summarized below.
| Layer | Component | Role / Order Number |
|---|---|---|
| Controller | SIMATIC S5-115U, CPU 945 | Program execution, FBs 238-251 handling TF transport |
| Comms processor | CP 1430 TF | SINEC H1 / TF transport, configured via COM 1430 or STEP 5 |
| Physical medium | 10BASE2 thin Ethernet, RG-58 AUI | AUI-to-BNC transceiver on PLC side |
| NIC (PC) | 3COM Etherlink III Combo (3C509) | ODI driver, jumperless or software-set MAC |
| Host software | PDS-SE v3.2, Open Concepts Inc. (1990-1992) | OEM product, successor AdQue Digital Display Systems |
| Host OS | MS-DOS 6.22 | Single-tasking, no plug-and-play |
| Application | Plant mimics / logo view HMI | Consumes process tags through Fetch/Write |
3. CP 1430 TF Communication Stack
The CP 1430 TF implements a layered stack on top of 802.3 10BASE2:
- Physical: AUI drop, transceiver, RG-58 coax backbone terminated with 50 Ω BNC terminators at both ends.
- Data link: IEEE 802.3 with on-board MAC (readable via COM 1430).
- Network: SINEC H1 addressing. CP 1430 holds up to MaximumCircuits = 32 configured connections.
- Transport: SINEC TF (Technological Functions) offering SEND/RECEIVE and FETCH/WRITE services.
- Application: Standard DBs and the FETCH/WRITE job interface for the CPU.
Two official reference documents drive the TF configuration:
-
SINEC TF user interface — User Interface for the SINEC Technological Functions, Siemens order number
6GK1971-1AB00-0AA1, Release 02. -
SINEC H1 Triaxial Networks Manual, Siemens order number
6GK1971-1AA20-0AA1, Release 03 (used historically for the triaxial variants; consult your local Siemens distributor for current availability).
4. Root Cause: MAC-Address Drift After NIC Replacement
Fetch/Write is a connection-oriented, configured service. Both the CP 1430 TF database and the PC driver must agree on:
- Remote IP/Ethernet MAC of the peer
- Transport Service Access Point (TSAP) on each side
- Direction (initiate at CP or at PC)
- DB number and length on the PLC side
When a 3C509 NIC is replaced, the burned-in 48-bit MAC changes. The CP 1430 TF keeps the old MAC in its connection table. Because PDS-SE talks FETCH/WRITE (a non-open, vendor-fixed service), the HMI PC has no protocol-level way to advertise its new address — the connection simply times out at the transport layer.
The same symptom appears when the plant has expanded from N to N+k operator stations and the new PCs were added without re-running FD => CP on the CP. Hence the operator statement "the PCs have 6 NICs before" is a direct hint that several of the current stations no longer match the CP database.
5. Diagnostic Procedure with showcfg.exe
The Open Concepts PDS-SE v3.2 driver ships a small diagnostic utility: showcfg.exe. Run it from the DOS prompt on the HMI PC:
C:\PDS> showcfg
Buffer = 16
Queue size = 32
MaximumCircuits = 32
Error Occurred = 0DFF
| Field | Meaning |
|---|---|
| Buffer | Internal driver buffer count (default 16). Adjustable only through the Open Concepts build. |
| Queue size | Maximum pending PDUs per circuit (default 32). |
| MaximumCircuits | Total configured transport connections in the CP (default 32, hard limit of CP 1430 TF). |
| Error Occurred | Last reported driver error code. 0DFF means no connection established / no data block served for the active circuit. |
The 0DFF code is a PDS-SE-internal value (not a Siemens SINEC code). Its meaning in this driver family is "no transport connection ready within timeout". The driver masks the underlying SINEC TF reason, so additional evidence must be collected at the CP side.
5.1 Cross-checks before touching the configuration
- Verify the BNC T-piece and 50 Ω terminators on both ends of the 10BASE2 segment. Remove power before reseating.
- Inspect the AUI-to-RG58 transceiver. A "heartbeat" failure (missing SQE test pulses) is interpreted by 3C509 ODI drivers as no link.
- Boot a DOS laptop with a known-good 3C509 and a packet capture tool (e.g., ethereal-dos or a manual
NDISsniffer) and confirm 802.3 frames from the CP MAC are visible on the segment. - Compare the MAC of the current NIC (printed on the white label of the 3C509) against the value stored in the CP 1430 TF connection database.
6. Error Code 0DFF Analysis
The driver returns 0DFF when the open-circuit condition has been observed for at least one full polling cycle. The two most likely upstream reasons are:
| Upstream reason | Detection | Resolution |
|---|---|---|
| Remote MAC mismatch (NIC replaced) | CP 1430 TF STAT register shows "no partner"; new PC MAC differs from configured remote MAC. | Edit CP database and re-issue FD => CP. |
| TSAP / DB number mismatch | CP shows "connection refused — invalid TSAP". | Align TSAPs and DB lengths between CP and PDS-SE SETUP.EXE. |
| CP not in RUN state | CP front-panel LED indicates STOP or "PG mode". | Switch CP 1430 TF to RUN; cycle power if RAM is volatile. |
| No CPU-side FETCH/WRITE handler | CPU 945 ISTACK shows OB 1 not calling the "all" job interface. | Load FB 238/239 (SEND/RECV "all") and the job interface FBs. |
7. FB and OB Configuration in CPU 945
FETCH/WRITE on the S5-115U requires a minimum set of FBs installed in the CPU 945 user memory:
| Block | Function | Required for FETCH/WRITE |
|---|---|---|
| FB 238 | SEND "all" (CP handshake to PLC) | Yes — load unconditionally |
| FB 239 | RECEIVE "all" (CP handshake to PLC) | Yes — load unconditionally |
| FB 244 | SEND (direct, application → CP) | Optional, only for SEND/RECEIVE |
| FB 245 | RECEIVE (direct, CP → application) | Optional, only for SEND/RECEIVE |
| FB 246-251 | FETCH / WRITE job interface | Yes — load in CPU |
| OB 21 / OB 22 | Cold / warm restart (load "all" FBs) | Yes — call FB 238/239 in restart |
| OB 1 | Cyclic — call FETCH/WRIVE handler | Yes — call FB 246-251 from OB 1 |
The job interface FBs (FB 246-251) implement the FETCH and WRITE requests on the application side. They are not re-entrant: each station on the network needs its own job number range. The CP 1430 TF, not the CPU, performs the actual transport handshake, so changes to the FBs are required only if the PLC program has been reloaded or if the FBs were overwritten by another utility.
8. Step-by-Step Resolution
Use the following ordered procedure. Each step is a verification gate: do not advance until the gate passes.
Step 1 — Inventory current MAC addresses
- Power each HMI PC. From DOS, run
3c5x9cfg /mac(or the equivalent utility bundled with the 3C509 driver disk). - Record the burned-in MAC. Save to a plain ASCII file named
NICS.TXT. - If a 3C509 utility is not available, read the value from the white barcode sticker on the EPROM of the card.
Step 2 — Retrieve current CP 1430 TF database
- Connect a PG with COM 1430 to the CP 1430 TF service port.
- Select File -> Download from CP -> *FD to receive the full connection database.
- Open the database in the COM 1430 editor and export the connection list as a CSV-style report.
Step 3 — Reconcile MAC addresses
- Cross-check each entry in the connection list against
NICS.TXT. - For each mismatch, note the slot row and the partner MAC that the CP still believes in.
- Decide the source of truth: in most plant environments the CP database is canonical and the NICs are aligned to it. In a greenfield migration the inverse applies.
Step 4 — Edit and re-issue the CP configuration
- In COM 1430, modify the Remote MAC field for each affected connection.
- Save the database locally, then upload to the CP with File -> Send to CP -> *FD.
- Cycle CP 1430 TF power. The module performs a self-test and reinitialises its transport connections.
Step 5 — Re-align the PDS-SE driver
- Boot each HMI PC into DOS. The PDS-SE driver reads its configuration from a binary file in
C:\PDS. - Run
SETUP.EXEand confirm the partner MAC and TSAP values match the new CP database. - Save and exit; restart the HMI application.
Step 6 — Validate the CPU-side FBs
- Connect a PG with STEP 5 to the S5-115U.
- Use File -> Blocks to confirm FB 238, FB 239 and FB 246-251 are present in the CPU.
- Cross-reference the FB calls inside OB 21/OB 22 (FB 238, FB 239) and OB 1 (FB 246-251).
- If any FB is missing or overwritten, reload from the project archive.
9. Verification and Functional Testing
- From a known-good HMI PC, run
showcfg.exeagain. The line Error Occurred = 0DFF must clear within one polling cycle (typically < 5 s) once the CP establishes the circuit. - Open the plant mimic and toggle a bit in the PLC (e.g., a marker that is mapped to the mimic). Verify that the change is reflected within one FETCH cycle.
- Check the CP 1430 TF front panel: the TXD and RXD activity LEDs must toggle symmetrically under load.
- Watch the CPU 945 ISTACK for any OB 24 (timeout) or OB 25 (fault) entries. None should appear during a one-hour soak test.
- Optionally, run a third-party ping-equivalent for SINEC H1 from the PDS-SE driver prompt to confirm each of the six NICs is now reachable.
10. Migration Path to S7-300/400
The S5-115U + CP 1430 TF + DOS HMI stack is end-of-life. A planned migration to S7-300/400 with SIMATIC NET OPC will eliminate the recurring maintenance cost of repairing the SINEC H1 segment. Two official options are recommended by Siemens support for migrating Fetch/Write applications:
- Direct replacement using SIMATIC NET OPC and Fetch/Write to S5. The PG/PC continues to talk Fetch/Write to a CP 1430 TF or to an S7-CP that emulates the role. See the application example "How do you configure S5-compatible communication to the SIMATIC S5 via Industrial Ethernet for the SIMATIC NET OPC server" in the SIMATIC NET documentation set, page 19 onward.
- Gateway mode. Replace the CP 1430 TF with an S7 CP (e.g. CP 343-1) and use the S7-side Fetch/Write library to expose the same data. See "How do you set up a Fetch/Write connection (S5-compatible communication) to the SIMATIC S5 via Ethernet for the SIMATIC NET OPC server", page 24 onward.
For greenfield PC software, consider the Siemens Industry Online Support portal which hosts the latest migration guides, the S5-to-S7 converter utilities and the SIMATIC NET PC software V20 documentation.
11. Field-Proven Caveats and Edge Cases
- PG mode at the CP. If a programming device is connected to the CP service port and a software download is in progress, transport connections are paused. Always perform configuration changes on a maintenance window, not during production.
- Volatile memory on older CP 1430 TF. Some early modules had battery-backed but not flash-backed memory. A long power-down will erase the connection database. The current configuration must be archived on the PG after every change.
- AUI transceiver SQE. The 3C509 ODI driver does not support SQE disable explicitly. If your AUI-to-BNC transceiver emits SQE pulses by default, the link may flap. A 10BASE2 transceiver with an SQE-disable switch is preferred.
- Mixing triaxial and 10BASE2. The SINEC H1 triaxial variant is electrical-incompatible with 10BASE2. If the original 6GK1971-1AA20 triaxial manual describes the same network, do not intermate transceivers.
- CPU 945 user memory. The CPU 945 is the high-end 115U CPU. Reloading the entire FB set occupies only a few hundred bytes of user memory; no memory upgrade is required to recover the Fetch/Write handler.
12. Diagnostic Decision Matrix
| Symptom | Likely cause | First action |
|---|---|---|
showcfg.exe shows 0DFF, CP RX LED dark |
10BASE2 segment open, no terminator, no SQE | Verify BNC terminators and AUI transceiver SQE switch |
0DFF on one PC only, others OK |
NIC replaced, MAC not in CP DB | Update CP 1430 TF connection entry; re-issue FD => CP |
All PCs show 0DFF
|
CP in STOP or PG mode | Switch CP to RUN; verify CPU-side FB 238/239 calls in OB 21/22 |
Intermittent 0DFF under heavy load |
CPU 945 job limit exceeded | Reduce number of concurrent stations or upgrade CPU |
| Connection status shows LOCAL ERR | TSAP or DB length mismatch | Reconcile PDS-SE SETUP.EXE with COM 1430 database |
What does the showcfg.exe error code 0DFF actually mean?
0DFF is an Open Concepts PDS-SE driver-internal return code meaning "no transport connection ready within timeout". It is not a Siemens SINEC code and it does not by itself identify the root cause. Use it as the trigger to inspect the CP 1430 TF connection list for MAC, TSAP and DB length mismatches.
Do I need to modify the FBs in the CPU 945 after replacing a 3C509 NIC?
No, the FBs themselves (FB 238, FB 239 and FB 246-251) do not change. They implement the transport handshake, which is independent of the partner MAC. Only the remote MAC entries in the CP 1430 TF database must be updated, and the configuration re-issued with FD => CP.
Is Fetch/Write a non-open service in SINEC TF?
Yes. The Fetch and Write services are connection-oriented, configured, non-open services. They are negotiated at configuration time and do not expose an open TCP/UDP-style port to the HMI PC. The PC-side driver must therefore know the partner MAC and TSAP ahead of time, which is why a NIC replacement is invisible to the HMI but lethal to the connection.
Can the CP 1430 TF keep more than 32 connections?
No. The MaximumCircuits = 32 value reported by showcfg.exe is the hard limit of the CP 1430 TF hardware. Adding a 33rd operator station requires either an additional CP 1430 TF in the same rack or a migration to an S7 CP that supports more circuits.
What is the recommended migration target from a CP 1430 TF?
Replace the S5-115U with an S7-300 (or S7-400) equipped with a CP 343-1 (or CP 443-1) and use the SIMATIC NET OPC server to expose the same Fetch/Write data. The official SIMATIC NET documentation describes both a direct replacement path and a gateway path; both are listed in the SIMATIC NET PC software V20 manual set on the Siemens Industry Online Support portal.