FC中如何传递ANY指针?

2018年11月30日20:49:39 发表评论 20 阅读
问题描述: 在STEP7函数FC1中调用SFC14和SFC15,程序结构如图1,如何将FC1接口中定义的ANY指针 RD_RECORD及WR_RECORD(图2)分别传递给SFC14及SFC15 ? ......
解决方法:
如图3所示,由于FC接口参数中定义的ANY类型参数RD_RECORD 无法作为其调用函数SFC14 RECORD参数的实参,而在临时变量区中定义的ANY类型变量却可以作为SFC14 RECORD参数的实参,所以可采取通过临时变量中转的方式来传递ANY指针。
附件提供的样例程序中在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
weinxin
微信扫一扫西门子PLC 立即报价
1分钟内报价1天内发货1年内质保(为了省去等待时间,请提供准确型号)-享受专属VIP客服服务

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: