西门子串口模块在皮带秤远程控制中的应用
2013-06-28李荣芳
李荣芳,孟 鑫
(山东乾舜矿冶科技股份有限公司,山东 济南 250014)
1 前 言
电子皮带秤作为一种计量设备,以计量精度高、工作性能稳定、结构简单、功能强大等优点在冶金企业里广泛应用,如:采矿、选矿、烧结、炼铁、炼钢、原料储运等。传统皮带秤与自动化系统的通讯方式一般为硬线通讯,PLC 的指令传达和皮带秤的反馈信号通常会有相当的误差,皮带秤运行累计流量的误差会逐渐增大,企业的日报表、月报表也会产生相应的误差累计,在一些控制相对精确的场合会有一定影响;传统的皮带秤校秤运行几天就需要到现场进行去皮操作,以提高皮带秤的精确度,工作较繁琐。为此,采用西门子串口模块对某公司的24台电子皮带秤进行远程控制。
2 硬件的实现
控制系统采用西门子400H系列的PLC,利用西门子CP340通讯模块与皮带秤进行通讯。CP340模块有1 个RS232 串行通信接口,可使PLC 与皮带秤以点到点通信方式进行数据交换。CP340是PLC与PLC 或计算机进行数据交换的桥梁和纽带。一方面,CP340通过背板总线与PLC的CPU相连;另一方面,CP340 的RS232 接口与电子皮带秤上的RS232C接口相连。CP340 串口为15 针的D 形口,电子皮带秤的串口为14 针的孔圆形口,二者之间采用RS232接口通讯,仅需要3 根线,两根线为通讯线,另一根线为接地线。
PLC通过RS232接口远程与24台皮带秤进行通讯,每台皮带秤都有自身的地址,设置为1~24。工作模式采用半双工通讯,即数据在同一时间只能发送指令到皮带秤,或者接收从皮带秤的反馈数据。系统的网络结构如图1所示。
图1 系统网络结构
CP340模块上有接收缓冲存储器和发送缓冲存储器,依靠接收和发送缓冲区建立起CP340 和CPU的联系,每个缓冲区的大小为1024 B。发送时,CPU 模块把发送的数据写入发送缓冲区,CP340 把缓冲区中的数据逐个发送给1~24 号皮带秤,同时CP340 还负责从通信皮带秤接收数据,并把接收到的数据写入接收缓冲区,CPU 以查询方式读接收缓冲区。如果缓冲区不为空,CPU 便得到接收数据。读写缓冲区需要在用户程序中调用专用的读写功能块,完成PLC和电子秤之间的通信。
3 软件的实现[1]
设置CP340 的通讯参数为:波特率9600,数据位7 位,停止位1 位,奇校验,使用CP340 模块的FB_P_SEND 和FB_P_RCV 功能块进行数据的传输,24台皮带秤的地址为1~24。
考虑了2种方案。1)通过中断的方式来实现对24 台皮带秤的轮询通讯,在中断程序OB35 中对皮带秤的地址加1,地址到24 时返回地址1,同时读写数据,将读写的数据分别存到DB 块中。2)通过查询功能块的状态字来进行下一次的读写。首先调用生成数据程序,根据自定义ASCII 协议的格式生成符合仪表可读写的数据,查询发送功能块SEND_DONE 引脚的状态。当SEND_DONE 引脚置1 时,执行接收程序,查询接受功能块的RCV_NDR引脚的状态;当RCV_NDR 引脚置1 时,执行数据校验的程序,数据校验无错误时,执行数据处理程序。在数据处理程序中,把串口读到的数据存取到DB块中,数据处理完成后,皮带秤的地址加1,进行下一次循环。实际应用中,采取了第2种方案,软件实现流程见图2[2]。
图2 软件实现流程
在软件的设计中,把需要发送的字节和需要接收的字节存放到不同的DB 数据块中,通过指针读取DB 数据块中的数据,转化为ASCII 码的格式,按照自定义协议的格式存入到需要发送的DB 背景块中。在接收程序中,将从串口中接收的数据依次读到另外一个DB 块中,通过ASCII 码的反转换,得到皮带秤运行的数据。
4 结 语
项目实施后,实现了读取皮带秤的实时运行瞬时流量、累计流量反馈,读取所有皮带秤的运行、故障等数据,实现了远程校验的功能;至少节约1个远程站、3个AI模板、3个AO模板、2个DI模板,节省投资和主控室的布线空间;实现远程清零、远程校称去皮,节省了操作时间,减少了误操作;上位机中的报表可以与皮带秤中的数据完全统一,简化了二级系统的通讯。
[1]高强,马丁.西门子PLC 应用程序设计实例精讲[M].北京:电子工业出版社,2010.
[2]邱公伟.可编程控制器网络通讯及应用[M].北京:清华大学出版社,2000.