ABSLC500与MODBUS网络通信的实现
作者:周淳
来源:《科技创新导报》2012年第11期
摘 要:ABSLC500不支持MODBUS协议,所以不能直接与MODBUS网络通信为了实现两者通信,并在ABSLC500BASIC-T模块开发程序,实现与MODBUS网络的通信。BASIC-T模块的应用,与过去直接应用SLC500控制其他设备和网络相比,提高了控制效率和相应速度,即提高了控制系统整体的实时性。保证数据数据的准确性、可靠性和高效性。 关键词:SLC500 BASIC-T模块 MODBUS协议 POWERLEX40
中图分类号:TP3 文献标识码:A 文章编号:1674-098X(2012)04(b)-0038-01
MODBUS协议是现今工业领域应用非常广泛的一种通信协议,但SLC500不能直接与MODBUS设备进行通信。为了SLC500与MODBUS网络通信,利用了BASIC-T模块的即插即用性和高效性,在嵌入到SLC500上的BASIC-T模块中按照MODBUS设备是内嵌协议编写应用程序,直接地实现了SLC500对MODBUS网络的控制,提高了通讯的效率和可靠性。
1 系统设计
硬件构成系统的硬件部分包括:SLC500可编程控制器、BASIC-T模块、1761-NET-AIC接口转换器以及POWERFLEX40变频器。BASIC-T模块是罗克韦尔公司一种单槽通讯模块,它可以插入到一个SLC500固定的或模块化控制器机架上,包括两个串行通讯接口,可与RS232/RS485通讯。BASIC-T与SLC05/03CPU的通讯可以通过1746I/O背板进行。在这里SLC500为主站,POWERFLEX40为从站。该变频器只能在MODBUS协议的RTU模式下进行通信。
将BASIC-T模块插入到SLC500插槽中,BASIC-T模块的PRT1端口用于与电脑的另一个9针串口相连,作为编程口。BASIC-T模块的PRT2端口用于与POWERFLEX40的RS485通讯端口相连,作为通讯口。由于PRT2采用的是RS232通讯协议,而变频器的RS485通讯端口采用的是RS485通讯协议,故需应用AB公司的1761-NET-AIC接口转换器使两者间接相连,同时也需要自制MODBUS电缆。
为使SLC500间接地通过BASIC-T模块与内嵌MODBUS协议的变频器POWERFLEX40通讯,需要在BASIC-T模块中按照MODBUS协议的格式编写程序,从而使变频器能够识别由BASIC-T模块传送来的消息并予以响应。POWERFLEX40变频器支持MODBUS协议的RTU模式。所以程序的编写应遵循RTU模式下的信息帧格式。
龙源期刊网 http://www.qikan.com.cn
2 系统通信的软件实现
整个系统的通信是以BASIC-T模块为核心进行的,概括为两个部分;其一是BASIC-T模块与SLC5/03处理器间的通信;其二是BASIC-T与变频器之间的数据传输。系统通讯的软件实现则紧紧围绕着通讯系统中的数据传输过程中进行。
3 数据传输过程
首先将需要传送的数据(地址码、功能代码、寄存器起始地址和待操作的寄存器个数)写入CPU不可见的M0中,然后将M0文件的数据传送到BASIC-T模块的输入缓冲区中,并在BASIC-T模块中进行处理,再将处理过的数据经一个AIC转换器模块传输到变频器中。变频器识别这些信息后做出响应,并将其按原路传送回BASIC-T模块中。模块对传回的数据不做任何处理,只将其放到模块的输出缓冲区,并传回CPU的M1文件中。
CPUM0,M1文件与BASIC-T模块的输入、输出缓冲区地址一一对应。地址映射关系见图1所示。
4 软件的设计与实现
系统软件的设计将完全遵循上述的数据传输过程。由于M0,M1两个文件实际上是不可见的,这就需要RSLgix500编写梯形图程序,使这两个不可见数据文件分别M0,M1对应于RSLgix500中两个可见的文件N7和N10。即将要写入M0的文件写入N7文件即可,N7文件也就相当于是一个写入请求信入请求信息的文件。变频器对请求的 响应信息现在只需从与M1文件对应的N10文件中读取即可。这样使得不可见的M0,M1文件通过N7,N10间接可见。梯形图程序的编写主要是通过文件复制指令COP来完成的。所编写的梯形程序需要使用RSLogix500中upload功能,通过串口上传到CPU中。
为了实现BASIC-T模块的通信,需要按照MODBUS协议的RTU模式编写程序,程序的编译要在1747-PBASE BASIC环境下进行,编写好的程序要通过端口PRT1下载到BASIC-T模块中。在前面的内容已经对变频器的通信参数做了设置,为了使BASIC-T模块端口PRT2与变频器的串行通信参数(波特率、数据位数、奇偶校验、停止位、交握等)一致,这一设置是通过BASIC语言中的MODE指令完成的。程序的编写一定要符合逻辑关系符合协议、特性要求。
龙源期刊网 http://www.qikan.com.cn
5 系统通信的实现按照以下步骤进行
首先,应用RSLgix500进行硬件的组态;然后,上传在RSLgix500中编写好的梯形图程序;最后,运行BASIC程序,并通过N7文件中写数据对变频器进行控制 操作,变频器的响应信息可以在N10文件中读取。 6 结语
本文在所搭建的SLC500与MODBUS网络通信的实验平台上完成了从一帧到次多帧的数据传送,经过新多次实验,验证了该通信系统能保证数据数据传输的准确性、可靠性和高效性。 BASIC-T模块的应用提高了控制的效率和响应速度,满足工业控制现场的要求。此外,MODBUS协议为一种工业应用十分广泛的通讯协议,对它和不同协议之间的互连与互操作,有利于系统集成。BASIC-T作为一种即插即用的高效率的通讯模块,还可以按照不同协议的格式对其进行编程,实现SLC500对不同协议设备和网络的操作与控制。 参考文献
[1] 采用串口通信技术实现MODBUS数据通信.自动化仪表,2003,19. [2] 利用VC实现MODBUS的两种错误检测方法.微计算机信息,2004,20(1).
因篇幅问题不能全部显示,请点此查看更多更全内容