来源:互联网 发布时间:11-16
浏览量:
0 引言
可编程控制器(PLC)由于体积小、可靠性高以及组态灵活等特点,在工业控制领域得到了广泛的应用。在PLC 组成的控制系统中,一般由上、下位机组成主从式控制系统,二者结合实现对系统的实时监控。唐山京唐港考伯斯沥青存储工程的下位控制就由PLC5 来完成。在该工程项目现场,有两个外浮顶罐,每个外浮顶罐上都安装了1个雷达液位计用以测量沥青的液位。现场使用的Saab雷达液位计是一种全数字化智能型仪表,兼有4~20mA模拟信号输出与采用工业标准Modbus 协议的数字通讯信号。雷达液位计与PLC通过模拟信号相连精度偏低,工程中用通讯信号相连以提高测量精度。其测量误差小于等于1mm,分辨率为0.1mm。
BASIC模板是Allen-Bradley公司生产的智能模板,自身具有 C P U 、数据存储器、应用程序、I/O接口、系统总线接口等,可在CPU的协调管理下,按照自身的应用程序独立的参与系统工作。
本文基于BASIC 模板来实现PLC5 与雷达液位计间的数据通讯,通过超级终端通信接口对BASIC模板编程,同时调用相应的PLC程序来实现数据传输。系统的连接图如图1 所示。
1 Modbus 协议与通讯
Modbus 协议是 M0DICON 公司的一个全数字、开放式的通信协议。该协议采用主从工作方式:主机为智能终端或上位机,从机为1 台或多台
遵守MODBUS 协议的智能仪表或变送器。每台从机由用户设定地址以实现访问操作,地址范围为0~255。标准的MODBUS 协议使用ASCII 和RTU两种模式进行通信,这两种模式在报文结构、功能命令上是相同的,仅帧信息的表示方法不同。本文采用 R T U 模式。
以RTU 模式建立通信时,信息是以8 位二进制方式传送的,如:63(十六进制)在RTU 模式下用8 位二进制01100011 表示。这种方式的最大好处是在同等传输速率下,可以比ASCII 模式传输较多的信息,该模式在智能仪表上被普遍采用。Modbus 帧格式由地址、功能码、数据段、校验码组成,数据段内容根据主—从或从—主关系可包括寄存器起始地址、寄存器数据位等。
帧首的地址为智能仪表的轮询地址,范围为O~247,这个字节表明拥有该地址的从机将接收主机发送来的信息,并且每个从机都具有唯一的地址,响应的信息均以各自的地址码开始。信息帧的功能码在RTU 模式下一个字节表示,范围为l~255,功能码表示主机要求从机执行何种操作,如读寄存器数据,修改从机地址等。此外,从机响应主机时,还用功能码指示设备的工作状态,用以表示响应是否正常,若出现错误,功能码最高位被置为1。数据段是请求和响应的主要内容,主机向从机请求读取寄存器内容时,数据段包括寄存器的起始地址及读取的寄存器个数。寄存器是从机存放数据的地方,一个寄存器存储2字节数据,地址为16位,较高位在前,低位在后。从机回送响应的数据段包括数据长度、实际采集的数据。另外,从机出现异常,数据段则以错误代码表示。为避免误码,保证通信的可靠性,标准的MODBUS 协议有两种数据校验方法:LRC(纵向冗余校验)和CRC(循环冗余校验)。CRC 用于RTU 模式的传输校验,采用的是通信领域常用的CRC —16 校验法,CRC 为16 位(2字节) .其中低位在前,高位在后。
该工程通讯中,主要用功能码04H,即读取外部寄存器状态。主方的通讯请求指令字符串如下 :
从方地址 功能码 数据起始地址 数据量 冗余检验
雷达液位计作为从方,地址是01H,数据起始地址是0FA6H,数据量是1。从方在正常的情况下的回信字符串如下:
从方地址 功能码 数据字节量 数据1 数据n 冗余检验
回信的从方地址和功能码与主方的通讯请求指令中的相同。从方在出错的情况下的回信字符串如下:
2 通讯的实现
BASIC 模板有 3 个通讯口:DH485、PRT1和PRT2,本文采用PRT1 和PRT2 口完成编程写入与通讯功能。有两种工作模式,编程模式和运行模式。其编程语言是类BASIC 语言,程序由运算子、命令、语句以及系统子程序组成。运算子在程序运行时执行;命令用于初始化模板的运行;语句用于控制程序的流程、输入/输出及存储;系统子程序是嵌入的程序,运行时可以直接调用。BASIC模板处理器内有块写传送寄存器(Block-Transfer WriteBuffer)块读传送寄存器(Block-Transfer ReadBuffer),支持块传输指令,通过调用某些子程序配以PLC 程序即可实现与 PLC 通讯。
基于BASIC 模板实现PLC5 与雷达液位计的数据通讯过程如图2 所示。
PLC5 将Modbus 协议所要求的帧格式信息传送至模板,在模板内部生成CRC校验码,经由模板将整个信息帧发送出去。信息帧到达雷达液位计后,发回响应信息至模板,此信息帧中已包含有罐内液位的信息,模板采集液位数据,转换成PLC支持的数据类型,送回给 P L C 。模板内部的 B T WBUFFERH 和BTR BUFFER 与PLC5 的块传送指令 BTW 和 BTR 对应进行数据传送。
在梯级条件为真时,P L C 5 的块传送指令集BTW 告知处理器把存储在PLC5 数据文件中的数据写到BASIC 模板中;BTR 指令集告知处理器从模板中读取数据,并存储到数据文件里。整个系统的梯形图如图3所示,其中状态的置位、复位由模板程序来控制。
模板与雷达液位计数据传送时,用PRT2 口传输数据,波特率设为1200,无奇偶校验,数据长度设为 8,无停止位,软件握手。运行模式设定为加电自动运行。
模板调用子程序CALL 4,CALL 5,来设置数据块传送指令一次传送的数据长度。CALL 6接收PLC 处理器传来的数据,同时置位PLC 输入映象表的第1 位,使能梯形图的BTW 指令。CALL7将数据送至PLC处理器,且置位PLC 输入映象表的第2 位,触发BTR 指令。CALL 34 利用CALL6的置位,将数据从模板的 BTW BUFFER 送至PRT2 口,CALL 33 则将PRT 口的数据送至模板的内部寄存器中,以供进一步处理。
因BASIC 模板与PLC 在执行速度、所支持的数据类型方面有所不同,设计时加入了延时程序和数据类型转换程序。整个通讯过程由以下模块构成:完整数据帧生成模块,数据发送模块,延时模块,数据分离模块,数据类型转换模块,以及数据接收模块。系统的程序结构如图4所示。
3 结束语
基于BASIC 模板,实现了PLC5 与雷达液位计的数字通讯,使雷达液位计的高精度性能能够得到发挥,对沥青液位的监控可精确到0.1mm。
参 考 文 献 :
[1]BASICModuleUserManual[Z].美国Allen-Bradley公司.
[2]PLC-5编程软件指令集[Z].美国Allen-Bradley公司.
[3] 郑业平,等. 分散型控制系统与子系统的通讯连接(Ⅱ)[J]. 石油化工自动化,1999,2:21-27.
[4] 周泽魁,等.控制仪表与计算机控制装置[M]. 化学工业出版社,2002.
作者简介:石红瑞(1968 —) ,女,山西朔州人,副教授,硕士生导师。研究方向为计算机过程控制,智能控制。
上一篇 : 暂无 下一篇 : 烤地瓜机 烤地瓜机烤地瓜的原理
版权声明:
1.华商贸易网转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。
2.如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。联系邮箱:me@lm263.com