Connecting Siemens SIMATIC TDC to GE iFIX HMI/SCADA via the SI7 Driver
1. Integration Overview
The SIMATIC TDC (Technology and Drives Controller) is a high-performance Siemens control platform typically applied to drive and process control duties. TDC controllers do not advertise a native iFIX/SCADA communication profile, so integrating them with GE iFIX requires the controller to expose itself as an S7-400-compatible station over Industrial Ethernet. Two integration paths are commonly used:
- SI7 native driver — the GE Vernova-supplied driver that is bundled with iFIX and that speaks S7 protocol directly to a TDC rack. This is the lowest-overhead path because iFIX talks to TDC without an intermediate OPC server.
-
Siemens PMC OPC Server — Siemens order code
2XV9450-1WC44-0CA0. The server brokers S7 traffic between TDC and a client (iFIX OPC DA client, or iFIX PDB via OPC). Use it when iFIX must share the controller with other OPC clients or when SI7 is not licensed.
This article focuses on the SI7 driver path because it eliminates the OPC round-trip that frequently causes multi-second-to-minute poll times on 1024-byte blocks over Simatic Net OPC.
2. Prerequisites
2.1 Hardware
- SIMATIC TDC rack with a CPU module (typically CPU 555 or CPU 551) and an Ethernet CP module (e.g., CP 444, CP 443-1, or CPEB).
- Managed industrial Ethernet switch (SCALANCE-class or equivalent). Full duplex on every port; no blocking of TCP port 102.
- iFIX SCADA workstation with a fixed IP address on the same subnet. Multiple NICs are only useful if iFIX also serves other VLANs.
2.2 Software on the TDC engineering station
- SIMATIC Manager (STEP 7 V5.x) with the optional TDC add-on (CFC and S7 add-ons).
- SIMATIC NET PC software — used only to generate the XDB export and as a fallback path.
- S7 block library containing
S7CONandDB_Psystem blocks.
2.3 Software on the iFIX PC
- GE iFIX with the SI7 driver license active in the iFIX License Manager.
- SIMATIC NET PC software installed on the iFIX PC. The SI7 driver does not speak TCP/102 by itself — it relies on Simatic Net's
S7ONLINEaccess point and S7-1613 DLL. At minimum, install the S7 communication components.
2.4 Firmware and version compatibility
- TDC CPU 555 firmware V8.x or later is recommended; older firmware has known issues negotiating large S7 PDUs.
- Verify the iFIX build against the SI7 driver release notes. Mismatched Simatic Net versions on the iFIX PC are the most common cause of intermittent disconnects.
3. Reference Architecture
The connectivity model is a single S7 connection between the TDC and the iFIX PC, terminated at iFIX by Simatic Net's S7ONLINE access point and consumed by the iFIX SI7 driver.
Protocol on the wire is S7 communication over ISO-on-TCP (RFC 1006) on TCP port 102. TDC announces itself with S7-400-style addressing even though the physical rack is TDC hardware. From iFIX's perspective the TDC is just another S7 station.
4. Method A — Native SI7 Driver Configuration
4.1 Build the S7-visible image of the TDC
In a TDC project, S7 communication is not automatically exposed. To make DBs visible to iFIX, three components must be present:
- An
S7CONblock instantiated in the TDC project that opens the S7 connection channel. - A
DB_Pblock (per-instance data block) that holds the data iFIX must read or write. - A NetPro configuration that defines the partner as a PC Station so the XDB export target is well-formed.
4.2 Configure the S7CON block
Place an S7CON block in the CFC editor (or as an S7 block call in a TDC chart). The relevant parameters are:
| Parameter | Typical value for iFIX SI7 | Notes |
|---|---|---|
ID |
1 |
Local connection ID; must be unique in the TDC. |
LADDR |
Next free local S7 connection resource | Auto-assigned by NetPro on compile. |
REM_IP_ADDR |
IP of the iFIX PC | IPv4 dotted decimal. |
REM_RACK |
0 |
The PC Station appears as rack 0. |
REM_SLOT |
1 |
Logical slot of the PC Station. |
CON_TYPE |
TCP (ISO-on-TCP) | Required for SI7 over Ethernet. |
ACTIVE |
FALSE |
iFIX establishes the connection; TDC is passive. |
After compiling, download the TDC program and verify in the online view that connection ID=1 is in ESTABLISHED state.
4.3 Generate the S7-accessible DB_P block
The DB_P (“DB permanent”) block in TDC is a per-instance data block that survives a warm restart and lives in load memory. To make the DB addressable over S7:
- Declare the data structure in the TDC symbol table or DB source.
- Place a
DB_Pblock in the CFC and connect the data points you want to publish. - Use S7-conformant data types only:
BOOL,INT,REAL,BYTE,WORD,DWORD,STRING. UDTs and arrays of UDTs may not be fully understood by the SI7 driver; prefer flat structures. - Note the resulting DB number — SI7 will reference it as
DB<n>,REAL<offset>,DB<n>,BOOL<offset>, etc.
Recommended source pattern:
DB_P "iFIX_INTERFACE"
STRUCT
Tag_001_INT : INT := 0;
Tag_002_REAL : REAL := 0.0;
Tag_003_BOOL : BOOL := FALSE;
...
END_STRUCT
END_DB
Compile and download. The DB must be visible in the TDC online block view as DB <n> for SI7 to see it.
4.4 NetPro configuration and XDB export
This is the step most engineers miss. The TDC project must contain a partner PC Station for the iFIX PC, and the project must be exported to an XDB file. The XDB is imported into Simatic Net on the iFIX PC; Simatic Net uses it to bind the S7 connection name to the S7ONLINE access point the SI7 driver consumes.
- Open NetPro for the TDC project.
- Add a partner station: Insert → Station → PC Station. Set its name to match the Windows host name of the iFIX PC (or its Simatic Net station name).
- On the TDC CPU, add a new S7 connection targeted at this PC Station. Connection type: S7 connection. Connection partner: the PC Station just created.
- Assign the local connection ID (e.g.,
1). The remote access point must beS7ONLINE. - Save and compile. NetPro reports the configured connection.
- Export to XDB: right-click the TDC project → Export → XDB to disk or directly to the iFIX PC.
4.5 iFIX SI7 driver SCU configuration
On the iFIX PC:
- Install Simatic Net PC software and verify the S7ONLINE access point is configured.
- Import the XDB into Simatic Net (Start → Simatic Net → Commissioning Wizard). The wizard creates a logical connection named after the one defined in NetPro and binds it to
S7ONLINE. - Open the iFIX SCU (System Configuration Utility). Add a new SCADA server. Under Drivers, ensure
SIM (SI7)is listed with statusStarted. - Configure the SI7 channel:
-
Channel Name:
TDC_CPU1 - Primary Address: TDC CP IPv4 address.
-
Connection Name: the Simatic Net connection name imported from the XDB (e.g.,
S7CONN_1).
-
Channel Name:
- Under the SI7 Device:
- Protocol: S7-400 (use this even for TDC; TDC responds as S7-400).
-
Rack:
0(typical TDC CPU logical rack — verify in the TDC hardware configuration). -
Slot:
2(typical CPU slot in TDC; wrong slot is the single most common reason tags fail to read). - Poll Time (ms): 500–1000 ms typical; lower only if network latency is low and DB size is small.
Map PDB tags to the driver fields:
| PDB Tag Field | Example Value |
|---|---|
TAG_NAME |
TDC_TEMP_01 |
I/O_DEVICE |
TDC_CPU1 |
SCAN |
OFF or scan group letter |
RAW_VALUE_TYPE |
F (float), L (long), B (boolean), X (raw bytes) |
ADDRESS |
DB101,REAL0 or DB101,X0.1024 for block reads |
LOW_ENGINEERING_UNITS, HIGH_ENGINEERING_UNITS
|
Scaling per plant |
ENABLE |
ON |
For array reads of large buffers, set RAW_VALUE_TYPE = X (raw bytes) and ADDRESS = DB101,X0.1024. This maps the entire block into a single PDB tag, pushes a single S7 read PDU, and is the fastest path for large DBs.
5. Method B — PMC OPC Server Fallback
If SI7 is not licensed or iFIX must share data with other SCADA clients, the Siemens PMC OPC Server (2XV9450-1WC44-0CA0) is the supported fallback.
5.1 Server installation
Install the PMC OPC Server on a Windows node that has Simatic Net and read access to the same XDB used for the SI7 path. License the server with the supplied Siemens license key.
5.2 Add the TDC station
- Create a new S7 station. Point it at the XDB (preferred) or directly at the TDC CP's IP.
- Specify rack
0, slot2for the TDC CPU. - Enable block-oriented subscription mode. Without it the server defaults to per-item reads and performance collapses on multi-field DBs.
5.3 iFIX OPC client configuration
In iFIX, choose the OPC power tool instead of the SI7 driver. Add an OPC DA connection to the PMC server, browse the tags by DB number, and subscribe at a poll interval appropriate to the data. Avoid mapping a 1024-byte block to a single OPC tag polled faster than 1 Hz; OPC DA servers typically cannot sustain this at the default subscription rate and will buffer, producing multi-second-to-minute scan times that have been observed in field deployments.
6. Performance Tuning for Large Data Blocks
A 50-second update time on a 1024-byte DB is a typical symptom of an OPC pipeline that has not been configured for block reads. Common causes and mitigations follow.
6.1 Root-cause matrix
| Symptom | Likely Cause | Mitigation |
|---|---|---|
| 50 s to send/receive 1024 bytes | Simatic Net OPC default subscription is per-tag, not per-block; each item becomes a separate S7 fetch. | Subscribe to DB101,X0..1024 as a single item. |
| 50 s latency with intermittent timeouts | S7 PDU length is the default 240 bytes; many round-trips to assemble the buffer. | In Simatic Net Configuration Console, raise MAX_PDU_LENGTH to 480 or 960 if both TDC firmware and Simatic Net version support it. |
| High CPU on the iFIX PC | iFIX poll group scan rate (e.g., 100 ms) is faster than OPC can deliver. | Raise the SI7 channel poll time to 500–1000 ms; raise the PDB tag scan time to 2 s for non-critical tags. |
| First read fast, subsequent reads slow | First read fits one PDU; subsequent reads trigger dynamic re-segmentation. | Pre-declare data block size in the SI7 device configuration so the driver emits a maximal-length read every cycle. |
| Latency appears only after reconnect | Connection is being torn down by Simatic Net keep-alive. | Reduce keep-alive probes; verify the switch has IGMP/multicast snooping disabled for unicast S7 traffic. |
6.2 DB segmentation
A 1024-byte DB is large but not extreme. If a single block read still exceeds the required scan time:
- Split the data into multiple smaller DBs (e.g., four DBs of 256 bytes each).
- Subscribe via four block reads instead of one.
- iFIX assembles the values; from the operator's perspective the data still appears as one logical group.
Each S7 read PDU is bounded by MIN(MAX_PDU_LENGTH, MAX_PDU_LENGTH_TDC). Two or three smaller DBs typically round-trip faster than one large DB because TCP sends them in parallel and the S7 channel can pipeline them.
6.3 SI7 driver tuning parameters
| Parameter | Default | Recommended for large DB | Effect |
|---|---|---|---|
MAX_PDU_LENGTH |
240 | 480 or 960 | Larger PDU = fewer TCP round-trips. |
NUMBER_TCP_CONNECTIONS |
1 | 1–2 | Parallelizes polls; increases TDC load. |
SCAN_NORMAL_MSEC |
1000 | 500–1000 | Lower than ~250 ms overloads TDC S7 endpoints. |
SCAN_SLOW_MSEC |
5000 | 5000 | Unused in tight loops. |
ENABLE_BACKGROUND_POLL |
ON | ON | Required for tag change detection. |
Verify the parameter names against the installed driver version; field names can differ between iFIX releases.
6.4 iFIX PDB scan groups
- Place fast tags (≤500 ms) in scan groups
A–Hassigned 500 ms. - Place normal tags in scan groups at 1000 ms.
- Place slow-control and status tags at 2000–5000 ms.
- Avoid placing a 1024-byte block tag on a 250 ms scan; even 500 ms is sufficient for operator HMI purposes.
6.5 Network considerations
- Confirm full duplex on every switch port along the path. Half duplex is the single most common cause of intermittent 5–30 second stalls on S7 over Ethernet.
- Disable flow-control or storm-control on the S7 path if those have been imposed for other VLANs.
- Do not route through firewalls that perform deep packet inspection on TCP/102. S7 is sensitive to MTU and fragmentation.
7. Verification and Diagnostics
After configuration, validate the link with the following checks:
-
Driver online status — in the iFIX System Configuration Utility, the SI7 channel and device should show
Started/OK. VerifyCommunication Active: Yes. - Single-tag test — in the iFIX Database Manager, right-click any mapped tag and use Force/Test Value to confirm the read path round-trips.
-
Block test — in the SI7 driver diagnostic (or via Simatic Net diagnostic), force a
DB<X>,X0..Nread and confirm the response time. - Throughput benchmark — record the average and worst-case scan time over 10 minutes with all tags subscribed. Re-tune if average exceeds 1 s or worst case exceeds 3 s.
-
S7 view from TDC — open the connection diagnostics on the TDC online view;
OP_countshould increment at the configured poll rate.Lost connectionsshould remain0. - OPC view (Method B) — use an OPC test client to confirm the PMC server returns the same data with latency <1 s; delay here implicates Simatic Net, not iFIX.
8. Troubleshooting Matrix
| Symptom | Likely Cause | Action |
|---|---|---|
Driver shows Started but no tags read |
Wrong rack/slot in SI7 device | TDC slot is typically 2; verify in TDC hardware configuration |
| Tags read intermittently, then drop out | ISO-on-TCP keep-alive collision with switch port | Set switch port to spanning-tree portfast; disable storm control |
| REAL tag returns 0 | Data type mismatch between TDC DB and iFIX RAW_VALUE_TYPE
|
Set RAW_VALUE_TYPE = F for REAL, L for INT/DINT, B for BOOL |
| 1024-byte read returns partial data | PDU length mismatch | Raise MAX_PDU_LENGTH; reduce block size |
| Driver fails to start after iFIX restart |
S7ONLINE access point not set as default |
Open Simatic Net Configuration Console; set S7ONLINE as default access point |
| TDC reports “Connection broken” | PC firewall on iFIX PC blocking inbound TCP/102 | Allow inbound TCP/102 to Simatic Net service |
| Performance degrades after 24 hours | OPC subscription list grows unbounded in iFIX | Restart iFIX SCADA service weekly during maintenance until upstream leak is fixed |
| CISA advisory applies to iFIX version | See ICSA-23-073-03 | Patch iFIX to the fixed version per the advisory |
9. Field Notes and Caveats
- The Dummy PC Station workaround in NetPro is intentional. TDC does not need a real PC Station on the engineering station; it only needs a named connection target so the XDB can be generated. Remove the dummy after the XDB is exported if it confuses tool validation.
- TDC
DB_Pblocks retain data across warm restarts but require a download orINITafter first creation. If iFIX reads garbage on the first poll after a download, force a one-shotDB_Pinitialization on the TDC side. - SI7 polls are best-effort and are not safety-rated. If the iFIX HMI displays TDC status, treat any “no communication” alarm as informational, not as a safety interlock. Use the TDC's internal safety mechanisms for that.
- TDC firmware changes affect S7 PDU negotiation. After any TDC firmware update, re-run the verification suite in section 7; maximum PDU length can drop without a visible alarm.
For additional product background on the SCADA side, see GE Vernova iFIX SCADA. For cyber-security context applicable to iFIX deployments, see CISA ICSA-23-073-03.
FAQ
Does the Siemens SI7 driver in iFIX really talk natively to a SIMATIC TDC?
Yes, but only after the TDC is configured with an S7CON block and at least one DB_P block, and a NetPro XDB export is imported into Simatic Net on the iFIX PC. TDC hardware does not present itself as S7-400 out of the box; the S7CON plus DB_P combination gives it the S7-400 personality the SI7 driver expects.
Why does my 1024-byte DB read take more than 50 seconds through Simatic Net OPC?
Most Simatic Net OPC installations default to per-item subscriptions, meaning each tag in the 1024-byte block generates its own S7 fetch. Subscribe to the entire DB as a single item with raw type (e.g., DB101,X0.1024) and raise MAX_PDU_LENGTH in Simatic Net to 480 or 960 bytes. With block-level reads, scan times below one second are realistic.
What is the difference between DB_P and the standard DB block in TDC?
DB_P (DB permanent) is an instance data block whose content survives warm restarts and is held in load memory of the TDC CPU. The standard DB is volatile. For iFIX SCADA polling, DB_P is required so the data remains stable between scans and is visible via S7 access to the CPU.
Do I need the Siemens PMC OPC Server (2XV9450-1WC44-0CA0) if I already have SI7?
No. PMC OPC is for installations without an SI7 license or for sharing data with multiple SCADA clients via OPC. If iFIX is the only SCADA consuming the TDC, the SI7 driver is the lower-latency and lower-cost path.
What is the right rack and slot for a TDC CPU when configuring SI7?
TDC presents itself as rack 0. The slot depends on the TDC hardware configuration; for a CPU 555 in the standard chassis, slot 2 is typical. Confirm in the TDC hardware configuration in SIMATIC Manager before commissioning the SI7 device. Wrong slot is the single most common reason tags fail to read.