MATLab SimuLink国产代替

米国的限制,把工业软件的国产化推到风口浪尖,作为扎根工业软件开源基础架构20多年的UCanCode, 一直是国外顶尖工业软件的基础架构提供商之一。许多国外软件都在这个基础上构建出来,这里我们也希望探讨一下国产代替MatLab仿真Simulink的源码架构。算是为中国工业尽一份自己的力。

UCanCode Simulink源码解决方案设计目标是为国产代替MatLab Simulink仿真提供的全面解决方案,包括:

 

一、基本功能:

1、算法块编辑和定义。

算法块的绘制可以通过UCanCode专业的绘图工具来进行绘制,如下图:

2、定义接口:

可以根据算法块的需要自定义需要的输入端口和输出端口数目,比如我们要计算两个数的和,那就定义两个输入端口,定义一个输出端口,如下:

设定后显示如下图:

3、定义控制逻辑(算法)

算法的定义是采用JavaScript来编写,我们提供了大量的函数,通过这些函数来获取通过输入端口传递进来的数值和字符串(UCanCode的端口不但可以传递数值,也可以传递字符串),也就是您可以通过传进进来的值或者字符串(一般用于矩阵运算)来进行计算,并且UCanCode解决方案也提供了临时或者整个仿真数据存取的变量和内存空间,下面是以上面计算求和运算的控制逻辑:

4、存储算法:

编辑好算法块后,可以直接复制粘贴到左边的工具盒中,如下图:

5、构建仿真:

在画布上创建仿真图跟MatLab的Simulink完全相似,但各有所长,有些我们更加灵活。

1)、在画布上创建图元,有如下方式。

a.直接从左边的工具盒中找到需要的元件拖拉进画布。

b、类似于Simulink本身,在画布上双击鼠标,即显示下拉查询列表,直接输入需要元件的部分名称,会自动搜索需要的元件,单击或者回车即可创建,如下图:

c、在画布上移动到需要的元件上,会在四周显示箭头,单击箭头即可创建复制品,如下图:

d、用鼠标拖拉画布上现成的元件,同时按住Ctrl键,在需要的位置放开鼠标即可复制。

e、使用右键的复制粘贴菜单来复制创建。

2)、接线:

要在端口与端口之间创建连接线,有如下几个方式:

a、点击开始端口按住鼠标,在移动到输出端口放开鼠标,则会自动创建连线。

b、选中多个图元,按住Ctrl键,在需要连接得图元上单击鼠标,即可自动连接,如下图:

c、移动图元,将要连接的端口和端口对齐到一条线上(系统会自动捕捉),则会自动接上。

d、从输出端口按住鼠标移动到需要的位置,放开鼠标,会自动弹出创建元件列表框,从中选中需要创建的元件即可自动创建,自动连接。如下图:

3)、开始仿真:

点击工具条上的运行按钮(

),即可开始仿真,仿真开始后,会实时显示每个端口的数据,如下图:

4、输出

UCanCode提供了多种输出元件或者图表,有2D的,也有3D的,有文本输出,也有曲线(时序图,xy图,3d图),如下:

值列表:

二、解决思路:

1、UCanCode的思路是给开发国产替代软件提供一个高效的基础架构,并开放所有这个架构的源代码。用户可以通过如下几种方式进行拓展:

1)、直接在UCanCode平台基础上进行算法块的积累,这些算法块包括积分块,微分块等等,这些算法块可以直接通过我们提供的JavaScript来进行扩展,也可以进一步定制UCanCode的源码来支持其他脚本语言或者直接调用其他c,或者C++编写的动态库的算法函数。开放的算法库可以积累,也可以分享。UCanCode不对软件的使用收取任何费用,我们只对需要购买这个软件本身源码收费。UCanCode已经提供了数百个算法块,如下:

同时UCanCode提供了仪表盘和游标这些控制元件,通过这些元件可以显示数值,也可以调节数值,如下图:

2)、UCanCode创造性的把组态HMI&SCADA集成到同一个平台,可以直接定义实时变量,全局变量。脚本可以直接操作变量的值,而实时变量可以直接通过OPC,Mobus以及内置通讯驱动从下位机采集数据,传上来的数值再进入仿真模块进行计算输出。

三、高级功能:

1、子图模块:

选中画布上的计算模块,单击鼠标右键,选择“创建子图模块”

(创建前)

(创建后)

2、模块注释掉和解注释:

跟Simulink一样,在调试的时候可以分模块注释,注释的模块会灰色显示,如下图:

3、标注模块

跟Simulink一样,可以将模块进行分组,分组的模块可以整体移动,如下图:

4、自定义属性值:

任何一个图元都可以根据需要定义任意多的变量,这些变量可以用来保存值,也可以用来计算:

当然也可以链接输入变量和输出变量。

5、子图关系浏览:

这点跟MatLab的Simulink类似。

6、着色:

选中画布上的一个元件,可以通过鼠标右键调整前景,字体等,则与其关联的接线则会自动着色和调整字体,如下图:

此外,作为一个非常专业的图形可视化基础架构,我们的源码解决方案远不止这些功能,还包括剪贴板,分组与打散,Undo/Redo,多边形编辑,自动对齐,分层,表格,拖拉,打印等等广泛的功能。为此我们积累超过20年。核心源码超过50万行。

四、案例:

1、输出正弦曲线:

a、绘制一个矩形,设置一个输入一个输出端口。控制脚本如下:

b、放一个输入元件,控制脚本如下:

c、运行输出如下:

2、矩阵运算

我们做坐标按角度旋转,通过矩阵来进行转换,转换矩阵如下:

a、构建的仿真图如下:

b、构建theta角度,控制脚本如下:

g1是全局变量,值通过下面的游标进行调整。

c、构建2 x 2转换矩阵,如上sin, cos, - sin,控制脚本如下:

c、构建2 x 2矩阵,控制脚本如下:

d、构建转换坐标输入矩阵:

e、红色方块矩阵运算模块控制脚本:

f、输出到标签文本。

3、XY曲线

示例如下:

4、3D输出:

选择3D输出元件,控制脚本如下:

输出图像如下:

 

五、目标:

提供这个架构平台的目的不是要开发一个完全代替MatLab Simulink的软件,这不是我们的目标。我们是希望为开发Simulink这一类建模仿真软件提供一个基础架构平台,并开放所有源代码。平台所有功能均可以根据自己的需要进行定制,无论是工业企业,科研院所,大学机构等只要需要类似的软件都可以基于这个架构去快速构建。实际上全球很多大公司包括:三星电子,LG,现代,西门子,阿尔斯通,高通,华为等都在这个基础上得到很好的应用。

很遗憾,我们并不是Simulink的专家(您才是),甚至Simulink解决方案也不是我们的全部,我们提供了很多工业软件的源码,这个只是其中之一。

下面网址可以找到所有这些源码:

Visual C++ Library with source code

软件的运行版本也可以通过这个网址获取。

UCanCode Software

希望听到您的宝贵建议,为中国工业软件加油。

MatLab SimuLink国产代替相关推荐

  1. ModelCoder国产化解决方案已逐步代替国外软件Matlab/Simulink

    ModelCoder介绍 在安全关键领域,基于模型的软件工程或者软件开发已逐渐进入了我国的装备研制过程中.使用Simulink或者SCADE等嵌入式软件建模工具对算法或者控制逻辑进行可视化建模,然后生 ...

  2. Matlab/Simulink中PMSM模型的反电动势系数和转矩系数

    Matlab/Simulink中PMSM模型的反电动势系数和转矩系数 在PMSM仿真中常常会用到永磁磁链ψ\psiψ,但是电机的参数手册中却不会直接给出永磁磁链ψ\psiψ,给出的是反电动势系数Ke和 ...

  3. matlab simulink实例,simulink实例(有好多实例)..ppt

    * 基于MATLAB/SIMULINK的系统建模与仿真 Simulink仿真实例 例题9,重置弹力球.一个弹力球以15m/s的速度从距水平设置10m的高度抛向空中,球的弹力为0.8,当球到达球面时,重 ...

  4. matlab求解外弹道,基于MATLAB∕Simulink的通用质点外弹道程序设计.pdf

    2017.01 设计与研发 基于 MATLAB/Simulink 的通用质点外弹道程序设计 崔 瀚 (沈阳工学院兵器类虚拟仿真实验教学中心, 辽宁抚顺 ,113122 ) 摘要:本文以弹丸质点外弹道学 ...

  5. Matlab/Simulink ROS

    同一局域网下,ROS(Ubuntu)和Matlab(Win)的无线网卡ip地址在同一网段下,即IP地址前三位相同. 使用Win电脑开启热点,然后Ubuntu电脑连这个热点,这样两台电脑就处于同一局域网 ...

  6. matlab中sinks,MATLAB Simulink模块库详解(二)Sinks篇

    MATLAB Simulink模块库详解(二)Sinks篇 Simulink模块库概述 1.Sources模块库,为仿真提供各种信号源 2.Sinks模块库,为仿真提供输出设备元件 3.Continu ...

  7. 基于matlab_simulink的捷联惯性导航系统仿真,基于MATLAB/Simulink的捷联惯性导航系统仿真...

    基于MATLAB/Simulink的捷联惯性导航系统仿真 介绍了仿真软件MATLAB/Simulink及先进的仿真系统平台软件RT-Lab,设计了龙格-库塔积分模块,用于解决在使用定步长求解器及数字时 ...

  8. spwm逆变器双极性matlab教程,基于MATLAB/Simulink的SPWM逆变电源的建模与仿真

    Electrical Automation 变流技术 Converter Techniques <电气自动化>2014 年第 36 卷 第 3 期 基于 MATLAB/Simulink 的 ...

  9. P13 最优控制系统-《Matlab/Simulink与控制系统仿真》程序指令总结

    上一篇 回到目录 下一篇 <Matlab/Simulink与控制系统仿真>程序指令总结 Matlab_Simulink_BookExample 13. 最优控制系统 13.1 Matlab ...

最新文章

  1. Membership学习(二)membership入门
  2. Data Structure - 返回单链表的中间结点
  3. 路由(route)是什么意思?
  4. MySQL视图附带例子详解(小白都能懂哦)
  5. ObjectDataSourc用法之三(排序)
  6. 【招聘(深圳)】TCL通讯科技控股有限公司
  7. android 多个textview,Android:多个textview像单个文本
  8. paip.asp vbs的代码折叠代码结构查看
  9. 【深度】注册测绘师执业制度实施的现状分析
  10. c语言符号意思大全,c语言符号意思
  11. 《东周列国志》第二十六回 歌扊扅百里认妻 获陈宝穆公证梦
  12. 什么是MTTF MTBF MTRF
  13. HTML+CSS实现百度网盘首页
  14. 函数参数*arg和参数**arg区别
  15. 高等数学(第七版)同济大学 习题11-3 (后4题)个人解答
  16. 基于机智云的嵌入式系统应用开发—空调远程智能控制系统
  17. mysql创建自增字段
  18. 原理 拉普拉斯金字塔_图像金字塔(高斯金字塔、拉普拉斯金字塔)
  19. nyoj106背包问题为模板解出杭电oj2187悼念512汶川大地震遇难同胞——老人是真饿了
  20. C语言康威生命游戏,【2020存档】康威生命游戏(CGoL)研究进展

热门文章

  1. 可视化学习git的一个网站
  2. SQL语言的分类及(DDL、DML、DQL)使用语法
  3. wordcloud制作词云图
  4. 如何快速实现增长App用户量?
  5. 分享一个网易云会员包项目刷下载量的脚本
  6. 国王将金币作为工资,发放给忠诚的骑士。
  7. 强化学习(RL)中的Q-learning在拿奖杯游戏的表现
  8. 基于Pytorch的上市公司财务预警分析
  9. VMware VCP 认证考试电子版证书下载方式
  10. Hadoop数据仓库hive的应用