库函数管理

工程中安装以及已经包含的函数库
函数库的引用
函数库版本
对函数库中模块或者变量的特殊访问

 

在工程中变量var1可以在以下位置获得:

通过使用特殊的命名空间访问变量var1

(1)

位于POUs窗口中的全局函数库管理中的Lib1函数库中

"Lib1.module1.var1"

(2)

位于设备窗口中的Dev1设备下的App1应用中函数管理中的Lib1函数库

"Dev1.App1.Lib1.module1.var1"

(3)

位于POUs窗口中的函数库F_Lib中包含的函数库Lib1

默认情况下(函数库属性中的选项“发布……”是禁止使用的): "F_Lib.Lib1.module1.var1"

如果选项“发布……”可用,module1会被认为是一个顶级库的一部分。因此访问可以通过 "Lib1.module1.var1" 的方式或者函数库没有属性“只能合格访问”(见下文): "module1.var1"。在当前的例子中,将会导致编译器的错误,因为访问路径不是唯一的,见 (1)和(4)。

(4)

在POUs窗口中定义的模块module1

"module1.var1"

(5)

在POUs窗口中定义的对象POU1

"POU1.var1"

  • 从应用或者其他函数库中访问函数库中模块或者变量时可以强制执行命名空间,因为这个原因,相应的库必须具有以下属性,属性定义在编程系统创建一个库时的工程信息对话框中的选项卡“属性”中:类型:“文本”,关键名 "LanguageModelAttribute",变量值:“只能合理访问” (参见下表格)。如果一个函数库模块或者变量没有前面的命名空间将会导致编译错误。
插图 56: 添加函数库的属性‘工程信息’
创建 V3函数库,编码,文档,发布
CoDeSys V2.3 函数库
  • 由CoDeSys V2.3版本以及更早的版本创建的函数库 (*.lib)支持更多:
  • 一个“旧的”函数库(*.lib)可以通过CoDeSys V3打开从而直接转换为“V3函数库” (*.library)。
  • 当打开一个旧工程时,调用旧的函数库,可以选择是否保持这些库或者用其他的库进行替换。如果该工程不改变,那么它调用的旧的函数库将被新的形式替换并且自动的添加到函数资源管理中。如果库中不包含必要的 “工程信息 ”,那么这些库会立即安装。当一个工程中已经处理过包含的就函数库,会将结果自动的保存在工程中,因此如果工程中再次出现旧版本的函数库时 “打开工程... ”处理不需重复进行,将会自动完成。
  • 参阅帮助文档了解如何打开并转化工程以及函数库。
内部和外部 resp. library 模块,以后连接
授权库

函数库可以通过一个授权进行保护。授权管理是在 “授权管理”中进行。

授权的函数库也可以安装到函数资源库管理中,但是在工程中必须将授权的许可证连接到电脑上。如果没有相应的授权文件,会在函数资源管理窗口中弹出一个对话框。 可以在任何位置添加这个库,但是他会被打上一个红色的叉,并且在使用此库中的模块时将不能被编译。在函数库资源管理中的详细对话框中,你会得到一个需要授权的信息。

插图 57: 在函数库管理中的授权函数库没有被授权