ABB产品的Modbus 协议应用(高端培训)

举报
资源描述
工程师培训资料工程师培训资料 标题:ABB产品的Modbus 协议应用(高端培训)(高端培训)培训人:xxModbus Modbus 协议是MODICOM公司开发的一个为很多厂商支持的开放规约,是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络(常用的通讯网络有串行总线和以太网)进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。串行通讯标准RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由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作前缀称谓。RS232、RS422、RS485 接口标准 RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS-232-C总线标准设有25条信号线,常用9针口。对于一般双工通信,仅需一条发送线、一条接收线及一条地线。通讯距离受电缆电容及共地噪声的影响最多15米。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为37k。接线原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼些交叉,信号地对应相接。接线管脚图RS422与RS485 RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准,是RS-232 的改进。EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,即TIA/EIA-485-A标准。RS422与RS485数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为BRS485 两线制接法RS-422与RS-485的网络安装注意要点 RS-422可支持10个节点,RS-485支持32个节点,因此多节点构成网络。网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络。在构建网络时,应注意如下几点:1采用一条双绞线电缆作总线,将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。2应注意总线特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。下列几种情况易产生这种不连续性:总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装,再者是过长的分支线引出到总线。RS-422与RS-485传输线上匹配电阻 对RS-422与RS-485总线网络一般要使用终接电阻进行匹配。但在短距离与低速率下可以不用考虑终端匹配。匹配原则:当信号的转换时间(上升或下降时间)超过电信号沿总线单向传输所需时间的3倍以上时就可以不加匹配。实际应用:RS-422在总线电缆的远端并接电阻,RS-485则应在总线电缆的开始和末端都需并接终接电阻。终接电阻一般在RS-422网络中取100,在RS-485网络中取120。比较省电的匹配方式 利用一只电容C隔断直流成分可以节省大部分功率。但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。利用二极管的钳位作用能迅速削弱反射信号,达到改善信号质量的目的 RS-422与RS-485的接地问题 很多情况下,连接RS-422、RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了隐患。对整个RS-422或RS-485网络,必须有一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压被短路。这条信号地可以是额外的一条线(非屏蔽双绞线),或者是屏蔽双绞线的屏蔽层。这是最通常的接地方法。一 在ModBus网络上传输 标准的ModBus口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。通信使用主从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。二 在其它类型网络上传输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。在消息位,Modbus协议仍提供了主从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器三 查询回应周期四 两种传输方式 所选的ASCII或RTU方式仅适用于标准的Modbus网络,它定义了在这些网连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。其它网络上(象TCP和Modbus Plus)Modbus消息被转成与串行传输无关的帧。五 RTU模式当控制器设为在Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。代码系统:a.8位二进制,十六进制数0.9,A.F;b.消息中的每个8位域都是一个字节,两个十六进制字符组成;每个字节的位:a.1个起始位;b.8个数据位,最小的有效位先发送;c.1个奇偶校验位,无校验则无;d.1个停止位(有校验时),2个Bit(无校验时);错误检测域:CRC(循环冗长检测);典型Modbus RTU 帧结构地址域包含8Bit,地址范围是1.247(十进制)主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应功能代码域包含了8Bits,范围是十进制的1.255。消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为。从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应)。数据域是由两个十六进制数集合构成的,范围00.FF,从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的所为。这包括了象不连续的寄存器地址,要处理项的数目,域中实际数据字节数。如果主设备需要从设备读取一组保持寄存器(功能代码03),数据域指定了起始寄存器以及要读的寄存器数量。如果主设备写一组从设备的寄存器(功能代码10十六进制),数据域则指明了要写的起始寄存器以及要写的寄存器数量,数据域的数据字节数,要写入寄存器的数据。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。Modbus RTU 帧传输过程 传输的第一个域是设备地址。可以使用的传输字符是十六进制的0.9,A.F。网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束。一个新的消息可在此停顿后开始。整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3.5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。这将导致一个错误,因为在最后的CRC域的值不可能是正确的。RTU字符帧传输时位的序列是:有奇偶校验 无奇偶校验 错误检测方法 标准的Modbus串行网络采用两种错误检测方法。奇偶校验对每个字符都可用 例如RTU字符帧中包含以下8个数据位:1 1 0 0 0 1 0 1 整个“1”的数目是4个。如果便用了偶校验,帧的奇偶校验位将是0,便得整个“1”的个数仍是4个。如果便用了奇校验,帧的奇偶校验位将是1,便得整个“1”的个数是5个。CRC域检测了整个消息的内容。CRC域是两个字节,包含一16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误。计算CRC码的步骤 1-预置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器 2-把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器;3-把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位;4-如果最低位为0:重复第3步(再次移位);如果最低位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或;5-重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理 6-重复步骤2到步骤5,进行下一个8位数据的处理 7-最后得到的CRC寄存器即为CRC码ACS550内置标准Modbus的连接RS485标准传输速率:1.2-76.8kbit/sACS550Modbus 参数设置u 98.02 STD Modbus:激活标准Modbusu Group 53 Modbus 通讯设置53.01 EFB PROTOCOL ID(EFB 辨识辨识)现场总线协议和程序版本现场总线协议和程序版本 xx=协议协议 ID,YY=程序版本。程序版本。53.02 EFB STATION ID(EFB 站号)53.03 EFB BAUD RATE(EFB 波特率)53.04 EFB PARITY(EFB 校验)总线中所有站点的奇偶校验一致0=8N1 8 位,无校验,一个停止位。1=8N2 8 位,无校验,两个停止位。2=8E1 8 位,偶校验,一个停止位。3=8O1 8 位,奇校验,一个停止位。53.05 EFB CTRL PROFILE(EFB 控制通讯配置文件)0=ABB DRV LIM 控制字/状态字的操作符合 ABB 传动协议,与 ACS400 相同。1=DCU PROFILE 控制字/状态字的操作符合 32 位 DCU 协议。2=ABB DRV FULL 控制字/状态字的操作符合 ABB 传动协议,与 ACS600/800 相同。53.06 EFB OK MESSAGES(EFB 好信息)53.07 EFB CRC ERRORS(EFB CRC 错误)53.08 EFB UART ERRORS(EFB UART 错误)53.09 EFB STATUS(EFB 状态)0=IDLE(空闲)EFB 协议已配置,但没有接收到任何信息。1=EXEC.INIT(初始化)EFB 正在初始化。2=TIME OUT(超时)网络主机和 EFB 通讯中出现超时故障。3=CONFIG ERROR(配置出错)EFB 配置出错。4=OFF-LINE(离线)EFB 离线。5=ON-LINE(在线)EFB 在线。6=RESET(复位)EFB 正在进行硬件复位。7=LISTEN ONLY(只接收状态
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 电子/通信 > 电子电气自动化


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号