3.Simulink查表数据导入加密.doc_第1页
3.Simulink查表数据导入加密.doc_第2页
3.Simulink查表数据导入加密.doc_第3页
3.Simulink查表数据导入加密.doc_第4页
3.Simulink查表数据导入加密.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.Simulink数据导入由于我的matlab版本比较低,导入excel会出现错误,excel中有些代码不支持什么的,装高一点matlab就不会了,我以前弄过。和导入txt的方法是一样的,我就用导入txt的方法来说明一下哈。首先建一个txt(我是把txt建在桌面上的)这个matlab的当前目录必须和你建的txt位置一样(我的在桌面上),这个当前目录可以在图标中设置。然后你可以通过在命令窗口上输入:你定义的变量名load(带后缀的txt文件名);然后在lookup table 编辑器中输入你定义的变量名通过旁边的edit就可以看到自己导入的数据了还有一种就是先将数据在matlab工作空间输入,得到结果后用reshape(1,2,3,4,2,1,2,3,4,2,2,4,3,4)其中3,4代表行列(note:中括号后面的数字有个,号):效果图:和导入txt的方法一样,(不过是用的xlsread来读取数据)Excel表格数据如下:在matlab工作空间中导入数据:这里是2行12列,lookup table 编辑的参数如下:下面是结果图;2.Simulink查表模块三维表格的使用,假设定义为三维表格。用如下变量定义断点和表格数据表格数据使用Simulink标准格式进行定义。table3d_map(:,:,1) =1 2 3 45 6 7 8table3d_map(:,:,2) =11 12 13 1415 16 17 18table3d_map(:,:,3) =111 112 113 114115 116 117 118bp3d_y =400 6400bp3d_x =0 10 20 30bp3d_z =0 10 20当你点击编辑表格和断点的时候,数据如下:当你更改已一个数据的时候当你选择File Update Block Data时,可以改变table3d_map,工作空间中的变量就包含了已经更改的表格数据,点击确认即可覆盖工作空间中的变量。关于查表的方法:U1表示列,U2表示行,U3表示第几页数据,U3必须与定义的输入数据相符,否则差值输出。遵循的顺序:列,行,页。Reload Block data 将从工作空间重新加载数据到表格。Update Block data将把表格数据写到工作空间中以便生成MAT文件。M文件中表示矩阵fd=46 56 56 65 78 78 8 78 79 7 7 8 8 9 9 9 空格活着回车符号隔开即可。3.封装子系统,禁止编辑1.操作方便,不允许look under mask子系统封装好后,就想让它成为一个块一样。不能用look under mask进入并修改?右击模块-sub parameters-main标签页-Read/write permissions选择NoReadOrWrite。Generate Protected Model。2.封装、加密在Simulink中,可以将模型进行封装,就想C语言中的编译一样,以防自己的算法被人抄袭或者修改。使算法如同一个黑匣子,只有输入输出,不表现具体的算法和过程。方法如下:a.算法使用C Mex S function编写,编译为mexw文件提供给用户;b.右键子系统,C/C+ 代码生成-生成S函数,编译之后生成内容不可见的S function模块替换原来内容可见的子系统。问题:生成S函数,是否需要在系统中安装C的compilers?如果没有的话,是否就无法生成呢?a.32位Matlab自带LCC编译器。b.64位的话,你可以安装一个VC的IDE。直接可以右键build建立即可。下为求助实例:实例1哪位大虾能指点一下如何进行封装加密,别的公司要逆变器仿真,只要输入、输出即可,我要进行封装加密,还请大虾指点,谢谢把你的模型编译成s函数。需要安装real time workshop然后到你的模型上面,右键点击,选择real time workshop,然后generate s function(现在Code Generation)注意:封装是不可逆的。实例2对搭建的simulink模型进行加密,就是对子系统封装后,只能看到输入输出与一些中间参数设置,而不能看到里面的具体内容。封装是不行的,因为还可以看到下一级的模块。matlab公司的例程是用s函数写的,好像可以加密,不知道怎么做的?我这里主要想问的是非s函数写的,而是纯模块搭建的,能否加密,如何加密,谢谢!支持加密,版权是辛苦的。用fonction builder 模块,生成文件后,把源文件删除。具体没用过。我只知道点皮毛。实例3各位大侠,我想对搭建的simulink模块进行加密,看到有帖子说用:C/C+ code -Generate S-Function的方法完成。我测试了一下,用简单的subsystem是可以的,但是编译我的模块后出现下面的错误。因为我的模型的所有参数都在.m文件中定义,且定义了大量的矩阵变量。请问是否与这个有关?这种方法的使用有什么要求?还有其他方法来解决加密的问题吗?谢谢!你的M文件定义的是什么变量,用在什么模块上?您好!M文件定义了大量矩阵变量,主要用在“lookup2D”查表模块中,出现了上述错误。其他模块的矩阵运算可以生成S-Function,但是生成后模块中的Goto模块不能用,是不是Goto模块不能用此功能?lookuptable里面的变量一般使用数据对象定义,而不是直接简单的M变量。你可以参考我书里的数字词典那一节。好的,谢谢!我查一下,那Goto模块出现的错误是什么原因呢?多个goto使用了同一个tag名导致错误。还有一个问题,生成S-Function模块后,该模块的仿真步长是不固定了?因为我再改变系统固定步长时,这些模块就关于步长出错,那么如何才能解决这个问题呢?谢谢!生成S函数之前,将子系统设置为原子子系统,然后设置其采样Sample time为-1,即继承解算器步长。您指的“将子系统设置为原子子系统”是下图所示的选项(Treat as atomic unit)吗?是的,保持整个子系统采样率一致。实例4已有模型,如何方便的把其中的一些子系统封装(加密)?问目的是把一些关键的模块封装起来(用的人看不到内容),整个模型仍能保持可编译(ert不是grt)。有没有一些简单的方法,编写S function好麻烦,并且一般编写S function都是将c文件进行封装而不是针对模型存在的情况。尝试了子系统模块右键里 点击 Generate S-Functon但生成的文件里没有该子系统对应的tlc文件,所以只能用于仿真而不能用于编译。哪位大侠帮忙支支招,不胜感激。把所有模块位置、大小调整为一个点的方式不算。答右键里点击Generate S-Functon就可以隐藏内部,之所以没有生成tlc文件是因为没有启动模型生成代码过程,只是将这个子系统编译为C mex S函数而已。当你编译完毕之后,再次将模型启动build生成代码就可以了,这个子系统如果是使用基本模块构建的,tlc不需要生成,是内置的,自然可以帮助你生成嵌入式C代码。前提:右键编译S函数时要将系统solver设置为fixed-step,否则生成的S函数将不支持ert.tlc下的代码生成。3.不用S函数加密模型大家在做项目的时候肯定也碰到过对某些模型要加密的吧,想问下如何加密(不是用sfunction的方式)。我见别的公司的是可以加密的,可以打开模型,但是模型内部却全部无法看到(也可以针对模型中某几个子系统单独加密)。4.M文件的加密利用pcodematlab很多内部函数就是用pcode形式的,想看都看不了。5.Simulink整体加密我以前是这样做的,把SIMULINK RTW生成C代码,然后在VC下把生成的C代码做成DLL 封装,比较麻烦。6.驱动库模块的加密问题:各位好,请教一下大家,如何给自己定制的驱动库模块进行加密?意思就是:用户只能看到添加到simulink模块库中的定制的驱动库模块,但是看不到我的s函数、对应的tlc文件以及相关的m文件中的算法.我看华海科技里面貌似用加密狗来做的,matlab有没有提供类似加密的操作方法?答:S函数你可以只提供mex文件,这是动态链接库文件,别人看不到源码;m文件可以用pcode处理成p文件;tlc目前应该不好加密。我个人觉得,你可以将驱动做成lib文件,驱动模块在代码生成的时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论