
西门子300 plc FB里面定义的OUT 变量,变量为 sudu,变量类型为Word,子程序显示此变量数值为5,但返回值是0
4个回答
展开全部
其实道理是这样的,tiayu137308说的差不多。
MOVE指令是300里面的传送指令,唯一的要求是左右两边的数据类型要相同。5.000的数据类型是REAL的,也就是咱们说的浮点型,但是右边你定义的数据类型是word,也就是16位的,类型不相同,所以传送就会出现错误。如果想实现把REAl的数据传送给WORD,那么用300里面的转换指令就可以实现了!!!其他方法tiayu137308说的很清楚了!!!
MOVE指令是300里面的传送指令,唯一的要求是左右两边的数据类型要相同。5.000的数据类型是REAL的,也就是咱们说的浮点型,但是右边你定义的数据类型是word,也就是16位的,类型不相同,所以传送就会出现错误。如果想实现把REAl的数据传送给WORD,那么用300里面的转换指令就可以实现了!!!其他方法tiayu137308说的很清楚了!!!
更多追问追答
追问
另外我想问一个问题,我的电脑里的有一段程序是梯形图,而在别人的电脑里却是STL语言,怎么转换都转换不过来,为什么 啊?碰到过很多次啦。都是同一个程序,梯形图和STL语言程序也都一样。大虾吗?求帮助啊?谢谢!
展开全部
你 把数据类型用错了。你用的是5.00000是32为浮点数。你用的WORD是16位的字。你要把5.000该成整数5就对了。或者把sudu改成REAL或双字
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把错误的数据类型。你用5.00000 32浮点。这个词你用的是一个16位字。你要正确的到整数5 5.000。或者的Sudu改变REAL或双字
追问
这个我明白,但我想知道FB里面定义的IN OUT 变量什么值能返回什么值不能返回,我查看我公司的程序,发现很多值不能返回,是怎么回事?最好介绍一下,FB定义的变量,谢谢啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以您的贴图显示PLC已经进入停机状态,请对您的Cpu进行模块诊断,然后贴出诊断信息再做后续的讨论。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询