ET 200S 1SI Modbus Module: Configuring 8 vs 32-Byte Process Image

David Krause12 min read
S7-300SiemensTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

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
Firmware compatibility: 1SI firmware ≥ V1.0.0 supports the 32-byte process image. The 1SI module is functionally the same on all ET 200S head modules (IM 151-1, IM 151-7, IM 151-8 PN/DP CPU, and IM 151-8F PN/DP CPU) — the difference between "8 byte" and "32 byte" catalog entries is purely a slot-width configuration choice, not a hardware revision.

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:

  1. Sufficient slot memory to address 32 input + 32 output bytes for the module.
  2. 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.

Diagnostic test: if you only see 8 bytes for the 1SI, install the latest HSP for STEP 7 (TIA Portal: device description files / GSD). If the head is IM 151-1AA03-0AB0 or older, the 32-byte variant will not appear because the interface module itself does not advertise it.

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

  1. Open SIMATIC Manager (STEP 7 V5.x) or TIA Portal.
  2. Open the HW Config of the ET 200S station containing the IM 151-8 PN/DP CPU (6ES7 151-8AB00-0AB0).
  3. 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).
  4. Drag the desired entry into the slot. STEP 7 reserves 8 or 32 I + 8 or 32 O bytes automatically.
  5. Double-click the slot, open Properties → Addresses. Adjust the start address if needed (avoid overlap with other modules).
  6. 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)
  7. 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
The 1SI as Modbus slave is straightforward: you populate a DB with holding-register data; the FB 9 takes care of Modbus PDU encoding, CRC, and RTU framing. As master, you build a request DB with the slave ID, function code, and register range, then call FB 8 in a cyclic OB.

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
For 2-wire RS-485 Modbus RTU, strap terminals 1↔3 and 2↔4 (T ↔ D) to put transmitter outputs in parallel with receiver inputs. Fit 120 Ω termination resistors at each end of the bus, switched in via HW Config parameter "Termination" if the 1SI is at a line end, or use an external active terminator.

Verification and Commissioning Steps

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. For master mode, force the START bit in the request DB and watch STATUS change from 0x0000 (idle) to 0xFFFF (in progress) to 0x0000 with 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.

Back to blog