有“贝”而“莱” 强势围观 | 聊一聊如何DIY属于自己的功能库 022

古人已用三冬足,年少今开万卷余。这篇文章主要讲述有“贝”而“莱” 强势围观 | 聊一聊如何DIY属于自己的功能库 022相关的知识,希望能为你提供帮助。
JZGKCHINA工控技术分享平台




写在前面
本年度专为工业自动化爱好者而生的“2021贝加莱橙色灯塔杯技术最强音挑战赛”已经接近尾声,感谢合作伙伴和技术粉丝们的厚爱,感谢大家的踊跃参与!

The Voice of B& R Tech技术最强音竞赛


几百位来自天南海北的技术粉丝不仅一起参与了竞争激烈的网络答题挑战赛,同时,还提交了众多风格多样的优秀原创技术作品。从即日起,"剑指工控"将对初步入围的作品进行展播。


原创投稿
022
聊一聊如何DIY属于自己的功能库
孙浚哲
【有“贝”而“莱” 强势围观 | 聊一聊如何DIY属于自己的功能库 022】



一、前 言
在进行贝加莱控制系统程序设计时,AS 给开发人员提供了非常丰富的功能库,极大缩 短了系统开发周期,提高工程运行稳定性与高效率。可见,功能库的开发是工程设计中的 “米”,只有米丰富了,才能做出众口可调的饭。而在项目持续开发、迭代的演进过程中, 创建自己独有的功能库,一方面可以将好的控制功能在高效开发过程中得以传承,另一方 面也为知识产权的保护提供了有效的手段。在 AS 中,开发人员可以轻松开发出自己的库 文件,极大提高程序的复用率。
接下来我们用一个简单的例子来看看,在 AS 中怎样 DIY 一个 User library。以下例程 开发环境为 AS 4.3.4.121。




二、库的创建
打开 AS 软件新建工程,添加一个控制器 CP1586。在 Logical View 中添加一个 Package。

?
右键单击新建的 Package,选择 Add Object,在 Object Catalog 中添加一个 ANSI C Library。

?
右键单击新建的 Library,选择 Add Object,在 Object Catalog 中添加一个 Function/Function Block。

?
在接下来的函数创建导航中修改将要新建函数/功能块名称、返回值类型、注释等信息。我 们创建一个返回值为 INT 类型的函数 square,用来计算正方形的面积。

?
给函数添加一个 INT 类型输入参数 length,完成函数接口创建。

?
然后即可对新创建的函数体进行编辑,我们添加相应程序段后保存,即完成包含一个 square 函数库的创建。

?
在新建的库 Library.fun 中自动生成函数的声明

?


三、库的导出与导入
在 AS 中用户库可以导入和导出,实现库的复用。导出方式分两种:源生库和编译后的 BIN 库。选中要导出的库 Library 然后选择 Export library,在导出向导里选择库类型和路径即可 完成导出。



库的导入通过 Add Object 的方式,从库的保存路径下进行加载即可。我们新建一个工程然后在 Library 中添加我们导出的库,在 Catalog 中选择 Existing Library, 然后找到我们导出库路径,添加到工程即可。




可以看到我们原先生成的库被成功加载,并且函数源代码是看不到的。






四、库功能测试
在工程中添加测试程序 Program,添加两个 INT 类型变量 lengthTest、squareTest。



在 cyclic 程序中添加我们的测试代码,运行仿真并下载程序,通过监控程序,可以看到运 行结果与预期一致。

?


五、总结
经过以上测试可以看到,通过在 AS 创建 DIY 的用户库,实现了代码的封装与复用, 有利于实现更高效的软件开发,在当今激烈的市场竞争中占得先机。
以上仅是个人的一些见解,不当之处请多包涵,相信贝加莱的用户库功能将来会有更 广阔的应用前景!




END



    推荐阅读