UCanCode Software

 

产品与方案▼  免费下载  价格与购买▼  技术支持  客户列表  操作视频▼

 

UCanCode.com一起释放Visual C++的巨大能量!
 


028-85354645

VX++跨平台工业C++源码库
100%C++, QT, JAVA源码
 产品特点 
  跨平台工控组态源码
  嵌入式Linux组态源码
  跨平台建模仿真源码
E-Form++可视化图形源码库企业版本
100%C++, VB, C#源码
 产品特点 
  HMI &SCADA源码
 PLC组态编程源码
 CAD设计控件源码
 HMI 报表源码
GIS制图源码
电力系统源码
条码账单源码
工作流程源码
煤炭行业源码
仪器仪表源码
报表打印源码
图形建模源码
电子表单源码
Visio制图源码
工业控制源码
BPM业务流程源码
工业监控源码
流程图控制流源码
组织关系图源码
图形编辑器源码
 Win CE组态源码
UML编辑器源码
地图演示源码
建筑平面制图源码
 关于UCanCode

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解决方案也不是我们的全部,我们提供了很多工业软件的源码,这个只是其中之一。

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

购买UCanCode MatLab SimuLink解决方案全部源代码!


联系 UCanCode

购买源代码或了解更多的简单方法

 

 

[ 主页 | 产品 | 新闻 | 下载 | 购买 | 技术支持 | 与我们联系 ]



地址:中国.成都高新区永丰路24号附1号 (邮编:610041)电话: +86-28-85354545 (18981891030) 
Copyright ?998-2024 UCanCode Software, ? 版权所有。
其他的产品和公司名称或注册的商标属于其各公司版权所有。

任何问题或者建议请与我们联系:webmaster@ucancode.com