倍福 TwinCat3 CI/CD Docker

问题描述

所以我正在寻找一种在 Docker 容器中构建我的 PLC 项目的方法,以实现一个漂亮而简单的 CI/CD。

根据我在网上的发现,无法对 Beckhoff TwinCAT 进行命令行编译。

我确实在 stackoverflow 上找到了这篇文章

TwinCAT3 build on Jenkins

但这需要构建工具中未提供的 devenv.exe。

有人知道如何在 docker 中构建我的项目吗?

解决方法

可以使用 TwinCAT automation interface 以编程方式构建 TwinCAT PLC 项目,尽管这并非微不足道。这是您链接的帖子中讨论的内容。您必须安装 TwinCAT XAE,然后编写一个 (C#) 程序来构建和部署您的 PLC 项目。我为我的客户编写了这样一个程序。

因为 PLC 程序有实时性要求,所以它不能在任何地方运行。它不在 Windows 中运行,但在 Windows 之外运行,因此它可以满足其 RT 要求。此 Windows/TwinCAT 组合仅在特定的虚拟化平台/模式下运行。我在 Windows Server Hyper-V 和 VMware 中为我的客户运行 TwinCAT PLC 项目。您可能需要在 Hyper-V 隔离模式下在 Windows Server Hyper-V 上运行 docker。