全液压矫直机高速数据采集系统的研究与应用
2016-03-21刘少攀黄庆学
刘少攀,黄庆学,胡 鹰
(太原科技大学,山西 太原 030024)
·专题综述·
全液压矫直机高速数据采集系统的研究与应用
刘少攀,黄庆学,胡 鹰
(太原科技大学,山西 太原 030024)
由于第三代全液压矫直机的数据采集与管理系统中存在有数据采集速率低与数据丢失等现象,因此不能够精确地反应矫直力的变化情况。在整个矫直过程要想实现对矫直力等高速变化的过程数据进行采集分析必须对系统的数据采集技术进行优化。结合现有的矫直机控制系统提出了基于PLC功能模块的高速数据采集方案,将采集的单个过程数据存储到某一数据块中,然后打包缓存到另一数据块中统一发送到HMI,避免了单个数据传送中丢失数据的现象,提高了数据采集速率。并对此方案的实施给出了具体的实现过程,运行结果证明此方案是可行的。
全液压矫直机;功能模块;高速数据采集;实现过程
0 前言
矫直机是轧制生产过程中重要的精整设备,对矫后板材的平直程度具有十分重要的作用。而最具决定的因素就是矫直辊压下量(即矫直力)的设定,矫直力信号是一个高速变化的数据,必须对其进行实时数据采集才能给出精确的压下量。在矫直机数据采集管理系统中会遇到这样一个问题,当矫直高强度板材时,由于板材咬入矫直机时矫直力比较大,矫直机会发生弹跳现象,就会造成实际矫直力与预报矫直力存在偏差[15]。要想确保良好的矫直效果就须对矫直力作AGC补偿。如果设矫直速度1 m/s,整个矫直机工作辊距为1.6 m,那么板材咬入过程时间只有1.6 s,板材经过工作辊的平均时间约为300 ms。而现有的西门子PLC采集数据速度为500 ms,这样就会出现数据采集漏数现象,无法完整反映整个咬入过程中矫直力变化情况,也就不能准确做出AGC压下补偿。所以必须对现有的数据采集技术进行优化以实现对高速变化的过程数据采集分析。结合现有矫直机控制系统,本文在矫直过程中对过程数据的采集采用了一种基于PLC功能模块的高速数据采集方案,避免了矫直过程中存在的数据采集速率低及数据丢失的现象,提高了板材的矫直速度,同时也提高了板材的矫直质量[1] [2] [3]。
1 传统的全液压矫直机数据采集存在的不足
在矫直板材的过程中需要对高速变化的实时过程数据进行采集分析使现场操作工人能及时了解矫直过程一些重要数据的变化;也可以把采集到的过程数据进行EXCLE存储,为工艺模型的优化及工艺参数的设定改进提供大量的精确的现场数据,以更好的满足生产的需要。通过ipa PDA软件实现对PLC过程数据采集,能够实现对高速变化的过程数据采集分析,这种数据采集方法在许多中板、高棒生产线上有广泛的应用。如果使用此软件实现数据采集则需要购买特定的软硬件,其代价比较昂贵。为了实现对高速变化的数据采集,本文设计了一种基于PLC功能模块的高速数据采集方案,只需在PLC与Wincc上编写很少的程序即可,相对比较经济简单。首先通过底层的各类传感器把需要采集的信号送到PLC中,再通过PLC的S7信道将其传送到监控系统画面中或进行EXCEL存储。
在之前的数据采集方案中,PLC把采集到过程值存放在指定的地址中,然后由WinCC访问对应的地址来获得该值,并且是单个值的访问。这样数据采集速率就取决于WinCC的刷新周期,假设PLC端的数据采集速度50 ms,WinCC中归档周期为250 ms,这样一来在PLC端采集五个过程数据WinCC才读取到一个数据,出现漏数现象[9]。数据采集的频率就比较低,在进行数据分析时不会达到预期的精确度,因此不能满足高速数据采集的要求。
为了实现对现场数据的高速采集,选择使用S7 PLC中自带的特殊功能模块BSEND的方式进行数据采集。这种数据采集方案在已经组态好的S7通信前提下就可以进行,不用添加任何的硬件设备,只需在PLC中编写必要的程序代码即可,操作起来比较容易完成。但是当WinCC与PLC进行大量的过程数据传输时,在WinCC中需要使用原始数据变量及PLC中需要使用大量的数据处理模块(包括数据存储块,数据缓存块等)。在S7 PLC端还要进行程序代码的编写及网络组态的设置,而在WinCC端需要根据PLC中网络组态的不同的设置进行具体的设置,以保证PLC与WinCC 能正确的通讯,这样PLC才能把数据集中地发送给WinCC,能够满足PLC的数据刷新周期。高速数据采集过程的框图如图1所示。
图1 数据采集过程框图Fig.1 Block diagram of data collection process
在这个数据采集过程中主要是将PLC每个采集周期(实际生产中采用了50 ms的采集周期)采集到的所有过程值存放在DB13块中,当数据个数达到1600时,PLC主动调用功能块BSEND/BRCV(SFB12/13)将数据发送给WinCC的原始数据变量,但WinCC无法直接使用这些字节数组变量,需要在接收到的字节数据型的变量后,编写解码脚本来处理原始数据变量中的数据,然后再导入到EXCEL表格中。以下就是对某钢厂中板生产线上矫直力,矫直速度等16个高速变化的过程数据采集的具体实施过程。
2 高速数据采集的方法
在SIMATIC Manager中打开S7项目,在硬件组态中选中CPU站点确定以太网的通信地址。由于不同的CPU通讯设置有所不同,但是只要在硬件组态中有PN-IO模块,多数通讯设置都是在此模块中进行的。但有的S7站点的通讯设置是在CP模块中进行的,无论是采用哪种通讯方式只要具有以太网通讯功能,并且正确设置了以太网的通讯地址,都能实现本方案[10]。在本方案中采用的是PN-IO模块,首先通过选择此模块的属性将PN-IO模块的IP地址设为:192.168.1.100,子网掩码设为:255.255.255.0,并建立Ethernet(1)的子网,编译保存并下载该硬件组态。之后打开组态网络看到Ethernet(1)的绿线连接,这表明连接已成功,选中CPU站点并右键选择“插入新连接”,并选择未指定的。点击确定之后将本地ID设置为1,并把伙伴的IP地址设置为:192.168.1.102.这是与PLC通讯的WinCC的地址。设置完成后将此S7站下载到PLC中[4]。
3 WinCC端通信设置
打开与S7项目相应的WinCC项目,WinCC的IP地址要与S7中的设置一样(即设置为192.168.1.100).在WinCC项目的变量管理器的SIMATIC S7 PROTOCOL SUITE通道下,选中TCP/IP通道中的逻辑连接,并通过单击右键打开连接属性对话框并点击属性之后打开连接参数对话框(如图2所示)。在此对话框中将IP地址设置为192.1698.1.100,这是S7的IP地址,对应的机架号和插槽要与S7中的设置一样,并在“发送/接收原始数据块”选项之前打对勾,连接资源选择也要与S7中的设置相同。接着就是添加原始数据变量,在对应的逻辑连接中添加新变量Raw,将其数据类型定义为原始数据类型,设置地址属性如下:勾选原始数据,并设置R_ID,此R_ID这正是S7 PLC中的SFB12发送功能块的R_ID参数,在原始数据类型选项中选中“BEND/BRCV”[6] [8] [12]
图2 WinCC通信设置图Fig.2 WinCC communication set figure
4 PLC端过程数据处理
为了能完成高速数据采集,首先需要在S7 PLC中定义几个数据块用于将采集到的过程数据打包,缓存并发送给WinCC.定义DB11为数据发送块其大小为100×16×4,即将16个4字节的REAL型的实时数据存够100次;定义DB13为数据接收块用来存放采集到实时过程数据,其大小为16×4个字节,即将采集的现场数据先暂时存储在此数据块中,然后再将其转存入数据缓存块DB17中;定义DB17为数据缓存块,其大小为100×16×4个字节,主要用于在完成数据打包之后,将其整体复制到DB11中,然后继续接受现场实时数据的存储,这样就防止了数据丢失。接着就是在组织块OB100中赋初值,使MW406=6400,即是要发送数据块DB11的总的字节长度:MW340是循环采集数据的次数,取值100;即用来实现对16个变量采集100次,使MD480=0,是打包数据时用到的地址指针起始值,多数都设置为零,其流程图如图3所示[4] [5] [7]。
图3 数据采集流程图Fig.3 Flow diagram of data collection
最后就是编写功能块FC42,也是数据实现高速采集的关键PLC程序,它主要包括数据的接收,数据的打包,数据的转存。这样把完成数据采集的所有功能程序都编写到一个功能块中,需要时调用即可完成数据的存储和打包以及发送给WinCC显示和存储。
(1)数据接收。将实际项目工程中要采集的实时过程数据变量放入数据接收块DB13中。
(2)数据打包。将每个周期采集到的所有实时变量存到数据缓存块DB17中进行数据打包。
(3)数据转存。当达到设定的循环次数100后,将缓存块DB17中的数据整块发送到数据发送块DB11中,同时将WinCC的写入操作触发置1,让S7将整个数据块发送到WinCC中。当执行完一次发送操作后,将数据打包循环指针MD480置0,将循环计数值MW340置100,为下一次发送数据块做准备
最后编写数据采集-调用S7-400的数据块发送功能SFB12的程序[14]。至此,S7-PLC中的组态及编程已全部完成,将所有的数据块及功能块编译并下载到PLC中即可。
5 WicCC端数据处理
由于WinCC接收到的原始数据变量中存储的是PLC打包过来的字节数组,要想对数据进行处理分析就必须将其转化成浮点数显示到WinCC上或存储到EXCEL中[13]。根据实际需要,在C脚本的全局动作中要编写读取PLC的DB块的程序并将其转化成浮点数,然后存储到EXCEL中,其WinCC处理数据流程如图4所示,部分C脚本为[6] [11]:
char szTime[50] = "";
//定义存放时间的数组
char FileName[20] = "";
//定义存放文件路径的数组
SYSTEMTIME sysTime;
Object* pExcel = NULL;
//excel指针初始化
……
……
GetTagRaw("Raw",a,6400);
//开始读取数据,总的字节数
for (i=0;i<6400;i++)
{ReadData[i]=a[i]; //读取数据结束
}
for(j=0;j<1600;j++) //转换数据,将字节数组转换成浮点数
{
for(i=0;i<4;i++)
{
caijiarray[j].buffer[i] = ReadData[3-i+j*4];
}
pExcel=object_create("Excel.Application"); //打开excel功能
pExcel->Visible = 0;
pExcel->Workbooks->Open("E:sunsun.xls"); //路径中的斜杠必须是双斜杠for (i=1;i<=1600;i++)
{pExcel->Worksheets("sheet1")->Cells(i,1+k*2)->Value=szTime; //写wincc的时间值到第一列
pExcel->Worksheets("sheet1")->Cells(i,2+k*2)->Value=caijiarray[i-1].REAL_DATA;//caijiarray[i-1].TEST_DATA; //写wincc的变量实时值到第二列
}
……
……
pExcel->ActiveWorkbook-> Save;
pExcel->Workbooks->Close();
pExcel->Quit()。
图4 数据处理流程Fig.4 Procedure of data processing
6 数据分析
经WinCC处理过的数据可以存储到EXCEL表格中,也可以在线观测数据的变化趋势如图5所示的辊缝值曲线图,从图中可以看到采集到的实际辊缝值基本接近辊缝设定值;图6为大小腔压力曲线图,从图中可以看到各腔的压力有很小的变化趋势,基本上成一条直线。给定压力主要用来减少实测辊缝值与预设定辊缝值的差值,使其差值在误差允许的范围内。
图5 辊缝曲线图Fig.5 Roll-gap graph
图6 大小腔压力曲线图Fig.6 Pressure-graph of large and small cavity
7 结论
本文主要讨论了高速数据采集的原理及实现方法,充分利用了S7 PLC数据采集的快速性能。该数据采集方案在全液压矫直机上得到了很好的应用,有效的解决了先前矫直机存在的数据采集速率低及漏数的问题。此数据采集方案在矫直机控制系统中一直运行良好,证明了其可行性。
[1] 孙江涛.中厚板十一辊热矫直机工艺模型数据采集与管理系统[D].太原:太原科技大学,2014.
[2] 王效岗.十五辊组合矫直机关键技术及理论模型的研究[D].兰州:兰州理工大学,2008.
[3] 崔甫.矫直原理与矫直机械(二版)[M].北京:冶金工业出版社,2002.
[4] 程伟晶.基于S7-400 PLC的高速数据采集系统[J].电气应用,2011,30(4):74-77.
[5] 刘悦音.基于S7-400 PLC及WinCC的的高速数据采集系统的设计[J].工业控制计算机,2008,21(6):77-78.
[6] 西门子(中国)有限公司自动化与驱动集团.深入浅出西门子WinCC V6[M].北京:北京航空航天大学出版社,2005.
[7] 廖常初.S7-300/400 PLC应用技术[M].北京:北京工业出版社,2005.
[8] SIMATIC System Software for S7-300/400Systemand[M]. Standard Functions.: 378-379.
[9] 姜丽波,张根宝. WinCC高速数据采集应用[J]. 电气传动自动化,2006(2).
[10]韩斌.造纸设备控制系统网络化研究[D].济南:山东轻工业学院,2011.
[11]左水利. WinCC V6.0 VBS 脚本在矫直机上位监控系统中的应用[J].冶金设备,2007(6).
[12]王实,刘晓明.深入浅出西门子WinCC V6[M].北京:北京航空航天大学出版社,2004.
[13]孙志敏,方一鸣. WinCC与PLC采集数据间快速交换及显示的研究及应用[J].工业控制计算机,2011.
[14]廖常初.PLC编程及应用[M]. 北京:机械工业出版社,2005.
[15]王酒生.一种中厚板热矫直机工艺的自动化系统[J].重型机械,2008(4):21-23.
The research and application of high-speed data acquisition system for full-hydraulic straighter
LIU Shao-pan,HUANG Qing-xue, HU Ying
(Taiyuan University of Science and Technology,Taiyuan 030024,China)
3th full-hydraulic straighter data acquisition and management system has the low data collection and data lost errors, which could not accurately reflecting the condition of straightening force change. The data acquisition technology of system must be optimized to collect and analyze high-speed change data. A high-speed data acquisition system, based on PLC functional module according to the straighter controller system, was put forward in this article. The single process data was stored in some data block, then cached to other data block together and after the whole data block was sent to HMI, avoiding data lost in single data transfer andimproving data acquisition rate. The concrete implementation process was also provided in this article. The running result shows the program is feasible.
full hydraulic straighter;functional module;high-speed data acquisition;implementation process
2015-12-16;
2016-02-01
国家自然科学基金项目 51404159;山西省回国留学人员科研资助项目(2013-099)
刘少攀(1985-),男,太原科技大学硕士研究生。
TG333
A
1001-196X(2016)02-0001-05