登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:请教一下三菱WORKS2功能块FB的使用

点击:10067 回复:4

三菱WORKS2,FX3SA,编程做了个简单的FB,就是mm和pulse的转换。大概用了5次。却只有一处正常输出了。监控发现FB中的中间值【计算1】一直为0.请教一下哪里没有设置正确?谢谢
附件 360截图20190108120846301.jpg
最后修改:2019/1/8 12:17:03
19-01-08 12:11

引用 276438265 在 2019/1/8 12:11:03 发言【内容省略】

请贴出所有代码以及变量的定义窗口。
Good Luck~
19-01-08 13:02

引用 cvlsam 在 2019/1/8 13:02:56 发言【内容省略】

C大帮忙看看...后面不用FB只用标签变量测试,创建了Temp0-Temp6,结果也是第一个局部变量有效,后面的也全部是0。
附件 FB.jpg
附件 Lable.jpg
附件 PRO.jpg
最后修改:2019/1/8 13:34:37
19-01-08 13:34

引用 276438265 在 2019/1/8 12:11:03 发言【内容省略】

因为DMUL的输出结果为64位数据,而标签化程序是自动分配地址的,因此,如果您将“计算1”声明为Double Word数组的话,您将在该数组的第二个元素中找到变量的值。
附件 snap3.jpg
附件 snap4.jpg
附件 snap5.jpg
Good Luck~
19-01-08 15:32
下午翻手册的时候确实发现DMUL 和DDIV结果都是64bit的表情
非常感谢C的解惑...
要解决这个问题除了用16位寄存器运算,最终结果DMOV到32位寄存器,C大的经验可有其他更好的解决办法。
最后写到定位指令DDRVA的是32位数据。
19-01-08 16:20

工控新闻

更多新闻资讯