STEP7中FC块中如何传递ANY指针
发布时间:2024-11-26
在STEP7函数FC1中调用SFC14和SFC15,程序结构如图1,如何将FC1接口中定义的ANY指针 RD_RECORD及WR_RECORD(图2)分别传递给SFC14及SFC15
图 1
图 2
解决方法:
如图3所示,由于FC接口参数中定义的ANY类型参数RD_RECORD 无法作为其调用函数SFC14 RECORD参数的实参,而在临时变量区中定义的ANY类型变量却可以作为SFC14 RECORD参数的实参,所以可采取通过临时变量中转的方式来传递ANY指针。
图 3
附件提供的样例程序中在FC1函数的临时变量区中定义两个ANY类型变量 RD_Temp和 WR_Temp,分别作为SFC14和SFC15的RECORD参数。
FC1中的Network 1通过1个WORD和2个DWORD逐字段传递的方式将RD_RECORD的内容传递给 RD_Temp;
FC1中的Network 2通过在LOOP循环中逐字节传递的方式将WR_RECORD的内容传递给WR_Temp;
测试环境 | 版本 |
PC操作系统 | Microsoft Windows XP, SP3 |
STEP 7 | V5.5, SP2 |
展开全文
其他新闻
- 博途上云了 2024-11-26
- 西门子自动化系统接地指南---连载2 2024-11-26
- 【故事】西门子自动化系统接地指南---连载1 2024-11-26
- 【分享小故事】S7-300 CPU MMC接触不良故障现象及处理注意事项 2024-11-26
- 以太网、工业以太网及Profinet 有什么区别 2024-11-26
- 西门子自动化系统接地指南---连载4 2024-11-26
- 西门子自动化系统接地指南---连载3 2024-11-26
- 完美的PLC程序是什么样子的? 2024-11-26
- 读出S7-1500 CPU运行时间的四种方法 2024-11-26
- 关于PROFINET下的IO刷新时间应该如何设置 2024-11-26