Wincc Rest Api -
The WinCC REST API bridges the classic SCADA world with modern web and cloud ecosystems. It’s not the right tool for every job (stay away from high-speed control loops), but for dashboards, reporting, ERP integration, and remote monitoring, it’s a game-changer.
Your next steps:
The era of locked-in SCADA data is ending. With REST APIs, your WinCC system becomes a first-class citizen in the connected enterprise.
Have you implemented WinCC REST API in a real project? What challenges did you face? Share your experience in the comments below!
The WinCC REST API is a modern interface introduced in WinCC V8.0 WinCC Unified
that enables external applications to exchange data with the SCADA system using standard web protocols. It allows for both pulling data from WinCC (Server mode) and pushing data to external services (Connector mode). Key Capabilities Data Access
: Read and write WinCC configuration data, runtime tag values, and archive tags using standard HTTP methods like Messaging System
: Access and filter message system data (alarms) via the REST interface. Bidirectional Communication WinCC REST Service : Acts as a server, allowing external tools like or custom web apps to query WinCC. WinCC REST Connector
: Acts as a client, enabling WinCC to actively send runtime data or alarm texts to external REST interfaces or cloud platforms. Security & Authentication : Supports secure communication over
with flexible authentication mechanisms, including Basic Authentication. Configuration Steps
To set up the WinCC REST Service, follow these general steps: REST Reporting API - WinCC OA
The SIMATIC WinCC V8.0 REST API is a modern interface that enables external applications to access configuration and runtime data from the SCADA system using standard HTTP methods and JSON. Core Capabilities
Data Access: Allows external IT systems, mobile apps, and MES/ERP platforms to read configuration data from tag management.
Read/Write Operations: Supports reading and writing runtime values, including real-time tags and archive tags.
CORS Support: The API includes Cross-Origin Resource Sharing (CORS) support, enabling its use directly in browser-based scripts.
Industrial IoT Integration: Often used to build pipelines for AI agents (e.g., predictive maintenance or anomaly detection) by moving data from WinCC to Python or SQL environments. Components & Tools
WinCC/Rest Connect: A newer desktop-based option for simple IT integration.
WinCC/REST Connector: A specialized tool to actively send REST requests from WinCC to other systems, triggered by alarms or specific tag values.
JSON Configurator: A built-in utility that helps users create and structure requests containing runtime values. Technical Setup
Default Port: The REST service typically operates on port 34568 by default.
Security: Configuration is managed via the Certificate Manager, where administrators must create and install the necessary certificates for secure communication. Methods: It utilizes standard HTTP methods: GET: To retrieve data. POST: To create data or trigger actions. PUT: To update existing data. Integration Workflow
To implement a reporting or data pipeline using this API, developers typically follow these steps:
Configure Connectivity: Set up secure certificates and define endpoints in the WinCC Certificate Manager.
Design the Pipeline: Map WinCC tags to an external environment (e.g., WinCC → Python → SQL). wincc rest api
Execute Requests: Use an AI agent or middleware to query the REST service for specific values.
Process Data: Use libraries like Pandas or NumPy for analysis or generating visual reports in tools like Power BI.
The WinCC REST API is a self-hosted service available in SIMATIC WinCC (V7.5 SP2 or higher) and WinCC Unified that enables external applications to securely interact with SCADA Runtime and configuration data using standard HTTP methods and JSON. Core Capabilities
The API serves as a bridge between the industrial OT layer and IT applications, allowing for:
Data Access: Read and write both Runtime values (tags) and configuration data.
System Integration: Connect external tools like C# applications or reporting platforms (e.g., Power BI) to WinCC.
Cloud Connectivity: Send data to cloud platforms via the WinCC/Cloud Connector using the REST protocol. Bi-directional Communication:
REST Service (Inbound): External apps call WinCC to request or update data.
REST Connector (Outbound): WinCC actively sends data to external REST interfaces, such as weather services. Standard Methods Supported The interface follows standard RESTful principles: GET: Retrieve tag values or project configuration.
POST: Send multiple values or specific resources in the request body.
PUT: Update individual values, often used for cloud synchronization. Setup and Security REST Reporting API - WinCC OA
The WinCC REST API is a powerful tool for bridging the gap between operational technology (OT) and modern IT systems. It allows external applications to interact with WinCC configuration and runtime data using standard HTTP methods and JSON Core Capabilities The REST interface is primarily used for: Data Access:
Reading and writing real-time tag values and configuration data. Historical Retrieval:
Querying archive tags and process data for reporting or analysis.
Assigning specific read/write authorizations per tag for secure communications. Connectivity:
Modernizing SCADA communication for mobile apps, MES/ERP systems, and AI agents. Version Specifics
Here is some content related to WinCC REST API:
Introduction
Siemens WinCC is a popular Human-Machine Interface (HMI) software used in industrial automation. The WinCC REST API (Representational State of Resource) allows developers to access and manipulate WinCC data and functions using standard HTTP requests. This enables integration with other systems, applications, and services, promoting a more connected and flexible industrial automation landscape.
Key Features of WinCC REST API
Use Cases for WinCC REST API
REST API Endpoints
The WinCC REST API provides a range of endpoints to access and manipulate data and functions. Some examples include: The WinCC REST API bridges the classic SCADA
Authentication and Authorization
The WinCC REST API supports multiple authentication methods, including:
Code Examples
Here are some simple code examples to get you started:
Python example using requests library
import requests
# Set API endpoint and authentication
endpoint = "https://wincc-server/api/v1/tags"
username = "operator"
password = "password"
# Send GET request
response = requests.get(endpoint, auth=(username, password))
# Print response
print(response.json())
JavaScript example using axios library
const axios = require('axios');
// Set API endpoint and authentication
const endpoint = "https://wincc-server/api/v1/tags";
const username = "operator";
const password = "password";
// Send GET request
axios.get(endpoint, auth: username, password )
.then(response =>
console.log(response.data);
)
.catch(error =>
console.error(error);
);
The WinCC REST API (Representational State Transfer Application Programming Interface) is a modern, flexible interface introduced to bridge the gap between traditional industrial automation (OT) and standard IT systems. It allows external applications to interact with Siemens SIMATIC WinCC using standard HTTP methods and JSON data formats. Key Components of WinCC REST Functionality
Siemens offers two distinct ways to use REST with WinCC, depending on whether WinCC is the "server" or the "client":
REST API (Server Role): Introduced in WinCC V7.5 SP2 and enhanced in WinCC V8.0, this acts as a passive interface. External applications (like AI agents, ERP systems, or custom web dashboards) can "pull" data from WinCC or "push" values to it.
REST Connector (Client Role): This allows WinCC to act as a client that "actively" sends requests to other systems (e.g., sending an alarm notification to a messaging service or updating a cloud database). Core Capabilities
The REST interface provides access to three primary types of WinCC data:
Tags (Runtime Values): Read and write process values in real-time.
TagLogging (Historical Data): Access archived process data for trend analysis or reporting.
AlarmLogging (Alarms & Messages): Query active alarms or historical alarm logs to track system events. Implementation and Security
Standard Methods: It uses common HTTP verbs: GET to retrieve data, POST to create or trigger actions, and PUT to update tag values.
Configuration: A built-in JSON configurator helps users define endpoints and trigger methods based on specific tags or alarms.
Security: Security modes can be configured separately for each server, typically utilizing encryption and secure port binding to protect sensitive industrial data. Common Use Cases
AI and Machine Learning: Exporting historical data to Python libraries for predictive maintenance or anomaly detection.
IT/OT Integration: Connecting SCADA data directly to enterprise resource planning (ERP) or manufacturing execution systems (MES) without complex middleware.
Custom Web Dashboards: Building lightweight, platform-independent monitoring tools that run in any standard web browser.
For official technical documentation and specific implementation steps, users often refer to the Siemens Industry Online Support portal.
The WinCC REST API (and the related REST Connector) is a modern interface introduced primarily in WinCC V8.0 and WinCC Unified to bridge the gap between industrial OT (Operational Technology) and standard IT environments. It allows external applications to interact with SCADA data using standard web protocols like HTTP and JSON. Core Functionality WinCC handles REST in two distinct ways:
WinCC REST Service (Passive): Acts as a server. External applications (like custom web dashboards, AI agents, or mobile apps) send HTTP requests to WinCC to read or write tag values and configuration data. The era of locked-in SCADA data is ending
WinCC REST Connector (Active): Acts as a client. WinCC "actively" sends data out to external systems, such as pushing production metrics to a cloud service or a third-party web API. Key Features & Methods The API uses standard HTTP methods to manage resources:
GET: Used to read runtime values (tags) and project configuration data.
POST: Typically used for sending multiple values in one request body.
PUT: Used for write access to specific resources, such as updating a tag value or sending data to a cloud endpoint. Technical Requirements
Licensing: Generally requires the WinCC/Connectivity Pack or a similar option to enable the service.
Security: Supports HTTPS and secure authentication. You must configure certificates via the WinCC Certificate Manager and can assign specific read/write authorizations per tag.
Configuration: The service is activated in the WinCC Configuration Studio under "Computer" settings, where you define the Host name and Port (default is often 34568). Common Use Cases
AI Integration: Feeding real-time process data into Python-based AI models for predictive maintenance.
External Reporting: Pulling historical or live data into tools like Power BI or Excel for business analytics.
Cross-Platform Apps: Building lightweight mobile or web apps that don't need a full WinCC client installation.
Cloud Connectivity: Using the REST Connector to push data to IoT hubs or AWS/Azure endpoints.
0 or Unified, or perhaps a code snippet to get started with a GET request? WinCC V8.0 REST API Overview | PDF - Scribd
Here’s a short, insightful essay on the WinCC REST API — exploring its significance, technical reality, and the hidden challenges behind “modernizing” industrial HMI/SCADA systems.
The WinCC REST API is an OPC UA–based RESTful interface that allows external clients to interact with a running WinCC project using standard HTTP methods (GET, POST, PUT, DELETE). It exposes:
Unlike older DCOM or OPC DA interfaces, REST uses JSON over HTTP/HTTPS—meaning any programming language (Python, JavaScript, C#, etc.) or tool (Postman, Node-RED, Power BI) can integrate without special COM libraries or Windows-only dependencies.
Note: The REST API does not replace WinCC’s internal OPC UA server. It acts as a higher-level, developer-friendly wrapper, often simplifying authentication and data formatting.
Siemens is converging its WinCC portfolio into WinCC Unified (TIA Portal WinCC Unified). The new Unified Web API is more standardized, supports OpenAPI (Swagger) definitions, OAuth2, and MQTT bridge functionality.
If you are starting a new project today, consider WinCC Unified for a cleaner, more scalable REST API.
The REST API introduces HTTP overhead. Do not poll every 50 milliseconds for 10,000 tags. Follow best practices:
wincc_host = "https://192.168.1.100" # IP of the WinCC Unified Server
api_base = "/WinCCUnified/TagValue"
tag_name = "Setpoint_Temperature"
username = "API_User"
password = "SecurePassword123"
url = f"wincc_hostapi_base?tagName=tag_name"
try:
# Send GET Request with Basic Auth
response = requests.get(
url,
auth=(username, password),
verify=False # Set to True if you have valid CA certificates
)
if response.status_code == 200:
data = response.json()
print(f"Tag: tag_name")
print(f"Value: data.get('value')")
print(f"Quality: data.get('quality')")
print(f"Timestamp: data.get('timestamp')")
else:
print(f"Error: response.status_code")
print(response.text)
except Exception as e:
print(f"Connection failed: e")
This is the most mature implementation. WinCC OA is a high-end, open, and scalable SCADA system often used in railways, power grids, and building automation. It includes a fully documented HTTP/HTTPS REST API as a core component.