许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab NX MCD联合仿真:OPCDA通讯实现

Matlab NX MCD联合仿真:OPCDA通讯实现

阅读数 4
点赞 0
article_banner

Matlab NX MCD联合仿真 OPCDA通讯

所用到的软件
OPC服务器:MatrikonOPCExplorer
Matlab2021b
NX1965
注:本文只是记录一下如何成功连接,对OPC、Matlab、NX MCD无详细的介绍,若想更详细的了解,可参考其他博客

最后实现的效果是Matlab simulink和MCD中数据可以实时显示,包括Matlab给MCD一个信号,MCD给Matlab一个信号。

更新(2022.6.5)

   1.MatrikonOPCExplorer 这个OPC服务器并不是那么好下载,并且在安装过程中会提示.NET Frmaework 3.5 Features cannot be installed on this operating system。 我将OPC服务器上传到资源,安装过程提示的问题,可以百度自行解决,非常简单,不再赘述。

   2.关于simulink中OPC读和写这两个模块,

   WRITE 写 这意思应该是OPC读到了matlab中的数据,然后写下来了,写在了OPC服务器端
READ   读 这意思应该是OPC里面有什么,matlab从里面读出来。

第一步:下载MatrikonOPCExplorer

下载成功以后,进行安装,一直点next就行。安装完成之后,打开MatrikonOPC Server for Simulation,右键Alias Configuration  ,新建一个Group。
在这里插入图片描述

   新建之后,将会出现一个New Alias 1 组,建议不用改名称,默认这个就好。

   然后在右侧添加数据,双击Name下面的单元格即可。包括名称和其类型的设置。我设置一个a和b,a是matlab给MCD的,b是MCD给matlab的,类型都选择双精度。

在这里插入图片描述

   数据添加完成之后,如上图所示,然后点击红色框中的菜单,等待出现以下界面即可。按照步骤将a和b分别加入。
在这里插入图片描述

   出现以下界面,那么OPC服务器这边即设置完成,接下来将介绍matlab和opc建立 通讯
在这里插入图片描述

第二步:Matlab和OPC通讯

1、程序段

da = opcda('localhost','Matrikon.OPC.Simulation.1');%选择本地端 和OPC服务器建立通讯
connect(da); %连接
grp = addgroup(da);%添加组,一个组里面可以有多个对象。
item1 = additem(grp,'New Alias 1.a');%添加组里面的项,上文中说默认用New Alias 1,此处的代码一直是这样就行
item2 = additem(grp,'New Alias 1.b');%如果你更改了组的名字,在这里修改成你自己的就可以了。

直接运行上述代码,现在工作区中产生这些设置的变量,后续在simulink中用到。

   2、simulink中搭建
在这里插入图片描述

   常用这三个,一个OPC配置,一个读,一个写。将这三个都拖进来,然后我用了一个constant模块,Matlab给MCD发一个常量,然后用了一个scope,用来显示MCD给Matlab的数值,连接到读的V端口。
simulink模型

   第一步先配置OPC Config
在这里插入图片描述

   第二步,配置读和写的模块。

   示意读模块的步骤,写是一样的。读的时候只读的a,把b移除就可以。(其实在这块的时候,就体现了一个组多个对象的不好之处,如果你一个组一个对象,那么再添加项的时候,你就不用移除了,在你开始选择组的时候,就确定了组里面有什么数据,后续可以专门设置几个组,比如第一个组都是读的数据,第二个组都是写的数据,就很方便了,我也是第一次写,写到这里了才觉得我这样设置有点麻烦了,可能唯一的好处就是matlab代码段里面只有一个组显得简洁吧。二者不可兼得啊 ,哈哈哈 如果有更简单的办法,还请告诉我)
在这里插入图片描述此时,把simulink时间设置为inf,运行simulink,就可以在MatrikonOPCExplorer看到a的值,我设置的是222。
在这里插入图片描述

第三步: NX MCD和OPC通讯

①在电气栏,新建信号,一个输入,一个输出。类型都是双精度。

   ②在自动化一栏,先设置外部信号配置,再设置信号映射。
在这里插入图片描述
在这里插入图片描述

   把这i两个信号都添加到查看器,以便观察。

   simulink和MCD中都点播放,然后就可以看到通讯成功。
在这里插入图片描述

   signal0是matlab给MCD的,signal1是MCD给matlab的。打开matlab的示波器,就可以看到MCD给的信号,因为我MCD中没有任何模型,只是建立了一个信号,初始值设置为0,所以这块显示是0,在上面的MatrikonOPCExplorer也可以看出signal1是0。
在这里插入图片描述

   可以改变simulink中constant的值来再次验证此操作正确。

   我将constant的值改为20211203,那么MCD中的值就会变为20211203。如下图所示,OPC作为桥梁。
在这里插入图片描述

   然后我在MCD中先暂停,改变我signal1的初始值为2021,再次运行。可看到如下效果
在这里插入图片描述

   至此,matlab和NX MCD通过OPC联合仿真的具体操作已经结束,没有放具体案例,只是简单介绍如何实现,大家可以根据自己实际需要,进行仿真即可。

   记录一下自己的学习过程,此处特别感谢我的师兄在2021年12月2日晚上给我的讲解,此文内容均是师兄讲解,我作一个学习记录,方便后续对实际案例的操作。

   文中可能会有一些错误,大家可以提出疑问,然后一起解决。初学者,至此结束,后续有修改再来。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空