MIT License

项目介绍

TcOpenGroup/TcOpen 是一个托管在 GitHub 上的开源项目,主要使用 C# 编写,采用 MIT License 许可证,目前获得 352 个 Star、63 次 Fork。

仓库全名
TcOpenGroup/TcOpen
开源许可证
MIT License
Star 数
352
Fork 数
63
未关闭 Issue
27

README 摘要

TcOpen Introduction Open Source TwinCAT 3 code by Automation Professionals for Automation Professionals. TcOpen aims to provide standard classes to start building any real deployable application. TcOpen happened to develop into an application framework that addresses several pains of PLC programming (coordination, composition, componentization, connecting to IT technologies). The software in industrial automation…

完整内容见 GitHub 原始 README 或本页 。

常见问题

TcOpen 用什么语言开发?

主要使用 C# 编写,采用 MIT License 许可证,目前有 352 个 Star。

TcOpen 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 TcOpen 的源码?

可以直接克隆仓库:git clone https://github.com/TcOpenGroup/TcOpen.git,默认分支为 dev;安装与运行步骤见仓库 README。

TcOpen 最近还在维护吗?

仓库最近一次更新为 2025年2月10日,当前有 27 个未关闭 Issue;Star 数为 352,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Application framework for industrial automation built on top of TwinCAT3 and .NET.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

语言占比

AMPL
Assembly
C#
CSS
Dockerfile
HTML
JavaScript
PowerShell
Python

Release

README

TcOpen logo Maintenance GitHub license PRs Welcome Open Source? Yes! Awesome Badges dev nightly NuGet

TcOpen

Introduction

Open Source TwinCAT 3 code by Automation Professionals for Automation Professionals.

TcOpen aims to provide standard classes to start building any real deployable application. TcOpen happened to develop into an application framework that addresses several pains of PLC programming (coordination, composition, componentization, connecting to IT technologies).

The software in industrial automation developed historically on a very different trajectory than traditional software. We introduce modern software development practices to the PLC world so developers can shift from low-value work to high-value work. Open-source offers a solid ground upon which many can build and bring ideas from all over the world.

TcOpen is an object oriented framework capitalizing on OOP extension as defined in IEC 61131-3 ST (structured text) and implemented by CoDeSys and TwinCAT3.

TwinCAT turns almost any compatible PC into a real-time controller with a multi-PLC system, NC axis control, programming environment, and operating station. TwinCAT replaces conventional PLC and NC/CNC, controllers.

Features

Application framework

Data framework

Data framework requires inxton framework.

Inspectors

Advanced handling of signal inspections

Components

  • TcoElements (basic components for discrete, analogue inputs, sensors, etc)
  • TcoPneumatics (components for pneumatic components like cylinders, etc)
  • TcoDrivesBeckhoff (components for drives base on NC task)

Other

The full list of accessible features is kept up to date here.

The role of Inxton.Vortex.Framework (IVF)

IVF is a set of tools and libraries for creating industrial .NET applications based on the TwinCAT 3 platform. From Inxton v2 (that now being used in TcOpen) there no need for license registration as it was with previous versions, here is the license to honor when using inxton libraries Inxton license.

Documentation

There is a separate documentation repository for this project here. At this moment we use docfx to generate documentation. The docfx uses IVF twin objects of PLC code to generate the API documentation. There is room for improvement in generated documentation; we do plan - in the course of the development of TcOpen - to improve that.

Working with TcOpen

If you just want to use TcOpen

If you want to use TcOpen in your application you may prefer using the libraries delivered as NuGet packages instead of this repository. Have a look at this video playlist where you can find more about the structure of the TcOpen application.

Contributing

Details about contribution here


Prerequisites
  1. Visual Studio 2019 (at least Community Edition) v16.8.3+ English version (other language mutation may not work properly).
  2. TwinCAT 3.1 eXtended Automation Engineering (XAE) TwinCAT 3.1 4024.17+
  3. .NET Framework 4.8 developer pack
  4. .NET6 developer pack (6.0.5)
  5. Inxton Vortex Builder extension

Clone this repository

git clone https://github.com/TcOpenGroup/TcOpen.git

Environment variables

You should set up Windows environment variable Tc3Target with the value of AMS ID of your testing target system.

Environment

Build project to restore necessary tooling and packages

BEFORE RUNNING THE SCRIPT MAKE SURE ALL INSTANCES OF VISUAL STUDIO ARE CLOSED. THE SCRIPT WILL OPEN VS TO COMPLETE THE BUILD OF THE PROJECT.

VS 2019 Community edition

cd your_tcopen_folder
.\pipelines\runbuild.ps1 -properties @{"buildConfig" = "Debug";
                                      "isTestingEnabled" = $false;
                                      "msbuildVerbosity" = "minimal";
                                      "publishNugets"= $false;
                                      "updateAssemblyInfo" = $false;
                                      "msbuild" = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe";
                                      "dotnet" = "C:\Program Files\dotnet\dotnet.exe";
                                      "devenv" = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.com"}

VS 2019 Pro edition

cd your_tcopen_folder
.\pipelines\runbuild.ps1 -properties @{"buildConfig" = "Debug";
                                      "isTestingEnabled" = $false;
                                      "msbuildVerbosity" = "minimal";
                                      "publishNugets"= $false;
                                      "updateAssemblyInfo" = $false;
                                      "msbuild" = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe";
                                      "dotnet" = "C:\Program Files\dotnet\dotnet.exe";
                                      "devenv" = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.com"}

In the initial part of the build, you may see some errors popping up due to missing g.cs files (untracked by git). You can ignore those messages as long as the build completes like this:

build

Open visual studio TcOpen.sln

Switch profile to Debug|TwinCAT RT (x64)

Profile set

The build process might be susceptible to some issues due to configuration and environment differences. Should you encounter a problem, please report the issue here

Code format

TcOpen is powered by STweep for TwinCAT, a source code formatter for Structured Text.

When contributing to TcOpen, please use this set of settings for STweep: TCOpen.zip

STweep is free of charge for active contributors to this project.

For requesting a license for STweep, visit www.stweep.com/Opensource

Learning resources

  • Jakob Sagatowski’s excellent series on TwinCAT programming on youtube and his blogsite.
  • Beckhoff’s infosys.

Awesome TwinCAT 3 projects 🌐

评论

暂无评论