基于OPC的MATLAB和西门子1215c PLC 的控制系统设计
2014-10-21傅鹏
傅鹏
摘 要:本文以MATLAB为计算平台,通过OPC通信协议,进行与西门子PLC 1215C寄存器内数据和MATLAB数据之间的交换,并利用易控组态软件进行上位机显示,为解决现阶段PLC较难以实现复杂、智能控制算法找到一个切实可行方法。
关键词:OPC;MATLAB;组态软件;PLC 1215C
MATLAB和Simulink在控制系统领域的模拟和应用已经非常广泛,不仅由于MATLAB具有强大的工程计算能力,还由于其易于实现复杂的控制算法。随着现代控制理论的进一步完善和控制算法的不断提出,工业控制领域也逐渐把先进的控制算法应用于工程实践。但是在应用实践中也遇到了一些问题。最主要的原因为较复杂智能控制算法处理模块有时需要单独进行购买,其价格昂贵。同时作为PLC,PLC只为逻辑处理设备,其处理复杂数据的能力有限,在PLC中进行智能控制算法编程并进行较复杂运算是比较困难的。针对此问题本文提出的方法是:通过PLC采集数据,通过OPC协议,把数据传输到上位机中,进行计算,再把计算结果反馈到PLC,进行相应的控制。
1 系统内容介绍
本文思路如图1系统框图所示,通过OPC协议实现PLC 1215C中的数据与MATLAB进行实时数据交换。
2 实现步骤
本文使用的是PLC 1215C 作为控制器,在与上位机软件MATLAB通讯时,由于MATLAB并不支持西门子的通信协议,所以在上位机中要安装SIMATIC NET软件,对上位机和PLC进行设置。以1215C PLC作为服务器,以MATLAB为客户端。Simulink搭建被控对象,通过OPC通讯协议完成PLC 1215C和MATLAB之间的简单的PID控制算法,上位机易控组态软件有对PLC 1215C的驱动支持,可以读取PLC寄存器中的数据,在上位机组态中显示控制过程。
2.1 PLC 1215C的设置
(1)在西门子编程软件TIA PORTAL V13版本中,进行PLC 1215C组态,添加PLC 1215C和PC STATION在组态中完成PC STATION的配置,添加OPC SERVER和IE GENERAL。并生成对应的XBL文件。
(2)在Station Configurator中添加刚才设置好的PC station,如图所示,Status中表示设置正确。
2.2 MATLAB的设置
在MATLAB中既可以通过M语言来编写代码完成OPC客户端的设置,也可以通过OPC TOOL工具来进行界面设置,还可以在Simulink中搭建OPC功能模块来实现功能。本文通过在MATLAB中使用Simulink搭建OPC功能模块来完成控制。如圖3所示。
OPC配置中,点击Configure OPC clients,添localhost/OPC.SimaticNET.1再点击connect即可完成OPC客户端和服务器连接,配置OPC READ和OPC WRITE,在进行MATLAB中,设置如此所示。在西门子PLC 1215C中设置PID三个参数直到满足要求。在设置PID参数为:Kp=2,Ki=1,Kd=1。
2.3 易控组态软件的设置
在易控组态软件中使用端口设置为102,1215C PLC设置IP地址为192.168.0.66,如图4所示。
3 运行结果
将Simulink中仿真时间设置为inf无穷,运行可以同时在MATLAB和易控组态软件中都观察到波形,并在窗口中对PID参数进行修改,直到满足控制要求为止。运行结果如图所示: (下转第120页)
(上接第147页)
4 结束语
本文中使用的是简单PID调节,不可能对每种被控对象都适用。各类型的被控对象都有与其相适应的控制算法,不过本文提出一种适于对复杂控制算法验证和使用的应用于工业控制方面的思路。使用这种思路并结合MATLAB软件中大量的先进控制算法函数和Simulink将在工业控制算法的开发和应用中大大缩减开发周期和成本。同时组态软件也不局限于易控组态软件一种。
参考文献:
[1]Matlab OPC Toolbox帮助文件[K].
[2]刘金琨.先进PID控制及其Matlab仿真[M].北京:电子工业出版社,2004.
[3]石莹等.MATLAB与组态软件的数据交换技术[J].自动化仪表,2006,27(04):23-26.
[4]Inspect开发环境帮助文件[K].