- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于S函数Simulink与VC网络通信研究
基于S函数Simulink与VC++网络通信研究
摘 要: 为了解决Simulink与VC++的数据交互问题,提出了采用C++语言S?函数实现两种开发环境的网络通信方法。首先介绍了S?函数以及基于S?函数的编程框架,其次介绍了UDP网络程序设计模型。最后结合实例说明并验证了该方法的有效性和实用性。
关键词: S?函数; Simulink; VC++; UDP
中图分类号: TN711?34 文献标识码: A 文章编号: 1004?373X(2013)13?0108?04
Research on network communication between Simulink and VC++ based on S?function
ZHOU Tao
(Xi’an Aircraft Industry (group) Company Ltd., AVIC, Xi’an 710089, China)
Abstract: In order to solve the problem of data interaction between the Simulink and Visual C++, a network communication method utilized the S?function of C++ language to realize the two developing environment. The S?function, the programming framework based on it and the design model of UDP network programming are introduced. the effectiveness and the practicability of this method are proved with examples.
Keywords: S?function; Simulink; VC++; UDP
0 引 言
Simulink是Matlab的重要组件之一,具有强大的系统建模和动态仿真能力,而VC++是Microsoft推出的可视化编程环境,具有丰富的Windows API,可以开发友好的人机界面,而且运行稳定高效。实际应用中经常会结合两者的优势,进行联合仿真,其中必然存在两种开发环境的网络通信问题,本文采用S?函数(System Function,系统函数)构建一个单独的通信模块,通过C++的Socket通信来实现Simulink与VC++的数据交互,并结合实例对该方法进行了验证。
1 S?函数简介
S?函数是Simulink环境下的功能扩展机制,能有效提高和丰富Simulink的功能。S?函数提供了一种用Matlab、C、C++或者FORTRAN等多种计算机语言描述Simulink模块的方法,将上述计算机编写的S?函数用MEX工具编译产生MEX文件。S?函数中用一种特定的回调语法,使用户可以和Simulink Engine交互,此类交互和Simulink内置模块与Engine间的交互极为相似。这种回调语法称为S?函数API。
2 基于S?函数的编程框架
C++语言S?函数采用标准C++语言规范,并且产生可独立运行的MEX文件。 C++语言的S?函数的编写采用回调函数的方式, Simulink Engine在不同的仿??阶段调用相应的回调函数,执行指定的任务。Matlab提供了S?函数的编程模板,指定了标准的回调方法,只需在其中加入特定的功能代码即可。其基本框架和对应的回调方法如图1所示。
图1 S?函数编程基本框架
3 UDP网络程序设计模型
本文采用基于UDP的客户机/服务器通信模式实现Simulink与VC++的数据交互,Simulink的S?函数模块作为客户机进行仿真数据的发送,VC++作为服务器接收数据并实时显示。进行UDP通信时,客户端与服务器端所使用的函数基本相同,其工作流程如下:
(1)使用WSAStartup ()函数检查系统协议栈的安装情况;
(2)使用socket()函数创建套接口;
(3)使用bind()函数将创建的套接口与本地地址绑定;
(4)使用sendto()函数发送数据,也可以使用redvform()函数接收数据;
(5)使用closesocket()函数关闭套接口;
(6)最后调用WSACleanup()函数,结束Windows socket API 的使用。
程序工作流程如图2所示。
图2 UDP客户机/服务器程序工作流程
4 验证实例
您可能关注的文档
- 基于M—BUS热表远传抄表系统及选用.doc
- 基于NRF905控制UHF调频无线会议系统.doc
- 基于OLA技术电信“天翼”系统分析和设计.doc
- 基于Oracle数据库网络安全访问机制.doc
- 基于PDA设备信息管理系统设计与实现.doc
- 基于PHP班级管理系统设计与实现.doc
- 基于PLC与变频技术中央空调系统节能研究.doc
- 基于PLC构件继电保护系统调试探讨.doc
- 基于PMS作业项目安全生产风险管控.doc
- 基于Processing室内温度可视化实现.doc
- 2025年溧阳恒劲机械有限公司介绍企业发展分析模板.pptx
- 2025年溧阳鸿跃新材料有限公司介绍企业发展分析模板.pptx
- 2025年溧阳厚德载物商贸有限公司介绍企业发展分析模板.pptx
- 2025年溧阳华达纺织品有限公司介绍企业发展分析模板.pptx
- 2025年溧阳华晶电子材料有限公司介绍企业发展分析模板.pptx
- 2025年溧阳博通纺织品有限公司介绍企业发展分析模板.pptx
- 2025年溧阳不饱和聚酯树脂项目可行性研究.pptx
- 2025年溧阳不饱和聚酯树脂项目申请.pptx
- 2025年溧阳布科特种设备工程有限公司介绍企业发展分析模板.pptx
- 2025年溧阳华晶合成材料有限公司介绍企业发展分析模板.pptx
文档评论(0)