- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Scilab5.3.3下模块的移植在线帮助的编写以及工具箱的建立
Scilab 5.3.3下模块的移植、在线帮助的编写以及工具箱的建立——By 廖昊夫孙琪引言Scilab作为一个仍在不断开发更新的开源计算软件,其每一个版本较之前都有很大变化,这种变化使得之前在旧版本上开发的一些模块,不能很好地在新版本(Scilab 5.3.3)上运行,基于此问题本文将展开深入探讨,并给出工具箱的建立办法。模块的移植Xcos界面Xcos是新版本Scilab的仿真器,其在界面上较之前有很大的改动。新版本界面如下:图1 Xcos组件盘图2 Xcos主窗口如上图所示,图1是Xcos的组件盘,组件盘中存放的是用户或者系统已经添加并分类好的模块,通过它用户可以很方便的向Xcos的主窗口添加模块。图2是Xcos的主窗口,是用户搭建自己仿真模型的区域。Xcos图片文件在Xcos中图片文件分为三类:.gif或.png文件,.svg文件以及.h5文件。它们均用来显示模块的外观,但用在不同的场所。.gif或.png文件是标准的图片文件,是位图,其主要用于在组件盘中显示模块的外观,如图1中红方框内的模块图片实际上就由调用对应的.png文件所实现的。Scilab自带的该类文件存放于SCI\modules\xcos\images\palettes.svg文件由XML语言编写,属于矢量图。当该类文件对应的图片被放大时,图片的清晰度不会发生改变。因此该图片被用于显示Xcos主窗口中的模块外观。如图2中红方框内的模块外观就是由.svg文件产生的。Scilab自带的该类文件存放于SCI\modules\xcos\images\blocks.h5文件是Scilab通过模块的接口函数自动生成的文件,用于向Xcos中添加模块时使用,Xcos能够通过.h5文件生成对应的.svg图片。Scilab自带的该类文件存放于SCI\modules\scicos_blocks\blocks模块的加载在5.3.x中打开SciNotes,图3 SciNotes打开示意图,如红方框所示进入SciNotes后,输入如下形式的代码:loadXcosLibs();//读取Xcos模块库pal=xcosPal(My palette);//设置你要在xcos中存放你模块的文//件名exec(接口函数路径,-1);//运行接口函数和计算函数,相当于注册exec(计算函数路径,-1);//以便Scilab能够识别这些外来函数//另外当计算函数用非Scilab语言编写时,这时的注册方式不//能用exec()函数来注册,而应该用ilib_for_link函数注//册PathName=你需要存放的.h5文件路径;//在Scilab中模块的加载需要先生成一//个.h5文件来配套使用scs_m=接口函数名(define);//以job=’define’运行接口函数,由//返回值scs_m获取模块的数据结构及//初始化参数、外观等信息export_to_hdf5(PathName,scs_m);//生成.h5文件,需要说明的是这里的//PathName及scs_m均是自己设定的//变量名pal=xcosPalAddBlock(pal,PathName,.png或.gif文件路径,.svg文件路径);//由.h5,.png和.svg文件及设置好//的pal名,向xcos中加载模块。其//中.png文件和.svg文件路径为可//选参数xcosPalAdd(pal);//在xcos中添加存放模块的文件夹由上面的代码我们可以看出,在5.3.x中生成模块需要首先生成一个包含模块信息各方面的.h5文件,然后再调用加载模块函数xcosPalAddBlock,以在xcos中生成图形化界面。当编写好加载代码后点击运行,然后打开xcos我们就能看到模块已经成功加载完成了。点击运行按钮,执行代码:图4执行按钮示意图,如红方框所示模块加载成功:代码中设定的文件名图5模块加载完成示意图图5中模块图片与系统自带原生模块图片有出入,这是因为在编写模块加载代码时,我们并没有为模块指定.png文件以及.svg文件,即xcosPalAddBlock()函数的第三、四个参数为空。此时系统只能由.h5文件自动生成模块图片,图5的模块图片均由系统自动生成。计算函数接口对于由非scilab语言编写的计算函数,我们并不能直接将其运行,因此需要使用scilab里面专门提供的接口函数(这里所说的接口函数不是模块里的接口函数,请勿混淆)最主要的就是ilib_for_link这个函数,它的各参数的意义为:ilib_for_link([’标签名’], ’.c文件’, [], ’c’)这里的标签名对应于模块接口函数中model.sim=list(计算函数名,函数类型用数字(1~5表示))的计算函数名。在最新版本的Scilab中第三个参数应为计算函数源
原创力文档


文档评论(0)