Below you will find a list of software that I’ve created specifically for usage with TwinCAT.
TcUnit is an xUnit type of framework specifically done for Beckhoffs TwinCAT3 development environment. It consists of a single library that is easily integrated into any existing TwinCAT3 project. Go the the website for TcUnit.
OSCAT-Basic modified for TwinCAT
This is a modified version of the OSCAT Basic library, so that it TwinCAT can resolve library dependencies for OSCAT. The original is available at http://www.oscat.de/
A precompiled version of the library can be downloaded here.
TwinCAT Library Categories
This is a template for defining your own library categories for TwinCAT3. Without defining a library categories, all your libraries will be shown under the (Miscellaneous)-category in TwinCAT.
Download the template here.
Read more on: http://alltwincat.com/2018/08/16/library-categories/
TwinCAT static code analysis loader
All software can be downloaded here.
This is a TwinCAT static code analysis script and program to automatically launch the static code analysis of TwinCAT when commiting code to a version control system. Details about this project are available in a series of posts I’ve made about continous integration/continous delivery (CI/CD) with TwinCAT available at:
The GitHub repository includes the following content:
A TwinCAT PLC project that is to be analysed for static code analysis. This also includes the windows batch-script to be executed by a Jenkins job when a GIT repository change has been detected in the TwinCAT PLC project. This BAT-script launches the TwinCAT static code analysis program described below (TcStaticAnalysisLoader).
A C# .NET program that does the static code analysis using Beckhoffs TE1200 product and reports the result back to the caller as either ERROR, UNSTABLE or SUCCESSFUL which can be used for instance in a Jenkins build slave. The static code analysis is filtered out from the TwinCAT build procedure. This program is used together with the batch-script from the CodeAnalysisDemoTcLibrary folder.