将功能块外包给库
在创建设备项目CODESYS Control Win V3 x64结构化文本和梯形图在本教程中,您已经创建了一个包含风扇控制单元的应用程序。接下来,您将基于该风扇控制单元创建自己的库项目。这将把控制单元转换为可重用的代码,您可以在项目中的其他应用程序中使用它。
本教程中的步骤
一个可重用的库FanControlLib包含ReglerFB_FanControl应用程序中FanControl设备项目使用库中的函数块,而不是本地副本中的函数块。
创建一个库项目
将功能提取到库中
使用并引用库项目
要求
您已完成以下步骤。创建设备项目CODESYS Control Win V3 x64结构化文本和梯形图。 这
TemperatureControl工作区和FanControl设备项目已存在。SoftPLC CODESYS Control Win V3 x64已安装并正在运行。
创建库项目
点击
按下按钮并打开
TemperatureControl.fbsws工作区。点击
按钮并选择创建库项目命令。在创建一个新的图书馆项目在对话框中,指定以下数据:
小路:
D:\TemperatureControl项目名称:
FanControlLib标题,版本, 和公司
点击创造。
新图书馆名为
FanControlLib.fbslib现在可以在工作区导航器中使用。
将功能提取到库中
移动
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项目。移除
FB_FanControl.fb.ld来自功能块FanControl.fbsdev项目。为此,请在设备项目中单击鼠标右键。Application.iecapp,点击FB_FanControl.fb.ld并选择该项删除元素命令。点击删除确认该步骤。
使用并引用库项目
在
FanControl.fbsdev项目,参考FanControlLib.fbslib库。为此,请打开Libraries.json file编辑器中的设备项目:添加命名空间
FanControlLib。在命名空间下,添加类型的引用
RelativePath到库文件夹。
这
FanControlLib应用程序将引用该库。{ "references": { "Standard": { "$type": "Placeholder", "placeholder": "Standard" }, "FanControlLib": { "$type": "RelativePath", "path": "../../FanControlLib.fbslib/" } }, "placeholderOverrides": {} }在导航器中,右键单击
Libraries.json并运行解析所有库命令。打开图书馆分辨率查看通知。
库文件已成功解析。
在
PLC_PRG.prg.st在该程序中,请使用库中的函数块。为此,请打开PLC_PRG在编辑器中更改类型fanControl将变量指向所引用库的功能块的名称FanControlLib只有声明部分发生了变化,调用方式保持不变。提示
自动完成功能会在您输入时提供帮助。
// before fanControl : FB_FanControl; // now fanControl : FanControlLib.FB_FanControl;
右键单击
Application.iecapp并选择该项构建应用程序命令。登录并启动应用程序。更多信息,请参阅以下内容:将程序下载到控制器。
风扇控制器的工作情况与之前完全一样:
temperature温度在 25 至 30 °C 之间波动,而fanOn切换开关。行为完全相同。逻辑现在包含在一个库中,您可以在整个项目中使用该库。您刚刚创建并使用了自己的库。CODESYS 4图书馆。