论文部分内容阅读
[摘要]在自动化控制领域,随着分布式控制系统的发展,在工业上的分布式控制系统中,RS485总线标准得到了越来越多的应用,在R8485,总线中采用的Moclbus协议是公开的通信协议,被广泛应用,本文主要阐述了西门子CP341通信模块的构造和Modbus通信协议内容,通过CP34l模块在兴澄特钢制氧车间空压站控制系统中的使用实例,详细介绍了CP341作为通信主站,与LG PLC和AB PLC系统之间通信的应用。
[关键词]RS485,CP341,Modbus通信,PLC
中图分类号:E964 文献标识码:A 文章编号:1009-914X(2013)06-0254-02
0、前言
随着工业自动化程度的提高,在众多的工程项目当中,往往存在着PLC、DCS和各种智能仪表等并存的现象,现场设备常由于控制系统的不同,其本身固有的通信接口及协议不同使得自动化控制系统难以很好的结合,给系统功毹的完整性增加了技术难度及成本,多种协议转换也使得系统应用的实时性和可靠性降低。若将该混合系统融合成一个整体,使所有监控都在集中控制室上位机上操作,就必须用一种可靠的通信方式将各种控制系统有机的结合起来。
Modbus通信协议是由MODICON公司为其控制器设计的一种可靠而有效的工业控制系统通信协议。从功能上看,可以认为是一种现场总线,Modbu协议定义了一种信息结构,这种信息结构可以被所有支持该协议的各种设备在通信时认可和使用。它描述了控制器向其他设备发出查询的过程以及其他设备如何进行应答,以及错误的检测和报告。其数据通信采用主从方式,主站只能有l台,每个从站都有指定的地址,地址范围在0~247之间(其中0为广播地址),只有主站具有主动权,从站只能对主站发送的命令作出响应。当主站发出数据请求消息(查询)时,从站接收到正确消息后就可以发送数据到主站以响应请求;主站也可以直接发消息修改从站的数据,实现读和写。本文着重介绍Modbus通信RS485接口在中国兴澄特钢制氧车间空压站PLC控制系统中的应用。
1、系统描述
兴澄特种钢铁有限公司新建氮压问系统,有5台COMPARE公司離心氮气压缩机组,2台阿特拉斯中压氮压机,6台高压水泵,1台旁滤泵,4台冷却塔,4台管道过滤器,6台旁滤设备。采用Siemens$300系列PLC系统,通过Modbus通信协议,将离心空压机数据,通过通信接口采集至氮压间PLC系统,另外相关氮气的工艺管道数据直接采集至氮压问PLC系统,进行集中控制。离心空压机本体采用的LG公司生产的GLOFA系列PLC。阿特拉斯离心中压氮压缩机使用美国AB公司PLC(见图1)。
2、通信实现
2.1 PLC系统配置
本系统选用西门子s7-300 PLC系统,使用串行通信模块CP341来与其它PLC进行通信。CP34l模块是西门子S7-3001400系列PLC中的串行通信模块。该模块具有1个串行通信口(RS232c或TTY或RS485/422),RS422/485的通信最大距离位1200m。支持以下协议ASCII,ModbusRTU远程终端,DataHighway(DFI协议),电气接口为15针D型孔接头。可以使用这种通信模块实现$7300/40屿其它串行通信设备的数据交换。本系统中CP34l作为主站,使用Modbus Master协议,采用半双212485的方式主动去读写另外的PLC。由于需采集的氮压机数据地址很分散,所以采用分段式轮询的方式来采集数据。每个PLC数据分为八段,当一段的数据读写完成后再读写下一段。
2.2 通信参数的设置
先对通信参数进行设置,在硬件组态窗口中双击CP341模板,打开CP341模板的属性窗口,记录下模板的硬件地址(见图2):
点击属性窗口上的Parameters按钮(见图3):
选择你所要使用的通信协议,这里我们选用Modbus MASTER协议,双击信封图标(见图4):
设置通信的参数,主站通信模块和从站通信模块的参数需一致。
2.2 程序编写
CP341 Modbus协议通信利用库函数FB7(P-RC-RK)和FB8(P-SENDRK)功能块进行发送/读取数据操作,请求数据时,从源数据库读取相应字段然后发送,接收信息是根据发送的内容进行对应字段数据的存储,对FB7,主要参数为DB-No(数据库号),Dbb-No(目标数据起始地址),对FB8,主要参数为DB No(源数据库号),Dbb No(源数据起始地址),LEN(发送数据字长)。值得注意的是,在FB7出现的数据字段中并未包含从站地址,功能码字节,而仅仅是数据内容,因此程序中不能依据从站地址,功能码去判定响应数据的种类,CP341规定在一段时间内只有一个FB7和FB8能在用户程序中被访问,这就确定了它们形成了一一对应关系。
本系统中共有Modbus从站7个,由于需采集的数据地址分散,所以采用分段采集的方法,根据氮压机的地址分布,分8段读写离心氮气压缩机数据,分2段读写中压氮压机数据,当一段数据读写完成或读写错误后再读写下一段,循环读写(见图5、6)。
MWlO里存放着从站号,初始化为l,当一个从站的数据全部读写完后,将站号加1,站号大于7是置1,这样就从1到7进行循环。我们将从2号站读来的数据存入DB32中,在每一段数据读取后,我们改变DBB_NO的值,将同一站号不同次读取的数据存在同一数据块中不同的位置,这样我们就能很好的将数据存储下来。
3、结论
本系统自投运以来,S7-300 PLCNLG公司PLC、AB公司PLC通信稳定可靠,随着自动化水平的发展,很多设备自身都带有PLc控制系统,设备控制系统之间相互独立,通过本系统可以得出,Modbus通信可以成功的解决了不同接口PLC通信问题,对自动化系统实现集中控制起到很好的作用。
[关键词]RS485,CP341,Modbus通信,PLC
中图分类号:E964 文献标识码:A 文章编号:1009-914X(2013)06-0254-02
0、前言
随着工业自动化程度的提高,在众多的工程项目当中,往往存在着PLC、DCS和各种智能仪表等并存的现象,现场设备常由于控制系统的不同,其本身固有的通信接口及协议不同使得自动化控制系统难以很好的结合,给系统功毹的完整性增加了技术难度及成本,多种协议转换也使得系统应用的实时性和可靠性降低。若将该混合系统融合成一个整体,使所有监控都在集中控制室上位机上操作,就必须用一种可靠的通信方式将各种控制系统有机的结合起来。
Modbus通信协议是由MODICON公司为其控制器设计的一种可靠而有效的工业控制系统通信协议。从功能上看,可以认为是一种现场总线,Modbu协议定义了一种信息结构,这种信息结构可以被所有支持该协议的各种设备在通信时认可和使用。它描述了控制器向其他设备发出查询的过程以及其他设备如何进行应答,以及错误的检测和报告。其数据通信采用主从方式,主站只能有l台,每个从站都有指定的地址,地址范围在0~247之间(其中0为广播地址),只有主站具有主动权,从站只能对主站发送的命令作出响应。当主站发出数据请求消息(查询)时,从站接收到正确消息后就可以发送数据到主站以响应请求;主站也可以直接发消息修改从站的数据,实现读和写。本文着重介绍Modbus通信RS485接口在中国兴澄特钢制氧车间空压站PLC控制系统中的应用。
1、系统描述
兴澄特种钢铁有限公司新建氮压问系统,有5台COMPARE公司離心氮气压缩机组,2台阿特拉斯中压氮压机,6台高压水泵,1台旁滤泵,4台冷却塔,4台管道过滤器,6台旁滤设备。采用Siemens$300系列PLC系统,通过Modbus通信协议,将离心空压机数据,通过通信接口采集至氮压间PLC系统,另外相关氮气的工艺管道数据直接采集至氮压问PLC系统,进行集中控制。离心空压机本体采用的LG公司生产的GLOFA系列PLC。阿特拉斯离心中压氮压缩机使用美国AB公司PLC(见图1)。
2、通信实现
2.1 PLC系统配置
本系统选用西门子s7-300 PLC系统,使用串行通信模块CP341来与其它PLC进行通信。CP34l模块是西门子S7-3001400系列PLC中的串行通信模块。该模块具有1个串行通信口(RS232c或TTY或RS485/422),RS422/485的通信最大距离位1200m。支持以下协议ASCII,ModbusRTU远程终端,DataHighway(DFI协议),电气接口为15针D型孔接头。可以使用这种通信模块实现$7300/40屿其它串行通信设备的数据交换。本系统中CP34l作为主站,使用Modbus Master协议,采用半双212485的方式主动去读写另外的PLC。由于需采集的氮压机数据地址很分散,所以采用分段式轮询的方式来采集数据。每个PLC数据分为八段,当一段的数据读写完成后再读写下一段。
2.2 通信参数的设置
先对通信参数进行设置,在硬件组态窗口中双击CP341模板,打开CP341模板的属性窗口,记录下模板的硬件地址(见图2):
点击属性窗口上的Parameters按钮(见图3):
选择你所要使用的通信协议,这里我们选用Modbus MASTER协议,双击信封图标(见图4):
设置通信的参数,主站通信模块和从站通信模块的参数需一致。
2.2 程序编写
CP341 Modbus协议通信利用库函数FB7(P-RC-RK)和FB8(P-SENDRK)功能块进行发送/读取数据操作,请求数据时,从源数据库读取相应字段然后发送,接收信息是根据发送的内容进行对应字段数据的存储,对FB7,主要参数为DB-No(数据库号),Dbb-No(目标数据起始地址),对FB8,主要参数为DB No(源数据库号),Dbb No(源数据起始地址),LEN(发送数据字长)。值得注意的是,在FB7出现的数据字段中并未包含从站地址,功能码字节,而仅仅是数据内容,因此程序中不能依据从站地址,功能码去判定响应数据的种类,CP341规定在一段时间内只有一个FB7和FB8能在用户程序中被访问,这就确定了它们形成了一一对应关系。
本系统中共有Modbus从站7个,由于需采集的数据地址分散,所以采用分段采集的方法,根据氮压机的地址分布,分8段读写离心氮气压缩机数据,分2段读写中压氮压机数据,当一段数据读写完成或读写错误后再读写下一段,循环读写(见图5、6)。
MWlO里存放着从站号,初始化为l,当一个从站的数据全部读写完后,将站号加1,站号大于7是置1,这样就从1到7进行循环。我们将从2号站读来的数据存入DB32中,在每一段数据读取后,我们改变DBB_NO的值,将同一站号不同次读取的数据存在同一数据块中不同的位置,这样我们就能很好的将数据存储下来。
3、结论
本系统自投运以来,S7-300 PLCNLG公司PLC、AB公司PLC通信稳定可靠,随着自动化水平的发展,很多设备自身都带有PLc控制系统,设备控制系统之间相互独立,通过本系统可以得出,Modbus通信可以成功的解决了不同接口PLC通信问题,对自动化系统实现集中控制起到很好的作用。