Skip to main content

集成 C 模块

随着 CODESYS C代码集成,用C开发的模块可以作为一个库集成到一个 CODESYS 项目。该模块与在其中实现的 IEC 接口一起作为动态运行时模块存储在库中。此外,用于不同目标系统的模块的多个变体可以存储在库中。

该库像任何其他 IEC 61131-3 库一样显示给用户。当库在应用程序中使用时,则 CODESYS 自动从库中下载合适的模块到控制器并从 CODESYS Control 运行时系统。

应用实例:

  • 重用现有的 C 代码

  • 集成由建模工具生成的代码,例如 Matlab®/Simulink®

  • 动态集成以 C 代码创建的特定于设备的功能

在下载过程中,应用程序的所有动态模块都被传输并加载到运行时系统。为此,运行时系统必须支持动态链接。

运行时系统许可证

运行时系统需要一个允许加载 C 模块的许可证。没有此许可证,下载过程中无法链接动态模块,因此下载将中止。

动态模块是引导应用程序的一部分,它们会在控制器重新启动时重新加载并激活。这 重置原点 命令卸载应用程序中的所有 C 代码模块。这 重置冷重置暖 命令不会导致 C 代码模块的重复初始化。

CODESYS 不支持监控C代码文件中的变量,不支持在C源代码中设置断点。

将预编译的运行时模块分配给设备并将它们保存在库中

要求:图书馆(*.library) 开于 CODESYS.

  1. 点击 查看 → POU.

    计划书 view 打开并显示库项目及其对象。

  2. 选择库项目并单击 项目 → 添加对象 → C 实现的库.

  3. 点击 添加 在里面 添加 C 实现的库 对话。

    CODESYS 添加对象 _cds_icon_c_code_module.pngC 实现的库 在视图中 POU 一。

  4. 双击对象 _cds_icon_c_code_module.pngC 实现的库.

    对象在其编辑器中打开

  5. 点击 添加 在这个编辑器中。

    选择设备 对话框打开。

  6. 在里面 目标文件 输入字段,以格式指定动态可加载模块的名称 *.dll 或者 *.so.

    重要

    *.dll 文件必须在其名称中包含库项目的标题。示例:如果库项目名为 XYlib, 那么 目标文件 必须命名为: <name>_XYlib.dll

  7. 在里面 设备 窗口中,选择一个设备的分配 目标文件.

  8. 点击 选择设备.

    CODESYS 在编辑器中显示创建的设备文件分配 编译组件 标签。

  9. 保存库项目。

有关详细信息,请参阅: C 实现的库