【玩转485】7.数据的接收5【连载7】

【玩转485】7.数据的接收5【连载7】

ID:21553596

大小:193.50 KB

页数:5页

时间:2018-10-22

【玩转485】7.数据的接收5【连载7】_第1页
【玩转485】7.数据的接收5【连载7】_第2页
【玩转485】7.数据的接收5【连载7】_第3页
【玩转485】7.数据的接收5【连载7】_第4页
【玩转485】7.数据的接收5【连载7】_第5页
资源描述:

《【玩转485】7.数据的接收5【连载7】》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、【玩转485】7.数据的接收5【连载7】通过时间方式判断进行数据的接收的两种方式,我已经详细的向大家介绍了固定长度报文情况下PLC如何接收数据,本文我就向大家介绍一下当报文长度不固定的情况下我们该如何控制PLC接收信息。首先我们回顾一下当协议中报文的长度不固定的情况下,我们是通过判断字符间的空闲时间的方式来判断一段报文的起始,通常是字符与字符之间空闲时间超过3.5个字符传输时间,我们就认为一段报文接收完毕,之后接收到的报文就是一段新的报文。下面我们来看看这个程序如何写。  1寄存器设定    SMB30=2#00001001=16#9  图1-11)自

2、由口模式。第0、1位。SM30.0=1、SM30.1=02)通讯速率9600bps。第2、3、4位。SM30.2=0、SM30.3=1、SM30.4=03)每个字符的数据位是8位。第5位。SM30.5=04)不选用奇偶效验。第6、7位。SM30.6=0、SM30.7=0  SMB87=2#10010100=16#94  2014-9-1516:28上传下载附件(6.56KB)  图1-2  1)不使用中断条件作为检测信息的开始。第1位。SM87.1=02)当SMW92中的定时时间超出时终止接收。第2、位。SM87.2=13)定时器是内部字符定时器。第3

3、位。SM87.3=04)使用SMW90的值检测空闲状态。第4位。SM87.4=15)不检测结束字符。第5位。SM87.5=06)不检测起始字符。第6位。SM87.6=07)允许信息接收功能。第7位。SM87.7=1注:第0位为无效位不使用,永久为0。  SMW90=4  将SMW90设定成4表示报文间空闲时间大于4ms后接收的第一个字符是新信息的开始。  SMW92=4  由于我们设定SM87.3=0确定使用报文长度不固定方式,在9600bps通讯速率下1个字符(10个位)的接收需要1.04ms,3.5个字符的时间需要3.64ms,因此将SMW92设定

4、成4表示当字符与字符之间的空闲时间超过4ms时停止接收信息(注:SMW92不支持小数),同时空闲4ms后(SMW90=4)接收到的第一个字符是新信息的开始。  SMB94=255  SMB94定义接收缓冲区大小,此处定义为最大255字节。(注:接收缓冲区是用来存放接收到的数据的区域,最大255字节,大家可以根据通讯情况自由定义。)  2程序编写    图2-1图2-2以上就是报文长度不固定方式下,接收数据的程序,下面我们从电脑向PLC发送两组长度不同的报文AA1122BB2345C1和AA1122BB2345C154,看看效果。图2-3图2-4图2-5

5、图2-6由上面两次操作我们可以看到当报文长度不固定的时候电脑向PLC发送几个字符PLC就会接收几个字符。    作者:马乐  版权为技成所有,未经同意,盗取必究!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。