OPC Server and StartDrive Configuring Siemens PLC and Drive

David Krause14 min read
OPC / OPC UASiemensTechnical 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

Overview: OPC and StartDrive in the Siemens Automation Stack

OPC (OLE for Process Control) is the de-facto open standard for exchanging process data between controllers, HMIs, SCADA systems, and higher-level IT applications. In the Siemens environment two distinct families of OPC products exist: classic OPC DA (Data Access) based on Microsoft COM/DCOM, and modern OPC UA (Unified Architecture) over TCP with built-in encryption, authentication, and information modeling. The companion topic of StartDrive is the Siemens engineering tool for commissioning, parameterizing, and diagnosing the SINAMICS drive family (G110M, G120, G120C, G120D, G120P, G130, G150, S110, S120, S210, V20) directly from TIA Portal or as a standalone package.

This reference covers the practical integration of:

  • SIMATIC NET OPC Server for S7-300/400, S7-1200/1500, and ET 200 stations.
  • WinCC / WinCC Professional OPC Server for sharing HMI tags.
  • S7-200 PC Access for legacy S7-200 PPI/MPI/TCP stations.
  • LOGO! 8 to WinCC v7 connectivity over Ethernet using OPC.
  • StartDrive V15.1 / V16 / V17 / V18 for SINAMICS drive integration with SIMATIC controllers.

For a vendor-neutral view of how drives expose data via OPC UA, the ABB OPC UA for drives connectivity page illustrates the broader industry adoption of UA for field-level devices.

OPC Architecture Fundamentals

OPC always operates as a server/client system. The server owns the data source (S7 DB tags, HMI variables, drive parameters) and exposes them as named items. Clients (WinCC, OPC Scout, custom applications) subscribe to those items and read/write them at a configurable update rate.

Component Role Siemens Examples
OPC DA Server Exposes tags as COM items, runs as a Windows service SIMATIC NET OPC Server, WinCC OPC Server, S7-200 PC Access
OPC DA Client Consumes tags, typically built into SCADA WinCC OPC Client Channel, OPC Scout V10
OPC UA Server Exposes nodes of an address space over TCP port 4840 SIMATIC S7-1500 OPC UA Server, WinCC UA Server, SINAMICS S120 OPC UA
OPC UA Client Consumes UA nodes, supports Pub/Sub and security policies WinCC Professional, TIA Portal HMI, third-party SCADA
Version difference: OPC DA is Windows-bound because it relies on DCOM. OPC UA is platform-independent and routable across IT networks. New projects should default to OPC UA whenever the controller, HMI, and SCADA software support it.

SIMATIC NET OPC Server Configuration

SIMATIC NET is the umbrella product for PC-based communication in the Siemens world. It provides OPC servers for S7 (S7-200/300/400/1200/1500), PROFINET, and PROFIBUS. Current releases are shipped as SIMATIC NET V18 (PC software) and operate under Windows 10/11 LTSC and Windows Server 2019/2022.

Typical commissioning sequence:

  1. Install SIMATIC NET PC Software and restart. The S7ONLINE access point must point to the correct PC interface (e.g., Intel PRO/1000 CT desktop adapter for PROFINET, or CP 1623/CP 1628 for hard real-time).
  2. Open SIMATIC NET Configuration Console and assign the network adapter to the S7ONLINE access point. Without this assignment the OPC server cannot resolve TCP/IP[Auto] connections.
  3. Open Station Configuration Editor and add a PC station with the chosen interface (e.g., IE General for soft-PN).
  4. Export the PC station as an XDB and import it into the S7 project so that the PLC knows its S7 connection partner.
  5. Configure the S7 connection with TSAPs: for S7-1200/1500 use 03.01 on the PLC side, for the OPC server side configure a matching TSAP or leave 00.01 for passive partner.
  6. Open OPC Scout V10 (installed with SIMATIC NET) and add a DA group browsing the S7 connection. Add items by drag-and-drop from the S7 symbols table.

Item syntax for S7 connections in OPC Scout:

S7:[S7 connection name]DB1,W0    // Word at DB1 offset 0
S7:[S7 connection name]DB1,BYTE0 // Byte at DB1 offset 0
S7:[S7 connection name]DB1,REAL4 // Real at DB1 offset 4
S7:[S7 connection name]MW100     // Merker word 100
S7:[S7 connection name]I0.0       // Digital input bit 0.0
Performance tip: The default update rate of 500 ms is adequate for SCADA visualization. For control loops keep the rate at 100 ms or lower and group items into a single DA group so they are read in one S7 PDU; per-item requests cost roughly 30 to 80 ms round-trip on PROFINET.

WinCC OPC Server and OPC Client Channel

WinCC V7 and WinCC Professional both ship with an integrated OPC server. The WinCC OPC Server exposes all configured WinCC tags (internal, process, and archive tags) to external OPC clients. Conversely, WinCC can act as an OPC client to consume tags from other servers — this is the standard way to bring data from a LOGO! 8 or S7-200 into a WinCC project.

Adding an OPC client channel in WinCC v7.5 / v7.5 SP1:

  1. Open Tag Management → Add New Driver → OPC. The OPC Channel appears in the tag list.
  2. Right-click OPC Groups → System Parameters and select the OPC server. For SIMATIC NET choose OPC.SimaticNET; for S7-200 PC Access choose OPC.S7200PCAccess.OPCServer; for a remote WinCC station use OPCServer.WinCC.
  3. Right-click OPC → New Connection to open the OPC browser. Drill down into the server's address space and add the desired items.
  4. Link the imported items to WinCC internal tags and reference them in graphics, archives, or scripts.
WinCC Version OPC Standards Supported Server ProgID
WinCC V7.4 / V7.5 DA 2.05a, DA 3.0, AE 1.1, HDA 1.2 OPCServer.WinCC
WinCC Professional V16 / V17 / V18 DA 3.0, UA 1.04 OPC.SimaticHMI.OPCUA
WinCC Unified V17 / V18 UA 1.04 server embedded in Runtime OPC.SimaticUnifiedRT

S7-200 PC Access OPC for Legacy S7-200 Networks

S7-200 PC Access is a dedicated OPC DA server for the S7-200 family. The final release is V2.01 and is the only Siemens OPC product still restricted to OPC DA — there is no UA variant. It supports the following S7-200 communication paths:

  • PPI over RS-485 (PC/PPI cable USB)
  • MPI (CP 5611 / CP 5613)
  • TCP/IP Ethernet (CP 243-1, CP 243-1 IT) on port 102

Configuration workflow:

  1. Create a project, add the PC/PPI cable or CP, and select the baud rate (9 600 / 19 200 / 187 500).
  2. Add client items pointing at V-memory, I, Q, M, or SMB areas (e.g., VW100 for a word at offset 100).
  3. Click Test Client to verify the connection reads live data before exposing items to WinCC.
  4. Set the auto-startup option so that the OPC server begins polling at Windows boot — this prevents the classic "item quality bad after reboot" fault in WinCC.
OS compatibility caveat: S7-200 PC Access V2.01 was tested for Windows XP and Windows 7. On Windows 10/11 it installs under compatibility mode but the PPI USB driver may need to be re-installed manually. For new designs using a S7-200 SMART, the successor tool is PC Access SMART, which supports both DA and UA on port 102.

Connecting LOGO! 8 to WinCC v7 over OPC

LOGO! 8 (6ED1052-xxx08-0BA1 and later firmware) includes an integrated Ethernet interface. From LOGO! 8.FS4 and 8.FS5 onwards the device exposes a Modbus TCP server on port 502 and a S7-compatible server on port 102. There is no native OPC UA server inside the LOGO!, so any SCADA — including WinCC — must reach the device through an OPC server sitting on the PC.

Two proven paths exist:

Approach Software Items Update Rate
Simatic NET OPC with S7 connection to LOGO! SIMATIC NET V16 or later VM area mapping (V0.0 – V850.7) 100 ms
Modbus TCP → custom OPC wrapper Third-party Modbus OPC server (Kepware, Softing, WinCC Modbus driver) Coils 0 – 64, Holding registers 0 – 512 250 – 500 ms

For the SIMATIC NET path, configure the S7 connection in the PC station with the LOGO! IP address and TSAP 02.01 on the PLC side. The LOGO! must be set to "Allow S7 communication" = on in Tools → Ethernet Connections. Items in OPC Scout use the syntax S7:[LOGO_Connection]VW100 for V-memory words; bit items use S7:[LOGO_Connection]V200.0.

For the Modbus path, register mapping on the LOGO! 8 follows a fixed layout defined in the LOGO! 8 Modbus documentation: the first 64 holding registers mirror the process image and the next 448 hold user-defined VM values. The SCADA OPC client reads them as 4x00001 through 4x00512.

StartDrive: SINAMICS Drive Commissioning in TIA Portal

StartDrive is the commissioning, parameterization, and diagnostics tool for the SINAMICS drive family. It is distributed in two forms:

  • StartDrive in TIA Portal (option package): integrates the drive as a device in the project tree alongside SIMATIC controllers, allowing shared PROFINET configuration and S7 function blocks to be wired directly into the drive.
  • StartDrive Standalone: independent install for service laptops that only need to commission a drive without a full TIA project.
Version TIA Portal Compatibility SINAMICS Support Notes
StartDrive V15.1 TIA V15.1 G120, G120C, G120D, G120P, G130, G150, S110, S120, S210, V20 Last release for Windows 7 SP1
StartDrive V16 TIA V16 Adds S120 V6.0 firmware Windows 10 only
StartDrive V17 TIA V17 Adds G220, S200 PROFIenergy profile 2.0
StartDrive V18 TIA V18 S210 V6.4, G120 V6.4 Improved OPC UA server in drive

Commissioning procedure (G120 with CU250S-2 PN on PROFINET):

  1. Install the StartDrive option package from the TIA Portal Setup. Restart the TIA Portal after installation so the device catalog is updated.
  2. Open or create a TIA project, then Add new device → Drives and pick the SINAMICS G120 from the catalog. The GSD/GSDML is loaded automatically.
  3. Assign the drive to a PROFINET IO system with the controller, and assign a device name. Set the IP address either statically in the project or via topology editor.
  4. Drag the drive from the project tree into the Devices & Networks view. Connect it to the S7 controller's PROFINET interface.
  5. Open the drive's Device view and configure telegram 1 (Standard Telegram 1, PZD 2/2) or Telegram 3 (PZD 5/9) as required. For S120 with isochronous mode use Telegram 105 (SIEMENS Telegram 105, PZD 10/10).
  6. Open Commissioning → Online, enter the drive's IP, and click Go online. The StartDrive commission wizard walks through quick commissioning: motor data identification, encoder selection, control mode, and ramp times.
  7. Run Motor data identification (p1910) with the motor uncoupled. For V/f control this is optional; for vector control (p1300 = 20/21/22/23) it is mandatory.

StartDrive Standard Function Blocks for PLC Integration

When StartDrive is installed in TIA Portal, the DriveLib library is registered under Libraries → Global Libraries → DriveLib. It contains the standard S7 function blocks required for cyclic data exchange, reading faults, and writing parameters:

FB Function Standard Telegram Inputs / Outputs
FB 285 SINA_SPEED (open-loop speed control) 1, 2, 3, 5, 102, 105 Enable, SpeedSetpoint, RefSpeed; Status, ActualSpeed, Fault, Warning
FB 286 SINA_POS (basic positioning) 3, 9, 110 Mode, Position, Velocity; Status, PositionActual, Error, ErrorId
FB 287 SINA_PARA (parameter access) Any ParameterNo, Index, ValueRead, ValueWrite, Error, ErrorId
FB 288 SINA_DIAG (diagnostics) Any Fault, Warning, Status word 1/2, ZSW1, ZSW2

Sample call of SINA_SPEED from S7-1500 in Structured Text:

// SINA_SPEED FB 285 – cycle time 4 ms, telegram 3
#i_Enable      := TRUE;                 // Drive on
#i_ReferenceSpeed := 1500.0;            // rpm, scaling from p2000
#i_SpeedSetpoint  := 750.0;             // rpm, setpoint
#i_CtrlFromPlc    := TRUE;              // control word source = PLC

SINA_SPEED_Instance(
    Enable       := #i_Enable,
    SpeedSp      := #i_SpeedSetpoint,
    RefSpeed     := #i_ReferenceSpeed,
    CtrlFromPlc  := #i_CtrlFromPlc,
    HWConfig     := "SINAMICS_1",
    Axis         := "Drive_1",
    Status       => #o_Status,
    ActSpeed     => #o_ActualSpeed,
    Fault        => #o_Fault,
    Warning      => #o_Warning
);
Cable requirement: The hardware configuration must include the telegram specified in the FB's HWConfig parameter, otherwise Fault goes TRUE immediately at the first cycle. Confirm the drive's p922 parameter matches the configured telegram.

OPC UA in SINAMICS Drives

SINAMICS S120 firmware V5.2 SP3 and later, plus S210 V6.4, expose an OPC UA server directly on the drive's PROFINET interface. Port 4840 is used by default. The server implements the OPC UA Companion Specification for Drives (VDMA/spec part 40), so variables are organized into standardized nodes:

  • ns=4;s=|var|Drive1.State – operating state (Start, Stop, Fault)
  • ns=4;s=|var|Drive1.SpeedActual – actual speed in rpm
  • ns=4;s=|var|Drive1.CurrentActual – actual current in A
  • ns=4;s=|var|Drive1.TorqueActual – actual torque in Nm

Enable UA on the drive with p10001 = 1 and configure the security policy to None for testing or Basic256Sha256 + SignAndEncrypt for production. The server certificate must be trusted by the OPC client (WinCC, TIA Portal, Ignition) before a session can be opened.

For sites that standardize on non-Siemens SCADA, the same UA address space is consumable by any compliant client, including the vendor-neutral ABB drives UA ecosystem and the OPC Foundation reference client.

Tag Mapping and Address Translation Reference

Engineers frequently need to translate addresses between S7 symbols, Modbus registers, and OPC item names. The table below captures the most common mappings encountered when integrating LOGO!, S7-200, S7-1200, and SINAMICS through OPC and StartDrive:

Source S7 Symbolic Modbus Register OPC DA Item (SIMATIC NET) OPC UA Node
LOGO! 8 VM word 100 VW100 4x00101 (offset 100 + 1) S7:[LOGO]VW100 n/a (no native UA)
S7-200 V-memory W200 VW200 4x00201 S7-200PCAccess.VW200 n/a (DA only)
S7-1200 DB1 Real 0.0 "TankLevel" 4x00001 (mapping required) S7:[S7_1200]DB1,REAL0 ns=4;s=|db|PLC_1.TankLevel
SINAMICS r0021 actual speed n/a n/a (PROFINET only) n/a (drive not S7) ns=4;s=|var|SINAMICS.SpeedActual

Troubleshooting Matrix

Symptom Likely Cause Diagnostic Step Resolution
OPC Scout shows Quality = Bad on all items Access point not assigned, or S7ONLINE wrong Open Configuration Console, verify S7ONLINE binding Assign the active Ethernet adapter to S7ONLINE, restart SIMATIC NET service
OPC connection to LOGO! 8 fails S7 communication disabled in LOGO! LOGO! web server → Ethernet → Allow S7 communication = on Enable, restart LOGO!, reconnect OPC
WinCC OPC client items flicker between Good and Bad DCOM authentication mismatch on Windows 10/11 dcomcnfg → My Computer → Default Authentication Level Set to Connect (1), enable Account → Interactive User
S7-200 PC Access items show Quality = Bad after reboot Auto-startup disabled Check Tools → Options → Startup Enable Run as service, configure logon account
StartDrive cannot go online to SINAMICS PROFINET device name mismatch Station Configuration Editor → accessible nodes → assign name Match the PROFINET device name in the TIA project, restart the drive
SINA_SPEED reports Fault = TRUE immediately Configured telegram does not match drive Read drive p922 online Change HWConfig to the actual telegram, recompile and download
OPC UA session rejected by SINAMICS Untrusted certificate UA client log shows BadCertificateUntrusted Export the drive's self-signed cert, copy to the client's trusted store

Verification Checklist Before Going Live

  1. From OPC Scout V10, browse all configured S7 connections and confirm every critical tag is listed with Quality = Good at the intended update rate.
  2. In WinCC, run the Channel Diagnosis tool (Start → Programs → WinCC → Tools → Channel Diagnosis) and verify OPC driver status is Running.
  3. For StartDrive, complete the commissioning trace at rated load and save the drive parameter set via Drive → Load to PG. Archive the file in the project.
  4. Export the OPC server certificate (UA) or DCOM configuration (DA) and store it with the as-built documentation — required for audit and for the next engineer to onboard.
  5. Trigger a test fault from the drive (e.g., F30001 overcurrent) and confirm that WinCC receives the fault bit with Quality = Good and that the alarm is logged with the correct timestamp.

What is the difference between an OPC Server and OPC Scout?

OPC Scout is a client tool used only for testing. The OPC Server is the Windows service that owns the data, polls the PLC at the configured update rate, and serves the data to any number of clients (WinCC, OPC Scout, custom applications).

Does WinCC need a separate OPC Server to read a S7 PLC?

No. WinCC v7 and WinCC Professional include native S7 communication drivers (TCP/IP, MPI, PROFIBUS). An external OPC server is only required when the controller is outside WinCC's direct driver support — for example, a LOGO! 8, a S7-200, or a third-party Modbus device.

Is StartDrive required to commission a SINAMICS drive?

No. A SINAMICS drive can be commissioned with the basic operator panel (BOP-2 or IOP-2) or via STARTER. StartDrive is required when the drive must be integrated into a TIA Portal project so the S7 controller can exchange cyclic PROFINET data, call DriveLib FBs, or share safety configuration.

Which OPC standard should I choose, DA or UA?

Choose OPC UA for any new project. UA works across Windows 10/11, Windows Server, and Linux, supports encryption and authentication, and is routable across IT firewalls. Reserve OPC DA for legacy WinCC v7 systems, S7-200 PC Access, or where the customer explicitly requires it.

Can a LOGO! 8 expose its data as OPC UA directly?

No. The LOGO! 8 base module ships with Modbus TCP and S7 communication, but no embedded OPC UA server. To make LOGO! data available as UA, route the data through a SIMATIC S7-1200/1500 acting as a UA gateway, or use a PC-based OPC UA server that polls the LOGO! via Modbus TCP.

What is the recommended update rate for SCADA tags over OPC?

For visualization use 500 to 1000 ms. For control or trending use 100 to 250 ms. Rates faster than 100 ms require a dedicated SIMATIC NET license and place heavy load on the S7 connection's PDU budget; prefer isochronous PROFINET if sub-100 ms determinism is needed.

Back to blog