CN112231383B - 一种Simulink仿真模型与SQL Server数据库通信的方法 - Google Patents
一种Simulink仿真模型与SQL Server数据库通信的方法 Download PDFInfo
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 49
- 238000004891 communication Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000005540 biological transmission Effects 0.000 claims abstract description 9
- 238000012360 testing method Methods 0.000 claims description 11
- 230000000007 visual effect Effects 0.000 claims description 4
- 238000013178 mathematical model Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-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仿真模型与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数据库之间的数据通信。
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)
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)
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 |
-
2020
- 2020-10-23 CN CN202011149235.9A patent/CN112231383B/zh active Active
Patent Citations (3)
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)
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 |