This article explains how to configure and use the Siemens S7 Plus Master Driver in Crimson 3.2. It covers importing Siemens TIA Portal configuration files, configuring device and protocol settings, creating and mapping symbolic data tags, handling compound data types, and runtime configuration using DevCtrl functions. This article is intended to help users reliably connect Crimson-based devices to Siemens S7 PLCs using the newer S7 Plus Master Driver.
APPLICABLE PRODUCTS
Crimson® 3.2 software
Devices running Crimson 3.2 with Ethernet connectivity
Siemens S7 PLCs (e.g., S7-1200, S7-300/400) configured in TIA Portal
PRE-REQUISITES
Access to Siemens TIA Portal (V16 or compatible)
Ability to export PLC configuration files via the Version Control Interface
Network connectivity between the Crimson device and the Siemens S7 PLC
Administrator or configuration access to the Crimson database
The Siemens S7 Plus Master Driver supersedes legacy Siemens S7 drivers by providing direct access to symbolic tags imported from TIA Portal. Key capabilities include:
Support for symbolic tags and absolute addressing
Support for system and user-defined data types
Support for 3-dimensional arrays (with some limitations)
Support for String and LReal (64‑bit real) data types
Data block numbers from 1 to 59999 and byte offsets from 0 to 65535
Import of PLC configuration files in XML or ZIP format
Device and Protocol Configuration
Device Configuration
Add a Siemens S7 Plus Master device in Crimson.
Import the Siemens configuration file (XML or ZIP) exported from TIA Portal.
Use the Reload Import File option if PLC changes are made after import.
Device Identification
Configure the Primary IP Address of the PLC.
Optionally configure a Fallback IP Address for redundant communication. Set to 0.0.0.0 to disable fallback.
Connection Options
Configure TSAP settings if required by the PLC configuration.
Specify primary and fallback Server and Client TSAP values (without the '.' character).
Protocol Options
Link Type: Use a shared or dedicated socket (maximum four dedicated sockets supported).
ICMP Ping: Enables faster detection of offline devices if supported by the PLC.
Connection Timeout: Time allowed to establish a TCP/IP connection.
Transaction Timeout: Time allowed for PLC responses.
Connection Backoff: Delay before reconnecting to recently disconnected devices.
Exporting Configuration from TIA Portal
Configure Export File Format
In TIA Portal, navigate to Options > Settings > Version Control Interface > Export.
Ensure XML is selected for Data Blocks, PLC Data Types, and PLC Tag Tables.
Data Block Settings
Ensure Optimized Block Access is unchecked for all Data Blocks. This allows Crimson to calculate symbolic offsets correctly.
Configuring the Version Control Interface
Open the Version Control Interface in the device tree.
2. Create a new Workspace and configure its local path.
3. Drag required PLC items (Data Blocks, Tag Tables, Data Types) into the Workspace.
4. Export and synchronize changes regularly.
5. Zip the Workspace folder for import into Crimson.
Important Note: Avoid Data Block or Tag Table names beginning with %.
Creating and Mapping Data Tags
Creating Data Tags
Click Create Data Tags in the driver configuration in Crimson.
2. Select only the required symbolic tags to minimize communication load.
3. Add selected tags to the Create pane and click Create.
Unsupported or conflicting tags will be copied to the Windows clipboard for review.
Mapping Data Tags
Use the Full Address Selection dialog to map complete symbolic tags or absolute addresses.
Use the Partial Address Selection dialog to map array elements or partial addresses.
Handling Compound Data Types
System and User-Defined Types
The driver supports a wide range of Siemens system data types and user-defined types.
All relevant PLC Data Type files must be included in the exported Workspace.
3-Dimensional Arrays
Supported for atomic and compound types.
Arrays of String, Bool, and LReal are not supported.
String Data Type
Implemented as a compound type with maximum length, actual length, and character data stored sequentially.
The driver automatically manages length values during read/write operations.
LReal Data Type
Crimson does not natively support 64‑bit floats.
The driver creates associated tags and uses User Functions to convert between single and double precision values using RealToR64(..).
Runtime Configuration with DevCtrl
The driver supports runtime configuration via the DevCtrl(..) user function. Refer to Crimson 3.2 Reference Guide for general usage information.
Common examples include:
Set Primary IP Address: DevCtrl(2, 1, "192.168.1.1")
Set Fallback IP Address: DevCtrl(2, 5, "192.168.1.2")
Get Primary IP Address: DevCtrl(2, 4, "")
Toggle Primary and Fallback IPs: DevCtrl(2, 8, "")
Upgrading from Legacy Siemens S7 Drivers
Existing Crimson databases using legacy Siemens S7 drivers can typically be upgraded by:
Selecting the Siemens S7 Plus Master Driver on the appropriate port.
Allowing Crimson to reapply existing communication mappings.
Resolving any inherited mapping errors as needed.
Note: Legacy .s7db files are not supported by the S7 Plus Master Driver.
ADDITIONAL INFO
Developed and validated using Siemens TIA Portal V16 and S7‑1200 PLCs
Refer to the Crimson 3.2 Reference Guide for detailed User Function documentation