OPC技术下MATLAB与PLC的通讯实现黄双成,李志伟(河南化工职业学院机械电子系,河南郑州450000)摘要:PLC具有结构简单、编程方便,可靠性高特点,已经在工业及生产过程中得到了广泛应用,但PLC的编程语言功能简单,无法实现复杂的控制算法;MATLAB是一种高级矩阵语言,并且包含工具箱和Simulink仿真环境,可通过对控制系统进行可视化建模,仿真等工作,实现复杂控制算法,但不能直接应用在实时控制中。本文采用OPC通信技术,实现MATLAB与PLC通信,为PLC控制下复杂算法的实现提供了技术基础。关键词:OPC技术MATLABPLC通讯中图分类号:TP273文献标识码:AAbstract:PLC,withsimplestructure,convenientprogrammingandgoodreliability,isalreadywidelyusedinindustrialcontrolarea,butitisunabletoachievecomplexcontrolalgorithmwithshortageofprogramminglanguage;MATLABisakindofhigh-levelmatrixlanguage,withitstoolboxandSimulinksimulationenvironment,complexcontrolalgorithmcanbeachievedthroughtheresearchonthevisualmodelandsimulationofthecontrolsystem,butitcannotbeusedinreal-timecontrol.Thispaper,usingOPCcommunicationtechnology,achievescommunicationbetweenMATLABandPLC,providestechnicalfoundationfortherealizationofcomplexalgorithmunderPLCcontrol.Kewords:OPCTechnologyMATLABPLCCommunicationCommunicationbetweenMATLABandPLCbeachievedbytheOPCtechnologyHuangShuang-cheng,LiZhi-wei(DepartmentofMachineryandElectronics,HenanVocationalCollegeofChemicalTechnology,Zhengzhou450000)1、引言如何检验复杂先进控制算法,并将其有效地应用在生产现场一直是工业控制领域普遍关注的热点问题。PLC控制器加工控机模式是常见分布式监控系统的结构,但是PLC编程语言简单,无法实现先进的控制算法。随着工业过程控制要求的提高,模糊算法、神经网络算法、遗传算法等复杂控制算法取代传统的PID算法成为工业过程控制的发展趋势[1]。Matlab语言工程计算力强大,程序设计流程灵活,可实现复杂的控制算法[2]。若将PLC采集到的实时数据通过数据交换传给MATLAB进行计算处理,再将运算处理结果传送给下位机PLC,由PLC输出模块输出控制信号,实现过程控制,这样不仅极大提高监控系统的作用,而且有利于复杂算法的故障诊断和过程控制的设计与实现。要实现上述目的,问题节点在于PLC和MATLAB之间的数据交换。通过在MATLAB的Simulink中设计数据传输模块来实现两者之间数据交换的文献鲜见报道。本文介绍通过OPC技术实现MATLAB与PLC之间进行数据交换的方法,并通过一个实际的例子来说明PLC与MATLAB通信的原理及过程。PLC采集现场仪器仪表的数据,通过工业以太网传给工控机,数据再通过工控机内部的OPC协议分别传给组态软件和MATLAB的工作空间,组态软件是用来监控系统的,MATLAB将PLC中的数据经过算法处理得出最优的控制数据,然后再通过OPC协议和以太网返回到PLC内,PLC再根据数据对现场仪器仪表进行精确的控制,系统结构图如图1所示。图1数据交换结构图图2OPC服务器3种对象层次关系图2、OPC技术OPC是ObjectLinkingandEmbedding(OLEforProcessControl)的缩写,它是以微软公司COM和DCOM技术为基础,创建的一种应用于自动化领域的软件接口标准。OPC采用开放式的数据交互,能使不同公司的软硬件组成一个有机的整体,传输可靠,速度快,适于大批量数据交换,已经成为工控行业新的通信标准,广泛应用在工控行业的各个领域[3]。OPC采用客户/服务器体系,目标是在客户和服务器之间建立一种通信和数据交换的工业标准机制,只要遵循OPC标准,数据交互对两者来说都是透明的。各客户/服务器间形成即插即用的简单规范的链接关系,即不同的客户软件能够访问任意的数据源。OPC使用主要包括OPC服务器与OPC客户两个部分,OPC服务器是数据的供应方,负责为OPC客户提供所需的数据;OPC客户是数据的使用方,使用OPC服务器提供的数据。OPC数据存取服务器主要由服务器对象(Server)、组对象(Group)和数据项对象(Item)3类对象组成[4]。3类对象的层次关系图如上图2所示。OPC具体使用必须遵循下列步骤:第一,OPC...