Matlab和PLC的OPC通协议配置教程
目的和意义
对于初学者,matlab和PLC等组态软件进行通讯时很多初学者遇到很多的问题,下面就遇到的问题提供一些解决的办法,希望在学习过程能起到帮助作用。
matlab下OPC的配置
OPC协议简单介绍
OPC是为了不同供应厂商的设备和应用程序之间的软件接口标准化,使其间的数据交换更加简单化的目的而提出的。作为结果从而可以向用户提供不依靠于特定开发语言和开发环境的可以自由组合使用的过程控制软件组件产品。利用OPC的系统是由按照应用程序(客户程序)的要求提供数据采集服务的OPC服务器,使用OPC服务器所必需的OPC接口,以及接受服务的OPC应用程序所构成。OPC服务器是按照各个供应厂商的硬件所开发的,使之可以吸收各个供应厂商硬件和系统的差异,从而实现不依存于硬件的系统构成。
实现OPC DA过程数据访问必须遵循以下步骤:
- 首先,OPC客户能够连接到DA 服务器上,并建立OPC组(Group)和数据组(Items)
- 第二,客户通过对其建立的Group和Item进行访问实现对过程数据的访问,客户可以选择设备或缓存区作为其访问的数据源。
- 其三,完成通知,当服务器响应客户的过程数据访问请求,并处理完成时通知客户。
Matlab下OPC相关查看和安装
在matlab下已经opc的工具包时保证整个配置环境的前提条件,在安装Matlab时有些已经安装了OPC的环境,有些由于版本和安装过程的选择情况,matlab自身并没有安装OPC工具箱,为检查安装性的存在,我们在Matlab命令窗口中输入ver
查看是否有OPC工具箱已经安装在Matlab的路径下,若出现如下图说明已经有OPC工具包环境。
若没有,在MathWorks官网下载OPC工具箱MathWorks
Windows系统下相关组件的安装
上面在Matlab工具箱下已经安装完成,但是缺少在系统下的系统DLL组件,这里也是出现问题最多的地方,下面就具体方法进行说明:
- 第一种方法:利用Matlab指令安装
opcregister('install')
--回车,进行核心组件的自动安装。
- 第二种方法:在本地电脑安装路径下matlab/toolbox/opc/opc/private/OPC Core Components Redistributable (x64)自己安装
若以上两种方法存在问题,下面方法总应该没有问题吧
- 第三种方法:在OPC官网下载核心组件进行安装 OPC中国官网
可能出现的问题
以上安装若是出错,可能会出现Matlab客户端配置时无法选择连接的服务器名。
PLC的配置
下面以西门子200 smart为例进行配置服务器.
- 首先新建一个PLC程序,,以起保停为例,下载到PLC。
- 打开S7 -200 PC Access Smart,将PLC程序变量上传到OPC服务器。(“高端PLC”博图可在程序种配置OPC服务器,不需要这么麻烦。)
S7-200 PC Access SMART是西门子基于200smart PLC之后,推出的一款读取200smart PLC数据的上位机OPC软件
注意 一定要将工程文件保存到本地,不然Matlab中发现不了你的条目!!!
Matlab和PLC的关联
上述完成后,PC Access暂时不要运行并和Matlab建立连接,因为Matlab下还没和PLC的变量进行映射。
-在Matlab中打开OPC工具快捷键 命令窗口>>opctool
,在MATLAB OPC Data Access Clients下添加客户/服务端。
建立连接
一、在localhost/S7200SMART.OPCServer 下右击选择Add Group(添加组)
二、添加条目(200 smart OPC服务器的变量条目)
Group右击添加Item
完成后保存。
新建Simlink
- 仿真可视化
- OPC客户端的添加*
- OPC Real-Time设置
2.从服务器读取OPC数据
3.将OPC服务器启动,和客户端建立连接。
4.启动Simulink(运行时间我设置了无穷大inf
),打开示波器查看波形。
按下PLC的I0.0,启动Q0.0输出,示波器波形如下:
数据传送测试
流程图
相关链接
[1] Matlab OPC工具包:
https://www.mathworks.com/products/opc.html
[2] OPC相关组件:
https://opcfoundation.cn/guifan/26_73