当前位置: 主页 > PLC控制

WORD_TO_BLOCK_DB怎么写呀

从DB块取一个数老是报是编译报错,第一次学习使用这个指令,详细见截图,请教各位,非常感谢。。。。。

FUNCTioNFC3:void
VAR_INPUT
a:int;
b:int;
c:int;
d:word;
END_VAR
VAR_OUTPUT
dd:BOOL;
hhh:INT;

END_VAR
hhh:=WORD_TO_BLOCK_DB(a).dw[c];

END_FUNCTION

图片说明:

WORD_TO_BLOCK_DB怎么写呀WORD_TO_BLOCK_DB怎么写呀

最佳答案

按照你定义接口类型这样就可以了:
FUNCTIONFC3:void
VAR_INPUT
a:int;
b:int;
c:int;
d:word;
END_VAR
VAR_OUTPUT
dd:BOOL;
hhh:INT;

END_VAR
hhh:=WORD_TO_INT(WORD_TO_BLOCK_DB(INT_TO_WORD(a)).dw[c]);

END_FUNCTION
或者把a和hhh改成word类型的

图片说明:

2ba7c35feb1969c62BF7782b86b1822eWORD_TO_BLOCK_DB怎么写呀

提问者对于答案的评价:
谢谢RENHG,为什么hhh数据类型也要改呀,使用WORD_TO_BLOCK_DB,从DB块取出来默认是WORD数据是吧,如果输出INT,就必须WORDTOINT转换是吧?

最佳答案作者回复:
没事~
DBW系统默认是word类型吧,所以要转成整数,数据格式才能对应起来

  • 关注微信

猜你喜欢

微信公众号