Skip to main content

将功能块外包给库

在创建设备项目CODESYS Control Win V3 x64结构化文本和梯形图在本教程中,您已经创建了一个包含风扇控制单元的应用程序。接下来,您将基于该风扇控制单元创建自己的库项目。这将把控制单元转换为可重用的代码,您可以在项目中的其他应用程序中使用它。

本教程中的步骤

一个可重用的库FanControlLib包含ReglerFB_FanControl应用程序中FanControl设备项目使用库中的函数块,而不是本地副本中的函数块。

  1. 创建一个库项目

  2. 将功能提取到库中

  3. 使用并引用库项目

要求

创建库项目

  1. 点击_c4_openWorkspace64px.svg按下按钮并打开TemperatureControl.fbsws工作区。

  2. 点击_c4_icon_add_project64px.svg按钮并选择创建库项目命令。在创建一个新的图书馆项目在对话框中,指定以下数据:

    • 小路:D:\TemperatureControl

    • 项目名称:FanControlLib

    • 标题,版本, 和公司

  3. 点击创造。

    新图书馆名为FanControlLib.fbslib现在可以在工作区导航器中使用。

将功能提取到库中

  1. 移动FB_FanControl从应用程序到库的控制单元:

    在操作系统的文件资源管理器中,复制FB_FanControl.fb.ld文件来自D:\TemperatureControl\FanControl.fbsdev\Application.iecapp^将文件夹复制到库文件夹D:\TemperatureControl\FanControlLib.fbslib离开。

    注意

    CODESYS 4目前不支持在项目之间复制和粘贴元素。

    CODESYS 4监控文件系统中的项目文件夹。当您在文件系统中移动元素时,CODESYS 4会自动在工作区导航器中创建。

    在CODESYS 4,FB_FanControl.fb.ld将显示在FanControlLib.fbslib项目。

  2. 移除FB_FanControl.fb.ld来自功能块FanControl.fbsdev项目。为此,请在设备项目中单击鼠标右键。Application.iecapp,点击FB_FanControl.fb.ld并选择该项删除元素命令。点击删除确认该步骤。

使用并引用库项目

  1. 在FanControl.fbsdev项目,参考FanControlLib.fbslib库。为此,请打开Libraries.json file编辑器中的设备项目:

    • 添加命名空间FanControlLib。

    • 在命名空间下,添加类型的引用RelativePath到库文件夹。

    这FanControlLib应用程序将引用该库。

    {
        "references": {
            "Standard": {
                "$type": "Placeholder",
                "placeholder": "Standard"
            },
            "FanControlLib": {
            "$type": "RelativePath",
            "path": "../../FanControlLib.fbslib/"
            }
          },
        "placeholderOverrides": {}
    }
  2. 在导航器中,右键单击Libraries.json并运行解析所有库命令。

  3. 打开图书馆分辨率查看通知。

    库文件已成功解析。

  4. 在PLC_PRG.prg.st在该程序中,请使用库中的函数块。为此,请打开PLC_PRG在编辑器中更改类型fanControl将变量指向所引用库的功能块的名称FanControlLib只有声明部分发生了变化,调用方式保持不变。

    提示

    自动完成功能会在您输入时提供帮助。

    // before
    fanControl : FB_FanControl;
    
    // now
    fanControl : FanControlLib.FB_FanControl;
  5. 右键单击Application.iecapp并选择该项构建应用程序命令。

  6. 登录并启动应用程序。更多信息,请参阅以下内容:将程序下载到控制器。

    风扇控制器的工作情况与之前完全一样:temperature温度在 25 至 30 °C 之间波动,而fanOn切换开关。行为完全相同。逻辑现在包含在一个库中,您可以在整个项目中使用该库。您刚刚创建并使用了自己的库。CODESYS 4图书馆。