广州正菱|三菱
当前位置:首页 >> 技术支持 >> QJ71C24N RS485通讯
QJ71C24N RS485通讯  时间:2013/11/7 22:32:00
两线式连接RS485 编程和设置条件:
A)CH2 RS485通讯:发送指令为HB050,接受为8个字节数据30 31 32 33 34 35 36 37 38。
B)H136设为0,接受字为单位。H144为5,接受5个子结束。
C)先用H148设为1,清除接受区,等H148变为0,清除完毕,延时100ms,再启动G.output发送HB050指令,等到XnA/XnB变为ON时,启动接受G.input指令,把数据接受上来。
问题:
1)数据缓存区,接受到发送数据+接受数据,正常吗?每次一定会收到发送数据+接受数据吗?
2)缓存区A00,显示接受数据;经常是在1和5之间乱跳,有时也显示其他数字。为什么?
3)B0 50 30 31 32 33 34 35 36 37 38 在缓冲区HA01至HA05里,经常乱跳。比如:B0这次在HA01,下次跳到A03,下下次又跳到A02,很随机跳动。原因是什么?有什么办法?
4)H148设为1,清除接受区,清除的是HA00开始数据缓冲区吗?
5)设置为字节单位,可接受可变长度数据(无结束字符),接受到最后一个字节后,模块怎么判断这是最后一个字节?
Re:续:QJ71C24N RS485通讯  时间:2013/11/8 4:09:00
1) 不正常的,你可以将模块的1C2H缓存地址里面写1,防止接收到发送的程序。
2)乱跳可能是你数据长度设置的有问题。
3)乱跳可能是你设置的数据长度和你实际接收的数据长度不一样造成的。
4)148H里面写1是清除模块的OS区域。这样的话下次接收到的数据里面就不会存在之前残留在OS区里面的数据了。数据是从OS区移动到模块缓存里面的。
5)设置为字节单位的话,也是接收固定长度的,可变长度的话必须接收0D0A的结束代码,当模块接收到0D0A时接收就结束了。

Re:Re:续:QJ71C24N RS485通讯  时间:2013/11/8 6:33:00
谢谢你的回复!


1)模块的1C2H缓存是系统区域,禁止使用的。在程序里,能通过TO指令赋值吗?会不会引起模块发生异常?有没有关于1C2H详细解释?
2) 用H148设为1,清除接受区需要花多长时间?
3)断电重启后,或Stop切换至RUN时,OS区域会被清除吗?
YnF初始化,初始化后,OS区域会被清除吗? C24模块缓存回复到出厂设置吗?
通过哪个缓存可以使模块缓存回复到出厂设置?不是通讯设置(例:通讯波特率,数据协议)
4)H144为5,接受5个子数据结束;假设只接受到1个子数据后,模块等待多少时间后会把1个字数据从OS区域移到模块缓存里?
5)1BEH 设定发送等待时间。具体是什么意思? 设为1(10ms),发送指令后等待10ms,才接受响应数据吗? 如果在5ms时,响应数据到了,C24模块也不接受吗?这会不会造成响应数据丢失?
6)XnA/XnB置ON后,如果我不使用G.input指令,数据没接受上来时,XnA/XnB会一直置ON吗? 使用G.input指令接受完数据后,XnA/XnB多长时间后会置OFF?
7)E-learning 串行通讯中说:“设置为字节单位,可接受可变长度数据(无结束字符)。”
Re:Re:Re:续:QJ71C24N RS485通讯  时间:2013/11/8 11:21:00
1)用TO指令就可以了,不会异常的。说明在手册里面有,手册编号080006.
2)具体多长时间不清楚。
3)断电重启OS不会清楚。没有设置出厂初始化的信号的。
4)时间不清楚。
5)这个缓存设置的等待时间是针对模块使用MC协议时候使用的。
6)XA,XB不会一直置ON的。
7)接收可变长度必须有结束代码。字节单位的话也是接收固定长度的。

相关问题
相关下载