基于S7-300 PLC的多功能测控车
1 引言
近年来,随着计算机技术的迅速发展,对科研实验效果的要求也越来越高。在冶金行业中金属塑性热加工过程的研究中,要求能够精确的测量实验数据,同时又能对即将使用在生产线上的各种传感器、执行器进行测控,以便对其性能进行评估,为最终安装在生产线上能可靠运行提供保障。但被测量的信号或被控制对象所处的位置是不同的,如测量一个钢块在被加热过程中,不同位置的点的温度变化时,要在加热炉附近进行。而测控一个伺服阀的性能要在液压站附近进行,为此我们开发了一套可以对多种信号进行测量,也可以对某些对象进行闭环控制的测控车。
具体地说,此测量车可以测量压力、扭矩、流量、速度、位移、电压、电流以及钢板温度等信号。可以对伺服阀、液压马达、加热炉、水幕(或集管)冷却水的流量等进行闭环控制。
2 系统的硬件构成
整个测控车控制系统包括两部分,即测量控制部分和数据处理及分析部分。测量和控制部分采用西门子公司S7-300系列PLC,选择CPU-315-2DP作为控制器,与ET200组成PROFIBUS-DP网,以便于对分散的对象进行控制时减少接线。选用6ES7 331-7KF02多功能模拟量输入模块做信号采集,因为此模块可以采集热电偶信号,电压信号和电流信号。模拟量输出模块选择12位精度的6ES7 322-5HD01。
数据处理及分析部分采用为工业控制计算机,通过美国NI公司提供的PC-1500PFB PROFIBUS通讯卡,实现上位机与控制器之间的数据交换。软件采用该公司的图形化软件LabVIEW7.0。硬件配置见图1所示。
图1 控制系统硬件配置
3 系统的功能原理
该测量车机械结构紧凑、移动灵活、接线方便。另外ET200M部分为一个单独的控制箱,它与CPU之间只有一条数据线,因此可以放在与测量车有一段距离、靠近被控制点附近。
该测量车可以对被测量进行短时或长时间的测量,并将数据通过PROFIBUS总线保存在上位机中,之后对数据进行绘制各种曲线、拟合、回归等处理,还可以打印报表等。可以快速地记录闭环控制过程中的Setpoint值、Process Variable值、偏差值和PID输出值,以便对被控对象的性能,控制效果等进行分析和评估。
该控制系统的硬件控制器为S7-300系列的CPU315-2DP,具有速度快、可构成DP网的特点。模拟量输入模块采用331-7KF02,该模块通过改变其侧面的4个小方块的安装方向,来改变所测量信号的种类,即电压、电流、热电偶信号。每一个小方块控制两通道,共8个通道。另外在STEP7的HardWare Config中,在331-7KF02的属性里也要选定与小方块指示相同的信号类型。在硬件接线方面,要将331-7KF02模块的前连接器的第10、11脚短接,并连接到每个通道的负端。这样才能正确地测量到信号。模拟量输出信号选用322-5HD01,其输出可以选择电压或电流量方式。
计数器选用FM350-2,具有8个通道。开关量输入模块为321-1BL00-0AA0,即32点,24VDC。开关量输出模块为两种:一种是322-1BL00-0AA0,32点,24VDC;另一种是322-1HF01-0AA0,为8点继电器输出,可以直接控制电流较大的负载。
4 系统软件
测量和控制部分的软件为西门子公司的STEP7 5.2,该软件编程直观快捷,函数功能齐全,调试方便。软件结构是根据不同的任务分为若干个子程序,通过上位机传送的不同参数,或控制面板上的转换开关来启动相应的程序,如图2所示。如在温度测量的程序中,分为测量热电偶的温度mV信号和测量来自红外线测温仪的4~20mA电流信号,不同类型的信号,其标度变换将调用不同标定子程序。在控制部分中流量控制和位移控制也是不同的子程序。
图2 系统软件任务分配
上位机的软件为LabVIEW7.0,通过PC-1500PFB PROFIBUS通讯卡于PLC交换数据。该软件具有运行速度快,数据分析和数据处理的函数齐全,编程速度快,界面友好等特点。在人机界面中,对各种类型的测量和控制的试验进行编码,当操作者选择了相应的实验后,通过通讯将该实验编码及相关的参数一起发送到PLC中的特定DB块中,PLC程序得到实验编码后进行初始化,然后等待操作者按下启动按钮,程序才能真正地运行。在测量和控制中采集到的数据以数组的形式存放在不同的数据块中。上位机在传送完实验参数后,将运行数据接收子程序,将PLC中DB块内的实验过程数据获得并存储在上位机中,同时在上位机可以实时显示这些数据。
该测控系统中包含了许多子程序,现将其中的2个为例说明编程思想。
4.1 增加、停止、减少子程序
增加、停止、减少子程序如下:
AN #minus_signal
JC dec
L #reference
L #step
+I
L #max
>I
JC out1
TAK
out1: T #reference
BEU
dec: AN #plus_signal
BEC
L #reference
L #step
-I
L #min
<I
JC out2
TAK
out2: T #reference
BEU
该子程序是利用开关量,以脉冲计数的方式产生数据。具体方法是利用2位自返回开关(左为减少,右为增加),在每个调用周期中增加或减少一个数的方法产生数据,可以作为一个控制量的设定值。在调用该子程序时,将产生的数据限制在一个范围内,就能方便的使用了,这样使用开关量就能完成模拟量的设定。
4.2 数据采集标定公共子程序
在此程序中,只需要输入测量值、该信号的工程量最大值和最小值,即可将数据转换为相应的工程量值。编程的公式为:
Y_Real=(Y2-Y1)/(X2-X1)×(X_Real-X1)+Y1 (1)
其中,Y1、Y2分别为工程量的最小值和最大值。
数据采集标定子程序如下:
L #X_Real
L #X1
<=R
JC Min
L #X_Real
L #X2
>=R
JC Max
L #X2
L #X1
-R
T #T_Real01
L #Y2
L #Y1
-R
L #T_Real01
/R
T #T_Real02 //计算的斜率值
L #X_Real
L #X1
-R
L #T_Real02
*R
L #Y1
+R
T #Y_Real
SET
SAVE
BEU
Min: L #Y1
T #Y_Real
SAVE
BEU
Max: L #Y2
T #Y_Real
SET
SAVE
BE
4.3 软件的调试
在软件的调试过程中,要对有关组织块的功能进行详细的阅读,以便合理地运用到自己的程序中,增强程序的容错能力。如当系统中模块或 I/O出现故障,CPU将会调用 OB85,并不会使整个程序停止。当出现DP网错误时,CPU将调用OB82。在这些组织块中并不需要编程序,只要将其放在程序中。
另外SIEMENS公司提供的Step7模拟器对于离线调试程序具有很大的帮助。
5 结束语
该实验车采用了稳定可靠、抗干扰性强的PLC系统和数据采集及数据处理具有绝对优势的软件LabVIEW,充分利用了二者的优点。该测量车的移动灵活,测控精确,人机界面友好直观,数据处理方便迅速,可以应用到各个测控领域,具有良好的推广价值。
文章版权归西部工控xbgk所有,未经许可不得转载。