工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->综合电路图->综合电路图->基于Modbus协议的CAN总线转换器设计

基于Modbus协议的CAN总线转换器设计

作者:dolphin时间:2011-05-11

现场总线技术是当今自动化领域发展的热点之一。它是一种以智能传感、控制、计算机、数据通信为主要内容的综合技术。用于现场仪器仪表与控制系统和控制室之间的一种全分散、全数字化、智能、双向、多点、多站的通信网络。在工业控制领域的应用非常广泛。CAN总线即控制器局域网,具有高位速率、高抗电磁干扰性、低成本、极高的总线利用率。可根据报文的ID决定接收或屏蔽该报文。网络上最多可达110个节点。可靠的错误处理机制。最大传输距离达到10km。最快传输速率可达1Mps。CAN总线作为一种技术先进、可靠性高、灵活性好、功能完善且成本合理的远程网络控制方式在工业控制领域中的应用非常广泛。但就目前的市场的情况,大多数的现场智能仪器仪表、电机启动保护装置、电量测量装置、各种变送器和变频器通常采用了Modbus串行接口通信协议。采用该协议可使不同的厂商生产的控制设备可以互连成工业网络,实现集中监控。由于Modbus协议实现了OSI参考模型中应用层的定义。通常作为仪表设备层网络通信。而Modbus协议与CAN总线协议是互不兼容的。为此。笔者开发了一种Modbus协议与CAN总线协议的转换器,实现了采用Modbus通信协议的设备接入到CAN现场总线网络中。此转换器可应用在通信速度要求不高的系统中。具有设备简单.通用性强。易于集成和监控的特点。

1 Modbus协议简介
Modbus通信协议由Modicon公司开发的。是一种应用在PLC或其他工业控制器上的一种通用语言。通过此协议,各控制器之间可以实现串行通信。Modbus通信协议定义了一个控制器能识别使用的消息结构,描述了主控制器访问从站设备的过程。规定从站怎样做出应答响应。以及检查和报告传输错误等。Modbus协议的通信方式为主从方式。主站首先向从站设备发送通信请求指令,从节点根据请求指令中的功能码向主站发回回答数据。网络中的每个从站设备都必须分配给一个唯一的地址,最多可达31个从站设备。通过多达24种总线命令实现主控制器与从站设备之间的信息交换。从站设备只执行发给自己的指令。对于其它从站地址开头的报文不作应答。这种一问一答的通信模式,大大提高了通信的正确率。具有操作简单、高效、通信可靠等优点。由于Modbus协议已成为一个国际通信标准,得到了国际上大多数工控产品生产厂家的支持,该通信协议已广泛应用于机械、水利、电力、环保等行业设备中。

1.1 传输物理层
Modbus标准的物理层可以采用RS232串行通信方式.它定义了连接器的引脚、电缆、信号位、传输波特率、奇偶校验等内容。在长距离通信中通常采用RS485网络。通信介质采用屏蔽双绞线,通信距离可达1000m。传输线上的信息交换是半双工的,即同时只能有一台设备允许发送信息,主站在发送下一条指令之前要等待从站设备回应,从而避免了线路的冲突。

1.2 传输模式
Modbus通信有两种模式:ASCII模式和RTU模式。在ASCII传输模式中,消息中的每个8位字节都作为两个ASCII字符发送。这两部分各含4位,然后转换成十六进制等量值。用以构成报文的ASCII字符。ASCII模式使用的字符虽是RTU模式的两倍,但ASCII数据的译码和处理更为容易一些,用ASCII模式,字符之间可产生长达1s的间隔,以适应速度较快的机器。对于通信数据量小而且实时性要求不高的场合.通常采用ASCII模式。在RTU模式中,每个8位字节包含两个4位的十六进制字符,在通信过程中,报文字符以连续数据流的形式传送,对于数据通讯量较大且实时性要求高的场合,通常采用Modbus RTU模式。在一个Modbus通信系统中只能选择一种模式,不允许两种模式混合使用。主站一次可向一个或所有从站发送通信请求(或指令),主设备通过消息帧的地址域来选通从设备。消息帧的格式为:起始标志+从站地址+功能码+数据域(据起始地址、数据量、数据内容1+校验码+结束标志。从站应答的信息内容和顺序与主站信息帧基本相同,从站应答的数据域内容依据功能码进行响应。

图1 系统的总体结构
1-3 错误校验方法
Modbus通信的两种模式的错误校验方法不同,在ASCII模式中采用LRC(纵向冗余检测)校验,具体的方法是将消息域中的地址域、功能码、数据域的所有8位的字节数据连续累加.不考虑进位。得到2字节的LRC码。在RTU模式中采用CRC(循环冗余检测)校验。具体的方法是将信息域中地址域、功能码、数据域的所有字节按规定的方式进行位移并进行XOR(异或)计算,得到2字节的CRC码。校验码在信息帧作为一连续的流进行传输。从站在收到该信息帧时按同样的方式进行计算.并将结果同收到双字节校验码比较,如果一致就认为通信正确,否则认为通信有误,从站将发送错误应答。

2 方案设计
系统的总体设计方案如图2所示。由于大多数组态软件不支持CAN总线,因此组态软件和CAN总线数据交换通常采用DDE方式和OPC方式。笔者采用ZLGCAN接口卡和ZOPC SERVER,以OPC方式实现组态软件与CAN总线的数据交换。连接在计算机网络中的其它客户端应用程序也可以通过OPC接口访问现场的数据,很方便地实现数据的远程监控。在整个控制系统中,CAN现场总线作为上层监控网络,上位机通过CAN接口卡与CAN总线上的各个节点连接.Modbus总线作为应用设备层网络.用于连接Modbus仪表设备、支持Modbus协议的变频器等,通过CAN转换器实现Modbus总线到CAN现场总线的转换。从而实现上位机监控软件对Modbus总线网络的各设备进行配置和数据监控。此系统具有开发成本低、应用灵活、易于管理等特点。

图2 转换器的硬件结构原理图
2.1 转换器硬件总体设计
在整个CAN监控网络系统中,该转换器作为一个CAN从站节点,另外一侧,该转换器通过RS485网络与Modbus从站设备连接,组成Modbus总线网络。负责向Modbus从站设备发送的Modbus通信报文并等待接收响应报文。图3为CAN总线协议与Modbus协议的转换器硬件结构原理图.主要包括CAN总线接口设计和Modbus接口设计。



评论

技术专区