matlab通过dde与组态王进行连接实现方法

DDE是什么

DDEDynamic Data Exchange:动态数据交换)是WINDOWS平台上的一个完整的通信协议,它使支持动态数据交换的两个或多个应用程序能彼此交换数据和发送指令。DDE始终发生在客户应用程序和服务器应用程序之间。DDE过程可以比喻为两个人的对话,一方向另一方提出问题,然后等待回答。提问的一方称为顾客Client),回答的一方称为服务器Server)。一个应用程序可以同时是顾客服务器:当它向其他程序中请求数据时,它充当的是顾客;若有其他程序需要它提供数据,它又成了服务器

DDE对话的内容是通过三个标识名来约定的:

应用程序名(application):进行DDE对话的双方的名称。商业应用程序的名称在产品文档中给出。组态王运行系统的程序名是“VIEW”Microsoft Excel的应用程序名是“Excel”Visual Basic程序使用的是可执行文件的名称。

主题(topic):被讨论的数据域(domain)。对组态王来说,主题规定为“tagname”Excel的主题名是电子表格的名称,比如sheet1sheet2 ……Visual Basic程序的主题由窗体(Form)的LinkTopic属性值指定。

项目(item):这是被讨论的特定数据对象。在组态王的数据词典里,工程人员定义I/O变量的同时,也定义项目名称(参见第五章变量定义和管理)。Excel里的项目是单元,比如 r1c2r1c2表示第一行、第二列的单元)。对Visual Basic程序而言,项目是一个特定的文本框、标签或图片框的名称。

建立DDE之前,客户程序必须填写服务器程序的三个标识名。组态王作为DDE服务器的表示名分别为:view | tagname | 设备名.访问地址


MATLAB使用DDE与与组态王进行通讯(实现组态王PID控件仿真)

1.使用组态王新建一个项目,命名为“matlab_kingview_dde”

1.png


2.添加亚控仿真PLC,命名为仿真plc”,其他默认直接下一步;

3.打开变量表新建变量kp,ki,kd;

201809241537754159127611.png

201809241537754159211550.png

201809241537754159151171.png

以及变量sp,pv,pidout

201809241537754159167254.png

201809241537754159116431.png

4.建立一个新画面,添加kingview pid control控件

201809241537754160201582.png

201809241537754160393216.png

5.双击PID控件,绑定变量。

201809241537754160207578.png

6.保存文件,切换至运行状态。

7.以管理员身份运行Matlab,必须以管理员权限运行!

201809241537754160183808.png

8.打开simulink,使用一个一节惯性环节和两个s-function文件,如下:

201809241537754160157758.png

DDE_Input.m

201809241537754160297074.png

DDE_Output.m

201809241537754160576716.png

另建一个m文件,命名为:Iint_DDE.m

201809241537754160375652.png

9.首先运行Iint_DDE.mmatlab空间输出如下:

201809241537754160335544.png

10.将SIMULINK步数设置为Inf,

201809241537754160181515.png

然后启动simulink,可以尝试调一下pid参数了。

201809241537754160734003.png

winxp,7下pid空间可能需要注册服务。


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值