关于UDT的应用

在FC1编写程序(如图),并建立数据块DB3,类型为“从UDT中获得的数据块1”,用仿真器仿真时发现:我们看到#UDT_1.F为1;但是我在DB3中监控时发现对应的变量并不为1,这是为什么呢?

问题补充:
采用输出或输入、输出参数中建立UDT变量后,是不是只能在FC中调用,而不能直接在OB中调用??那么对应的地址是P#DB3.DBX0.0,能不能不从第0位开始,而是从DB3.DBX2.0开始定义呢??

图片说明:

关于UDT的应用    关于UDT的应用   

最佳答案

你建的udt在FC1的临时变量里,不是输入、输出、或输入输出参数,要使DB3变化,必须采用输出或输入输出参数,同时在调用FC1块时指定DB3块。还有一种方法是使用功能FB块,然后定义成静态变量,这样,在调用FB块时,指定背景数据块为db3,这样就会变化了。

可以的,采用输入输出参数,可以通过OB1调用,也可以从P#DB3.DBX2.0开始,只要你定义的udt地址和实际的地址对应起来就行。

提问者对于答案的评价:
谢谢

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午5:02
下一篇 2018年12月1日 上午5:02

相关推荐