Reading and Mapping Array Tags in SIMIT via OPC Client Couplings for SIMATIC PCS 7

Reading and Mapping Array Tags in SIMIT via OPC Client Couplings for SIMATIC PCS 7

To read array tags in SIMIT Simulation Platform when interfacing with SIMATIC PCS 7 or WinCC via OPC, deploy an OPC UA (Unified Architecture) coupling rather than legacy OPC DA, or map array elements to individual scalar tags. Standard OPC DA (Classic) does not support dynamic structured array browsing; it requires explicit element indexing (e.g., 'DB10.ArrayName[0]') in the OPC client tag browser. Alternatively, when simulating S7-400 or CPU 410 controllers, use the SIMIT Virtual Controller (VC) or PLCSIM coupling, which reads raw data block arrays directly from the simulated controller memory without OPC communication overhead.

Table of Contents

Executive Summary

Virtual commissioning using SIMIT Simulation Platform enables comprehensive testing of SIMATIC PCS 7 automation programs, operator screens, and safety interlocks prior to physical site installation. When simulating plant skids, drives, or third-party subsystems that exchange batched process data as arrays (e.g. Array[0..99] of REAL), engineers utilizing the SIMIT OPC Client coupling frequently discover that array tags fail to import or appear empty in the simulation signal tree. This limitation stems from legacy OPC Data Access (OPC DA 2.05/3.0) DCOM protocols, which lack standardized complex data type definitions. This technical guide explains how to interface array structures into SIMIT using modern OPC UA couplings, element-level tag parsing, and native Virtual Controller links.

SIMIT Coupling Architecture: OPC DA vs OPC UA vs Virtual Controller

SIMIT provides multiple coupling mechanisms to interface with process controllers and supervisory software:

  • OPC DA Client Coupling: Communicates via Microsoft DCOM with classic OPC servers (such as WinCC OPC DA Server). Restricted to basic primitive data types (BOOL, BYTE, INT, DINT, REAL, STRING).
  • OPC UA Client Coupling: Communicates over cross-platform TCP/IP sockets with modern OPC UA servers, featuring native object-oriented type systems capable of reading one-dimensional and multi-dimensional arrays.
  • Virtual Controller (VC) / PLCSIM Coupling: Interfaces directly with the simulated controller backplane memory, bypassing OPC entirely for high-speed deterministic signal exchange.

Why OPC DA Fails to Browse Structured Arrays

Classic OPC DA was developed before standardized complex data type specifications existed. When a classic OPC DA server (such as WinCC or SIMATIC NET) exposes a global data block containing an array, it either exposes the array as an opaque variant blob or requires the client to request specific individual array index addresses.

Because SIMIT's automated tag import tool queries standard browse trees, array roots appear unexpandable unless explicit element syntax is configured.

Configuring Element-Level Indexing in OPC Client Couplings

To ingest array data through an OPC DA link, the engineer must explicitly address the individual array elements:

  • Syntax in WinCC OPC: <Prefix>:<DB_Name>.<Array_Name>[<Index>] (e.g. S7:[AS01]DB10,REAL0,100 or DB100.DBD0).
  • In SIMIT, create an import signal list in Excel (.csv or .xlsx) mapping each scalar array index to a distinct SIMIT simulation variable, ensuring deterministic simulation behavior.

SIMIT Communication Coupling Comparison

The following table compares the communication couplings available in SIMIT for array data exchange:

Coupling TypeProtocol / TechnologyArray Data SupportUpdate SpeedPrimary Application ScopeOPC UA ClientOPC Unified Architecture (TCP)Native (1D & 2D Arrays)High (~50 ms)Modern PCS 7 / WinCC UA integrations.OPC DA ClientClassic DCOM (Windows RPC)Element-indexed only ([i])Moderate (~100 ms)Legacy WinCC V7.x supervisory testing.Virtual Controller (VC)Direct Memory SimulationFully Supported (Raw DBs)Real-time (~10 ms)High-fidelity AS 410 virtual commissioning.PLCSIM CouplingShared Memory / S7ProSimSupported via DB addressingReal-timeStandard S7-400 bench simulation.Shared Memory (SHM)Named Pipe / C++ DLLRaw Memory StructsUltra-Fast (<5 ms)Custom third-party physics models.

Step-by-Step Array Tag Configuration Procedure

Method 1: Using SIMIT OPC UA Coupling for Native Array Import

  1. In WinCC Explorer, ensure the WinCC OPC UA Server is activated in the project startup list.
  2. Open SIMIT and create a new coupling: Couplings > New Coupling > OPC UA Client.
  3. Enter the endpoint URL of the WinCC OPC UA Server (e.g. opc.tcp://<ServerName>:4862).
  4. Click Connect and navigate to the Tag Browser.
  5. Locate the target array tag in the tree and drag it into the SIMIT Input/Output signal table.
  6. SIMIT automatically expands the array into indexed sub-signals (Tag[0], Tag[1], etc.).

Method 2: Bulk Importing Indexed Tags via CSV in OPC DA Coupling

  1. If restricted to classic OPC DA, open Microsoft Excel.
  2. Create columns for Signal Name, Data Type, and Item ID.
  3. Populate the Item ID column with indexed addresses (e.g. Modbus_Data.Array[0], Modbus_Data.Array[1]).
  4. Save as a CSV file.
  5. In SIMIT, open the OPC DA coupling properties and click Import Signals.
  6. Verify that all array elements appear in the SIMIT signal list with green status.

Verification

To verify that SIMIT successfully reads and writes array variables:

  1. Signal Monitor Check: Start SIMIT simulation in RUN mode. In the SIMIT signal monitor, observe the values of Array[0] through Array[10].
  2. Simulation Write Test: In SIMIT, force Array[0] = 123.45. Switch to SIMATIC Manager or WinCC Runtime and confirm that the corresponding process variable reflects 123.45.
  3. Controller Response: Monitor the CFC chart in test mode. Confirm that technological blocks interconnected to the array elements evaluate the simulated values correctly.

Limitations and Operational Precautions

  • DCOM Security Hardening: Microsoft Windows DCOM hardening updates can block classic OPC DA communication between SIMIT and WinCC. Always prioritize OPC UA to eliminate DCOM vulnerabilities.
  • Scan Rate Overhead: Polling large arrays (1,000+ elements) over OPC DA at high refresh rates (e.g. 50 ms) can overload the WinCC communications server. Throttle simulation cycles to 100-250 ms for non-critical telemetry.
  • SIMIT Virtual Controller Licensing: Virtual Controller couplings require dedicated SIMIT VC runtime licenses in Automation License Manager.

Engineer FAQ

Can SIMIT write values back to an array in the PLC via OPC?

Yes, provided the OPC server item has Read/Write permissions and the data block in the controller is not write-protected.

Why does the SIMIT OPC DA tag browser not show array elements automatically?

Classic OPC DA servers do not enumerate array elements as individual leaf nodes in standard hierarchical browse queries.

Is SIMIT Virtual Controller faster than an OPC coupling?

Yes. Virtual Controller communicates directly over simulated controller memory, achieving cycle times under 10 ms without network protocol latency.

Technical References

Related Articles

Related Tags

  • https://industrialautomation.net/search?query=simatic-pcs7
  • https://industrialautomation.net/search?query=simit
  • https://industrialautomation.net/search?query=opc-communication
  • https://industrialautomation.net/search?query=simulation
6 respuestas