ET 200S 1SI Modbus/USS Module Overview
The ET 200S 1SI serial interface module (order number 6ES7 138-4DF11-0AB0) is a point-to-point communication module designed for the ET 200S distributed I/O system. It provides one RS-232C / RS-485 / RS-422 channel per module and is used to integrate Modbus RTU masters/slaves, USS drives, and 3964(R) / ASCII protocols into an S7-300 / S7-400 / ET 200S station. The module is mechanically identical to any other ET 200S electronic module and snaps onto a TM-E terminal module.
When the 1SI is loaded into HW Config (STEP 7 V5.x) or the device configuration of TIA Portal, the catalog entry exposes two process image variants: an 8-byte I/O width and a 32-byte I/O width. Both variants point to the same physical module; the choice only defines how many bytes of consistent user data are exchanged per cycle between the backplane bus (PROFINET or PROFIBUS) and the module's internal buffer.
Functionally, the module always processes Modbus RTU / ASCII frames of up to 255 bytes per transaction internally; the "32 byte" setting does not change the frame size. It only changes how many process-image bytes are reserved in the slot, which directly affects how many user-data words the S7 CPU can read or write per backplane cycle.
Module Identification and Order Numbers
The following table summarizes the catalog numbers relevant when sizing an ET 200S station that hosts a 1SI module:
| Function | Order Number (MLFB) | Notes |
|---|---|---|
| IM 151-8 PN/DP CPU (head module) | 6ES7 151-8AB00-0AB0 | ET 200S CPU with PROFINET IO controller + PROFIBUS DP master; 192 KB work memory, 256 KB load memory |
| ET 200S 1SI Modbus/USS module | 6ES7 138-4DF11-0AB0 | Single-channel serial module; supports Modbus RTU master/slave, USS, 3964(R), ASCII |
| TM-E terminal module (screw) | 6ES7 193-4CA...-0AA0 | Mechanical base; required for the 1SI |
| Modbus Master/Slave library CD | 6ES7 138-4DF01-0AB0 (library) / 6AV6 671-1CB00-0AX0 (license) | Provides FB / UDT / example project for STEP 7 V5.x |
Process Image Width: 8-Byte vs 32-Byte Selection
During hardware configuration, right-click the 1SI slot and select Object Properties → I/O Addresses. The dialog exposes the input and output address ranges. The HW Config catalog entry you drag into the slot determines the address length:
| Catalog Entry | Input Range | Output Range | Typical Use |
|---|---|---|---|
| 1SI 8-byte variant | 8 bytes (e.g., IB 256..IB 263) | 8 bytes (e.g., QB 256..QB 263) | Compact stations on PROFIBUS DP with limited slot budget |
| 1SI 32-byte variant | 32 bytes (e.g., IB 256..IB 287) | 32 bytes (e.g., QB 256..QB 287) | Central or PROFINET use, fast Modbus transactions, larger user data areas |
Why does the same physical module appear twice in the catalog? The HW Config catalog tree is grouped by the head module. Some ET 200S interface modules historically shipped with a catalog that only listed the 8-byte variant; the 32-byte variant was added in later Service Packs of STEP 7 (typically ≥ SP2 for STEP 7 V5.4) and is found under the "ET 200S" node rather than the older "ET 200S / Profibus" subnode. Both entries write the same module to the slot — the difference is the address length that HW Config reserves.
Why 32 Bytes Appear Only Under Certain Interface Adapters
The catalog in STEP 7 is filtered by the currently selected interface module. Older HSP (Hardware Support Package) revisions of STEP 7 V5.3 limited the 1SI to 8 bytes on PROFIBUS-DP heads to keep the DP slave's total I/O footprint within the typical PROFIBUS slave limit of 244 bytes total. The 32-byte option was added to the catalog once the head modules had:
- Sufficient slot memory to address 32 input + 32 output bytes for the module.
- A consistent backplane transfer mechanism for 32-byte blocks (PROFINET or PROFIBUS DP-V1 with 32-byte consistency).
On the IM 151-8 PN/DP CPU (6ES7 151-8AB00-0AB0), both PROFINET and PROFIBUS sides support 32-byte consistency, so the 32-byte catalog entry is available. On older IM 151-1 heads (6ES7 151-1AA04-0AB0 and earlier), only the 8-byte variant is listed because the DP-V0 only guaranteed 4-byte consistency.
Decentralized vs Centralized Byte Budget Constraints
On a PROFIBUS DP slave, the total I/O footprint of all modules in the station must fit in the DP slave's max data length. The limits are:
| Standard | Max User Data per Slave | Notes |
|---|---|---|
| DP-V0 (EN 50170) | 244 bytes I + 244 bytes O | 4-byte consistency only |
| DP-V1 | 244 bytes I + 244 bytes O (slot-configurable) | Up to 32-byte consistency with DP-V1 head |
| PROFINET IO | 1 434 bytes I + 1 434 bytes O (per device) | Practically unlimited; 32-byte consistency native |
| Central on S7-300 backplane | No per-station limit; the bus is the backplane | Consistency controlled by SFC14/15 calls |
If the 1SI is part of a PROFIBUS DP slave station with several other modules, choosing 32 bytes may push the slave over the 244-byte budget. In that case you must either drop the 1SI to 8 bytes, split the station, or move the 1SI to a different DP slave. In a PROFINET IO station or in a centralized configuration (1SI plugged into the IM 151-8 PN/DP CPU backplane along with the CPU function), this is rarely a concern.
Throughput Impact: Cycle Time per Data Exchange
Each backplane cycle between the CPU and the 1SI module transfers exactly the configured process image. If your Modbus telegram requires N bytes of user data (registers, holding, input, coil words), the number of backplane cycles needed to move that data is:
cycles = ceil(N / process_image_width)
For a typical Modbus function code 03 (Read Holding Registers) requesting 32 registers (64 bytes payload):
| Setting | Cycles Needed | Approx. Time @ 1 ms cycle | Effective Throughput |
|---|---|---|---|
| 8 bytes | ceil(64 / 8) = 8 | 8 ms | 8 000 reg/s |
| 32 bytes | ceil(64 / 32) = 2 | 2 ms | 32 000 reg/s |
With the IM 151-8 PN/DP CPU the backplane cycle is sub-millisecond, but the principle still applies: the 32-byte variant is up to 4× faster for register-heavy transactions. For slow slaves (typical Modbus RTU at 9 600 bit/s to 115 200 bit/s), the serial line is the bottleneck, so the cycle advantage is usually invisible. For time-critical Modbus traffic on a fast link (≥ 38 400 bit/s) the 32-byte setting is recommended.
Hardware Configuration in STEP 7 (S7-300/S7-400) and TIA Portal
- Open SIMATIC Manager (STEP 7 V5.x) or TIA Portal.
- Open the HW Config of the ET 200S station containing the IM 151-8 PN/DP CPU (6ES7 151-8AB00-0AB0).
- Locate the 1SI module in the catalog: PROFIBUS-DP > ET 200S > I/O > 1SI 6ES7 138-4DF11-0AB0. If the head supports 32 bytes, two entries are visible (8 bytes and 32 bytes).
- Drag the desired entry into the slot. STEP 7 reserves 8 or 32 I + 8 or 32 O bytes automatically.
- Double-click the slot, open Properties → Addresses. Adjust the start address if needed (avoid overlap with other modules).
- Open Properties → Parameters:
- Protocol: Modbus Master RTU, Modbus Slave RTU, USS, 3964(R), or ASCII
- Baud: 300, 600, 1 200, 2 400, 4 800, 9 600, 19 200, 38 400, 57 600, 115 200 bit/s
- Parity: None, Even, Odd
- Data bits / Stop bits: 8N1, 8E1, 8O1, 8N2, etc.
- Flow control: None / XON-XOFF / RTS-CTS (RS-232 only)
- Save, compile, and download the hardware configuration to the IM 151-8 PN/DP CPU.
The hardware configuration is described in detail in the ET 200S Serial Interface Modbus/USS Module User Manual (Siemens document ID 9127658) — section 2 covers terminal assignment and section 4 covers HW Config parameters.
Modbus Master/Slave Library and Licensing
The 1SI is a "raw" serial interface. To run Modbus RTU, you need the Siemens Modbus Master / Slave library:
| Item | Order Number | Delivered As |
|---|---|---|
| Modbus/USS library for ET 200S 1SI | 6ES7 138-4DF01-0AB0 | CD-ROM with FBs, UDTs, sample S7 project |
| Modbus RTU license (one-time, per CPU) | 6AV6 661-7CA01-0AX0 (or successor) | License key; required for runtime |
The library supplies, among others:
-
FB 8 "MB_MASTER"— Modbus master; sends request, reads response -
FB 9 "MB_SLAVE"— Modbus slave; responds to master requests -
UDT 1 / UDT 2— Control and status data blocks for the FBs - Example project with conversion DB layout (referenced as the "Conversion DB" in the original 1SI documentation)
The FB instance is parameterized with:
- Logical base address of the 1SI module
- Pointer to the conversion DB (the data area the master reads from / writes to)
- Timeout, retry count, inter-frame delay
Conversion DB Parameter Reference
The conversion DB is a standard global DB (DB_W or DB_R) that holds the user-data area the 1SI Modbus FB exchanges with the application. From the ET 200S 1SI Modbus/USS User Manual and the TIA Portal help for "Modbus master (S7-300/S7-400)":
| Field | Type | Meaning |
|---|---|---|
| START | BOOL | Edge-triggered start of transaction (master mode) |
| REQ | BOOL | Request flag; toggled to launch a new request |
| SLAVE | BYTE | Modbus slave address 1..247 |
| FUNC | BYTE | Modbus function code (01..16) |
| RD_DATA_PTR | ANY | Pointer to read data area in the conversion DB |
| WR_DATA_PTR | ANY | Pointer to write data area in the conversion DB |
| DATA_LEN | INT | Number of registers / coils to read or write |
| TIMEOUT | TIME | Response timeout; typical 100 ms..2 000 ms |
| DONE | BOOL | Transaction completed without error |
| ERROR | BOOL | Error flag |
| STATUS | WORD | Error / status code (see Section: Error Codes) |
The size of the conversion DB must fit within the configured process image width. A common cause of "STATUS = 0x80C8" (data area too small) is a 64-register holding register area configured on the master but only 32 bytes (= 16 registers) reserved in the process image — fix by enlarging the DB and the 1SI I/O width.
Wiring and Terminal Assignment
The 1SI plugs into a TM-E terminal module. The standard pin assignment (RS-485 two-wire / four-wire / RS-232) is documented in the user manual and reproduced here for reference:
| Terminal | RS-232C | RS-485 4-Wire | RS-485 2-Wire |
|---|---|---|---|
| 1 | TD (transmit data) | T (R+) | — |
| 2 | RD (receive data) | T (R-) | — |
| 3 | RTS | D (T+) | D+/R+ |
| 4 | CTS | D (T-) | D-/R- |
| 5 | — | — | — |
| 6 | — | SGND | SGND |
| 7 | — | — | — |
| 8 | — | — | — |
Verification and Commissioning Steps
- After download, switch the CPU to RUN. The 1SI's DIAG LED should be green and the LINK LED should flash on each received Modbus frame.
- Open Monitor / Modify in STEP 7 and watch the input bytes of the 1SI. For a slave responding to FC03, the first two bytes (function code echo) and the byte count should change within 1–2 cycles.
- Use a third-party Modbus scanner (e.g., "Modbus Poll") on a laptop connected through an RS-485 USB adapter to validate PDU round-trip.
- Check the diagnostic buffer of the IM 151-8 PN/DP CPU for entries of the form "Station failure" or "Module status". A persistent diagnostic indicates a parameter mismatch (e.g., baud or parity) — not a process-image issue.
- For master mode, force the START bit in the request DB and watch STATUS change from
0x0000(idle) to0xFFFF(in progress) to0x0000with DONE=1 (success).
Troubleshooting Matrix
| Symptom | Likely Cause | Action |
|---|---|---|
| 1SI only available as 8-byte in HW Config | Old HSP / older head module | Install latest STEP 7 HSP, or upgrade IM 151-1 to ≥ AA05, or use IM 151-8 PN/DP |
| Slave never responds; STATUS = 0x80C8 | DATA_LEN exceeds process-image width | Switch to 32-byte variant or split into multiple FC03 requests |
| CRC error (STATUS = 0x80Cx where x = 0..6) | Baud/parity mismatch, A/B swapped, missing termination | Verify both ends, swap A/B, terminate 120 Ω |
| Module goes to SF (red) after first frame | Frame length exceeds 255 bytes or wrong protocol selected | Confirm protocol = Modbus RTU; trim data request |
| PROFIBUS slave station reports "Configuration error" | Total I/O of 32-byte 1SI exceeds DP budget | Drop to 8-byte 1SI, or move to PROFINET, or split station |
| Modbus TCP confusion | 1SI supports Modbus RTU only (RS-232/485) | For Modbus TCP use CP 343-1 / CP 443-1 with Modbus TCP FB library instead |
Will the 1SI module physically change if I select 8 bytes vs 32 bytes in HW Config?
No. The module is identical — order number 6ES7 138-4DF11-0AB0. The setting only changes the number of input/output bytes STEP 7 reserves in the slot, and the consistency length of backplane transfers. The same hardware handles both 8-byte and 32-byte configurations.
Why does the 32-byte variant of the 1SI not appear under my PROFIBUS IM 151-1 head?
The IM 151-1 (≤ 6ES7 151-1AA04-0AB0) only supports DP-V0 with 4-byte consistency and exposes only the 8-byte catalog entry. To see the 32-byte variant, use an IM 151-7, IM 151-8 PN/DP CPU (6ES7 151-8AB00-0AB0), or any PROFINET-capable head with the latest STEP 7 HSP installed.
Does choosing 32 bytes increase Modbus throughput on the serial line?
Indirectly yes. The serial baud is the real bottleneck, but a 32-byte process image means fewer backplane cycles to move the same user data, lowering CPU cycle time spent on the FB. For Modbus RTU at ≤ 19 200 bit/s the difference is small; at ≥ 38 400 bit/s the 32-byte setting yields up to 4× faster register-block transfers.
What is the "Conversion DB" referenced in the Modbus FB documentation?
The Conversion DB is the global data block the Modbus FB uses as a holding-register / input-register / coil pool. You allocate it, populate the RD_DATA_PTR and WR_DATA_PTR fields in the FB's instance DB to point at sub-areas, and the FB moves the bytes between the 1SI process image and that DB. Its size must not exceed the configured process-image width (8 or 32 bytes per direction).
Can the 1SI talk Modbus TCP, or only Modbus RTU?
The 1SI is a serial interface module and supports Modbus RTU (RS-232, RS-422, RS-485) only. For Modbus TCP you need a CP 343-1 / CP 443-1 with the Modbus TCP FB library (separate order), or a CP 1243-1 / CP 1542SP-1 on S7-1200/ET 200SP. The 1SI is not a TCP-capable module.