RS485串行通信协议及其应用

RS-485串行数据通信协议及其应用

概述

串行数据通信的协议从RS-232到千兆位以太网,虽然每种协议都有特定的应用领域,但任何情况下我们都必须考虑成本和物理层(PHY)性能。本文主要介绍RS-485协议及该协议所适合的应用。同时给出了根据电缆长度、系统设计以及元件选择来优化数据速率的方法。

传输协议

什么是RS-485?Profibus又是什么?与其它串行协议相比,它们的性能如何?适用于哪些应用?为了回答这些问题,我们对RS-485物理层(PHY)、RS-232和RS-422的特性、功能进行了总体比较[1] (本文中的RS表示ANSIEIA/TIA标准)。RS-232是一个最初用于调制解调器、打印机及其它PC外设的通讯标准,提供单端20kbps的波特,后来速率提高至1Mbps。RS-232的其它技术指标包括:标称±5V发送电平、±3 V接收电平(间隔/符号)、2V共模抑制、2200PF最大电缆负载电容、300最大驱动器输出电阻、3k最小接收器(负载)阻抗、100英尺(典型值)最大电缆长度。RS-232只用于点对点通信系统,不能用于多点通信系统,所有RS-232系统都必须遵从这些限制。

RS-422是单向、全双工通信协议,适合嘈杂的工业环境。RS-422规范允许单个驱动器与多个接收器通信,数据信号采用差分传输方式,速率最高可达50Mbps。接收器共模范围为±7V,驱动器输出电阻最大值为100,接收器输入阻抗可低至4k。

RS-485标准

RS-485是双向、半双工通信协议,允许多个驱动器和接收器挂接在总线上,其中每个驱动器都能够脱离总线。该规范满足所有RS-422的要求,而且比RS-422稳定性更强。具有更高的接收器输入阻抗和更宽的共模范围(-7V至+12V)。

接收器输入灵敏度为±200mV,这就意味着若要识别符号或间隔状态,接收端电压必须高于+200mV或低于-200mV。最小接收器输入阻抗为12k,驱动器输出电压为±1.5V (最小值)、±5V (最大值)。

驱动器能够驱动32个单位负载,即允许总线上并联32个12k的接收器。对于输入阻抗更高的接收器,一条总线上允许连接的单位负载数也较高。RS-485接收器可随意组合,连接至同一总线,但要保证这些电路的实际并联阻抗不高于32个单位负载(375)。

采用典型的24AWG双绞线时,驱动器负载阻抗的最大值为54,即32个单位负载并联2个120终端匹配电阻。RS-485已经成为POS、工业以及电信应用中的最佳选择。较宽的共模范围可实现长电缆、嘈杂环境(如工厂车间)下的数据传输。更高的接收器输入阻抗还允许总线上挂接更多器件。

Profibus和Fieldbus[2]总线主要用于工业设备,是RS-485总线的扩展。用于工业环境的传感器测量、

激励控制、数据采集/显示以及过程控制系统与传感器、激励源网络之间的数据通信。

注意:老式或现有的工业设备布线架构比较复杂,不可替换。

Profibus和Fieldbus是对系统的整体描述。RS-485支持Profibus和Fieldbus协议的物理层接口标准。Profibus与Fieldbus存在细微的差异,Profibus要求2.0V的最小差分输出电压,54的负载电阻;F ieldbus则要求1.5V的最小差分输出电压,54的负载电阻。Profibus传输速率为12Mbps,Fieldbus的传输速率为500kbps。Profibus应用对摆率和电容容限要求比较严格。

最适合的应用领域?

RS-232:用于与调制解调器、打印机及其它PC外设之间的通信。最大电缆长度为100英尺(典型值)。

RS-422:适用于单主机(驱动器)工业环境。典型应用包括:过程自动化(化工、酿造、造纸)、工厂自动化(汽车制造、金属加工)、HVAC、安防、电机控制、运动控制等。

RS-485:适用于多主机/驱动器工业环境。其典型应用与RS-422相似,包括:过程自动化(化工、酿造、造纸)、工厂自动化(汽车制造、金属加工)、HVAC、安防、电机控制、运动控制。

哪些因素限制了RS-485的数据速率?

在指定的传输距离下,下列因素限制了传输速率:

电缆长度:在特定频率下,信号强度会随着电缆长度而衰减。

电缆架构:5类24AWG双绞线是RS-485系统最常用的电缆,屏蔽电缆可大大增强噪声抑制能力,提高了一定距离下的数据传输速率。

电缆特性阻抗:分布电容和分布电感会降低信号的边沿速度,从而降低噪声裕量、补偿“眼图模板”特性。分布电阻直接导致信号电平的衰减。

驱动器输出阻抗:阻抗过高会限制驱动能力。

接收器输入阻抗:阻抗过低会限制与驱动器通信的接收器数量。

终端匹配:长电缆可看作传输线。电缆上应接阻值等于电缆特性阻抗的终端匹配电阻,可以降低信号反射,并提高数据速率。

噪声裕量:越大越好。

驱动器摆率:降低边沿速率(降低信号摆率)允许采用较长的电缆进行通信。

经验数据

了解了以上相关的背景知识,接下来我们研究一个实际系统,如图1所示。图中所示电缆是RS-485系统最为常用的一种:EIA/TIA/ANSI 568 5类双绞线。在长度为300英尺至900英尺的电缆上可以获得的数据速率为1Mbps至35Mbps。

图1. 测试装置

系统设计人员经常从两个不同厂商选择驱动器和接收器,多数设计人员最关注的是RS-485驱动器的传输距离和速度。Maxim驱动器(这里指MAX3469)与其它制造商的驱动器性能比较如图2、图3所示。

图2. 在特定比特率、电缆长度下的抖动特性,抖动是在±100mV差分信号下测量的

图3. 在特定比特率、电缆长度下的抖动指标,抖动是在0V差分信号下测量的

通过观察驱动器的差分输出信号的完整性,利用示波器确定80mV与-400mV之间的翻转门限(由于接收器具有200mV至-200mV的输入范围和噪声裕量,因此选取这一门限范围)。然后,当脉冲(比特)开始“传送”时,用眼图确定失真度、噪声以及码间干扰(ISI)。

ISI指标限制了比特率,以保证系统能够在脉冲之间识别出传输数据。对图1电路的测试结果表明翻转门限与眼图模板之间具有相关性。该眼图模板存在50%的抖动,按照NATIONAL SEMICONDUCTOR的应用笔记#977[3]所介绍的方法进行测量。测量0V差分信号和±100mV差分信号下的抖动,得到图4和图5所示数据。

图4. Maxim的MAX3469与其它RS-485驱动器件的眼图对比[4]

图5. MAX3469的眼图

对于一个点到点通信系统,从±100mV差分信号(图4)或0V差分信号(图5)下的测试结果可以看出比特率与电缆长度的关系。+100mV和-100mV门限能够正确切换差分信号大于200mV的信号,因此,该门限值可确保接收器正确接收数据(图5数据仅适用于可在0V差分输入下切换的理想接收器)。

眼图和故障模式

采用340英尺的5类电缆,图2给出了39Mbps传输速率下的驱动器输出眼图,图中,信号从“眼”的中间穿过 - 这种情况表明可能出现误码。然而,在相同数据速率下,Maxim公司的器件不会出现这种情况(图3)。Maxim的收发器具有对称的输出边沿和较低的输入电容,性能良好。

采用上述测试对两款驱动器进行比较。当数据速率较高、电缆较长时,Maxim驱动器的性能更出色。图5给出点对点网络中Maxim器件的传输速率和距离的估计值。根据经验,所产生的误码大致符合50%抖动极限的要求。

各方研究数据

在工业领域,通常可接受的传输距离和数据速率的最大值分别为4000英尺和10Mbps,当然这两个值不能同时满足。然而,利用最新器件和精细的系统设计,可在较长的电缆下实现较高的数据吞吐率。

预加重[5]是一种改善数据速率与距离间关系的技术,可用于RS-485通信(图6)。采用1700英尺电缆,工作在1Mbps固定数据速率,没有预加重驱动器或均衡接收器的RS-485收发器通常具有10%的抖动。在相同速率下,增加驱动器预加重可使距离加倍,达到3400英尺,而且不会提高抖动。同样,距离一定时采用预加重能提高数据速率。速率为400kbps,电缆长度为4000英尺时,无预加重的驱动器通常具有10%的抖动。而采用预加重可使该距离下的传输速率提升至800kbps。

图6. 数据速率与电缆长度的关系图

另一种估算可靠传输的最大电缆长度的方法是:利用5类电缆制造商提供的幅度衰减与频率的关系表。根据通用规则,电缆工作时最大允许的信号衰减是-6dBV。该数值结合厂家提供的衰减数据,计算出给定频率下的最大电缆长度。

应用技巧

RS-485收发器具有多种改善系统性能的特性:

预加重(上文所述):降低码间干扰

降低接收器单位负载:低负载器件可低至1/8单位负载,允许总线上挂接最多256个器件。这种器件还可降低总线负载,从而允许较长的电缆和较高的传输速率。

高速器件:目前可提供数据速率高达52Mbps的驱动器,这种高速器件须特别注意保持低传输延迟和低偏差。

ESD保护:ESD保护不会提高数据速率,但会改善系统工作或数据速率为0 (开路)时的可靠性。目前能够提供±15kV的内置ESD保护。

正确的接线[6]:RS-485用于差分传输,除地线外还需要两条信号线来传输数据(通常为24 AWG双绞线)。这两条信号线传送极性相反的信号,大大减少了EMI辐射和EMI干扰问题。电缆的特性阻抗一般为1 20,这也是电缆末端终端匹配电阻的阻值― 目的在于降低反射和其它线路的影响。图7、图8给出了正确的系统连接。

图7. 单发/单收网络

图8. 多机收发网络

结论

综上所述,RS-485网络可在噪声环境下实现可靠的数据传输。设计系统时需要对数据速率、电缆长度进行折衷考虑,能够在几百米长的电缆上实现高于50Mbps的数据速率,而不需使用任何中继器。

摘要本文结合实际应用介绍RS-485接口芯片的种类和一些常见问题的解决方法。

关键词RS-485 节点数半(全)双工抗雷击光电隔离

1引言

RS-485接口芯片已广泛应用于工业控制、仪器、仪表、多媒体网络、机电一体化产品等诸多领域。可用于RS-485接口的芯片种类也越来越多。如何在种类繁多的接口芯片中找到最合适的芯片,是摆在每一个使用者面前的一个问题。RS-485接口在不同的使用场合,对芯片的要求和使用方法也有所不同。使用者在芯片的选型和电路的设计上应考虑哪些因素,由于某些芯片的固有特性,通信中有些故障甚至还需要在软件上作相应调整,如此等等。希望本文对解决RS-485接口的某些常见问题有所帮助。

2RS-485接口标准

传输方式:差分

传输介质:双绞线

标准节点数:32

最远通信距离:1200m

共模电压最大、最小值:+12V;-7V 差分输入范围:-7V~+12V

接收器输入灵敏度:±200mV

接收器输入阻抗:≥12kΩ

3节点数及半双工和全双工通信

3.1节点数

所谓节点数,即每个RS-485接口芯片的驱动器能驱动多少个

标准RS-485负载。根据规定,标准RS-485接口的输入阻抗为≥12kΩ

相应的标准驱动节点数为32。为适应更多节点的通信场合,有些芯片

的输入阻抗设计成1/2负载(≥24kΩ)、1/4负载(≥48kΩ)甚至1/8

负载(≥96kΩ),相应的节点数可增加到64、128和256。表1

常见芯片的节点数。

3.2半双工和全双工

RS-485接口可连接成半双工和全双工两种通信方式,如图1所示。半双工通信的芯片有SN75176、SN75276、SN75LBC184、MAX485、MAX1487、MAX3082、MAX1483等;全双工通信的芯片有SN75179、SN75180、MAX488~MAX491、MAX1482等。

(a)半双工通信电路

(b)全双工通信电路

图1

4应用中的常见问题

4.1抗雷击和抗静电冲击

RS-485接口芯片在使用、焊接或设备的运输途中都有可能受到静电的冲击而损坏。在传输线架设于户外的使用场合,接口芯片乃至整个系统还有可能遭致雷电的袭击。选用抗静电或抗雷击的芯片可有效避免此类损失,常见的芯片有MAX485E、MAX487E、MAX1487E等。特别值得一提的是SN75LBC184,它不但能抗雷电的冲击而且能承受高达8kV的静电放电冲击,是目前市场上不可多得的一款产品。

4.2限斜率驱动

由于信号在传输过程中会产生电磁干扰和终端反射,使有效信号和无效信号在传输线上相互迭加,严重时会使通信无法正常进行。为解决这一问题,某些芯片的驱动器设计成限斜率方式,使输出信号边沿不要过陡,以不致于在传输线上产生过多的高频分量,从而有效地扼制干扰的产生。如MAX487、SN75LBC184等都具有此功能。

4.3故障保护

故障保护技术是近两年产生的,一些新的RS-485芯片都采用了此项技术,如SN75276、MAX3080~MAX3089。什么是故障保护,为什么要有故障保护,如果没有故障保护会产生什么后果?

众所周知,RS-485接口采用的是一种差分传输方式,各节点之间的通信都是通过一对(半双工)或两对(全双工)双绞线作为传输介质。根据RS-485的标准规定,接收器的接收灵敏度为±200mV,即接收端的差分电压大于、等于+200mV时,接收器输出为高电平;小于、等于-200mV 时,接收器输出为低电平;介于±200mV之间时,接收器输出为不确定状态。在总线空闲即传输线上所有节点都为接收状态以及在传输线开路或短路故障时,若不采取特殊措施,则接收器可能输出高电平也可能输出低电平。一旦某个节点的接收器产生低电平就会使串行接收器(UART)找不到起始位,从而引起通信异常,解决此类问题的方法有两种:

(1)使用带故障保护的芯片,它会在总线开路、短路和空闲情况下,使接收器的输出为高电平。确保总线空闲、短路时接收器输出高电平是由改变接收器输入门限来实现的。例如,MAX3080~MAX3089输入灵敏度为-50mV/-200mV,即差分接收器输入电压U

≥-50mV时,接收器

A-B

≤-200mV,则输出逻辑低电平。当接收器输入端总线短路或总线上所有发送器被禁止时,接收器差分输入端为0V,输出逻辑高电平;如果U

A-B

从而使接收器输出高电平。同理,SN75276的灵敏度为0mV/-300mV,因而达到故障保护的目的。

(2)若使用不带故障保护的芯片,如SN75176、MAX1487等时,可在软件上作一些处理,从而避免通信异常。即在进入正常的数据通信之前,由主机预先将总线驱动为大于+200mV,并保持一段时间,使所有节点的接收器产生高电平输出。这样,在发出有效数据时,所有接收器能够正确地接收到起始位,进而接收到完整的数据。

4.4光电隔离

在某些工业控制领域,由于现场情况十分复杂,各个节点之间存在很高的共模电压。虽然RS-485接口采用的是差分传输方式,具有一定的抗共模干扰的能力,但当共模电压超过RS-485接收器的极限接收电压,即大于+12V或小于-7V时,接收器就再也无法正常工作了,严重时甚至会烧毁芯片和仪器设备。

解决此类问题的方法是通过DC-DC将系统电源和RS-485收发器的电源隔离;通过光耦将信号隔离,彻底消除共模电压的影响。实现此方案的途径可分为:

(1)用光耦、带隔离的DC-DC、RS-485芯片构筑电路;

(2)使用二次集成芯片,如PS1480、MAX1480等。

以上主要介绍在不同场合如何选择合适的RS-485接口芯片,和可能碰到的有关问题的解决方法,从而避免通信异常。至于其它诸如终端匹配、传输线的选择和屏蔽、通信速率的选择等等,在一些相关资料中都能找到答案,这里就不再介绍了。

通讯协议标准

编号: 密级:内部 页数:__________基于RS485接口的DGL通信协议(修改) 编写:____________________ 校对:____________________ 审核:____________________ 批准:____________________ 北京华美特科贸有限公司 二○○二年十二月六日

1.前言 在常见的数字式磁致伸缩液位计中,多采用RS485通信方式。但RS485标准仅对物理层接口进行了明确定义,并没有制定通信协议标准。因此,在RS485的基础上,派生出很多不同的协议,不同公司均可根据自身需要设计符合实际情况的通信协议。并且,RS485允许单总线多机通信,如果通信协议设计不好,就会造成相互干扰和总线闭锁等现象。如果在一条总线上挂接不同类型的产品,由于协议不一样,很容易造成误触发,造成总线阻塞,使得不同产品对总线的兼容性很差。 随着RS485的发展,Modicon公司提出的MODBUS协议逐步得到广泛认可,已在工业领域得到广泛应用。而MODBUS的协议规范比较烦琐,并且每字节数据仅用低4位(范围:0~15),在信息量相同时,对总线占用时间较长。 DGL协议是根据以上问题提出的一种通信协议。在制定该协议时已充分考虑以下几点要求: a.兼容于MODBUS 。也就是说,符合该协议的从机均可挂接到同一总线上。 b.要适应大数据量的通信。如:满足产品在线程序更新的需要(未来功能)。 c.数据传输需稳定可靠。对不确定因素应加入必要的冗错措施。 d.降低总线的占用率,保证数据传输的通畅。 2.协议描述 为了兼容其它协议,现做以下定义: 通信数据均用1字节的16进制数表示。从机的地址范围为:0x80~0xFD,即:MSB=1; 命令和数据的数值范围均应控制在0~0x7F之间。即:MSB=0,以区别地址和其它数据。 液位计的编码地址为:0x82~0x9F。其初始地址(出厂默认值)为:0x81。 罐旁表的编织地址为:0xA2~0xBF。其初始地址(出厂默认值)为:0xA1。 其它地址用于连接其它类型的设备,也可用于液位计、罐区表地址不够时的扩充。 液位计的命令范围为:0x01~0x2F,共47条,将分别用于参数设定、实时测量、诊断测试、在线编程等。 通信的基本参数为:4800波特率,1个起始位,1个结束位。字节校验为奇校验。 本协议的数据包是参照MODBUS RTU 通信格式编写,并对其进行了部分修改,以提高数据传输的速度。另外,还部分参照了HART协议。其具体格式如下: 表中,数据的最大字节数为16个。也就是说,整个数据包最长为20个字节。 “校验和”是其前面所有数据异或得到的数值,然后将该数值MSB位清零,使其满足0~7F 的要求。在验证接收数据包的“校验和”是否正确时,可将所有接收数据(包括“校验和”)进行异或操作,得到的数据应=0x80。这是因为,只有“地址”的MSB=1,所以异或结果的MSB也必然等于1。 本协议不支持MODBUS中所规定的广播模式。 3.时序安排 在上电后,液位计将先延迟10秒,等待电源稳定。然后,用5秒的时间进行自检和测试数据。

宇电AI501 RS485通讯协议说明

AIBUS通讯协议说明(V7.0) AIBUS是厦门宇电自动化科技有限公司为AI系列显示控制仪表开发的通讯协议,能用简单的指令实现强大的功能,并提供比其它常用协议(如MODBUS)更快的速率(相同波特率下快3-10倍),适合组建较大规模系统。AIBUS采用了16位的求和校正码,通讯可靠,支持4800、9600、19200等多种波特率,在19200波特率下,上位机访问一台AI-7/8系列高性能仪表的平均时间仅20mS,访问AI-5系列仪表的平均时间为50mS。仪表允许在一个RS485通讯接口上连接多达80台仪表(为保证通讯可靠,仪表数量大于60台时需要加一个RS485中继器)。AI系列仪表可以用PC、触摸屏及PLC作为上位机,其软件资源丰富,发展速度极快。基与PC的上位机软件广泛采用WINDOWS作为操作环境,不仅操作直观方便,而且功能强大。最新的工业平板触摸屏式PC的应用,更为工业自动化带来新的界面。这使得AIDCS系统价格大大低于传统DCS系统,而性能及可靠性也具备比传统DCS系统更优越的潜力,V7.X版本AI-7/8系列仪表允许连续写参数,写给定值或输出值,可利用上位机将仪表组成复杂调节系统。 一、接口规格 AI系列仪表使用异步串行通讯接口,接口电平符合RS232C或RS485标准中的规定。数据格式为1个起始位,8位数据,无校验位,1个或2个停止位。通讯传输数据的波特率可调为4800~19200 bit/S,通常用9600 bit/S,单一通讯口所连接仪表数量大于40台或需要更快刷新率时,推荐用19200bit/S,当通讯距离很长或通讯不可靠常中断时,可选4800bit/S。AI仪表采用多机通讯协议,采用RS485通讯接口,则可将1~80台的仪表同时连接在一个通讯接口上。 RS485通讯接口通讯距离长达1KM以上(部分实际应用已达3-4KM),只需两根线就能使多台AI仪表与计算机进行通讯,优于RS232通讯接口。为使用普通个人计算机PC能作上位机,可使用RS232/RS485或USB/RS485型通讯接口转换器,将计算机上的RS232通讯口或USB口转为RS485通讯口。宇电为此专门开发了新型RS232/RS485及USB/RS485转换器,具备体积小、无需初始化而可适应任何软件、无需外接电源、有一定抗雷击能力等优点。 按RS485接口的规定,RS485通讯接口可在一条通讯线路上连接最多32台仪表或计算机。需要联接更多的仪表时,需要中继器,也可选择采用75LBC184或MAX487等芯片的通讯接口。目前生产的AI仪表通讯接口模块通常采用75LBC184,这种芯片具备一定的防雷击和防静电功能,且无需中继器即可连接约60台仪表。 AI仪表的RS232及RS485通讯接口采用光电隔离技术将通讯接口与仪表的其他部分线路隔离,当通讯线路上的某台仪表损坏或故障时,并不会对其它仪表产生影响。同样当仪表的通讯部分损坏或主机发生故障时,仪表仍能正常进行测量及控制,并可通过仪表键盘对仪表进行操作,工作可靠性很高。16位校验码的正确性是简单奇偶校验的30000倍,基本能保证数据可靠性。并且同一网络上有其他公司也采用主从方式通讯的产品时,如PLC、变频器等,多数情况下AI系列仪表都不会受其它公司产品通讯干扰,不会产生采集数据混乱或无法通讯的问题。但是AI仪表协议并不能保证其它公司产品能否正常工作,所以除非万不得已,不应将AI仪表与其它产品混在一个RS485通讯总线上,而应分别使用不同的总线。 二、通讯指令 AI仪表采用16进制数据格式来表示各种指令代码及数据。AI仪表软件通讯指令经过优化设计,标准的通讯指令只有两条,一条为读指令,一条为写指令,两条指令使得上位机软件编写容易,不过却能100%完整地对仪表进行操作;标准读和写指令分别如下: 读:地址代号+52H(82)+要读的参数代号+0+0+校验码 写:地址代号+43H(67)+要写的参数代号+写入数低字节+写入数高字节+校验码 地址代号:为了在一个通讯接口上连接多台AI仪表,需要给每台AI仪表编一个互不相同的通讯地址。有效的地址为0~80(部分型号为0~100),所以一条通讯线路上最多可连接81台AI仪表,仪表的通讯地址由参数Addr决定。仪表内部采用两个重复的128~208(16进制为80H~D0H)之间数值来表示地址代号,由于大于128的数较少用到(如ASC方式的协议通常只用0-127之间的数),因此可降低因数据与地址重复造成冲突的可能性。

rs485总线通讯协议

竭诚为您提供优质文档/双击可除 rs485总线通讯协议 篇一:Rs485通讯协议说明 摘要:阐述了Rs-485总线规范,描述了影响Rs-485总线通信速率和通信可靠性的三个因素,同时提出了相应的解决方法并讨论了总线负载能力和传输距离之间的具体关系。 关键词:Rs-485现场总线信号衰减信号反射 当前自动控制系统中常用的网络,如现场总线can、profibus、inteRbus-s以及aRcnet的物理层都是基于 Rs-485的总线进行总结和研究。 一、eiaRs-485标准 在自动化领域,随着分布式控制系统的发展,迫切需要一种总线能适合远距离的数字通信。在Rs-422标准的基础上,eia研究出了一种支持多节点、远距离和接收高灵敏度的Rs-485总线标准。 Rs-485标准采有用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求: 接收器的输入电阻Rin≥12kΩ 驱动器能输出±7V的共模电压

输入端的电容≤50pF 在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器至少还能输出电压1.5V(终端电阻的大小与所用双绞线的参数有关) 接收器的输入灵敏度为200mV(即(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-)≤-0.2V,表示信号“1”)因为Rs-485的远距离、多节点(32个)以及传输线成本低的特性,使得eiaRs-485成为工业应用中数据传输的首选标准。 二、影响Rs-485总线通讯速度和通信可靠性的三个因素 1、在通信电缆中的信号反射 在通信过程中,有两种信号因导致信号反射:阻抗不连续和阻抗不匹配。 阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射,如图1所示。这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,在通讯电缆的另一端可跨接一个同样大小的终端电阻,如图2所示。

Modbus标准通讯协议格式

Modbus通讯协议 Modbus协议 Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus 协议发送给询问方。 Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave 端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。 Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下

RS485仪表通讯协议

目录 1.引言 (1) 1.1仪表通讯及命令 (1) 1.2仪表基本构成与通讯命令的关系 (2) 2.接线 (3) 2.1RS232接口的仪表与计算机的接线 (3) 2.2RS485接口的仪表与计算机的接线 (4) 2.3关于JR485转换器 (4) 3.通讯接口要素 (5) 4.仪表的版本号 (6) 5.校验核 (7) 6.一般仪表命令集详解 (8) 6.0关于命令集 (8) 6.1读版本号命令 (10) 6.2读主测量值命令 (10) 6.3读其它测量值命令 (11) 6.4读模拟量输出值及开关量输入输出状态命令 (12) 6.5输出模拟量命令 (13) 6.6输出开关量命令 (14)

6.7读仪表参数符号命令 (15) 6.8读仪表参数命令 (16) 6.9设置仪表参数命令 (16) 7.巡检仪通讯命令集 (18) 7.0关于命令集 (18) 7.1读测量值命令 (19) 7.2读报警状态命令 (20) 7.3读参数命令 (21) 7.4设置参数命令 (22) 7.5参数地址表 (23) 8.测试软件 (25) 8.0关于测试软件 (25) 8.1DOS环境测试 (25) 8.2W INDOWS 环境下测试 (26) 9.故障诊断及应用笔记 (29) 9.1故障诊断流程图 (29) 9.2应用笔记 (30) 附录1 通讯中使用的ASCⅡ码表 (31) 附录2 XS系列仪表通讯协议的解释与补充 (32)

1.引言 1.1 仪表通讯及命令 仪表能连接到所有的计算机并与之通讯,采用RS232或RS485传输标准。仪表与计算机之间的往来通讯都以ASCⅡ码实现,意味着计算机能以任何高级语言编程。 仪表的命令集由数条指令组成,完成计算机从仪表读取测量值、报警状态、控制值、参数值,向仪表输出模拟量、数字量,以及对仪表的参数设置。与通过仪表面板设置参数一样,通过计算机对仪表的参数设置被存入EEPROM存贮器,在掉电情况下也能保存这些参数。 为避免通讯冲突,所有的操作均受计算机控制。当仪表不进行发送时,都处于侦听方式。计算机按规定地址向某一仪表发出一个命令,然后等待一段时间,等候仪表回答。如果没收到回答,则超时中止,将控制转回计算机。 由于仪表的特性不同,我们将仪表的通讯命令集分为3类: 第1类:一般仪表 包括除巡检仪和无纸记录仪外的全部仪表。 命令详解见第6章 第2类:巡检仪表 命令详解见第7章 第3类:无纸记录仪 通讯规程见《无纸记录仪用户手册》

RS485主从式多机通讯协议

RS485主从式多机通讯协议 一、数据传输协议 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息按本协议发出。 1、数据在网络上转输 控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则从设备不作任何回应。协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误(无相应的功能码),或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 2、在对等类型网络上转输 在对等网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。 在消息位,本协议仍提供了主—从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。 3、查询—回应周期 (1)查询 查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。错误检测域为从设备提供了一种验证消息内容是否正确的方法。 (2)回应 如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。 二、传输方式 控制器能设置传输模式为RS485串行传输,通信参数为9600,n,8,1。在配置每个控制器的时候,在一个网络上的所有设备都必须选择相同的串口参数。 地址功能代码数据数量数据1 ...….数据n CRC字节 每个字节的位 · 1个起始位 · 8个数据位,最小的有效位先发送 · 1个停止位 错误检测域 · CRC(循环冗余码校验) 三、消息帧

RS-485通信原理

一、RS485串口通信电路图 二、VxWorks中基于RS485总线得串口通信协议及实现 摘要:本文介绍了在嵌入式实时操作系统Vxworks下串行设备得驱动架构及实现,提出了一种基于RS-485总线得新型串口通信协议,重点讨论了基于这种协议得应用程序得设计方法,发送时主要采用了总线仲裁机制,接收时主要采用了字符合法性校验、长度校验、内容得CRC校验,提高了系统得通信效率与稳定性。 关键词:VxWorks;RS-485;通信协议;总线仲裁;CRC校验 1 引言 随着信息技术与互联网得飞速发展,以及计算机、通讯、数码产品等领域得高速增长,数字化时代已经来临。嵌入式设备就是数字化时代得主流产品,嵌入式软件就是数字化产品得核心,作为嵌入式软件得基础与关键,嵌入式操作系统在产业发展过程中扮演着越来越重要得角色,应用遍及工业自动化、网络通信、航空航天、医疗仪器等领域。 2 RS-485总线 RS-485总线接口就是一种常用得串口,具有网络连接方便、抗干扰性能好、传输距离远等优点。RS-485收发器采用平衡发送与差分接收,因此具有抑制共模干扰得能力,加上收发器具有高得灵敏度,能检测到低达200mv得电压,可靠通信得传输距离可达数千米。使用RS-485总线组网,只需一对双绞线就可实现多系统联网构成分布式系统、设备简单、价格低廉、通信距离长。 3 VxWorks中串口驱动得实现

VxWorks 操作系统就是美国Wind River公司设计开发得嵌入式实时操作系统(RTOS),就是嵌入式开发环境得关键组成部分。Vxworks 操作系统得I/O 系统可以提供简单、统一、与任何设备无关得接口。这些设备包括:面向字符设备、随机块存储设备、虚拟设备、控制与监视设备以及网络设备。Vxworks 得I/O 系统包括基本I/O 系统与缓冲I/O 系统,具有比其她I/O 系统更快速,兼容性更好得特性。这对于实时系统就是很重要得。 3、1 串口驱动架构 基于vxWorks得串口设备驱动程序架构,对vxWorks得 虚拟设备ttyDrv进行封装,向上将TTY设备安装到标准 得I/O系统中,上层应用通过标准得I/O 接口完成对硬 件设备得操作,向下提供对实际硬件设备得底层设备驱 动程序。其软件架构如图1所示。 由图1可知,串口设备驱动由两部分组成,一部分为对 ttyDrv进行封装,将串行设备安装到标准得I/O系统中, 提供对外得接口;另一部分为串行设备驱动程序,提供 对硬件设备得基本操作。 虚拟设备ttyDrv管理着I/O系统与真实驱动程序之间 得通信。在I/O系统方面,虚拟设备ttyDrv作为一个字 符型设备存在,它将自身得入口点函数挂在I/O系统上, 创建设备描述符并将其加入到设备列表中。当用户有I/O请求包到达I/O系统中时,I/O系统会调用ttyDrv相应得函数响应请求。同时,ttyDrv管理了缓冲区得互斥与任务得同步操作。另一方面,ttyDrv负责与实际得设备驱动程序交换信息。通过设备驱动程序提供得回调函数及必要得数据结构,ttyDrv将系统得I/O 请求作相应得处理后,传递给设备驱动程序,由设备驱动程序完成实际得I/O操作。 3、2 驱动初始化 串口设备得初始化xxDevInit流程如图2。 设备驱动得初始化过程首先调用系统函数ttyDrv(),该 函数通过调用iosDrvInstall()将ttyOpen()、 ttyIoctl()、tyRead()、tyRead、tyWrite安装到系统 驱动函数表中,供I/O系统调用。 接着根据用户入参对串口芯片寄存器进行初始化,安装 驱动函数指针。 最后调用系统函数ttyDevCreate()创建ttyDrv设备。 该函数初始化设备描述符,调用tyDevInit()函数初始

什么是RS485通信接口

什么是RS485通信接口 通信概述 通信设备从早期的邮件,电报,电话,传真,传呼机,手机,电脑,一路发展下来,而且随着科技的发展,世界必将由一个网络组成,所以,在未来开发的设备中,也必然要求大部分的设备都带有通信的功能。 设备与设备之间互相通信,就要有一座桥梁把二者连接起来,那就是传输通路与通信协议。传输通路由传输介质与传输接口组成,传输介质可分为有线和无线传输介质两大类。 有线传输介质在数据传输中只作为传输介质,而非信号载体。计算机网络中流行使用的有线传输介质为:铜线和玻璃纤维。 铜线具有便宜,安装容易的特点,在现在工业应用中普遍应用,在应用中主要有两种基本的铜线类型:双绞线和同轴电缆。双绞线可减小流过电流所辐射的能量,也可防止来自其他通信线路上信号的干扰,对于一些要求比较高的项目上,还需要给双绞线加上屏蔽层;同轴电缆由一对同轴导线组成。同轴电缆频带宽,损耗小,具有比双绞线更强的抗干扰能力和更好的传输性能。按阻抗值不同,同轴电缆可分为基带和宽带两种,同轴电缆是目前局域网与有线电视网中普遍采用的比较理想的传输介质。 所谓玻璃纤维介质,就是指现在所流行的光纤传输,他的两边有一个激光发生器与一个激光接收器,组成一整套通信线路,由于光纤传输距离远,因此现很多在工程都是采用“光端机+光纤”的模式。 结合我在工程中经常应用的通信模式,与“南方的老树51CPLD开发板”上具有的RS232通信、RS485通信两种,详细讲解下这两种通信方式的应用。 什么是RS232接口 首先介绍下什么是RS232接口,什么是RS485接口。

RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。DB25的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个,随着设备的不断改进,现在DB25针很少看到了,代替他的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。因此现在都把RS232接口叫做DB9。 元器件常识:市场上把公头的接插件叫做DRXX,母头的叫DBXX,比如我们电脑上的串口,在市场上叫做DR9,不是DB9,很多人都误叫做DB9,实际上的DB9是两个把两个DR9互相连接在一起的接口。 在文章中,我把所有的串口设备接口都统一叫做RS232接口。 三、什么是RS485接口 由于RS232接口标准出现较早,难免有不足之处,主要有以下四点: (1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。 (2)传输速率较低,在异步传输时,波特率为20Kbps;因此在“南方的老树51CPLD开发板”中,综合程序波特率只能采用19200,也是这个原因。 (3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 (4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。 针对RS232接口的不足,于是就不断出现了一些新的接口标准,RS-485就是其中之一,它具有以下特点:

485协议可以带多少个设备

竭诚为您提供优质文档/双击可除485协议可以带多少个设备 篇一:485通讯协 议标准 编号:密级:内部页数:__________ 基于Rs485接口的dgl通信协议(修改) 编写:____________________校对: ____________________审核:____________________批准:____________________ 北京华美特科贸有限公司二○○二年十二月六日 1.前言 在常见的数字式磁致伸缩液位计中,多采用Rs485通信方式。但Rs485标准仅对物理层接口进行了明确定义,并没有制定通信协议标准。因此,在Rs485的基础上,派生出很多不同的协议,不同公司均可根据自身需要设计符合实际情况的通信协议。并且,Rs485允许单总线多机通信,如果通信协议设计不好,就会造成相互干扰和总线闭锁等现象。如果在一条总线上挂接不同类型的产品,由于协议不一样,很容易造成误触发,造成总线阻塞,使得不同产品对总线的兼

容性很差。 随着Rs485的发展,modicon公司提出的modbus协议逐步得到广泛认可,已在工业领域得到广泛应用。而modbus 的协议规范比较烦琐,并且每字节数据仅用低4位(范围:0~15),在信息量相同时,对总线占用时间较长。 dgl协议是根据以上问题提出的一种通信协议。在制定该协议时已充分考虑以下几点要求:a.兼容于modbus。也就是说,符合该协议的从机均可挂接到同一总线上。b.要适应大数据量的通信。如:满足产品在线程序更新的需要(未来功能)。c.数据传输需稳定可靠。对不确定因素应加入必要的冗错措施。d.降低总线的占用率,保证数据传输的通畅。 2.协议描述 为了兼容其它协议,现做以下定义: 通信数据均用1字节的16进制数表示。从机的地址范围为:0x80~0xFd,即:msb=1;命令和数据的数值范围均应控制在0~0x7F之间。即:msb=0,以区别地址和其它数据。液位计的编码地址为:0x82~0x9F。其初始地址(出厂默认值)为:0x81。罐旁表的编织地址为:0xa2~0xbF。其初始地址(出厂默认值)为:0xa1。 其它地址用于连接其它类型的设备,也可用于液位计、罐区表地址不够时的扩充。 液位计的命令范围为:0x01~0x2F,共47条,将分别用

RS485通讯协议

RS485 通讯协议 RS-232与RS-422之间转换原理和接法 通常我们对于视频服务器、录像机、切换台等直接播出、切换控制主要使用串口进行,主要使用到RS-232、RS-422与RS-485三种接口控制。下面就串口的接口标准以及使用和外部插件和电缆进行探讨。 RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。例如:视频服务器都带有多个RS422串行通讯接口,每个接口均可通过RS422通讯线由外部计算机控制实现记录与播放。视频服务器除提供各种控制硬件接口外,还提供协议接口,如RS422接口除支持RS422的Profile 协议外,还支持Louth、Odetics、BVW等通过RS422控制的协议。 RS-232、RS-422与RS-485都是串行数据接口标准,都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布。RS-422由RS-232发展而来,为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(速率低于100Kbps时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和突保护特性,扩展了总线共模范围,后命名为TIA/EIA485-A标准。 1. RS-232串行接口标准 目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在5~-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回 TTL电平。接收器典型的工作电平在+3~+12V与-3~-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20Kbps。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为3kΩ~7kΩ。所以RS-232适合本地设备之间的通信。 2. RS-422与RS-485串行接口标准 (1)平衡传输 RS-422、RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。通常情况下,发送驱动器A、B之间的正电平在+2~+6V,是一个逻辑状态,负电平在-2V~6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端,而在RS-422中这是可用可不用的。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。 (2)RS-422电气规定 由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。RS-422的最大传输距离为

第九章 串行口RS485通讯协议

第九章串行口RS485通讯协议 9.1通讯概述 本公司系列变频器向用户提供工业控制中通用的RS485通讯接口。通讯协议采用MODBUS标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如PLC控制器、PC机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过RS485接口连接数台本公司的变频器作为从机。以实现变频器的多机联动。通过该通讯口也可以接远控键盘。实现用户对变频器的远程操作。 本变频器的MODBUS通讯协议支持两种传送方式:RTU方式和ASCII方式,用户可以根据情况选择其中的一种方式通讯。下文是该变频器通讯协议的详细说明。 9.2通讯协议说明 9.2.1通讯组网方式 (1) 变频器作为从机组网方式: 图9-1 从机组网方式示意图(2) 多机联动组网方式:单主机单从机 单主机多从机

图9-2 多机联动组网示意图 9.2.2通信协议方式 该变频器在RS485网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时,PC 机或PLC可以作为主机控制变频器工作。具体通讯方式如下: (1)变频器为从机,主从式点对点通信。主机使用广播地址发送命令时,从机不应答。 (2)变频器作为主机,使用广播地址发送命令到从机,从机不应答。 (3)用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。 (4) 从机在最近一次对主机轮询的应答帧中上报当前故障信息。 9.2.3通讯接口方式 通讯为RS485接口,异步串行,半双工传输。默认通讯协议方式采用ASCII 方式。 默认数据格式为:1位起始位,7位数据位,2位停止位。 默认速率为9600bps,通讯参数设置参见P3.09~P3.12功能码。 9.3 ASCII通讯协议 字符结构: 10位字符框(For ASCII) (1-7-2格式,无校验) (1-7-1格式,奇校验)

ZNJC2 RS485通讯 modbus 协议

_ MODBUS 通讯协议说明 1. 通讯相关的参数 2.通讯说明 2.1 数据格式说明 控制器采用RS-485总线,协议符合ModBus 规约,数据格式有标准MODBUS-RTU 、 非标准MODBUS-RTU(16进制)和ASC(ASC Ⅱ码)3种格式。 数据传输均采用8位数据位、1位停止位、无奇偶校验位。波特率可设为2400、4800、9600和19200 bit/s 。 通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义与RTU 通讯规约相兼容: 2.2 非标准MODBUS-RTU(16进制)数据格式详细说明 下面以RTU(16进制)数据格式进行详细说明,ASC Ⅱ码数据格式只是把16进制代码 转换成ASC Ⅱ码字符。 地址码:这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。 功能码:通讯传送的第二个字节。ModBus 通讯规约定义功能号为01H 到7FH 。本控制器利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的

最高位 (比如功能码大于7FH),则表明从机没有响应操作或发送出错。 数据区:数据区是根据不同的功能码而不同。 CRC码:二字节的错误检测码。 当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。如果出错就不发送任何信息。 2.2.2 信息帧格式: (1)地址码: 地址码是信息帧的第一字节(8位),从1到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的 从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。 (2)功能码: 主机发送的功能码告诉从机执行什么任务。表2列出的功能码都有具体的含义及操作。 (3 数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器 的起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。 (4)错误校验码: 主机或从机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程 中出错的信息不起作用。这样增加了系统的安全和效率。错误校验采用CRC-16校验方法。 注: 信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码。 2.2.3 错误校验 参与冗余循环码(CRC)计算的包括:地址码、功能码、数据区的字节。 冗余循环码包含2个字节,即16位二进制。CRC码由发送设备计算,放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的 CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。 CRC码的计算方法是,先预置16位寄存器全为1。再逐步把每8位数据信息进行处理。在进行CRC码计算时只用8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与CRC码计算。 在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一字节,用0填补最高位。再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。 这个过程一直重复8次。第8次移位后,下一个8位再与现在寄存器的内容相异或,这个过程与以上一样重复8次。当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。 计算CRC码的步骤为: (1).预置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器; (2).把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器; (3).把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位(注意:这时的最低位指移位前 的最低位,不是移位后的最低位); (4).如果最低位为0:重复第3步(再次移位)

三菱FX3U 485无协议通讯程序详解(含程序)

三菱FX2N PLC串行通讯指令(FNC 80 RS) 串行通讯指令(FNC 80 RS) 1、指令格式:[RS D0 K8 D10 K8] 发送数据帧起始地址和数目↓ 接收数据帧起始地址和数目 2、功能和动作: ※RS指令是为使用RS232C、RS-485功能扩展板及特殊适配器,进行发送和接收串行数据的指令。 ※传送的数据格式在后面讲述的特殊寄存器D8120设定。RS指令驱动时即使改变D8120的设定, 实际上也不接收。 ※在只发送的系统中,可将接收数设定为K0。(K表示常数) ※在只接收的系统中,可将发送数设定为K0。 ※在程序中可以多次使用RS指令,但在同一时间必须保证只有一个RS指令被驱动。 ※在一次完整的通讯过程中,RS指令必须保持一直有效,直至接收数据完成。 D8120说明: ※根据MD320的通讯协议,无帧头和帧尾,则(bit9,bit8)=(0,0)。 ※bit13~15是计算机链接通讯时的设定项目,使用RS指令时必须设定为0。 ※RS485未考虑设置控制线的方法,使用FX2N-485-BD、FX0N-485ADP时,(bit11,bit10 )=(1,1)。 ※若PLC和变频器之间的通讯参数如下:8位数据位,无校验,2位停止位,波特率9600,无帧头无帧尾,无协议模式,则D8120=H0C89(H表示16进制)(0000 1100 1000 1001B) M8002 │──||────────── [ MOV H0C89 D8120 ]

5、相关标志位: 一.基本指令介绍 ※M8122:数据发送请求标志 当PLC处于接收完成状态或接收等待状态时,用脉冲触发M8122,将使得从D0开始的连续8个数据被发送。当发送完成后,M8122自动被复位。当RS指令的驱动输入X0变为ON状态时,PLC就进入接收等待状态。 ※M8123:数据接收完成标志 当M8123置位时,表明接收已经完成,此时需要将接收到的数据从接受缓冲区转移到用户指定的数据区,然后手工复位M8123。复位M8123后,则PLC再次进入接收等待状态。 如果指定的接收长度为0,则M8123不动作,也不进入接收等待状态。从这个状态想进入接收等待状态,必须使接受长度≥0,然后对M8123进行ON→OFF操作。 ※M8129:通讯超时标志 接收数据中途中断时,那个时点开始如果在D8129中规定的时间内不再重新开始接收,作为超时输出标志M8129变为ON状态,则接收结束。M8129需手工复位。 二.详细程序(与英威腾GD20变频器测试通讯成功的案例)

RS485通信协议

串行数据通信的协议从RS-232到千兆位以太网,虽然每种协议都有特定的应用领域,但任何情况下我们都必须考虑成本和物理层(PHY)性能。 本文主要介绍RS-485协议及该协议所适合的应用。同时给出了根据电缆长度、系统设计以及元件选择来优化数据速率的方法。 传输协议 什么是RS-485?Profibus又是什么?与其它串行协议相比,它们的性能如何?适用于哪些应用?为了回答这些问题,我们对RS-485 物理层(PHY)、RS-232和RS-422的特性、功能进行了总体比较[1](本文中的RS表示ANSIEIA/TIA标准)。 RS-232是一个最初用于调制解调器、打印机及其它PC外设的通讯标准,提供单端20kbps的波特率,后来速率提高至1Mbps。RS-232的其它技术指标包括:标称±5V发送电平、±3V接收电平(间隔/符号)、2V共模抑制、2200pF最大电缆负载电容、300最大驱动器输出电阻、3k最小接收器(负载)阻抗、100英尺(典型值)最大电缆长度。RS-232只用于点对点通信系统,不能用于多点通信系统,所有RS-232系统都必须遵从这些限制。 RS-422是单向、全双工通信协议,适合嘈杂的工业环境。RS-422规范允许单个驱动器与多个接收器通信,数据信号采用差分传输方式,速率最高可达50Mbps。接收器共模范围为±7V,驱动器输出电阻最大值为100,接收器输入阻抗可低至4k。 RS-485标准 RS-485是双向、半双工通信协议,允许多个驱动器和接收器挂接在总线上,其中每个驱动器都能够脱离总线。该规范满足所有RS-422的要求,而且比RS-422稳定性更强。具有更高的接收器输入阻抗和更宽的共模范围(-7V至+12V)。 接收器输入灵敏度为±200mV,这就意味着若要识别符号或间隔状态,接收端电压必须高于+200mV或低于-200mV。最小接收器输入阻抗为12k,驱动器输出电压为±1.5V(最小值)、±5V(最大值)。 驱动器能够驱动32个单位负载,即允许总线上并联32个12k的接收器。对于输入阻抗更高的接收器,一条总线上允许连接的单位负载数也较高。RS-485接收器可随意组合,连接至同一总线,但要保证这些电路的实际并联阻抗不高于32个单位负载(375)。 采用典型的24AWG双绞线时,驱动器负载阻抗的最大值为54,即32个单位负载并联2个120终端匹配电阻。RS-485已经成为POS、工业以及电信应用中的最佳选择。较宽的共模范围可实现长电缆、嘈杂环境(如工厂车间)下的数据传输。更高的接收器输入阻抗还允许总线上挂接更多器件。

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协议。主机和从机之间用轮询的方式来进行通讯。由主机启动每一次通信,主机向从机变频器发送任务报文,从机接到主机的任务命令后返回响应报文并执行相应动作。除了发送响应报文外,从机只能处于接收状态。主机为变频器时,由功能号D033设置最大从机ID号。从机必须是从1开始,连续编号到D033设定的值。当主机为PC机或PLC时可以通过建立轮询表来改变查询顺序和查询周期,轮询表可以只包含部分从机,任意顺序,可以出现重复的号码。 主机的每一次查询都是以一个报文(帧)的数据传送给从机,所有的从机都能接收数据,从机如果检测到报文中的ID和本机的ID相同,则对报文的数据做出处理,并在规定的时间内发送响应报文给主机。如果检测到报文中的ID和本机的ID不同,则不处理报文,保持原工作状态。 3.1.2 控制方式说明: 在本机键盘或者端子控制时(功能A001设为0、1、2),通讯只能查看参数,所有的写入操作都被忽略。 通讯控制不能修改功能A001、A005、C001、D028、D032、D033的值。 在通讯控制方式时,本机键盘只可以修改功能A001、A005、C001、D022、D028、D032、D033的值,其中,对于功能D028的修改只有重新上电 开机才能生效。其它功能参数只能查看。 在通讯控制方式时,本机端子的使用参考特殊命令G05说明。 3.2数据格式 3.2.1报文格式

相关文档
最新文档