CODESYS 4
CODESYS 4是一款资源节省、平台无关的工业自动化技术开发工具,符合 IEC 61131-3 标准。其用户界面完全在浏览器中运行,因此可在包括 Windows、Linux、macOS、iPadOS 和 Android 在内的多种操作系统上运行。后端(实际功能核心)与用户界面分离。它可以在不同的环境中运行,包括桌面、服务器、云端和本地部署,支持 Windows 或 Linux 系统,以及 x86/x64 和 ARM CPU 平台。
在开发过程中CODESYS 4我们始终专注于软件质量和稳固的平台基础。1.0.0.0 版本的功能范围专门针对两种应用场景,并将以较短的发布周期持续扩展(参见第 1 节)。展望未来发展)。
后端和前端分离图形用户界面对于核心功能而言并非必要。这意味着:CODESYS 4既可以在浏览器中交互式使用,也可以通过命令行全自动使用(无头模式)。
基于文本的开放数据存储项目是一个包含可读文本文件的目录,而不是一个二进制项目文件。
与共享运行时CODESYS 3生成的机器代码完全相同,编译后的库在两个工具之间可以互换。
目标群体和应用场景
CODESYS 4本书面向开发符合 IEC 61131-3 标准的控制器应用程序,并希望在自动化领域采用成熟 IT 方法(例如平台无关工作、版本控制、持续集成/持续交付 (CI/CD) 和团队开发)的用户。IEC 61131-3 标准依然是基础:编程语言和工作方法保持不变。
使用 CI/CD 进行库开发:CODESYS 4适用于开发集成到自动化构建和发布流程中的库。通过命令行集成编译器、基于文件的项目存储以及确定性依赖关系解析是该架构的组成部分。这使得库可以在任何受支持的操作系统和任何常见的 CI/CD 流水线中以可复现的方式构建,而无需图形界面。
简单应用:第一版CODESYS 4适用于单控制器上的简单控制器应用。例如,小型机器、测试台或集成到数字和模拟 I/O 点数量有限的设备中的应用。您可以使用 Modbus 设备编辑器(Modbus TCP)分配 I/O 变量并将应用程序下载到控制器。在在线模式下,您可以实时监控变量并调整参数。这样,您就可以完整地完成必要的调试工作流程。CODESYS 4。
对于超出这个范围的项目,CODESYS 3仍然是首选工具(参见第 节)。分类CODESYS文件夹)。
优势CODESYS 4
平台独立性用户界面CODESYS 4可在任何主流浏览器中运行,因此与工作场所的操作系统无关。后端可在 Windows 和 Linux 系统上运行,包括 x86/x64 和 ARM CPU 平台。在 Linux 和 macOS 上进行开发无需虚拟机。
前端和后端的分离使得以下几点成为可能:CODESYS 4能够在不同的环境下工作:
桌面应用程序
在浏览器中打开本地工作站实例
集中管理的多用户服务器
直接在控制器硬件上
在虚拟控制器(vPLC)上
基于文本的开放数据存储:一个关键特征CODESYS 4是基于文本的、UTF-8 编码的数据存储。CODESYS 4它直接在文件级别运行。一个项目就是一个包含可读文件的目录。IEC 源代码以 UTF-8 文本文件的形式提供,结构化数据以 JSON 格式提供,设备描述以 XML 格式提供,图像则以其原始格式(JPEG、PNG 或 SVG)提供。每个元素都存储在各自独立的文件中,并采用清晰易懂的文件夹结构。
外部访问是这里的一个特殊用例。文件可以直接在外部标准工具中查看、比较和合并,包括文本编辑器、差异比较工具、Git 客户端,或者在 GitLab 和 GitHub 的差异视图中查看。CODESYS 4以稳定且确定的方式格式化文件。这包括统一的换行符、JSON 文件中的固定顺序、统一的缩进以及省略不必要的元数据。因此,对比结果能够清晰地显示实际的内容变化,而不会受到复杂的格式干扰。版本控制采用 Git、SVN 或 Mercurial 等成熟的工具。CODESYS 4因此,它只是开发过程中的众多工具之一,不再是唯一的“主工具”。
因为外部环境随时可能发生变化,CODESYS 4旨在以可控的方式处理不一致情况。例如,在合并或结账之后,CODESYS 4通过文件系统监控检测已更改的文件,并在项目存储出现任何错误时发出通知。
工作区概念项目CODESYS 4所有项目都组织在工作区中。一个工作区整合了多个设备和库项目,这些项目一起加载,并在同一层级并排编辑——类似于现代开发环境中的解决方案。没有主项目——工作区中的所有项目都可以在同一层级进行编辑。
实际上,这意味着您可以在同一个工作空间中并行开发包含服务器、客户端和共享库的 Modbus 项目。如果您更改了库中的结构,则可以立即继续在服务器和客户端应用程序中进行工作。共享代码外包给一个所有应用程序都引用的库。由于库项目在同一个工作空间中打开和编辑,因此您可以在一个流程中完成库和应用程序的开发。
从零开始实现自动化和持续集成/持续交付从一开始,CODESYS 4专为持续集成和持续交付 (CI/CD) 而设计。命令行界面 (CLI) 操作与桌面应用程序和多用户服务器一样有效,它并非下游附加工具。由于编译器无需图形界面即可运行,并且无论使用何种工具都会生成相同的机器代码,因此每次提交都能实现可复现的流水线构建。
依赖项的管理遵循现代软件开发中众所周知的模式(类似于 npm 或 NuGet):清单文件(Libraries.json)描述了所需的库引用和锁定文件(Libraries.lock.json它会记录所有直接和间接依赖项的具体解析结果,包括版本号和 SHA384 校验和。结合语义化版本控制 (semver),可以构建出完全相同的源代码版本,且这些版本能够被复现。
共享运行时系统CODESYS 3:CODESYS 4与……共享相同的运行时系统CODESYS 3编译器在两种工具中生成的机器代码完全相同,编译后的库在两个方向上可以互换。已编译的代码CODESYS 4可在任何控制器上运行CODESYS 3代码目前已在运行——无需新的目标硬件,也无需运行时重新认证。要求是需要一个运行时系统。CODESYS V3.5 SP16 或更高版本。
安全是架构的一部分:安全CODESYS 4从底层设计就考虑到了安全性(安全设计原则)。这包括传统的身份验证方法、速率限制和进程隔离——对于多用户服务器的运行尤为重要。
操作和工具
在 1.0.0.0 版本中,提供了 ST 编辑器和梯形图编辑器 (LD) 用于编程。梯形图编辑器已完全重新设计,并基于 Web 架构构建。
由于项目文件可直接访问和编辑,因此未提供专用的脚本接口。对于自动化和集成任务,我们提供了一个功能全面的命令行界面 (CLI) 控件。
分类CODESYS文件夹
这CODESYS 4该应用程序是一个全新的开发项目,旨在补充现有功能的使用。CODESYS 3而不是取代它。在可预见的未来,这两代产品将共存,并共享相同的运行时系统和库。
自动化构建流程和发布流程中的库开发
在单个控制器上实现简单的控制器应用
在 Linux 或 macOS 上进行开发,以及集中管理的多用户操作
功能全面的复杂项目,例如包含可视化、运动控制或附加现场总线等功能的项目。
需要以下条件的项目CODESYS Test Manager或者调试器
提示
如果您已经熟悉CODESYS 3然后请参阅该章节。切换CODESYS 3针对概念差异和常用功能的映射。
展望未来发展
CODESYS 4该版本采用短周期发布模式,旨在大约每两个月发布一个新的主要版本,这得益于现代化的技术基础和全面的自动化测试覆盖。我们将提供完整的系统升级,而不是单独的补丁程序。
后续版本将包含在线更改、附加 CLI 库命令、从构建中排除元素、用户可安装的扩展程序以及持续的错误修复等功能。
新增图形编辑器:CFC 的实现工作已经开始,梯形图编辑器正在扩展,以包含更多便捷功能。这些功能包括智能代码支持、高级编辑和重构功能、拖放功能、梯形图监控以及错误下划线。
更多现场总线,例如 EtherCAT 和 PROFINET
未来发展的战略重点是扩展平台。它将允许模块化扩展……CODESYS 4并提供和安装以扩展程序形式提供的其他功能。