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

主题:三菱PLC使用RS指令,接收到的数据与计算数据不相符,是何原因?

点击:7313 回复:7

客户要求使用三菱PLC,所以搞了一台,第一次用,出了好多问题,求助各位大佬给予指点,多谢多谢!
PLC的型号三菱FX3u-32MR,配了一块通讯板,型号FX3u-485BD。
我用编程线监控PLC内部地址,串口助手通过另一根485转换线直接监控PLC通讯板的输出。
通讯格式 7N2,9600,ASCII,校验LRC。
发送指令 RS D10 K17 D50 K19 ,发送从D10开始的17个字,接受字存入D50开始的19个字。
问题是,发送前PLC校验的数据是正确的;发送后,串口助手接受到的数据是错误的。
明天客户来验机,突发这种情况我要死了!
以下附图。
附件 QQ截图20190812152946.jpg
附件 QQ截图20190812153006.jpg
附件 QQ截图20190812153044.jpg
附件 QQ截图20190812153104.jpg
附件 QQ截图20190812153140.jpg
最后修改:2019/8/12 15:32:23
19-08-12 15:31
在PLC发送时数据有没有变化,可以试一下直接赋值,就是把发送内容用MOV直接传送到D里面然后再发送
19-08-12 17:55
我找到原因了。LRC验证码的程序,需要循环至少6个周期才能算出正确的验证码。RS指令在验证码未验算完毕之前就将数据发出了。
现在的问题是,用FOR循环指令替代比较能行么?或者我把它做到子程序里。
我有点不能理解For循环指令和子程序的工作时序。他们是循环完了进行下一步程序还是在多次循环中完成本身内部的程序。
19-08-13 12:24
你可以利用PLC扫描循环,6次后才发送
19-08-13 14:07
我用FOR循环解决了,虽然不知道合理不合理,但是通讯没有问题了。
现在又有一个问题,我的设备配了主机FX3u-32MR、两块fx3U-4LC温度模块、一块4AD模拟量模块。
我按照k0 k1 这样编号过来的。两块4LC,第一块读取温度正常,也能控制。第二块读取温度正常,控制不了。我看手册上模拟量模块编号是U0,读
不上来,U1,U2我也试了,也不行。
大佬给抬抬手指点一下?多谢多谢。
19-08-13 15:11

引用 ddt250 在 2019/8/13 15:11:29 发言【内容省略】

既然能够读取了,那就说明编号是对的,否则是读不出来的呀
19-08-13 15:50
好多天了回来结贴。程序修修补补算是能用了。
又发现三菱一个反人类的地方PWM指令只有4个高速输出口能用,其他的输出口不能用。害得我14个PID温度调节只有4个用了PWM指令,其余的全是用计时器写的……
最后修改:2019/8/23 15:26:36
19-08-23 15:25

引用 ddt250 在 2019/8/23 15:25:05 发言【内容省略】

你用计数器没有丢失数据的情况·
23-12-15 11:19

工控新闻

更多新闻资讯