物联传媒 旗下网站
登录 注册
RFID世界网 >  解决方案  >  其他  >  正文

在PLC监控系统中海量数据现场采集存储方案

作者:广州市乐诚电子科技有限公司
来源:RFID世界网
日期:2012-12-10 10:17:00
摘要:随着计算机控制技术的不断发展,可编程控制器PLC的功能越来越强大,不仅具有各种各样的控制功能,还具有与其他设备通信联网的功能。与之相应,PLC的应用也日益普及,不仅被广泛应用于传统的逻辑控制、PID控制和变频调速等领域,还逐渐被用于数据采集、环境监控等领域。

    随着计算机控制技术的不断发展,可编程控制器PLC的功能越来越强大,不仅具有各种各样的控制功能,还具有与其他设备通信联网的功能。与之相应,PLC的应用也日益普及,不仅被广泛应用于传统的逻辑控制、PID控制和变频调速等领域,还逐渐被用于数据采集、环境监控等领域。
本方案介绍的分布式PLC监控系统采用分布式的构建方案,利用基于西门子PLC的实时测量技术对各设备的监控点数据进行采集、监测,以达到分散连接、集中监控的目的。在自由口模式下实现PLC与LCW系列数据存储器的通信,将监控数据完整的保存到存储器的SD卡中,弥补了PLC存储、管理大量数据能力不足的缺陷。通过此方案,用户可对各设备的监控数据和PLC的工作状态进行长期、有效的存储。
系统结构
    PLC采用西门子S7-200 PLC,是串行通讯方式最为丰富的小型PLC,支持多种通信协议,如点对点接口协议(PPI协议)、多点接口协议(MPI协议)和PROFIBUS协议以及自由通信协议等。其中自由通信协议又叫用户定义协议,利用自由端口模式,可以实现用户定义的通信协议,连接多种智能设备,使用起来非常方便,在第三方工程接入中取得了巨大的成功。
     PLC具有一定的数据存储功能,可防止因通信错误而出现数据丢失的情况,然而PLC存储、管理大量数据能力不足; 另外在电源掉电或内存丢失后,PLC的系统时间会被初始化,这会使数据保存时间与实际时间不符,无法对监测数据进行长期有效的保存。
     数据存储器采用广州乐诚电子科技有限公司提供的LCW-S数据存储器, 是一款可以替代PC机的便携式串口数据记录仪。采用嵌入式系统控制芯片,将串口RS-232/485输入的数据透明存储在SD卡中。数据存储器采用模块化设计,不需要用户对现有设备进行改造,实现数据实时存储。该产品已广泛使用于系统集成设备、自动化采集设备、高校、研究所重要实验装置“黑匣子”,是具有高度集成,高可靠性,低成本优势的数据存储产品。 有如下功能:
a 采用工业级高性能32位处理器,运用独特的动态内存分配管理算法,提高数据的处理能力,实现实时 高速数据采集、持续数据记录和大容量数据存储的便携式数据存储记录仪。其高达100Kb/s的数据接收及存储能力,完全适应倾角传感器高速的,海量的数据存储。
b 超低功耗设计,支持锂电池供电适用野外和移动状态下的数据存储环境。
c 具有时钟功能,数据存储文件以当前的年月日自动命名;可根据用户的具体需要对接收到的每帧数据加入实时时间,方便后期数据处理。
d 中文配置软件,通过串口可修改波特率、时钟校准等。
e 可对仪器仪表采集设备发送轮询指令(根据用户需求定制)。
f 存储器工作用的参数可以固化到处理器内的FLASH 存储器中,不会发生参数丢失的问
题。固化的工作参数上电时自动调出。
基本组成图




LCW数据存储器与PLC通讯
      数据存储器的串行口直接与S7-200 PLC的RS-232/485口进行通讯,在自由端口模式下,PLC的串行通信接口由用户来控制,PLC相当于从站,数据存储器相当于主站。除了自发向数据存储器发送报警信息和连接保持信息外,一般都是接收到数据返回请求后,再向数据存储器发送数据。PLC接收完数据存储器发送来的数据后,触发端口0接收完成中断对数据包进行分析。如果是巡检命令,则将实时采样数据存储到巡检数据寄存器中,然后调用PackandSend子程序,设置好寄存器地址即可按照命令返回相应数据。PLC发送完成后触发端口0发送完成中断,将各标志位寄存器复位,为下一次通信做准备。串口0的通信程序流程图如所示。



a) 通信程序的实现
(1)根据用户的具体需求,数据存储器可主动发送轮询指令。采用串行口工作方式以数据存储器作为主机,向PLC进行呼叫,定期读取数据或者写入数据;将PLC返回的监控数据保存在SD卡中。其程序流程图参见图2。



单片机端通讯程序流程图
(2)PLC端程序流程图的实现。PLC端作为从机,采用梯形图或者STL编程,主要是先设置通讯协议,然后按照协议把采集到的数据进行处理,再发送给主机数据存储器,其具体的程序流程图如图3所示。



PLC端通讯程序流程图


b) 通信协议设计
定义根据经验和有关参考资料,定义协议结构和参数。

(1)通信波特率为9.6kbps,无校验,8个数据位,1个可编程位,1位起始位,1位停止位。
(2)定义通信协议的数据流结构的格式为起始码、命令码、元件首址、字节数、数据块、BCC校验码和结束码。
● 起始码:表示单片机与PLC开始发送数据,是数据流第一个字符,告诉PLC开始进行通信了,可以用00H表示
● 命令码:表示单片机对PLC的各种操作:
40H:读取目标元件 I、Q、V、M、SM、L、T、C等的数据或状态;
41H:修改目标元件 I、Q、V、M、SM、L、T、C等的数据或状态;
42H:强制目标单元为ON;
43H:强制目标单元为OFF;
● 元件首址:表示PLC内部的元件类型以及寄存器的地址(但不能表示一个位地址)。前两个字节表示寄存器类型,后两个字节表示寄存器号。00 00(H):I寄存器区 01 00(H):Q寄存器区。02 00(H):M寄存器区 08 00(H):V寄存器区;
● 字节数:从元件首地址起,读取或写入PLC元件的数据个数数据块:准备读取或者写入PLC的数据或状态;
● BCC校验码:在传输过程中,指令有可能受到任何的干扰而使原来的数据信号发生扭曲,此时的指令当然是错误的,为了侦测指令在传输过程中发生的错误,接收方必须对指令作进一步的确认工作,以防止错误的指令被执行,最简单的方法就是使用校验码。BCC校验码的方法就是将要传送的字符串的ASCII码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;同样地,接收方在接到指令后,以相同的方式对接收到的字符串作异或和,并与传送方所送过来的值作对比,若其值相等,则代表接收到的指令是正确的,反之则是错误的
● 结束码:结束字符标志着指令的结束,在本例中被定义为FFH,不同的PLC从站可以定义不同的结束字符以接收针对该PLC的指令。
数据分析
通过读卡器将SD卡中的监测数据导入电脑软件中,电脑软件根据实际业务需要设计相应的算法,对数据进行分析,以数据报表,图表等方式展现结果。
文中所述方案可以准确、可靠地测量恶劣环境下的现场数据并存储。数据存储器和PLC的采用不仅增大了系统的稳定性,而且还可以很方便地根据实际需要适当地增加或改变监控对象,对系统功能进行扩展。由于都采用模块化设计,所以对系统进行简单修改后即可用于其他工业监控应用中。实验表明,该方法能够稳定可靠地采集和存储数据,为中小规模监测系统的数据检测提供了一个可供参考的解决方案。