[发明专利]一种基于RSCAD仿真系统将其算法模型转换为源代码的方法在审
| 申请号: | 201410437533.6 | 申请日: | 2014-08-29 |
| 公开(公告)号: | CN104200023A | 公开(公告)日: | 2014-12-10 |
| 发明(设计)人: | 戴凤娇;聂学斌;蔡林海;徐博;蒋晓春 | 申请(专利权)人: | 国家电网公司;国网智能电网研究院 |
| 主分类号: | G06F17/50 | 分类号: | G06F17/50 |
| 代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
| 地址: | 100031 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 rscad 仿真 系统 算法 模型 转换 源代码 方法 | ||
技术领域
本发明涉及一种转换方法,具体涉及一种基于RSCAD仿真系统将其算法模型转换为源代码的方法。
背景技术
实时数字仿真器RTDS(Real Time Digital Simulator)是由加拿大曼巴托尼直流研究中心推出的电力系统实时数字仿真系统。该系统以电力系统电磁暂态计算理论为基础,采用多处理器的并行计算方法,通过适当的任务分配方式和通信技术,实现电力系统的实时数字仿真。目前RTDS装置已经在全球范围的电力系统相关部门、企业以及高等院校得到了应用,主要包括教学与培训、电力系统分析研究、测试控制设备、测试保护设备四个方面。
RTDS的软件RSCAD是基于目前已得到国际上普遍承认的电磁暂态仿真程序EMTDC,其算法采用H.W.Dommel于1969年创建的经典电磁暂态计算理论。RTDS的元件库中提供了丰富的电力系统元件模型,通过RSCAD图形化的编程接口,用户可以非常方便地建立仿真系统数学模型,但是建立的模型文件的算法逻辑却不可以直接下载到目标装置中,不能做到可见即可得的效果。若要获得算法模型,需工程师使用开发工具开发出相应的算法功能模型,这将耗费大量的人力物力,且收效不佳。
由RSCAD仿真系统建立的算法模型,不能直接转换成源代码文件,因此需要一种有效的文件转换方法。通过文件转换,实现源代码生成,并编译下载到目标装置。因此发明一种实用方法是非常有必要的。
发明内容
为了克服上述现有技术的不足,本发明提供一种基于RSCAD仿真系统将其算法模型转换为源代码的方法,其中图形功能块一一对应转换,数据关联一一对应转换,实现全语义转换。支持自动生成源代码,使仿真工作者得以从代码编写工作中解脱出来,同时又可调试,以便根据实验中的问题及时找出原因,修改算法模型。源代码编译后可下载到目标装置运行。
为了实现上述发明目的,本发明采取如下技术方案:
本发明提供一种基于RSCAD仿真系统将其算法模型转换为源代码的方法,所述方法包括以下步骤:
步骤1:建立与RSCAD仿真系统中基础功能块对应的图形功能库;
步骤2:建立与RSCAD仿真系统自定义功能块对应的自定义功能库;
步骤3:将建立的图形功能库与自定义功能库进行统一分类;
步骤4:将图形功能块转换为源代码。
所述步骤1中,与RSCAD仿真系统中基础功能块对应的图形功能库中的图形功能块包括加法器、减法器、乘法器、除法器和三角函数。
所述步骤2中,自定义功能库的参数信息包括函数名、输入参数类型、输入参数变量名、输出参数类型、输出参数变量名、存储参数类型和存储参数变量名。
所述步骤3中,将图形功能库与自定义功能库统一分为基本运算类别、三角函数类别、反三角函数类别和算术功能类别。
所述步骤4中,按照先行后列方式的读取规则,读取每个图形功能块,并把图形功能块翻译成C语言形式,最终生成后缀为.C的源代码。
图形功能块中基本运算类别对应的源代码如下:
(1)加法器对应的源代码为out=in_1+in_2+in_3;;
(2)减法器对应的源代码为out=in_1-in_2-in_3;
(3)乘法器对应的源代码为out=in_1*in_2;
(4)除法器对应的源代码为out=in_1/in_2。
图形功能块中三角函数类别对应的源代码如下:
(1)正弦函数对应的源代码为out=sin(in);
(2)余弦函数对应的源代码为out=cos(in);
(3)正切函数对应的源代码为out=tan(in)。
图形功能块中反三角函数类别对应的源代码如下:
(1)使用弧度将反正弦函数转换为对应的源代码,该源代码为out=asin(in);
(2)使用弧度将反余弦函数转换为对应的源代码,该源代码为out=acos(in);
(3)使用弧度将反正切函数转换为对应的源代码,该源代码为out=atan(in)。
图形功能块中反算术功能类别对应的源代码如下:
(1)绝对值模块对应的源代码为out=fabs(in);
(2)求倒模块对应的源代码为out=1.0/in;
(3)平方模块对应的源代码为out=in*in;
(4)开方模块对应的源代码为out=sqrt(in);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;国网智能电网研究院;,未经国家电网公司;国网智能电网研究院;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410437533.6/2.html,转载请声明来源钻瓜专利网。





