PLC与Matlab的通讯技术研究

2016-02-26 00:04焦洪远
西部皮革 2016年18期
关键词:数据项串口沈阳

焦洪远

(沈阳工业大学,辽宁 沈阳 110870)



PLC与Matlab的通讯技术研究

焦洪远

(沈阳工业大学,辽宁 沈阳 110870)

PLC编程是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程.MATLAB将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,本文对PLC与Matlab在串口通讯方面进行了研究。

PLC ; Matlab ;串口通讯

1 Matlab串口通讯

Matlab并不具备直接访问硬件的能力,但是支持面向对象技术,通过调用Instrument Control Toolbox中的serial类函数来创建串口对象,对串口对象操作就是对串口操作,使用起非常方便。同时,Matlab封装的串口对象支持对串口的异步读写操作,使得计算机在读写串口时能同时进行其他处理工作,因而能大大提高计算机执行效率。Matlab用多线程技术实现这种异步操作,通过异步读写设置,计算机在执行读写串口函数时能立即返回不必等待串口把数据传输完毕,当指定的数据传输结束时就触发事件,执行事件回调函数,可以在事件回调函数中编程,进行数据处理,这样就不会造成因等待串口传输数据引起的时间浪费。

2 中断方式通信

从Matlab6.0版本开始,Mathworks公司在软件中增加了设备控制箱(instrument control toolbox),提供了对RS-232/RS-485通信标准串口通信正式支持。利用该工具箱serial类及instrcallback()回调函数,能可靠地进行实时串地通信。为此,笔者充分结合单片机和Matlab优点,基于事件驱动中断通信机制,提出了一种Matlab环境下PC机与单片机实时串行通信数据处理方法,极大地简化开发流程,提高了系统开发效率。另外,与目前普遍采用基于Matlab查询方式下非实时串行通信技术相比,这种方法实用性也大大增强了。

3 PLC与MATLAB的通讯实现

3.1通讯原理

Matlab7.0集成了OPC Toolbox,它是一个OPC客户端数据访问软件,通过OPC Toolbox可以连接任何一个OPC数据服务器,实现对连接服务器数据的读或写。基于OPC技术的Matlab与PLC S7200通信原理图如图3所示:参照Matlab中的OPCToolbox对象模型,以s7—200 OPC Server为OPC服务器,Matlab为客户端,建立OPC通信的流程,实现Matlab在实际工业控制系统中的应用。

3.2PC Access与S7-200的连接

PC Access是西门子S7—200的专用OPC服务器,支持OPC Data Access(DA)3.0规范,可以与任何标准的OPC客户端通信,其服务器ID为“S7—200.OPCServer”。在PC Access中可以为监控的PLC定义属性、通信协议,创建客户端访问的数据项(Item)及数据地址等。本系统中需要通过OPC通信的数据项有2个,即werldu(温度过程值)、kongzhi(控制量)。

3.3建立Matlab与PC Access的连接

运行PC Access中的相关项目后,在Matlab命令窗口编写运行如下M文件程序实现Matlab与PCAccess的通信。

clc

clear all;

hostlnfo=opcserverinfo(’localhost’);

allServers=hostInfo.ServerID;%确定该主机上可用的ID

da=opcda(’localhost’,’S7200.OPCServer’);%s7—200 OPC Sever为PC Access的OPC服务器ID connect(da);%连接OPC服务器

grp=addgroup(da,’groupl’).%增加组

wendu=additem(grp,’MicroWin.NewPLc.wendu’);%增加数据项与PC Access中温度设定关联。

kongzhi=additem(grp,’MicroWin.NewPLc.kongzhi’)。

[1]王树东,毕作文,王红波,OPC技术下PLC与MATLAB相结合的模糊控制系统[J].电气自动化,2011,33(5):11-14.

[2]西门子公司,S7-300/400 PLC编程手册[Z].北京:西门子(中国)有限公司自动化部,1998.

[3]刘志俭,等.Matlab应用程序接口用户指南[M].北京:科学出版社,2000.

[4]迟君平,王斌,李业友.模块化编程方法在PLC程序开发中的应用[J].为计算机信息,2005,21(06):26-27.

焦洪远(1986-),男,汉族,硕士,沈阳工业大学,过程检测技术与控制。

TP336

A

1671-1602(2016)18-0003-01

猜你喜欢
数据项串口沈阳
基于相似度的蚁群聚类算法∗
浅谈AB PLC串口跟RFID传感器的通讯应用
非完整数据库Skyline-join查询*
沈阳分店
基于Python的Asterix Cat 021数据格式解析分析与实现
沈阳分店
Study on the harmony between human and nature in Walden
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式