RS485主从式多机通讯协议
rs485工作原理
rs485工作原理RS485是一种常用的串行通信协议,其工作原理基于差分信号传输。
RS485总线允许多个设备通过同一条双绞线来进行通信。
RS485采用差分传输,即在通信传输过程中,使用两个相互互补的信号线,分别表示逻辑0和逻辑1。
其中一个信号线传输正相位信号,另一个信号线传输反相位信号。
这种差分传输方式可以有效抵消传输线路上的干扰和噪声。
在RS485总线中,最常见的连接方式是多个设备采用并行连接的形式,即所有设备都连接在同一根双绞线上。
每个设备都有一个独特的地址,用于标识其在总线上的唯一性。
设备之间的通信是通过主从方式进行的。
主设备负责发起通信,并控制总线的访问权限。
它向指定的从设备发送数据或者请求数据。
从设备只有在主设备的请求下才能进行数据传输。
在通信过程中,主设备首先发出开始信号,它会将发送线置为高电平,接收线置为低电平。
然后主设备发送数据,数据的传输是通过不同的电平变化来表示。
对于逻辑0,发送线保持高电平,接收线保持低电平;对于逻辑1,发送线保持低电平,接收线保持高电平。
接收设备会监听总线上的数据变化。
当检测到开始信号后,它将开始接收数据。
它通过比较发送线和接收线的状态来判断数据的传输。
如果发送线的状态与接收线的状态相同,表示接收到逻辑0;如果发送线与接收线的状态相反,表示接收到逻辑1。
RS485总线允许多个设备同时进行数据传输,但在同一时刻只能有一个设备发送数据。
其通过主从方式及差分信号传输来提高通信的可靠性和抗干扰能力。
这使得RS485成为工业控制领域中广泛应用的通信协议之一。
rs485通信协议介绍
rs485通信协议介绍附录:RS485串⾏通讯协议1 主要性能本变频器通过内置的RS485标准接⼝,能与个⼈计算机、PLC 或同系列的变频器等连接,进⾏主从式、异步半双⼯串⾏通信。
其主要性能参见下表:项⽬规范适⽤机型 ALPHA3000系列变频器物理级EIA RS485 传输线屏蔽双绞线配线最长长度 500⽶连接台数主机⼀台,从机31台传输速度19200bps,9600bps,4800bps,2400bps,1200bps,600bps,300bps 数据交换⽅式异步串⾏、半双⼯传送协议点对点或⼴播字长 11位停⽌位长度 1位帧长 14字节固定奇偶校验奇校验出错检查⽅式异或校验2硬件连接 2.1硬件联接如下图:图 1 多台变频器⽤主机控制连接⽰意图图中的MASTER (主机)是ALPHA3000变频器、PC 机或可编程控制器(PLC ),图中的SLAVE (从机,在虚线框内)是变频器。
变频器做为主机,只要将从机的RS485端⼦和主机的RS485同名端⼦相联接即可;如果⽤PC 机或PLC 做为主机,则要在主机和总线之间增加⼀个RS485的转接器。
RS458串⾏总线接⼝最多可连接31台变频器做从机,每⼀个从机变频器都有⼀个唯⼀的号码(ID ),主机依靠ID 来识别每⼀台从机。
2.2 RS485转换器RS485转换器采⽤DB9/DB9外形,带孔的⼀端为RS232,带针的⼀端为RS485。
转换器外带接线转换头把RS485端的DB9接线转换为螺丝接线柱,便于通讯线缆的安装和拆卸。
接线转换头上“A+”为485收/发正端,“ B-”为485收/发负端,“GND”为485地线。
RS485接⼝组成半双⼯⽹络,⼀般只需⼆根连线,为获得良好的抗噪声⼲扰性和较长的传输距离,建议采⽤屏蔽双绞线传输。
3通讯协议3.1概述3.1.1通讯⽅式采⽤USS协议。
主机和从机之间⽤轮询的⽅式来进⾏通讯。
由主机启动每⼀次通信,主机向从机变频器发送任务报⽂,从机接到主机的任务命令后返回响应报⽂并执⾏相应动作。
伟创AC90变频器说明书9附录二:RS485通讯协议ac90
9.2附录二: RS485通讯协议● 通讯协议简介AC90系列变频器标配RS485通讯接口,并采用国际标准的ModBus通讯协议进行的主从通讯。
用户可通过PC/PLC、上位机、主站变频器等实现集中控制(设定变频器控制命令、运行频率、相关功能码参数的修改,变频器工作状态及故障信息的监控等),以适应特定的应用要求。
● 应用方式1、AC90系列变频器具备接入RS485总线的“单主多从”控制网络。
主机使用广播命令(从机地址为0)时从机无应答。
2、AC90只提供RS485接口,异步半双工。
若外界设备的通讯口为RS232时,需要另加RS232/RS485转换器。
3、ModBus协议定义了串行通讯中异步传输的信息内容及使用格式,可分为RUT方式和ASCII方式。
AC90为RTU(远程终端单元)模式。
● 通讯帧结构通讯数据格式如下:字节的组成:包括起始位、8个数据位、校验位和停止位。
起始位 Bit1 Bit2Bit3Bit4Bit5Bit6Bit7Bit8校验位停止位一个帧的信息必须以一个连续的数据流进行传输,如果整个帧传输结束前超过1.5个字节以上的间隔时间,接收设备将清除这些不完整的信息,并错误认为随后一个字节是新一帧的地址域部分。
同样的,如果一个新帧的开始与前一个帧的间隔时间小于3.5个字节时间,接收设备将认为它是前一帧的继续,由于帧的错乱,最终CRC校验值不正确,导致通讯错误。
RTU帧的标准结构:帧头 3.5个字节的传输时间从机地址 通讯地址:0~247(十进制)(0为广播地址)命令代码 03H:读从机参数 06H:写从机参数 08H:回路自检测数据区 参数地址,参数个数,参数值等 CRC CHK 低位检测值:16位CRC校验值CRC CHK 高位帧尾 3.5个字节的传输时间177178在RTU 模式中,新的一帧以至少3.5个字节的传输时间停顿间隔作为开始。
紧接着传输的数据域依次为:从机地址、操作命令代码、数据和CRC 校验字,每个域传输字节都是十六进制的0...9,A...F。
rs485 原理
rs485 原理
RS485是一种串行通信协议,也称作EIA485或TIA485。
它是在RS485标准下工作的一种物理层通信协议,可以实现多个设备之间的远距离、高速、可靠的数据通信。
RS485采用差分信号传输方式,即发送数据和接收数据通过两根线分别传输。
其中一根线为A线,另一根线为B线,它们相互之间的电平差异表示不同的二进制数值。
当A线的电位高于B线时,表示二进制的0;当A线的电位低于B线时,则表示二进制的1。
RS485的通信方式采用半双工通信,意味着数据只能在一个方向上传输,在同一时间只能进行发送或接收操作。
为了实现多个设备之间的通信,RS485采用了一种主从结构的网络拓扑。
在网络中,一个设备可以充当主设备(Master),负责控制和调度通信的过程,其他设备则为从设备(Slave),按照主设备的指令进行数据的发送和接收。
RS485通信的主要特点是抗干扰能力强,传输距离远(最高可达1200米),传输速率高(最高可达10Mbps),适用于复杂的工业环境。
此外,RS485还支持多主设备的通信,可以实现多个主设备同时与多个从设备进行通信,灵活性较强。
总之,RS485是一种基于差分信号传输的半双工通信协议,通过A线和B线传输数据,采用主从结构的网络拓扑,具有抗干扰能力强、传输距离远、传输速率高等特点,广泛应用于工业自动化等领域。
关于RS485的详细说明
串行口RS485通讯协议1.1通讯概述本公司系列变频器向用户提供工业控制中通用的RS485通讯接口。
通讯协议采用MODBUS标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如PLC控制器、PC机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过RS485接口连接数台本公司的变频器作为从机。
以实现变频器的多机联动。
通过该通讯口也可以接远控键盘。
实现用户对变频器的远程操作。
本变频器的MODBUS通讯协议支持两种传送方式:RTU方式和ASCII方式,用户可以根据情况选择其中的一种方式通讯。
下文是该变频器通讯协议的详细说明。
1.2通讯协议说明1.2.1通讯组网方式(1) 变频器作为从机组网方式:图9-1 从机组网方式示意图(2) 多机联动组网方式:单主机单从机单主机多从机图9-2 多机联动组网示意图1.2.2通信协议方式该变频器在RS485网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时,PC 机或PLC可以作为主机控制变频器工作。
具体通讯方式如下:(1)变频器为从机,主从式点对点通信。
主机使用广播地址发送命令时,从机不应答。
(2)变频器作为主机,使用广播地址发送命令到从机,从机不应答。
(3)用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。
(4) 从机在最近一次对主机轮询的应答帧中上报当前故障信息。
1.2.3通讯接口方式通讯为RS485接口,异步串行,半双工传输。
默认通讯协议方式采用ASCII 方式。
默认数据格式为:1位起始位,7位数据位,2位停止位。
默认速率为9600bps,通讯参数设置参见P3.09~P3.12功能码。
1.3 ASCII通讯协议字符结构:10位字符框(For ASCII)(1-7-2格式,无校验)(1-7-1格式,奇校验)(1-7-1格式,偶校验)11位字符框(For RTU)(1-8-2格式,无校验)(1-8-1格式,奇校验)(1-8-1格式,偶校验)通讯资料结构:ASCII模式通讯地址:00H:所有变频器广播(broadcast)01H:对01地址变频器通讯。
RS485通讯协议
附录1:RS485通讯协议1.概述CVF-G3/P3系列变频器中提供了RS485通讯接口,用户可通过PC/PLC实现集中监控(设定变频器的工作参数和读取变频器的工作状态),以适应特定的使用要求。
本附录的协议内容即是为实现上述功能而设计的。
1.1 协议内容该串行通讯协议定义了串行通讯中传输的信息内容及使用格式。
其中包括:主机轮询(或广播)格式;主机的编码方法,内容包括:要求动作的功能代码,传输数据和错误检验等。
从机的响应也是采用相同的结构,内容包括:动作确认,返回数据和错误校验等。
如果从机在接收信息时发生错误,或不能完成主机要求的动作,它将组织一个故障信息作为响应反馈给主机。
1.2 适用范围1.2.1 适用产品CVF-G3/P3系列变频器1.2.2 应用方式⑴变频器接入具备RS485总线的“单主多从”PC/ PLC控制网。
⑵变频器接入具备RS485/ RS232(转换接口)的“点对点”方式的PC/ PLC监控后台。
2.总线结构及协议说明2.1 总线结构(1) 接口方式RS485(RS232可选,但需要电平转换附件)(2) 传输方式异步串行、半双工传输方式。
在同一时刻主机和从机只能有一个发送数据,而另一个只能接收数据。
数据在串行异步通讯过程中,是以报文的形式,一帧一帧发送。
⑶拓扑方式单主站系统,最多32个站,其中1个站为主机、31个站为从机。
从机地址的设定范围为0~30,31(1FH)为广播通讯地址。
网络中的从机地址必须是唯一的。
点对点方式实际是作为单主多从拓扑方式的一个应用特例,即只有一个从机的情况。
2.2 协议说明CVF-G3/P3系列变频器通讯协议是一种串行的主从通讯协议,网络中只有一台设备(主机)能够建立协议(称为“查询/命令)。
其它设备(从机)只能通过提供数据响应主机的查询/命令,或根据主机的命令/查询做出相应的动作。
主机在此处指个人计算机(PC)﹑工控机和可编程控制器(PLC)等,从机指变频器。
RS485通信原理
RS485通信原理首先,RS485是一种双向通信标准。
它采用差分传输信号,使用两条传输线(A和B)来传输数据。
传输线上电压的极性差异表示二进制位的取值,差分信号的抗干扰能力强,传输距离可以达到1200米。
RS485的通信原理基于主从模式,通信中主设备负责发送命令和请求,从设备响应并返回数据。
通信中的建立主从关系需要设备连接到共享总线上,并由主设备对从设备进行寻址。
通信过程中,主设备通过控制传输线上的电平来发送控制帧和数据帧,从设备通过检测传输线上的电平变化来解析和响应主设备的命令。
RS485通信的标准规定了通信帧的格式和传输速率。
通信帧一般分为两部分:一个起始位、8个数据位、可选的奇偶校验位和一个或多个停止位。
数据位可以是8位或9位,其中一个是奇偶校验位。
起始位和停止位用于标识一个数据帧的开始和结束。
通过RS485接口进行数据传输,通信数据通常是以字节为单位进行传输的。
每个字节在传输线上经过一系列的状态转换来表示,如发送开始位、发送数据位、发送奇偶校验位和发送停止位等。
从设备接收到信号后,需要进行解析和处理,包括检查校验位的有效性和解析数据位。
RS485通信使用多种协议进行数据交互,如MODBUS、Profibus和DMX512等。
协议是规定通信帧的格式、数据的含义以及通信过程的一系列规则和约定。
协议可以包括命令帧、响应帧、错误处理机制以及数据压缩和加密等功能。
RS485通信具有良好的可靠性和抗干扰能力。
通过差分传输和控制信号的特性,能够有效地抵抗电磁干扰和信号衰减。
同时,RS485可以实现多点通信,允许多个设备连接到同一总线上进行通信。
通过总线结构,可以降低通信成本和简化系统布线,提高系统的扩展性和灵活性。
总的来说,RS485通信原理是基于差分传输的双向通信标准,通过主从模式和控制帧的方式进行数据交互。
通过设备间的连接和寻址,实现主设备和从设备的通信。
RS485通信在工控领域具有广泛的应用,提供了一种可靠的数据传输方案,满足了工业环境下的实时、可靠性和抗干扰的要求。
RS485总线
RS-485RS485采用差分信号负逻辑,+2V~+6V表示“0”,- 6V~- 2V表示“1”。
接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。
RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。
在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。
理论上,通信速率在100Kpbs及以下时,RS485的最长传输距离可达1200米,但在实际应用中传输的距离也因芯片及电缆的传输特性而所差异。
在传输过程中可以采用增加中继的方法对信号进行放大,最多可以加八个中继,也就是说理论上RS485的最大传输距离可以达到9.6公里。
如果真需要长距离传输,可以采用光纤为传播介质,收发两端各加一个光电转换器,多模光纤的传输距离是5~10公里,而采用单模光纤可达50公里的传播距离。
在低速、短距离、无干扰的场合可以采用普通的双绞线RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;1. RS-485的数据最高传输速率为10Mbps 。
2. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。
3. RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米(理论上的数据,在实际操作中,极限距离仅达1200米左右),另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。
而RS-485接口在总线上是允许连接多达128个收发器。
即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。
因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。
因为RS485接口组成的半双工网络一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。
RS485主从式多机通讯协议
RS485主从式多机通讯协议1.RS485简介2.主从式多机通信协议RS485主从式多机通信协议允许一个主设备控制多个从设备,实现主设备与从设备之间的数据传输和通信协调。
主从式通信分为两个角色,即主机和从机。
主机是整个系统的控制中心,负责向从机发送指令和收集数据。
从机是被控制的设备,负责执行主机发送的指令并向主机发送数据。
3.数据传输格式4.通信流程-主机发送请求:主机向从机发送请求指令。
-从机应答:从机接收到请求指令后,执行相应操作,并向主机发送应答数据。
-主机接收应答:主机接收到从机的应答数据。
-主机发送下一个请求:主机根据需要继续发送下一个请求指令,重复上述步骤。
5.地址识别与从机选择在RS485主从式多机通信协议中,每个从机都有一个唯一的地址,主机通过地址来识别并选择要与之通信的从机。
通常采用软件设置的方式,主机在发送请求指令时会将目标从机的地址加入请求帧中,从机在接收到请求帧后,会根据地址判断是否为自己的请求。
6.错误处理机制RS485主从式多机通信协议中,为了保证通信的可靠性,需要引入一些错误处理机制。
例如,可以使用CRC校验来检测数据传输过程中的错误,并进行错误重传。
此外,还可以使用超时机制来处理通信过程中出现的超时情况。
7.适用范围总结:RS485主从式多机通信协议是一种常用于工业控制领域的通信标准。
它采用主从式通信模式,支持一个主设备控制多个从设备。
数据传输以帧为单位,采用差分技术提高信号传输的可靠性和抗干扰能力。
通信流程包括主机发送请求、从机应答、主机接收应答和主机发送下一个请求。
地址识别与错误处理机制是确保通信可靠性的重要部分。
RS485主从式多机通信协议适用于工业自动化等环境中的数据传输和控制应用。
RS485通信协议
RS485通信协议协议名称:RS485通信协议一、引言RS485通信协议是一种用于在多个设备之间进行数据通信的标准协议。
本协议旨在规范RS485通信的数据格式、传输速率、物理接口等方面的要求,以确保设备之间的稳定、可靠的数据传输。
二、范围本协议适用于使用RS485通信协议的设备之间的数据传输。
三、术语定义1. RS485:一种串行通信协议,支持多个设备之间的数据传输。
2. 设备:指使用RS485通信协议进行数据传输的电子设备。
3. 主设备:指RS485通信网络中控制和发起数据传输的设备。
4. 从设备:指RS485通信网络中被控制和接收数据传输的设备。
四、通信规则1. 物理接口a. 通信线路:使用双绞线连接主设备和从设备,其中A线和B线分别用于数据传输。
b. 信号电平:逻辑高电平为+5V至+12V,逻辑低电平为-5V至-12V。
c. 终端电阻:在通信线路的两端分别连接120欧姆的终端电阻。
2. 数据格式a. 帧结构:每个数据帧由起始位、数据位、校验位和停止位组成。
b. 起始位:一个起始位,逻辑低电平。
c. 数据位:8位数据位,最高有效位先传输。
d. 校验位:可选的奇偶校验位,用于检测数据传输中的错误。
e. 停止位:一个或两个停止位,逻辑高电平。
3. 传输速率a. 传输速率可根据实际需求设置,常见的速率有9600bps、19200bps、38400bps等。
b. 主设备和从设备的传输速率必须一致,否则无法正常通信。
五、通信协议1. 数据传输a. 主设备通过发送数据帧向从设备发送数据。
b. 从设备通过接收数据帧接收主设备发送的数据。
c. 数据传输的顺序由主设备控制,从设备按照主设备的指令进行响应。
2. 数据帧格式a. 主设备发送的数据帧格式:| 起始位 | 数据位 | 校验位 | 停止位 |b. 从设备接收的数据帧格式:| 起始位 | 数据位 | 校验位 | 停止位 |3. 错误检测a. 校验位用于检测数据传输中的错误,可选的奇偶校验位可以增加数据传输的可靠性。
基于RS485的多主机对等通信系统的设计与实现
软件优化:提高 通信效率,降低 资源消耗
主从机连接与通信流程实现
硬件连接:RS485 总线连接多个主机, 实现数据传输
通信协议:制定并 实现通信协议,保 证数据传输的准确 性和可靠性
数据传输:实现数 据的发送和接收, 保证数据的完整性 和实时性
错误处理:实现错 误检测和恢复机制 ,保证通信的可靠 性和稳定性
A
B
C、以太网等
降低功耗:优化硬件设 计,降低系统功耗,提
高能源利用率
增强安全性:采用加密 技术,提高通信数据的
安全性
提高兼容性:支持多种 硬件平台和操作系统,
提高系统的通用性
总结与展望
系统特点与优势总结
基于RS485的多主机对等通信系统,实 现了多主机之间的实时通信和数据共享。
03
测试方案:功能测试、性能测试、兼容性 测试等
02
软件环境:操作系统、测试软件、驱动程 序等
04
测试结果分析:测试数据、测试报告、问 题定位等
测试过程及结果分析
测试环境搭建:搭建 测试环境,包括硬件
和软件
测试方法:选择合适 的测试方法,如黑盒 测试、白盒测试等
测试数据准备:准备 测试数据,包括正常
度
增强系统稳定 性:优化系统 设计,提高系 统抗干扰能力
降低功耗:采 用低功耗器件, 降低系统能耗
扩展应用领域: 将RS485技术 应用于更多领 域,如工业自 动化、智能家
居等
THANK YOU
0 终端电阻:在总线两端添加终端 4 电阻,防止信号反射和干扰
0 硬件测试:通过测试验证硬件设 6 计的正确性和可靠性
通信软件设计
01
02
03
04
485多机通信协议
RS-232是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。
RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。
为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。
RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A 标准。
为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
由于EIA提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓。
备注:以上是官方的专业描述,看不懂没有关系,大致有个印象就可以了,有兴趣的可以上网可以买一些专业书籍做深入研究,我再用通俗的语言补充描述一下。
1. RS485通讯协议1.1. 主从式半双工通讯,主机呼叫从机地址,从机应答方式通讯。
串行通讯,数据帧11位,1个起始,8个数据位,2个停止位1.2. 数据传输格式采用标准ASCⅡ码1.2.1. 通讯数据字符集0(30H)1(31H)2(32H)3(33H)4(34H)5(35H)6(36H)7(37H)8(38H)9(39H)A(41H)B(42H)C(43H)D(44H)E(45H)F(46H) .(2EH)-(2DH)+(2BH)1.2.2. 通讯控制字符集DC1(11H):读瞬时值DC2(12H):读参数DC3(13H):写参数DC4(14H):读写FCC5000STX(02H):从机起始符ETX(03H):主机结束符ETB(17H):从机结束符RS (1EH):数据间隔符US (1FH):参数间隔符ACK(06H):接收正确NAK(15H):接收错误CAN(18H):通讯复位SP (20H):空白符1.3. 通讯协议1.3.1. 读瞬时值1.3.1.1. 读单通道瞬时值主机发送:DC1 AAA CC ETXDC1(11H):读瞬时值AAA :从机地址码(=001~254)CC :通道号(=01-99)ETX(03H):主机结束符从机回送:STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符MM :表型字(=00~99)DDDDDDD :瞬时值(-32167~32767,32767=brok,16000=H.oFL,-2000=L.oFL,小数点在实际位置)EEEE :报警1~4报警状态(E=0:OFF E=1:ON)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符例子:主机发送:11H 30H 30H 31H 30H 31H 03H(读001号表01通道瞬时值)从机回送:02H 30H 30H 31H 30H 31H 1FH 30H 36H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 31H 30H 30H 30H 1FH 30H 31H 30H 30H 34H17H(001号表为XMA5000系列,01号通道瞬时值=-0123.4,报警1动作,报警2不动作,校验和=1004)1.3.1.2. 读多通道瞬时值主机发送:DC1 AAA CC ETXDC1(11H):读瞬时值AAA :从机地址码(=001~254)CC :通道号(=00)ETX(03H):主机结束符从机回送1:STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=01,表示不支持多通道批读,由表型号字判断通道数,逐个通道读取瞬时值)US(1FH):参数间隔符MM :表型字(=00~99)DDDDDDD :瞬时值(-32167~32767,32767=brok,16000=H.oFL,-2000=L.oFL,小数点在实际位置)EEEE :报警1~4报警状态(E=0:OFF E=1:ON)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符从机回送2:STX AAA CC US MM US RS FF US GGGGGG US H HHH … US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=00,表示支持多通道批读)US(1FH):参数间隔符MM :表型字(=00~99)RS :数据间隔符FF :通道号(=01~99)GGGGGGG :瞬时值(-32167~32767,32767=brok,16000=H.oFL,-2000=L.oFL,小数点在实际位置)HHHH :报警1~4报警状态(E=0:OFF E=1:ON)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符注:下划线为通道数据格式1.3.2. 读参数主机发送:DC2 AAA CC US PP ETXDC2(12H):读参数值AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符PP :参数号(=01-69)ETX(03H):主机结束符从机回送:STX AAA CC US PP US DDDDDDD US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符PP :参数号(=01~69)DDDDDDD :参数值(=-1999~15999)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符例子:主机发送:12H 30H 30H 31H 30H 31H 1FH 31H 32H 03H(读001号表01通道参数号12量程零点值)从机回送:02H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 30H 30H 37H 37H 37H 17H(001号表01通道参数号12量程零点值=-0123.4,校验和=777)1.3.3. 写参数主机发送:DC3 AAA CC US PP US DDDDDDD US SSSSS ETXDC3(13H):写参数值AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符PP :参数号(=11-69)DDDDDDD :参数值(=-1999~15999)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETX(03H):主机结束符从机回送:ACK(06H):接收正确NAK(15H):接收错误例子:主机发送:13H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H33H 2EH 34H 1FH 30H 30H 37H 39H 34H 17H(写001号表01通道参数号12量程零点值=-0123.4,校验和=797)从机回送:06H (写参数成功)1.3.4. 读写FCC下挂仪表数据1.3.4.1. 读单通道瞬时值主机发送:DC4 FF DC1 AAA CC ETXDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)DC1(11H):读仪表瞬时值AAA :仪表地址码(=001~254)CC :仪表通道号(=01~99)ETX(03H):主机命令结束符FCC回送:DC4 FF STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETB或DC4 FF NAKDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)STX(02H):数据起始符AAA :仪表地址码(=001~254)CC :仪表通道号(=01~99)US(1FH):参数间隔符MM :仪表表型字(=00~99)DDDDDDD :瞬时值(-32767~32767,32767=brok,16000=H.oFL,-2000=L.oFL,-32767=仪表故障,小数点在实际位置)EEEE :报警1~4报警状态(E=0:OFF E=1:ON)FFFFF :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):数据结束符NAK(15H):错误命令或错误地址例子:主机发送:14H 30H 31H 11H 30H 30H 31H 30H 31H 03H(读01号FCC 下挂001号表01通道瞬时值)FCC回送:14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 30H 36H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 31H 30H 30H 30H 1FH 30H 31H31H 32H 31H 17H(001号表为XMA5000系列,01号通道瞬时值=-0123.4,报警1动作,报警2不动作,校验和=1121)1.3.4.2. 读参数主机发送:DC4 FF DC2 AAA CC US PP ETXDC4(15H):读写FCC5000FF :FCC5000地址码(=01~99)DC2(12H):读仪表参数值AAA :仪表地址码(=001~254)CC :仪表通道号(=01~32)PP :仪表参数号(=01~69)ETX(03H):主机命令结束符FCC 回送:DC4 FF STX AAA CC US PP US DDDDDDD US SSSSS ETB 或DC4 FF NAKDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)STX(02H):数据起始符AAA :仪表地址码(=001~254)CC :仪表通道号(=01~32)US(1FH):参数间隔符PP :仪表参数号(=00~69)DDDDDDD :仪表参数值SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):数据结束符NAK(15H):错误命令或错误地址或错误参数例子:主机发送:14H 30H 31H 12H 30H 30H 31H 30H 31H 1FH 31H 32H 03H(读01号FCC下挂001号表01通道,参数号12量程零点值)FCC回送:14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 30H 30H 37H 38H 39H 14H(001号表01通道,参数号12量程零点值=-0123.4,校验和=894)1.3.4.3. 写参数主机发送:DC4 FF DC3 AAA CC US PP US DDDDDDD US SSSSS ETXDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)DC3(13H):写仪表参数值AAA :仪表地址码(=001~254)CC :仪表通道号(=01~32)PP :仪表参数号(=01~69)DDDDDDD :仪表参数值SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):数据结束符FCC回送:DC4 FF ACK或DC4 FF NAKDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)ACK(06H):正确接收NAK(15H):接收错误例子:主机发送:14H 30H 31H 13H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH30H 31H 32H 33H 2EH 34H 1FH 30H 30H 39H 31H 31H 17H(写01号FCC下挂001号表01通道,参数号12量程零点值=-0123.4,校验和=911)FCC回送:14H 30H 31H 06H (写参数成功)1.3.4.4. 读FCC时间主机发送:DC4 FF DC2 00101 US 70 ETXFF :FCC5000地址码(=01~99)FCC回送:DC4 FF STX 00101 US 70 US YYYYMMDDhhmmss US SSSSS ETB YYYYMMDDhhmmss :YYYYMMDDhhmmss(年月日时分秒)例子:主机发送:14H 30H 31H 12H 30H 30H 31H 30H 31H 1FH 37H 30H 03H(读01号FCC参数号70实时时间)FCC回送:14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 37H 30H 1FH 32H 30H 30H 33H 31H 30H 30H 31H 30H 38H 30H 30H 30H 30H 1FH30H 31H 32H 34H 34H 17H(01号FCC实时时间2003年10月1日8点0分0秒,校验和=1244)1.3.4.5. 写FCC时间主机发送:DC4 FF DC3 00101 US 70 US YYYYMMDDhhmmss US SSSSS ETX FCC回送:DC4 FF ACK或DC4 FF NAK例子:主机发送:14H 30H 31H 13H 30H 30H 31H 30H 31H 1FH 37H 30H 1FH 32H 30H 30H 33H 31H 30H 30H 31H 30H 38H 30H 30H 30H 30H 1FH30H 31H 32H 36H 31H 03H(写01 FCC实时时间2003年10月1日8点0分0秒,校验和=1261)FCC回送:14H 30H 31H 06H (写参数成功)1.3.4.6. 读FCC下挂仪表地址范围主机发送:DC4 FF DC2 00101 US 71 ETXFCC回送:DC4 FF STX 00101 US 71 US AAA RS BBB US SSSSS ETBAAA :起始地址BBB :终止地址1.3.4.7. 读FCC下挂故障仪表地址主机发送:DC4 FF DC2 00101 US 72 ETXFCC回送:DC4 FF STX 00101 US 72 US AAA RS … US SSSSS ETBAAA :故障地址注:下划线为故障地址发送格式;数据为空表示无故障地址1.3.4.8. 读所有通道瞬时值主机发送:DC4 FF DC2 00101 US 73 ETXFCC回送:DC4 FF STX 00101 US 73 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … USSSSSS ETBAAA :仪表地址码(=001)BB :仪表通道号(=01)US(1FH):参数间隔符PP :仪表参数号(=00~99)CCCCCCC :瞬时值(-32767~32767,32767=brok,16000=H.oFL,-2000=L.oFL,-32767=仪表故障,小数点在实际位置)DDDD :报警1~4报警状态(E=0:OFF E=1:ON)注:下划线为通道数据格式,故障仪表数据只发送01通道1.3.4.9. 读取FCC下一条历史数据记录主机发送:DC4 FF DC2 00101 US 74 ETXFCC回送:DC4 FF STX AAA CC US 74 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … USSSSSS ETB注:下划线为通道数据格式;通道数据为空表示历史数据已经读空发送方式同73参数,只是故障仪表数据不发送1.3.4.10. 重读FCC上一条历史数据记录主机发送:DC4 FF DC2 00101 US 75 ETXFCC回送:DC4 FF STX AAA CC US 75 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … USSSSSS ETB1.3.4.11. 读取FCC时间历史数据记录读指针对应时间点主机发送:DC4 FF DC2 00101 US 76 ETXFCC回送:DC4 FF STX 00101 US 76 US YYYYMMDDhhmmss US SSSSS ETB1.3.4.12. 移动FCC时间历史数据记录读指针对应时间点主机发送:DC4 FF DC3 00101 US 76 US YYYYMMDDhhmmss US SSSSS ETB FCC回送:DC4 FF ACK或DC4 FF NAK用途:FCC历史数据记录读指针通过74号参数读来一条一条移动,大量历史数据记录读取可能需要很长时间,可用76号参数直接移动到所需数据时间点,然后用74读取。
RS485通讯协议
RS485通讯协议RS485是一种常用的串行通信协议,它能够实现多个设备之间的高速数据传输和远距离通信。
RS485通信协议主要用于工业自动化领域,例如工厂自动化、楼宇自动化、安防系统等。
RS485通信协议具有可靠性高、传输速率快、抗干扰能力强等优点,下面将详细介绍RS485通信协议的原理和应用。
RS485通信协议是一种差分信号通信方式,它使用两根信号线进行数据传输,分别为A线和B线。
传输数据时,A线的电平和B线的电平总是相互互补,即一个为高电平时另一个为低电平,这样可以减小干扰对数据传输的影响。
RS485通信协议还增加了一个控制线,即控制线用于进行数据传输的控制,例如数据发送和结束等。
RS485通信协议支持半双工通信方式,即同一时刻只能有一个设备进行数据的发送,但任何一个节点都可以作为发送器和接收器。
它采用了“主从”模式,一个主节点可以连接多个从节点,主节点负责控制通信的开始和结束,从节点负责接收和发送数据。
这种通信方式可以很好地实现多个设备之间的数据交换和共享。
RS485通信协议的传输速率可以达到几百kbps甚至Mbps级别,这使得它在工业自动化领域具有广泛的应用前景。
同时,RS485通信协议的抗干扰能力很强,可以有效地抑制来自外部环境的干扰信号,保证数据传输的可靠性。
这使得RS485通信协议可以在电磁干扰较大的工业环境中稳定地工作。
RS485通信协议的应用范围很广,例如在工厂自动化领域,可以用于控制和监控各个设备的状态和参数。
在楼宇自动化领域,可以用于集中管理各个楼层的空调、照明、安防等设备。
在安防系统中,可以用于实现多个监控摄像头之间的视频传输和控制。
此外,RS485通信协议还可以应用于电力系统、交通系统、能源管理系统等领域。
综上所述,RS485通信协议是一种可靠性高、传输速率快、抗干扰能力强的串行通信协议。
它的原理是使用差分信号进行数据传输,支持半双工通信方式并采用“主从”模式。
RS485通信协议在工业自动化、楼宇自动化、安防系统等领域的应用广泛,并且具有较高的稳定性和可靠性。
RS-485的多机通信方案
76 Microcontrollers &Embedded Systems 2012年第10期www.mesnet.com.cn RS 485的多机通信方案探究魏金文,马维华,吴侨(南京航空航天大学计算机科学与技术学院,南京210016)引 言在嵌入式系统中,多个孤立节点之间的通信越来越重要,尤其是物联网时代的到来,多节点间通信已经成为必不可少的功能。
由此出现了许多通信手段,如RS 232、RS 485、CAN总线、ZigBee等,综合考虑性能和成本,RS485通信无疑是性价比最高的通信方式。
因此探究高效、实用的多机通信方案具有重大的意义。
1 系统框图RS 485多机通信结构图如图1所示。
若干个RS485节点通过总线连接,由网关节点轮询访问索要数据,每个网关节点可以动态地配置IP地址,以便上位机可以通过以太网控制网关节点,从而获得每个RS 485终端节点的数据。
图1中C节点为控制节点,具有RS 485通信功能,T节点为网关节点,除了RS 485功能外,还具有以太网功能,其作用就是将C节点的数据通过以太网功能传送给上位机。
图1 RS 485多机通信结构图2 硬件设计本文采用新唐科技公司的Cortex M054探究RS485多机通信协议。
Cortex M054有两个UART,均可以配置成RS 485模式,此时Cortex M054通过RTSX引脚自动控制RS 485通信方向。
RS 485通过差分传输,A和B两根信号线铰链在一起来抵消各自的干扰。
当A、B信号的电压差大于200mV时,视为逻辑1;当B、A信号的电压差大于200mV时,视为逻辑0。
RS 485硬件原理图如图2所示。
整套RS 485电路独立供电,通过光电耦合器TLP781B+,与系统其他部件分开,以此来隔离干扰。
和CAN总线相同,在机群的两端(第一个节点和最后一个节点),必须加上匹配电阻,吸收反射信号,大小为75Ω左右。
中间节点则不需要如此,因此留出了R1的位置,当节点位于机群两端的时候,则焊接上R1,这种方式大大地增强了电路的灵活性。
RS485(详细版)
RS-485RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。
RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。
加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。
根据RS485工业总线标准,RS485工业总线为特性阻抗120Ω的半双工通讯总线,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。
RS-485用于多点互连时非常方便,可以省掉许多信号线,其最大负载能力为32个有效负载(包括主控设备与被控设置)。
1.RS485接口RS485采用差分信号负逻辑,+2V~+6V表示“0”,- 6V~- 2V表示“1”。
RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。
在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。
很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。
而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:(1)共模干扰问题: RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。
但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。
当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。
(2)EMI问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
2.RS485电缆在低速、短距离、无干扰的场合可以采用普通的双绞线,反之,在高速、长线传输时,则必须采用阻抗匹配(一般为120Ω)的RS485专用电缆(STP-120Ω(for RS485 & CAN) one pair 18 AWG),而在干扰恶劣的环境下还应采用铠装型双绞屏蔽电缆(ASTP-120Ω(for RS485 & CAN) one pair 18 AWG)。
主从机的四种通信机制
主从机的四种通信机制
1) RS485协议:在现场总线系统中,RS485是一种最常用的通信协议,它允许最多32节点之间彼此进行数据通信,支持长距离传输,最长可达1200m 。
2) CAN协议:CAN(控制器专用网络)协议是由Robert Bosch公司于1985年提出的一种万能总线,具有高速、高确定性、低延迟等特性,广泛应用于汽车、铁路和工业控制系统等嵌入式环境。
3) SPI协议:SPI(串行外围界面)协议是一种高速,全双工的串行总线,可以将数据以4 条线(Verilog, Clock line, SoC, SiC)传输,满足半双工传输、多设备连接在一起的需求。
4) I²C协议:I²C是由英特尔和世界电子公司于1982年开发的一种接口总线,它支持多个主机和多个从机之间的总线通信,在流片、驱动系统及智能家电等多个射频模块中应用较为广泛。
rs485通信协议
rs485通信协议RS-485通信协议是一种基于差分信号的串行通信协议,常用于工业自动化和远程监控等领域。
其具有高可靠性、抗干扰能力强等特点,被广泛应用于各种工业现场环境。
RS-485通信协议采用了多主从架构,可以支持最多32个从设备连接到一个主设备。
通信采用的是全双工模式,即主设备和从设备可以同时发送和接收数据。
通信速率可达到最高10Mbps。
RS-485通信协议中的数据传输格式包括起始位、数据位、停止位和校验位等几个部分。
起始位用于告诉接收方开始接收数据,数据位用于传输实际数据,停止位用于告诉接收方数据传输结束,校验位用于检测数据传输过程中的错误。
RS-485通信协议中定义了一系列的命令和寄存器,用于实现主设备与从设备之间的数据交换。
主设备通过发送命令给从设备,从设备则根据命令执行相应的操作,并将结果返回给主设备。
主设备可以读取和写入从设备中的寄存器,实现对从设备的控制和监测。
RS-485通信协议在物理层和数据链路层分别定义了电气特性和通信规约。
物理层采用差分信号传输方式,可以有效地抵抗电磁干扰和噪声干扰。
数据链路层包括数据帧的组织和传输方式,以及帧的开始和结束标志的定义。
数据链路层还规定了数据传输的流程控制方法,如超时重发和错误纠正等。
RS-485通信协议的应用范围广泛。
在工业自动化领域,它可以用于控制和监测工厂生产线上的各种设备,如传感器、执行器和PLC等。
在远程监控系统中,它可以用于传输监控图像、温度数据和风速数据等,在军事和航空领域中也有广泛的应用。
总之,RS-485通信协议是一种可靠、高效的串行通信协议,具有抗干扰能力强、传输速率高等优点。
它可以应用于各种工业现场环境,实现对设备的控制和监测,为工业自动化和远程监控等领域提供了可靠和高效的通信解决方案。
RS485通讯协议简介
通讯概述本公司系列变频器向用户提供工业控制中通用的RS485通讯接口。
通讯协议采用MODBUS标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如PLC控制器、PC机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过RS485接口连接数台本公司的变频器作为从机。
以实现变频器的多机联动。
通过该通讯口也可以接远控键盘。
实现用户对变频器的远程操作。
本变频器的MODBUS通讯协议支持两种传送方式:RTU方式和ASCII方式,用户可以根据情况选择其中的一种方式通讯。
下文是该变频器通讯协议的详细说明。
通讯协议说明9.2.1通讯组网方式(1) 变频器作为从机组网方式:图9-1 从机组网方式示意图(2) 多机联动组网方式:RS485图9-2 多机联动组网示意图9.2.2通信协议方式该变频器在RS485网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时,PC 机或PLC可以作为主机控制变频器工作。
具体通讯方式如下:(1)变频器为从机,主从式点对点通信。
主机使用广播地址发送命令时,从机不应答。
(2)变频器作为主机,使用广播地址发送命令到从机,从机不应答。
(3)用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。
(4) 从机在最近一次对主机轮询的应答帧中上报当前故障信息。
9.2.3通讯接口方式通讯为RS485接口,异步串行,半双工传输。
默认通讯协议方式采用ASCII 方式。
默认数据格式为:1位起始位,7位数据位,2位停止位。
默认速率为9600bps,通讯参数设置参见~功能码。
ASCII通讯协议字符结构:10位字符框(For ASCII)11位字符框(For RTU)通讯资料结构:ASCII模式校验码:ASCII模式:双字节ASCII码。
计算方法:对于消息发送端,LRC的计算方法是将要发送消息中“从机地址”到“运行数据”没有转换成ASCII码的全部字节连续累加,结果丢弃进位,得到的8位字节按位取反,后再加1(转换为补码),最后转换成ASCII码,放入校验区,高字节在前,低字节在后。
RS485主从式多机通讯协议
RS485主从式多机通讯协议一、数据传输协议此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息按本协议发出。
1、数据在网络上转输控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则从设备不作任何回应。
协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。
从设备回应消息也由协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。
如果在消息接收过程中发生一错误(无相应的功能码),或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
2、在对等类型网络上转输在对等网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。
这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。
在消息位,本协议仍提供了主—从原则,尽管网络通信方法是“对等”。
如果一控制器发送一消息,它只是作为主设备,并期望从设备得到回应。
同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。
3、查询—回应周期(1)查询查询消息中的功能代码告之被选中的从设备要执行何种功能。
数据段包含了从设备要执行功能的任何附加信息。
错误检测域为从设备提供了一种验证消息内容是否正确的方法。
(2)回应如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。
数据段包括了从设备收集的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RS485主从式多机通讯协议
一、数据传输协议
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息按本协议发出。
1、数据在网络上转输
控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则从设备不作任何回应。
协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。
从设备回应消息也由协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。
如果在消息接收过程中发生一错误(无相应的功能码),或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
2、在对等类型网络上转输
在对等网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。
这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。
在消息位,本协议仍提供了主—从原则,尽管网络通信方法是“对等”。
如果一控制器发送一消息,它只是作为主设备,并期望从设备得到回应。
同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。
3、查询—回应周期
(1)查询
查询消息中的功能代码告之被选中的从设备要执行何种功能。
数据段包含了从设备要执行功能的任何附加信息。
错误检测域为从设备提供了一种验证消息内容是否正确的方法。
(2)回应
如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。
数据段包括了从设备收集的数据。
如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。
错误检测域允许主设备确认消息内容是否可用。
二、传输方式
控制器能设置传输模式为RS485串行传输,通信参数为9600,n,8,1。
在配置每个控制器的时候,在一个网络上的所有设备都必须选择相同的串口参数。
地址功能代码数据数量数据1 ...….数据n CRC字节
每个字节的位
· 1个起始位
· 8个数据位,最小的有效位先发送
· 1个停止位
错误检测域
· CRC(循环冗余码校验)
三、消息帧
1.帧格式
传输设备将消息转为有起点和终点的帧,这就允许接收的设备在消息起始处开始工作,读地址分配信息,判断哪一个设备被选中(广播方式则传给所有设备),判知何时信息已完成。
错误消息也能侦测到并能返回结果。
消息发送至少要以10ms 时间的停顿间隔开始。
传输的第一个域是设备地址。
网络设备不断侦测网络总线,包括停顿间隔时间内。
当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。
在最后一个传输字符之后,一个至少10ms 时间的停顿标定了消息的结束。
一个新的消息可在此停顿后开始。
整个消息帧必须作为一连续的流转输。
如果在帧完成之前有超过5ms时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。
同样地,如果一个新消息在小于5ms的时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。
这将导致一个错误,因为在最后的CRC域的值不可能是正确的。
一典型的消息帧如下所示:
起始间隔设备地址功能代码数据数量及数据 CRC校验结束
2、地址域
消息帧的地址域包含一个字符8Bit。
可能的从设备地址是0...247 (十进制)。
单个设备的地址范围是1...247。
主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。
当从设备发送回应消息时,也把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。
地址0是用作广播地址,以使所有的从设备都能认识。
3、如何处理功能域
消息帧中的功能代码域包含了一个字符8Bits。
可能的代码范围是十进制的1...255。
当然,有些代码是适用于所有控制器,有此是应用于某种控制器,还有些保留以备后用。
当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为。
例如去读取当前检测参量的值或开关状态,读从设备的诊断状态,允许调入、记录、校验在从设备中的程序等。
当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应)。
对正常回应,从设备仅回应相应的功能代码。
对异议回应,从设备返回一等同于正常代码的代码,但功能代码的最高位为逻辑1。
例如:一从主设备发往从设备的消息要求读一组保持寄存器,将产生如下功能代码:
0 0 0 0 0 0 1 1 (十六进制03H)
对正常回应,从设备仅回应同样的功能代码。
对异议回应,它返回:
1 0 0 0 0 0 1 1 (十六进制83H)
除功能代码因异议错误作了修改外,从设备将一独特的代码放到回应消息的数据域中,这能告诉主设备发生了什么错误。
主设备应对程序得到异议的回应后,典型的处理过程是重发消息,或者诊断发给从设备的消息并报告给操作员。
4、数据域
从主设备发给从设备消息的数据域包含附加的信息:从设备用于进行执行由功能代码所定义的行为所必须的数据。
如果没有错误发生,从设备返回的数据域包含请求的数据。
如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。
在某种消息中数据域可以是0长度。
例如,主设备要求从设备回应通信事件记录,从设备回应不需任何附加的信息。
数据域最长为70字节。
5、错误检测域
错误检测域包含一字节8Bits。
错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。
CRC 域附加在消息的最后,故CRC字节是发送消息的最后一个字节。
四、错误检测方法
1、超时检测
用户要给主设备配置一预先定义的超时时间间隔,这个时间间隔要足够长,以使任何从设备都能作为正常反应。
如果从设备检测到一传输错误,消息将不会接收,也不会向主设备作出回应。
这样超时事件将触发主设备来处理错误。
发往不存在的从设备的地址也会产生超时。
2、CRC检测
CRC域是一个字节,检测了整个消息的内容。
它由传输设备计算后加入到消息中。
接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误,从设备对本消息不作回应。
通讯网络只设有一个主机,所有通信都由他发起。
网络可支持254个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。