[西门子] 西门子博途:引用“REF()”

[复制链接]
查看144 | 回复0 | 2024-6-9 20:51:03 | 显示全部楼层 |阅读模式
>

说明
使用关键字“REF()”,可指定先前所声明引用将指向的变量。即,通过参数指定待引用的变量。该变量的数据类型必须与所声明引用的数据类型完全匹配。即,数据类型为“REF_TO Int”的引用只能指向数据类型为“Int”的变量。系统不会进行数据类型转换。


说明
在块调用过程中将“REF()”作为实参进行传递
“REF()”可作为实参传递到一个接口引用已声明的被调用块中。


规则
以下规则适用于“引用”:

  • 引用所指向的数据需位于一个优化存储空间内。
  • 该引用只能指向全局 DB 或静态变量中的数据。
  • 该引用不能引用以下数据:

    • 临时局部数据
    • PLC 变量表中的全局变量
    • 块参数
    • 常量
    • 设置写保护的变量

  • 以下规则适用于引用数组:

    • 数组限值、引用维数以及被引用的变量数必须相同。
    • 不能创建对具有动态限制的数组的引用 (Array
    • )。
    • 必须使用以下语句创建基于 PLC 数据类型的 ARRAY DB 引用:
      REF("my_ArrayDB_UDT"."THIS")
      REF("my_ArrayDB_UDT"."THIS")

示例
以下示例说明了块的接口:接口中可包含多个声明为数据类型“REF_TO”的参数。在声明引用的过程中,被引用变量只能定义该数据类型,而无法指定该引用将指向的变量。

在程序代码中,指定所声明的引用参数将指向的特定变量。
SCL 中的示例:

LAD 中的示例:

STL 中的示例:



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则