CN112231383B - 一种Simulink仿真模型与SQL Server数据库通信的方法 - Google Patents

一种Simulink仿真模型与SQL Server数据库通信的方法 Download PDF

Info

Publication number
CN112231383B
CN112231383B CN202011149235.9A CN202011149235A CN112231383B CN 112231383 B CN112231383 B CN 112231383B CN 202011149235 A CN202011149235 A CN 202011149235A CN 112231383 B CN112231383 B CN 112231383B
Authority
CN
China
Prior art keywords
data
sql server
server database
code
simulation model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011149235.9A
Other languages
English (en)
Other versions
CN112231383A (zh
Inventor
陈宁
杨鹏
赵光辉
笪睿
千羽
韩宝琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu University of Science and Technology
Original Assignee
Jiangsu University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu University of Science and Technology filed Critical Jiangsu University of Science and Technology
Priority to CN202011149235.9A priority Critical patent/CN112231383B/zh
Publication of CN112231383A publication Critical patent/CN112231383A/zh
Application granted granted Critical
Publication of CN112231383B publication Critical patent/CN112231383B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及网络通信技术领域,具体地说,是一种Simulink仿真模型与SQL Server数据库通信的方法,包括Simulink仿真模型、SQL Server数据库、S‑Function builder模块和C代码四部分组成。Simulink仿真模型与S‑Function builder模块通过输入输出端口进行数据传输,S‑Function builder模块通过内部嵌入的C代码完成与数据库之间的数据传输,C代码是通过ODBC方式与SQL Server数据库进行连接的,本发明降低了开发难度和开发周期,有效的减少了后期维护的难度。具有较强的可移植性和可扩展性,可以针对不同的应用环境进行调整。

Description

一种Simulink仿真模型与SQL Server数据库通信的方法
技术领域
本发明涉及网络通信技术领域,具体地说,是一种Simulink仿真模型与SQLServer数据库通信的方法。
背景技术
Simulink是MATLAB中的一个建模仿真工具,可以对线性系统、自动控制系统、通信系统等进行模拟仿真。Simulink是以模块化的方式进行建模,通过调用不同的模块,用信号线连接不同的模型,进而构成所需要的模型。可以搭建纯软件仿真平台,而且也可以与外部的硬件环境连接,形成一种半实物的仿真平台。
Simulink同时也支持C/C++代码的生成,可以将所搭建的模型生成C/C++代码嵌入到硬件平台中,可以满足不同的硬件平台需求。可以在代码中修改模型的功能以及参数,可以在代码中编写模型与不同数据库平台的数据通信代码。但这种方式存在代码修改难度大、后期维护不方便等问题。
发明内容
本发明的目的是针对传统的Simulink与数据库通信造成的代码修改难度大、后期维护不方便等问题,提出一种Simulink仿真模型与SQL Server数据库通信的方法。这种方法只需要编写少量的代码,在Simulink中通过S-Function builder模块调用代码访问SQLServer数据库,同时以模块的方式存在。这种方法可以大大减少开发工作量以及开发难度、模块化的方式大大增加后期的可移植性以及维护性。
为实现上述目的,本发明采用的具体技术方案如下:
一种Simulink仿真模型与SQL Server数据库通信的方法,由Simulink仿真模型、SQL Server数据库、S-Function builder模块和C代码四部分组成,Simulink仿真模型与S-Function builder模块通过输入输出端口进行数据传输,S-Function builder模块通过内部嵌入的C代码完成与所述数据库之间的数据传输,C代码是通过ODBC方式与SQL Server数据库进行连接的。
本发明的进一步改进,Simulink仿真模型是根据仿真需求以及仿真模型的工作原理在Simulink平台中建立的,仿真模型的数据输入输出通过输入输出端口与S-Functionbuilder模块进行连接。
本发明的进一步改进,为了便于后期移植开发,Simulink仿真模型中的S-Function builder模块分为两部分,读取数据部分和发送数据部分。在S-Functionbuilder模块的初始化设置窗口中设置数据的状态量、数据读取发送周期等变量;在“DataProperties”设置窗口中设置输入输出端口的数量、以及端口名称和所传输数据的类型;在“Libraries”设置窗口中添加所需要嵌入的C代码文件,所添加的C代码文件需要与Simulink仿真模型在同一路径下,在路径框中输入所需C代码文件名,在“include”框中输入C代码所引用的头文件,在“External function declarations”框中添加所引用的外部变量;在“Update”设置窗口中将S-Function builder模块的输入输出端口与C代码中的指针数组进行连接,此设置窗口是对数据进行更新操作。
本发明的进一步改进,在Windows系统ODBC数据源管理程序中新建ODBC数据源,选择对应的数据源,本发明选择的是“SQL Server”,依次设置ODBC数据源的账户密码等要素,最后测试与SQL Server数据库之间的连接是否成功,测试成功表示已经建立起ODBC数据源。
本发明的进一步改进,通过visual studio代码编辑器进行C代码编写,所编写的C代码分为两部分,分为读取数据代码和发送数据代码。代码中首先编写数据读取或者数据发送函数,在函数中编写与ODBC数据源连接程序,然后编写读取或者发送数据程序。通过C代码与ODBC数据源建立数据通信连接,ODBC数据源与SQL Server数据库进行数据连接,从而通过ODBC数据源完成C代码与SQL Server数据库之间的数据通信。
本发明的有益效果:本发明降低了开发难度和开发周期,有效的减少了后期维护的难度。具有较强的可移植性和可扩展性,可以针对不同的应用环境进行调整。
附图说明
图1为本发明的方法结构图。
图2为本发明的工作流程图。
图3为本发明Simulink中的S-Function builder模块设置结构图。
具体实施方式
为了加深对本发明的理解,下面将结合附图和实施例对本发明做进一步详细描述,该实施例仅用于解释本发明,并不对本发明的保护范围构成限定。
实施例:如图1所示,一种Simulink仿真模型与SQL Server数据库通信的方法主要分为四个部分,分别为SQL Server数据库1,S-Function builder模块2,C代码3和Simulink仿真模型4。SQL Server数据库1与C代码3之间通过ODBC方式5进行数据传输,C代码3与S-Function builder模块2之间通过S-Function builder模块2内部嵌入的方式进行数据传输,Simulink仿真模型4与所述S-Function builder模块2通过输入输出端口6进行数据传输。
如图2所示,一种Simulink仿真模型与SQL Server数据库通信的方法具体步骤如下:
S101:搭建Simulink仿真模型,根据所需要仿真的数学模型在Simulink中搭建仿真模型,利用Simulink中的各个模块进行模型搭建。将模型的输入输出数据利用Simulink中Signal Routing中的From和Goto模块进行连接。
S102:根据步骤S101中搭建的Simulink仿真模型的输入输出数据的类别以及类型建立SQL Server数据库以及对应的表。
S103:根据步骤S102中建立的SQL Server数据库在Windows系统中建立ODBC数据源,将所建立的SQL Server数据库与所建立的ODBC数据源进行连接。
S104:步骤S103建立ODBC数据源后,对所建立的ODBC数据源进行测试,测试与所建立的SQL Server数据库之间是否通信成功,若成功表示建立ODBC数据源成功;若失败则需要再次检查建立过程或者重新建立ODBC数据源。
S105:待步骤S104中的ODBC数据源与SQL Server数据库通信测试成功后,在visual studio编辑器中编写C代码与ODBC数据源进行数据通信。
S106:步骤S105中的C代码编写完成后,需要将所编写的C代码嵌入到S-Functionbuilder模块中。如图3所示,S-Function builder模块的设置主要分为四个部分,分别为“Initialization”设置、“Libraries”设置、“Update”设置和“Data Properties”设置。在S-Function builder模块中的“Initialization”设置窗口中对状态变量、数据采集周期和仿真方式进行设置,在“Data Properties”设置窗口中对S-Function builder模块的输入输出数据的数量、数据类型进行设置,在“Libraries”设置窗口中的“Source files”框中添加所需要嵌入的C代码名称,在“include”框中输入C代码所引用的头文件;在“Externalfunction declarations”框中添加所引用的外部变量,最后在“Update”设置窗口中将S-Function builder模块的输入输出数据变量与C代码中的数据变量数组进行连接。最后将S-Function builder模块的输入输出端口与步骤S101中的From和Goto模块进行连接,即完成Simulink仿真模型的数据与SQL Server数据库的连接。
S107:待步骤S106完成后,对Simulink仿真模型与SQL Server数据库之间的数据通信进行测试,若SQL Server数据库能够接收Simulink仿真模型的数据和Simulink仿真模型能够读取到SQL Server数据库中的数据,则表示Simulink仿真模型与SQL Server数据库之间的数据通信成功。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (6)

1.一种Simulink仿真模型与SQL Server数据库通信的方法,其特征在于,由Simulink仿真模型、SQL Server数据库、S-Function builder模块和C代码四部分组成,所述Simulink仿真模型与所述S-Function builder模块通过输入输出端口进行数据传输,所述S-Function builder模块通过内部嵌入的C代码完成与所述数据库之间的数据传输,所述C代码是通过ODBC方式与SQL Server数据库进行连接的,具体步骤如下:
S101:搭建Simulink仿真模型,根据所需要仿真的数学模型在Simulink中搭建仿真模型,利用Simulink中的各个模块进行模型搭建,将模型的输入输出数据利用Simulink中Signal Routing中的From和Goto模块进行连接;
S102:根据步骤S101中搭建的Simulink仿真模型的输入输出数据的类别以及类型建立SQL Server数据库以及对应的表;
S103:根据步骤S102中建立的SQL Server数据库在Windows系统中建立ODBC数据源,将所建立的SQL Server数据库与所建立的ODBC数据源进行连接;
S104:步骤S103建立ODBC数据源后,对所建立的ODBC数据源进行测试,测试与所建立的SQL Server数据库之间是否通信成功,若成功表示建立ODBC数据源成功,若失败则需要再次检查建立过程或者重新建立ODBC数据源;
S105:待步骤S104中的ODBC数据源与SQL Server数据库通信测试成功后,在visualstudio编辑器中编写C代码与ODBC数据源进行数据通信;
S106:步骤S105中的C代码编写完成后,需要将所编写的C代码嵌入到S-Functionbuilder模块中;
S107:待步骤S106完成后,对Simulink仿真模型与SQL Server数据库之间的数据通信进行测试,若SQL Server数据库能够接收Simulink仿真模型的数据和Simulink仿真模型能够读取到SQL Server数据库中的数据,则表示Simulink仿真模型与SQL Server数据库之间的数据通信成功。
2.根据权利要求1所述的Simulink仿真模型与SQL Server数据库通信的方法,其特征在于,所述S106中S-Function builder模块的设置主要分为四个部分,分别为“Initialization”设置、“Libraries”设置、“Update”设置和“Data Properties”设置。
3.根据权利要求2所述的Simulink仿真模型与SQL Server数据库通信的方法,其特征在于,在所述S-Function builder模块中的“Initialization”设置窗口中对状态变量、数据采集周期和仿真方式进行设置,在“Data Properties”设置窗口中对S-Functionbuilder模块的输入输出数据的数量、数据类型进行设置,在“Libraries”设置窗口中的“Source files”框中添加所需要嵌入的C代码名称,在“include”框中输入C代码所引用的头文件,在“External function declarations”框中添加所引用的外部变量,在“Update”设置窗口中将S-Function builder模块的输入输出数据变量与C代码中的数据变量数组进行连接,将S-Function builder模块的输入输出端口与步骤S101中的From和Goto模块进行连接,即完成Simulink仿真模型的数据与SQL Server数据库的连接。
4.根据权利要求1-3任一项所述的Simulink仿真模型与SQL Server数据库通信的方法,其特征在于,所述Simulink仿真模型中的S-Function builder模块分为两部分:读取数据部分和发送数据部分。
5.根据权利要求4所述的Simulink仿真模型与SQL Server数据库通信的方法,其特征在于,在Windows系统ODBC数据源管理程序中新建ODBC数据源,选择对应的数据源,依次设置ODBC数据源的账户密码等要素,最后测试与SQL Server数据库之间的连接是否成功,测试成功表示已经建立起ODBC数据源。
6.根据权利要求5所述的Simulink仿真模型与SQL Server数据库通信的方法,其特征在于,通过visual studio代码编辑器进行C代码编写,所编写的C代码分为两部分,分为读取数据代码和发送数据代码,代码中首先编写数据读取或者数据发送函数,在函数中编写与ODBC数据源连接程序,然后编写读取或者发送数据程序,通过C代码与ODBC数据源建立数据通信连接,ODBC数据源与SQL Server数据库进行数据连接,从而通过ODBC数据源完成C代码与SQL Server数据库之间的数据通信。
CN202011149235.9A 2020-10-23 2020-10-23 一种Simulink仿真模型与SQL Server数据库通信的方法 Active CN112231383B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011149235.9A CN112231383B (zh) 2020-10-23 2020-10-23 一种Simulink仿真模型与SQL Server数据库通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011149235.9A CN112231383B (zh) 2020-10-23 2020-10-23 一种Simulink仿真模型与SQL Server数据库通信的方法

Publications (2)

Publication Number Publication Date
CN112231383A CN112231383A (zh) 2021-01-15
CN112231383B true CN112231383B (zh) 2024-01-26

Family

ID=74110320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011149235.9A Active CN112231383B (zh) 2020-10-23 2020-10-23 一种Simulink仿真模型与SQL Server数据库通信的方法

Country Status (1)

Country Link
CN (1) CN112231383B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222420A (ja) * 2004-02-06 2005-08-18 Toyota Motor Corp 分散処理支援プログラム
CN102982209A (zh) * 2012-12-03 2013-03-20 哈尔滨工业大学深圳研究生院 基于hla的空间网络可视化仿真系统及仿真方法
CN110674590A (zh) * 2019-10-07 2020-01-10 中国人民解放军陆军装甲兵学院 一种基于仿真软件Simulink实时扩展RTX的飞行器实时仿真程序的编程方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826247B2 (en) * 2011-07-15 2014-09-02 International Business Machines Corporation Enabling computational process as a dynamic data source for BI reporting systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222420A (ja) * 2004-02-06 2005-08-18 Toyota Motor Corp 分散処理支援プログラム
CN102982209A (zh) * 2012-12-03 2013-03-20 哈尔滨工业大学深圳研究生院 基于hla的空间网络可视化仿真系统及仿真方法
CN110674590A (zh) * 2019-10-07 2020-01-10 中国人民解放军陆军装甲兵学院 一种基于仿真软件Simulink实时扩展RTX的飞行器实时仿真程序的编程方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VC、SQL Server和Matlab混合编程管理仿真数据;陈宁;施维振;李连峰;;计算机时代(第07期);62-64 *

Also Published As

Publication number Publication date
CN112231383A (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN109740222B (zh) 一种针对汽车网联化场景的测试装置和系统
CN109933521A (zh) 基于bdd的自动化测试方法、装置、计算机设备及存储介质
JP2000508448A (ja) 分散プロセス制御システムのための刺激型シミュレータ
CN114338418B (zh) 一种虚实结合的信息网络验证平台
US7957951B2 (en) Address translation system for use in a simulation environment
CN105159188A (zh) 一种新能源整车异构网络仿真器及控制方法
CN107819647B (zh) 智能变电站站控层网络测试仪
CN101808356A (zh) 用于td-scdma终端协议一致性测试的协议模拟系统
CN111830930A (zh) 电机控制器仿真测试方法、系统、装置及计算机存储介质
WO2021227690A1 (zh) 机器人自动化测试系统、方法、构建服务器及存储介质
CN112231383B (zh) 一种Simulink仿真模型与SQL Server数据库通信的方法
CN109165131B (zh) 一种基于Perl的原型验证平台自动化实现方法
CN117784635A (zh) 一种硬件在环仿真系统及其优化方法
CN106324555A (zh) 用于电能表数据采集终端测试系统的通用虚拟电能表
CN103425055A (zh) 一种半虚拟式的控制系统功能测试装置及方法
CN112416805A (zh) 一种测试管理云平台和方法
CN116796548A (zh) 卫星平台单机综合管理单元电接口的数字化建模方法
CN114741293B (zh) 一种工业控制系统的Modbus通信自动化测试方法
CN100568829C (zh) 移动终端协议测试方法及其系统
CN112699515B (zh) 一种基于tcp套接字的scilab与ns3协同仿真接口方法
CN111694637B (zh) 一种在线全自动多智能体控制仿真编译系统
CN102243489B (zh) 一种跨平台的数据处理系统与方法
CN114500324A (zh) 一种面向工业互联网仿真测试床的集成接入系统
CN114461337A (zh) 一种云仿真系统、方法、电子设备及存储介质
CN114513537A (zh) 基于多租户的工业物联网系统、应用方法、设备以及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant