Interfacing PCS 7 V9.0 AS Controllers with Legacy S7-314 CPUs via S7 Communication

Interfacing PCS 7 V9.0 AS Controllers with Legacy S7-314 CPUs via S7 Communication

Establishing communication between a SIMATIC PCS 7 V9.0 automation station (e.g., AS 410-5H) and an existing S7-314 CPU programmed in STEP 7 V5.3—without modifying the vendor's third-party PLC code—is accomplished via a one-sided unspecified S7 connection using PUT (FB15) and GET (FB14) blocks. Because the legacy S7-314 operating system firmware natively processes S7 read/write requests as an S7 server, the connection and communication blocks are configured exclusively on the PCS 7 AS controller. Configuring an unspecified S7 connection in NetPro targeting the S7-314 partner IP address with connection resource 03 (hex) enables seamless data exchange without altering the legacy controller program.

Table of Contents

One-Sided S7 Communication Architecture

In industrial plants, DCS systems frequently need to coordinate with third-party packaged skids (compressors, chillers, water treatment) controlled by legacy SIMATIC S7-300 PLCs (e.g., CPU 314 with CP 343-1). Skid warranties often strictly forbid modifying the vendor's STEP 7 V5.3 program code.

Siemens S7 Communication provides a 'One-Sided' operational mode. In this topology, the client controller (PCS 7 AS 410-5H) initiates and manages the connection. The server controller (S7-314) processes the read and write requests entirely in its internal operating system firmware during cycle pause without executing any user communication blocks.

Why the Third-Party S7-314 Program Requires No Modification

The table below details functional responsibilities across both controllers:

Operational AspectPCS 7 AS 410-5H (Client Station)Legacy S7-314 + CP 343-1 (Server Station)NetPro ConnectionConfigured as Unspecified S7 Connection.No configuration required; connection accepted dynamically.Program BlocksExecutes GET (FB14) to read, PUT (FB15) to write.No code modification; user program executes undisturbed.Connection ResourceClient resource assigned dynamically (e.g., 10 hex).Partner resource fixed to 03 (hex) (Standard S7 Server).Data StorageBuffers stored in CFC chart variables or instance DBs.Data read from / written directly to existing Data Blocks (e.g., DB10).

Configuration Procedure in PCS 7 NetPro and CFC

To establish the one-sided interface from the PCS 7 Engineering Station:

Step 1: Configure Unspecified S7 Connection in NetPro

  1. Open NetPro in the PCS 7 multiproject.
  2. Select the AS 410 CPU -> right-click the connection table -> select Insert New Connection.
  3. Select Unspecified as the connection partner, and choose S7 connection as the type.
  4. In connection properties:
    - Enter the IP address of the third-party S7-314 (or CP 343-1).
    - Click Address Details: set Partner Rack = 0, Slot = 2 (CPU slot in S7-300 rack).
    - Confirm Partner Connection Resource is set to 03 (hex).
  5. Save, compile, and download network configuration (NetPro) to the AS 410.

Step 2: Implement PUT and GET in CFC

  1. In the CFC Editor, instantiate GET (FB14) and PUT (FB15) from the Standard Library (Communication Blocks).
  2. Assign the ID parameter on both blocks matching the local connection ID assigned in NetPro (e.g., W#16#0001).
  3. Configure parameter ADDR_1 with an ANY pointer defining the remote S7-314 DB address (e.g., P#DB10.DBX0.0 BYTE 20).
  4. Configure parameter RD_1 / SD_1 with the local AS 410 data buffer.
  5. Trigger communication cyclically using a clock pulse generator (e.g., every 500 ms) via parameter REQ.

Verification

To verify that communication is functioning cleanly:

  1. In NetPro, select the AS 410 CPU and activate the online connection view: verify the S7 connection indicates status Set up (green).
  2. Open the CFC chart containing the GET block and switch to Online Test mode.
  3. Verify parameter NDR (New Data Received) pulses True and parameter ERROR remains False (0).
  4. Inspect received values in parameter RD_1: confirm they match live process measurements from the S7-314 skid.
  5. Check parameter STATUS: verify it displays 16#0000 (success) during steady-state operation.

Limitations and Operational Precautions

Operational boundaries when interfacing with legacy S7-300 controllers:

  • S7-300 Communication Buffer Limits: The classic S7-300 backplane bus has limited communication throughput. Do not poll GET/PUT on every CPU cycle (e.g., 10 ms); trigger requests every 200 ms to 1 second to avoid starving the S7-314 scan cycle.
  • Maximum Data Payload: A single GET or PUT telegram on S7-300 is constrained by the PDU size (typically 240 bytes). If exchanging more data, utilize multiple parameter pointers (ADDR_1, ADDR_2, ADDR_3, ADDR_4).
  • Do Not Overwrite Protected DBs: Verify with the skid vendor which Data Block addresses are designated as read-only vs command inputs to avoid overwriting internal control loops.

Engineer FAQ

Why doesn't the S7-314 program need any modifications to communicate with PCS 7?

The operating system firmware of S7-300 CPUs acts as an autonomous S7 communication server. It responds to read/write requests from external S7 clients automatically in system memory without executing user blocks.

What partner connection resource must be selected in NetPro?

The partner connection resource must be configured as 03 (hex), which is the standard reserved resource for basic S7 communication on SIMATIC CPUs.

Can PUT/GET blocks be used directly in CFC charts?

Yes, standard communication blocks FB14 (GET) and FB15 (PUT) can be placed in CFC charts and called cyclically using a pulse timer.

What happens if the S7-314 power is lost?

The GET/PUT blocks in the AS 410 assert their ERROR output bit and report STATUS = 16#0001 (communication timeout). Logic should evaluate ERROR to freeze or flag downstream data as invalid.

Technical References

Related Articles

Related Tags

  • S7-314
  • AS-410-5H
  • PUT-GET
  • S7-Communication
  • One-Sided-Connection
  • NetPro
8 respuestas