FC的输入是个ANY指针,怎么获得这个指针的长度?

其实FC输入的是一个结构体STRUCT,程序会把结构体转换成ANY指针,结构体的长度信息这个ANY指针里面也有,怎么在程序里面提取出来?

LAD和SCL编程都可以~

最佳答案

参见:S7-300和S7-400寻址
http://www.ad.siemens.com.cn/download/OnlineReading.aspx?DocId=1597
把ANY类型的寻址学习一下,关键是要理解实例的用法以及存储格式。

用LAD不能实现,用SCL可以使用AT指令,按照ANY格式设置一个结构,然后取结构中对应的变量值。

提问者对于答案的评价:
谢谢回答,搞定~

FUNCTION FC47 : WORD

VAR_INPUT 
    Package : ANY;  
END_VAR

VAR_TEMP
    Buffer : UDT_ANY_POINTER;
    IN_ANY AT Buffer : ANY;
END_VAR 

    IN_ANY := Package;
    FC47 := Buffer.Count;
END_FUNCTION

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc214310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月19日 上午11:42
下一篇 2017年11月19日

相关推荐