# Beckhoff

### Overview

Copia provides support for **Beckhoff TwinCAT 3**, with advanced feature support for the following:

* [Graphical Display and Differences](#graphical-display-and-differences)
* [Rung Commenting for Code Review](#rung-commenting-for-code-review)

### Configuration

Copia supports Beckhoff TwinCAT 3 project files and `.library` library files.

To get set up, simply store the Beckhoff TwinCAT 3 project files in a project folder within a Copia repository. Once you perform the appropriate [commit and push](https://docs.copia.io/docs/basic/making-changes/saving-changes#commit--push-a-change) operations, you'll be able to see your project file and all of its data from both the Web App and Desktop App.

{% hint style="info" %}
Putting the Beckhoff TwinCAT 3 project in a sub-folder (and not the root) of the Copia repository allows you to more easily integrate DeviceLink operations at a later time.
{% endhint %}

### Graphical Display and Differences

#### General

Copia provides both a graphical rendering of Ladder Logic and clear rendering of Structured Text programs for Beckhoff TwinCAT 3. For other project files with tree-based navigation, Copia provides text and/or tabular data to show changes within the project.

![](https://3704730939-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4lSQNVI3DZ15V7kjkMCA%2Fuploads%2FcWgC011qJRIBs3c9G3Yj%2FBeckhoff_GraphicalDisplay.png?alt=media\&token=4c0c29bf-f761-4431-a616-64a4c3731672)

#### Supported Types

The following types are supported in graphical or enhanced output:

* Ladder (LAD)
* Structured Text (ST)
* TwinSAFE Safety Application Logic (`.sal` files)
* TwinSAFE Alias Devices (`.sds` files)

Copia also includes support for the following types, which may include hierarchical navigation, text, or tabular details:

* .tsProj (TwinCAT project file)
* .plcProj (TwinCAT PLC project file)
* .tspProj (standalone TwinCAT PLC project file)
* .tcTTO (PLC task object)
* .tcDUT (PLC data type)
* .tcIO (PLC object)
* .tcPOU (PLC program organizational unit)
* .tcGVL (PLC global variable list)
* .splcProj (TwinCAT safety project file)
* .library (library file)

{% hint style="info" %}
In some cases, if the content of the file is modified, Copia will render the entire file, and highlight the differences.
{% endhint %}

### Rung Commenting for Code Review

Copia supports rung commenting for Beckhoff TwinCAT 3 for both Ladder, Structured Text, and TwinSAFE Safety Application Logic.

Rung Commenting enhances the Code Review process once someone generates a Pull Request to merge a Branch. During the review process, users can add comments directly to the supported parts of the code.

![](https://3704730939-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4lSQNVI3DZ15V7kjkMCA%2Fuploads%2FYgl148B3FvG8Miyd2Zir%2FBeckhoff_Review.png?alt=media\&token=834e9e56-199d-4d70-a5b0-ae6792d3feb0)

You can watch an overview of rung commenting in the video below.

{% embed url="<https://www.youtube.com/watch?v=NNKmwXw-wfA>" %}

{% hint style="info" %}
The product version in the video may be older than the current release, but the process is still applicable.
{% endhint %}
