Mastering Safety and Efficiency: A Deep Dive into the Beckhoff Sistema Library In the world of industrial automation, the convergence of standard control and functional safety has become a critical requirement. For engineers working with Beckhoff TwinCAT 3, the name Beckhoff Sistema Library (often referred to as TcSistema ) represents a powerful bridge between high-level IT logic and machine safety. But what exactly is the Sistema Library? Is it a tool for safety certification? How does it integrate with TwinCAT Safety PLC? This article provides a comprehensive technical overview, practical use cases, and implementation strategies for the Beckhoff Sistema Library. What is the Beckhoff Sistema Library? First, it is crucial to clarify a common industry confusion. The term "Sistema" can refer to two different things:
SISTEMA (Software Tool): The freeware tool from the German Social Accident Insurance (DGUV) used for calculating the Performance Level (PL) according to ISO 13849-1. Beckhoff Sistema Library ( TcSistema ): A TwinCAT function block library that allows communication between a standard TwinCAT PLC and the TwinCAT Safety PLC .
In the context of the Beckhoff ecosystem, the Beckhoff Sistema Library is a software library enabling the exchange of safe process data via FSoE (FailSafe over EtherCAT). It is the key that unlocks "Black Channel" communication. Why Use the Beckhoff Sistema Library? In a standard safety architecture, you might use hardware wiring (OSSD outputs) to a safety relay. In advanced Beckhoff systems, you use TwinSAFE terminals. However, when you need to pass safety signals (e.g., E-Stop status, Light Curtain state, Safety Door lock) to a standard visualization or a non-safety PLC routine without violating safety integrity, you need the Sistema Library. Key Benefits:
Bidirectional Safety Communication: Send safety data from the Safety PLC to the Standard PLC, and vice versa. Reduced Wiring: Replace hardwired safety signals with EtherCAT frames. Diagnostics: Non-safety HMI panels can display safety states without compromising the safety loop. Modularity: Standardize safety handshakes between different machine modules. beckhoff sistema library
Technical Architecture: How It Works The Beckhoff Sistema Library operates on the principle of the TwinSAFE "Twin" . Every TwinSAFE logic instance (running on an EL6910 or similar) has a Standard PLC counterpart. The Core Function Blocks The library provides two primary function blocks:
FB_SISTEMA_IN (Sistema Input): Located on the Standard PLC . It receives safe data from the Safety PLC. FB_SISTEMA_OUT (Sistema Output): Located on the Standard PLC . It sends standard data to the Safety PLC (which then validates it as safe).
The Connection Process (Handshake) Using the library involves a four-step handshake managed by the function blocks: Mastering Safety and Efficiency: A Deep Dive into
Start: The Standard PLC calls the FB with bStart := TRUE . Connection ID: You must provide a unique wConnId (Connection ID) that matches on both the Standard and Safety sides. CRC Check: The library automatically handles CRC (Cyclic Redundancy Check) to ensure data hasn't been corrupted during transmission. Watchdog: The blocks require a tWatchdog time. If the Safety PLC stops sending data, the Standard block goes into an error state.
Step-by-Step Implementation Guide To use the Beckhoff Sistema Library in a live project, follow these steps: Prerequisites
TwinCAT 3 (Build 4020 or higher) TwinSAFE PLC (e.g., EL6910, EL6900, CX-series with TwinSAFE) TwinCAT Safety Editor Reference to TcSistema library in your Standard PLC project. Is it a tool for safety certification
Step 1: Configure the TwinSAFE Project In the Safety Editor, create a TwinSAFE connection (FSoE). Define a Word output for data you want to send to the Standard PLC (e.g., Word_Out_To_Std ). Define a Word input for data you want to receive. Step 2: Instantiate the Library in Standard PLC In your standard PLC program (e.g., Main ): PROGRAM MAIN VAR fbSistemaIn : FB_SISTEMA_IN; bSafetyEStopOk : BOOL; wDataFromSafety : WORD; ipSistemaIn : FB_SISTEMA_IN_IP; END_VAR
Step 3: Map the Variables Connect the function block inputs: