rs485通信协议.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:5 大小:25KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

rs485通信协议.doc

rs485通信协议.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

rs485通信协议RS485主从式多机通讯协议一、数据传输协议此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息按本协议发出。1、数据在网络上转输控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则从设备不作任何回应。协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。从设备回应消息也由协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误(无相应的功能码),或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。2、在对等类型网络上转输在对等网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。在消息位,本协议仍提供了主—从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。3、查询—回应周期(1)查询查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。错误检测域为从设备提供了一种验证消息内容是否正确的方法。(2)回应如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。二、传输方式控制器能设置传输模式为RS485串行传输,通信参数为9600,n,8,1。在配置每个控制器的时候,在一个网络上的所有设备都必须选择相同的串口参数。地址功能代码数据数量数据1…….数据nCRC字节每个字节的位·1个起始位·8个数据位,最小的有效位先发送·1个停止位错误检测域·CRC(循环冗余码校验)三、消息帧来源:(HYPERLINK"http://blog.sina.com.cn/s/blog_4a3e04780100g0cx.html"http://blog.sina.com.cn/s/blog_4a3e04780100g0cx.html)-rs485通信协议_johnprince_新浪博客1.帧格式传输设备将消息转为有起点和终点的帧,这就允许接收的设备在消息起始处开始工作,读地址分配信息,判断哪一个设备被选中(广播方式则传给所有设备),判知何时信息已完成。错误消息也能侦测到并能返回结果。消息发送至少要以10ms时间的停顿间隔开始。传输的第一个域是设备地址。网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,一个至少10ms时间的停顿标定了消息的结束。一个新的消息可在此停顿后开始。整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过5ms时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于5ms的时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。这将导致一个错误,因为在最后的CRC域的值不可能是正确的。一典型的消息帧如下所示:起始间隔设备地址功能代码数据数量及数据CRC校验结束2、地址域消息帧的地址域包含一个字符8Bit。可能的从设备地址是0…247(十进制)。单个设备的地址范围是1…247。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,也把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。地址0是用作广播地址,以使所有的从设备都能认识。3、如何处理功能域消息帧中的功能代码域包含了一个字符8Bits。可能的代码范围是十进制的1…255。当然,有些代码是适用于所有控制器,有此是应用于某种控制器,还有些保留以备后用。当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为。例如去读取当前检测参量的值或开关状态,读从设备的诊断状态,允许调入、记录、校验在从设备