属性

提示!

此功能只针对当前使用的设定因素有效。

基于 IEC 61131-3 扩展的 “属性”在CoDeSys中作为一种面向对象的手段。它包含一种“访问方法” (get, set),在进行包含属性功能块的读写时自动进行调用。

一个属性可以通过上下文菜单中的“属性”命令 “添加对象”作为一个对象被插入到 “程序” or “功能块”

添加属性对话框输入对象名称返回类型,程序编程语言以及访问权限将会通过对话框进行指定。

对于这用方法可以有以下的访问 权限设置: PUBLIC, PRIVATE, PROTECTED INTERNAL, FINAL详细说明请参阅: “添加”

属性也可以用作接口内。更多介绍参阅: “接口属性”

获取或者设置属性的访问权限

两种特殊的 方法,名为“访问方式” 将会被自动的添加到工程中属性树下面。如果属性仅作为读或者写,可以对两者之一进行删除操作。请注意在访问权限中,像属性一样(见上文),当需要显示定义访问权限时,可以直接在定义部分进行访问权限的定义或者通过添加POU对话框实现。

  • 当进行属性写入时‘set’将会被调用,属性的名称被作为输入使用。
  • 当进行属性读取时‘get’将会被调用,属性的名称被作为输出使用。

示例:

功能块 FB 定义一个本地变量 "milli"。这个变量在属性的 Get 和 Set 中被使用:

Get:

seconds := milli / 1000;

Set:

milli := seconds * 1000;

可以通过功能块的(set方法)对其属性进行写入  "fbinst.seconds := 22;"  fbinst是FB的实例)。

可以通过功能块的(get方法)对其属性进行读取 "testvar := fbinst.seconds;"。

 插图 12: 示例:属性 "Prop1",针对功能块fb属性

一个属性可以包含附加的局部变量,但是与 函数或者 “方法”相比,没有附加的输入输出。

当从一个POU将一个属性 复制或者 移动到一个接口中时,包含的实现方式将会自动被删除。当从一个接口复制或者移动属性到一个POU中时,用户将会被要求制定实现语言。

属性监视

一个属性可以通过在线方式下的 内联监控或者通过 观察列表。对属性进行监控的前提是在其顶部增加一段程序 "{'监控参数:=变量'}" (参阅 “监视属性”)。