北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章545 浏览8642241

如何在博途环境下使用库文件来共享代码?

在一个大型项目的开发中,往往会有一些重复的代码。比如,需对生产线上的10台行走电机进行控制,而其控制的方式是相同的。如果对每一台电机都分别写控制程序,就会出现大量的重复代码。

为了减少代码重复编写造成的时间和人力的浪费,可以把电机的控制方式写成一个功能块(Function Block)。主程序通过多次调用该功能块,就可以实现对多台电机的控制,这就是我们之前介绍的模块化程序设计的概念。更多内容可以参考这篇文章:STEP7 & 博途(TIA Portal)如何实现模块化程序设计?

今天这篇文章,我们想介绍另外一个提高编程效率的方法:在博途环境下使用库文件来共享程序代码和数据。

cover.png

还以电机控制功能块为例,之前写好的功能块,都是在同一个项目中使用的。如果另一个项目也有类似的控制需求,我们是要重新编写代码?还是有一种在不同项目之间共享代码的方法呢?

我在实际的项目开发中,有两种共享代码的方法:一种是通过源代码重新编译的方式来共享;另一种是通过库文件的方式来共享。本文介绍后者。

首先,我们来认识下库(Library)。

博途(TIA Portal)有两种库:项目库(Project Library)和全局库(Global Libraries)。

可以把项目中需要重复使用的代码或数据保存到项目库中。项目库属于项目的一部分,同项目一起打开、关闭和保存。

项目库中的代码只能被本项目使用,如果要在多个项目之间共享代码,要使用全局库。

全局库可以分为三类:系统库(System libraries)、协作库(Corporate libraries)和用户自定义库(User libraries)。

系统库(System libraries)是西门子提供的全局对象,包括程序代码、数据类型及用于触摸屏的图形文件等等,用户不能修改系统库的内容。系统库在博途V13中如下图:

siemens_global_library.PNG

协作库(Corporate libraries),顾名思义,是多人协作的全局库,一般用于公司内部多人协作开发项目的情况。当其中一人更新了协作库的代码或数据时,其它人会得到版本更新的通知,以便及时更新到最新的版本。

用户自定义库(User libraries)是用户自己创建的全局库,它不属于某个具体的项目,可以在其它项目中调用用户自定义库并使用其中的代码和数据。

创建用户自定义库的步骤如下:

1)在全局库中点击右键,选择“新建库(New library)”,如下图:

create_user_library.png

2)设定新创建的库的路径:

path.png

3)点击“创建(Create)”,可以看到全局库中新增加了“FDCP_Lib”库,如下图:

FDCP_lib.PNG

怎样在用户库中创建共享的程序块呢?

其实很简单,只需要拖拽即可。

举个例子,假设我们在项目中创建了电机控制的功能块“FC_Motor_Control”。创建用户库代码只需要左键选中该功能块并将其拖拽到用户库的“超级拷贝(Master Copies)”中即可。如下图:

master_copy.png

几乎所有的对象都可以放到超级拷贝中,比如:FB、FC、用户自定义数据类型等,甚至可以把整个PLC文档直接拖拽到超级拷贝中作为库文件。

在新项目中,如果想要使用用户自定义库中的程序和数据,也只需要拖拽即可,十分方便。

好了,关于使用库文件在多个项目之间共享程序和数据就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。

founderchip.png

已经过安全软件检测无毒,请您放心下载。

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论