资源描述:
《MATLAB与PLC之间的通讯技术.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、5自动化技术与应用62005年第24卷第12期PLC与DCSPLCandDCSMATLAB与PLC之间的通讯技术张昆,段其昌,张从力(重庆大学自动化学院,重庆400030)摘要:MATLAB被广泛应用与科学计算、数学建模与仿真,而始终未能应用于实际的控制系统中。本文采用DDE通讯技术和OPC技术,详细介绍了MATLAB直接和PLC的数据交换方法,实现MATLAB在实际工业控制系统中的应用。关键词:MATLAB;DDE;OPC;RSLinx;PLC中图分类号:TP336文献标识码:B文章编号:100327241(2005)1220054203TheCommunica
2、tionbetweenMATLABandPLCZHANGKun,DUANQi-chang,ZHANGCong-li(AutomationFacultyofChongqingUniversity,Chongqing400030,China)Abstract:MATLABhasbeenwidelyusedinscientificcalculation,mathmodelingandsimulation.ThispaperintroducesthemethodofcommunicationbetweenMATLABandPLCbyusingtheDDEcommunica
3、tiontechnologyandtheOPCtechnology.Keywords:MATLAB;DDE;OPC;RSLinx;PLC1引言2MATLAB与PLC的通讯接口在工业控制领域,如何有效地实现控制算法一直是人们普Rockwell自动化公司的RSLinx是一个通讯驱动程序,为所遍关心的问题。MATLAB语言以矩阵和向量为基本单位,提供有Rockwell自动化的网络和设备提供通讯支持,RSLinx的Gate2[2]了强大的科学运算,灵活的程序设计流程,便捷的与其他程序的way版本支持DDE接口和符合OPC规范,MATLAB可以通过接口,可以实现复杂的智能控
4、制算法,如模糊控制、神经网络、参RSLinx来访问控制器内的数据。这就使得MATLAB可以与PLC数整定、信号处理等,同时,MATLAB语言还配备有各种各样的方便地使用上面两种通讯接口进行数据交换,其数据交换的总工具箱,可以解决许多特定的课题和数学建模问题。在工业控体框图如图1所示。制中,PLC以其高可靠性、逻辑运算能力强而著名,然而通过梯形图语言来实现智能算法比较困难,因此,采用MATLAB语言来实现复杂的智能控制算法,PLC进行定时数据采样和输出控制,实现二者的优势互补是自控领域研究的热门话题。图1MATLAB和PLC数据交换的总体框图在工控领域中采用MATL
5、AB来实现复杂的控制算法需要解决的关键问题是MATLAB与可编程逻辑控制器之间的通讯问3MATLAB与PLC的DDE通讯题。MATLAB主要提供了两种通讯接口,一种是DDE(dynamic动态数据交换(DDE)是一种嵌入在Windows系统中的通讯[1]dataexchange)通讯接口,另一种是ActiveX通讯接口。本文以规范,这种规范允许支持DDE的Windows程序在彼此之间进行罗克韦尔自动化的PLC为对象,提出了两种MATLAB与PLC传数据交换。所有的通讯都发生在Windows环境之内,对用户来送数据的方法:DDE方式和OPC方式。说,这种通讯是透明的
6、,使用的方法也极为简单。以RSLinx作为服务器、MATLAB作为客户端建立DDE链收稿日期:2005-08-1554
7、TechniquesofAutomation&ApplicationsPLC与DCS5自动化技术与应用62005年第24卷第12期PLCandDCS接的具体通信过程如图2所示。图2MATLAB与RSLinx的DDE链接MATLAB作为客户端程序,而RSLinx作为服务器应用程序,由MATLAB向RSLinx请求和发送数据。RSLinx作为服务器时,其服务器名为RSLinx,主题名为Micro,在RSLinx的帮助文件中详细介绍了主题名的设置方法,
8、item选择要传送数据的PLC中图3MATLAB的OPC通讯流程图的tag,即有效的PLC数据表地址,这样就可以实现MATLAB与下面详细分析MATLAB和PLC之间实现OPC通讯的具体PLC之间动态数据的交换,具体步骤如下:步骤:¹在RSLinx中创建topic,topic代表某台PLC。¹在RSLinx中创建topic,topic代表某台PLC。º编制m文件,部分程序如下:º在MATLAB中使用命令-opcregister.安装OPC基金会核channel=DDEINIT(.RSLinx.,.Micro.);%初始化DDE会话心组件。通道,返回通道句柄;会话s
9、ervic