CN107038028B - 一种rtds自定义元件的多线程实时仿真方法 - Google Patents

一种rtds自定义元件的多线程实时仿真方法 Download PDF

Info

Publication number
CN107038028B
CN107038028B CN201710180167.4A CN201710180167A CN107038028B CN 107038028 B CN107038028 B CN 107038028B CN 201710180167 A CN201710180167 A CN 201710180167A CN 107038028 B CN107038028 B CN 107038028B
Authority
CN
China
Prior art keywords
rtds
code
calculation
custom
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710180167.4A
Other languages
English (en)
Other versions
CN107038028A (zh
Inventor
黄立滨
郭琦
关红兵
林雪华
韩伟强
周鹏鹏
王伟
庄良文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XUCHANG KETOP TESTING RESEARCH INSTITUTE Co.,Ltd.
Research Institute of Southern Power Grid Co Ltd
Original Assignee
Xuchang Ketop Testing Research Institute Co ltd
Power Grid Technology Research Center of China Southern Power Grid Co Ltd
Research Institute of Southern Power Grid Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xuchang Ketop Testing Research Institute Co ltd, Power Grid Technology Research Center of China Southern Power Grid Co Ltd, Research Institute of Southern Power Grid Co Ltd filed Critical Xuchang Ketop Testing Research Institute Co ltd
Priority to CN201710180167.4A priority Critical patent/CN107038028B/zh
Publication of CN107038028A publication Critical patent/CN107038028A/zh
Application granted granted Critical
Publication of CN107038028B publication Critical patent/CN107038028B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种RTDS自定义元件的多线程实时仿真方法,将用户生成的自定义元件的代码文件在导入CBuilder之前进行代码处理。一种RTDS自定义元件的多线程实时仿真方法,将用户生成的自定义元件的代码文件在导入CBuilder之前进行代码处理,提高了单个CPU对RTDS自定义元件的计算规模;真实的模拟自定义元件中的计算周期,使仿真计算更真实;将复杂的单个自定义元件分隔成多个自定义元件,建模过程更加简单、简洁。

Description

一种RTDS自定义元件的多线程实时仿真方法
技术领域
本发明涉及自定义元件仿真技术领域,特别是涉及一种RTDS自定义元件的多线程实时仿真方法。
背景技术
现如今,能够对如此复杂的自定义元件进行实时计算,一般使用两种方法:
1.逐步增大计算步长,尝试单个CPU能否在一个步长内完成计算,为了保证仿真的实时性和计算精度,计算步长的增加是有限度的,一般要控制在100μs以内;
2.是将复杂的自定义元件代码分割成若干部分,保证每个部分能够使用单个CPU在一个步长内完成计算,再将分隔的若干部分生成若干个自定义元件,但这样,每一个自定义元件都需占用一个CPU进行计算。
上述两种方法都可以实现自定义元件的实时计算,但是第一种方法由于计算步长的增加非常有限,且只能满足逻辑简单和代码量较少的自定义元件,而第二种方法自定义元件分隔后的数量增加,直接影响CPU的数量也随之增加,这样会造成占用的硬件资源较多,同时,带来比较大的经济问题。
因此,针对现有技术不足,提供一种RTDS自定义元件的多线程实时仿真方法以克服现有技术不足甚为必要。
发明内容
本发明的目的在于避免现有技术的不足之处而提供一种RTDS自定义元件的多线程实时仿真方法,该RTDS自定义元件的多线程实时仿真方法提出的多线程实时仿真是将用户生成的自定义元件的代码文件在导入CBuilder事前进行代码分割和优化,能够将包含过计算周期的复杂自定义元件在RTDS的单个CPU上完成。
本发明的上述目的通过如下技术手段实现。
提供一种RTDS自定义元件的多线程实时仿真方法,将用户生成的自定义元件的代码文件进行多线程代码分割优化处理使得包含多计算周期的复杂自定义元件能够在RTDS的单个CPU上完成计算,再导入CBuilder中通过RTDS的单个CPU完成计算并生成RTDS自定义元件。
具体而言的,RTDS自定义元件的生成步骤,具体包括:
1)以图形化方式搭建模型;
2)根据步骤1)中的搭建的模型转换成代码文件;
3)对步骤2)转换的代码文件进行多线程代码分割优化处理,再导入CBuilder中通过RTDS的单个CPU完成计算并生成RTDS自定义元件,即得到封装的RTDS自定义元件。
具体而言的,步骤2)中转换后得到的是C代码文件。
进一步的,一个复杂的自定义元件包含n个计算周期T1、T2、......、Tn,其中,n为偶数,Tn>T1,Tn>T2,......,Tn>Tn-1,每个计算周期均大于T0,T0为RTDS的计算步长;
多线程代码分割优化处理的具体步骤如下:
(S1)计算单个CPU在T0内能够计算的代码量X0
(S2)统计n个计算周期的代码量分别为X1、X2、......、Xn,n个计算周期的资源系数分别为K1、K2、......、Kn
Figure GDA0002488541970000031
【】代表取整;
(S3)判断步骤(S2)中计算出的资源系数是否满足
Figure GDA0002488541970000032
如果满足则进入步骤(S4);如果不满足则进入步骤(S6);
(S4)对每个计算周期的代码分配优先级,优先级的分配方式为计算周期越小,优先级越高;
(S5)生成优化调度程序,第n个计算周期的代码第m次调度时刻为第X个T0时刻,
Figure GDA0002488541970000033
X取整,m为自然数;
(S6)将n个计算周期平均分成两部分,两部分分别作为独立的对象,进入步骤(S2)。
优选的,所述生成优化调度程序遵循优先级进行处理。
优选的,所述步骤1)具体是使用Matlab中的Simulink以图形化方式搭建模型。
进一步的,RTDS自定义元件是通过RTDS自定义元件的多线程实时仿真方法获得的。
发明的一种RTDS自定义元件的多线程实时仿真方法,将用户生成的自定义元件的代码文件在导入CBuilder之前进行代码处理,具有以下优点:
1.提高了单个CPU对RTDS自定义元件的计算规模;
2.真实的模拟自定义元件中的计算周期,使仿真计算更真实;
3.将复杂的单个自定义元件分隔成多个自定义元件,建模过程更加简单、简洁。
附图说明
利用附图对本发明作进一步的说明,但附图中的内容不构成对本发明的任何限制。
图1是本发明一种RTDS自定义元件的多线程实时仿真方法的示意图。
图2是本发明一种RTDS自定义元件的多线程实时仿真方法中的调度示意图。
图3是本发明一种RTDS自定义元件的多线程实时仿真方法图1中多线程代码分隔优化的流程图。
具体实施方式
结合以下实施例对本发明作进一步描述。
实施例1。
如图1-3所示,一种RTDS自定义元件的多线程实时仿真方法,将用户生成的自定义元件的代码文件进行多线程代码分割优化处理使得包含多计算周期的复杂自定义元件能够在RTDS的单个CPU上完成计算,再导入CBuilder中通过RTDS的单个CPU完成计算并生成RTDS自定义元件。
RTDS自定义元件的生成步骤,具体包括:
1)以图形化方式搭建模型。
2)根据步骤1)中的搭建的模型转换成代码文件。
3)对步骤2)转换的代码文件进行多线程代码分割优化处理,再导入CBuilder中通过RTDS的单个CPU完成计算并生成RTDS自定义元件,即得到封装的RTDS自定义元件。
步骤2)中转换后得到的是C代码文件。
一个复杂的自定义元件包含n个计算周期T1、T2、......、Tn,其中,n为偶数,Tn>T1,Tn>T2,......,Tn>Tn-1,每个计算周期均大于T0,T0为RTDS的计算步长。
多线程代码分割优化处理的具体步骤如下:
(S1)计算单个CPU在T0内能够计算的代码量X0
(S2)统计n个计算周期的代码量分别为X1、X2、......、Xn,n个计算周期的资源系数分别为K1、K2、......、Kn
Figure GDA0002488541970000051
【】代表取整。
(S3)判断步骤(S2)中计算出的资源系数是否满足
Figure GDA0002488541970000052
如果满足则进入步骤(S4);如果不满足则进入步骤(S6)。
(S4)对每个计算周期的代码分配优先级,优先级的分配方式为计算周期越小,优先级越高。
(S5)生成优化调度程序,第n个计算周期的代码第m次调度时刻为第X个T0时刻,
Figure GDA0002488541970000061
X取整,m为自然数。
(S6)将n个计算周期平均分成两部分,两部分分别作为独立的对象,进入步骤(S2)。
所述生成优化调度程序遵循优先级进行处理。
所述步骤1)具体是使用Matlab中的Simulink以图形化方式搭建模型。
RTDS自定义元件是通过RTDS自定义元件的多线程实时仿真方法获得的。
需要说明的是,复杂的自定义元件是包含多个计算周期的自定义元件。
故本发明的多线程实时仿真方法用代码分割优化的方法,降低了计算所需的CPU数量,使用单个CPU即可完成处理包含多个计算周期的自定义元件,大大的提高了硬件的计算效率,同时,还适用于不同计算周期的自定义元件。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

Claims (5)

1.一种RTDS自定义元件的多线程实时仿真方法,其特征在于:将用户生成的自定义元件的代码文件进行多线程代码分割优化处理使得包含多计算周期的复杂自定义元件能够在RTDS的单个CPU上完成计算,再导入CBuilder中通过RTDS的单个CPU完成计算并生成RTDS自定义元件;
RTDS自定义元件的生成步骤,具体包括:
1)以图形化方式搭建模型;
2)根据步骤1)中的搭建的模型转换成代码文件;
3)对步骤2)转换的代码文件进行多线程代码分割优化处理,再导入CBuilder中通过RTDS的单个CPU完成计算并生成RTDS自定义元件,即得到封装的RTDS自定义元件;
一个复杂的自定义元件包含n个计算周期T1、T2、......、Tn,其中,n为偶数,Tn>T1,Tn>T2,......,Tn>Tn-1,每个计算周期均大于T0,T0为RTDS的计算步长;
多线程代码分割优化处理的具体步骤如下:
(S1)计算单个CPU在T0内能够计算的代码量X0
(S2)统计n个计算周期的代码量分别为X1、X2、......、Xn,n个计算周期的资源系数分别为K1、K2、......、Kn
Figure FDA0002365848080000011
【】代表取整;
(S3)判断步骤(S2)中计算出的资源系数是否满足
Figure FDA0002365848080000012
如果满足则进入步骤(S4);如果不满足则进入步骤(S6);
(S4)对每个计算周期的代码分配优先级,优先级的分配方式为计算周期越小,优先级越高;
(S5)生成优化调度程序,第n个计算周期的代码第m次调度时刻为第X个T0时刻,
Figure FDA0002365848080000021
X取整,m为自然数;
(S6)将n个计算周期平均分成两部分,两部分分别作为独立的对象,进入步骤(S2)。
2.根据权利要求1所述的一种RTDS自定义元件的多线程实时仿真方法,其特征在于:步骤2)中转换后得到的是C代码文件。
3.根据权利要求2所述的一种RTDS自定义元件的多线程实时仿真方法,其特征在于:所述生成优化调度程序遵循优先级进行处理。
4.根据权利要求3所述的一种RTDS自定义元件的多线程实时仿真方法,其特征在于:所述步骤1)具体是使用Matlab中的Simulink以图形化方式搭建模型。
5.一种基于CBuilder的RTDS自定义元件,其特征在于:RTDS自定义元件是通过权利要求1-4任意一项所述的方法获得的。
CN201710180167.4A 2017-03-24 2017-03-24 一种rtds自定义元件的多线程实时仿真方法 Active CN107038028B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710180167.4A CN107038028B (zh) 2017-03-24 2017-03-24 一种rtds自定义元件的多线程实时仿真方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710180167.4A CN107038028B (zh) 2017-03-24 2017-03-24 一种rtds自定义元件的多线程实时仿真方法

Publications (2)

Publication Number Publication Date
CN107038028A CN107038028A (zh) 2017-08-11
CN107038028B true CN107038028B (zh) 2020-09-04

Family

ID=59534274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710180167.4A Active CN107038028B (zh) 2017-03-24 2017-03-24 一种rtds自定义元件的多线程实时仿真方法

Country Status (1)

Country Link
CN (1) CN107038028B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608237B (zh) * 2017-09-30 2020-10-13 国网青海省电力公司 一种基于光伏系统半实物仿真的硬件资源优化控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100970943B1 (ko) * 2007-12-21 2010-07-20 재단법인 포항산업과학연구원 발전용 연료전지를 포함하는 전력계통의 고장기록시스템 및 고장기록방법
CN101799750B (zh) * 2009-02-11 2015-05-06 上海芯豪微电子有限公司 一种数据处理的方法与装置
CN103678785B (zh) * 2013-11-30 2017-03-22 许昌开普电器检测研究院 一种rtds自定义元件编程封装方法
CN105785793B (zh) * 2016-03-04 2018-05-08 济南大学 基于pscad的数字化保护源代码级闭环仿真方法

Also Published As

Publication number Publication date
CN107038028A (zh) 2017-08-11

Similar Documents

Publication Publication Date Title
CN106447034B (zh) 一种基于数据压缩的神经网络处理器、设计方法、芯片
CN111062472B (zh) 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法
Pellizzoni et al. Worst case delay analysis for memory interference in multicore systems
CN108460457A (zh) 一种面向卷积神经网络的多机多卡混合并行异步训练方法
CN106951926A (zh) 一种混合架构的深度学习系统方法及装置
CN103207926B (zh) 使用组合技术数值模拟产品的结构性能的方法和系统
CN103345580B (zh) 基于格子Boltzmann方法的并行CFD方法
US11663461B2 (en) Instruction distribution in an array of neural network cores
JP2020091858A (ja) タスクグラフ動作のスケジューリング
Shi et al. A budget and deadline aware scientific workflow resource provisioning and scheduling mechanism for cloud
Wu et al. A deadline-aware estimation of distribution algorithm for resource scheduling in fog computing systems
Li et al. Deep reinforcement learning: Algorithm, applications, and ultra-low-power implementation
CN101630274A (zh) 一种实现对循环任务进行软硬件划分的方法和装置
CN111445003A (zh) 神经网络生成器
CN109784359A (zh) 图像生成方法、装置、设备及可读存储介质
Zhou et al. Multi-GPU implementation of a 3D finite difference time domain earthquake code on heterogeneous supercomputers
CN114647515A (zh) 一种面向gpu集群的动态资源调度方法
Kohútka et al. Hardware accelerated scheduling in real-time systems
CN107038028B (zh) 一种rtds自定义元件的多线程实时仿真方法
CN103207927B (zh) 模拟产品的结构性能的方法和系统
CN109117949A (zh) 用于人工智能设备的灵活数据流处理器和处理方法
CN106547607A (zh) 一种虚拟机动态迁移方法和装置
Li et al. Optimized deep belief networks on CUDA GPUs
CN111105341B (zh) 一种低功耗高运算性能求解计算流体动力学的框架方法
CN110472700B (zh) 一种基于卷积神经网络的参数填充方法与装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 510663 Guangdong Province, Guangzhou city Whampoa District Science City Kexiang Road No. 11

Applicant after: Xuchang general testing & Research Institute Limited by Share Ltd

Applicant after: XUCHANG KETOP DETECTION TECHNOLOGY CO., LTD.

Applicant after: Research Institute of Southern Power Grid Co., Ltd.

Address before: 510663 Guangdong Province, Guangzhou city Whampoa District Science City Kexiang Road No. 11

Applicant before: Power Grid Technique Research Center of China Southern Power Grid Co., Ltd.

Applicant before: XUCHANG KETOP DETECTION TECHNOLOGY CO., LTD.

Applicant before: Research Institute of Southern Power Grid Co., Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 510663 Guangdong Province, Guangzhou city Whampoa District Science City Kexiang Road No. 11

Applicant after: Power Grid Technique Research Center of China Southern Power Grid Co., Ltd.

Applicant after: Xuchang general testing & Research Institute Limited by Share Ltd

Applicant after: Research Institute of Southern Power Grid Co., Ltd.

Address before: 510663 Guangdong Province, Guangzhou city Whampoa District Science City Kexiang Road No. 11

Applicant before: Power Grid Technique Research Center of China Southern Power Grid Co., Ltd.

Applicant before: XUCHANG KETOP DETECTION TECHNOLOGY CO., LTD.

Applicant before: Research Institute of Southern Power Grid Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210902

Address after: 510663 3 building, 3, 4, 5 and J1 building, 11 building, No. 11, Ke Xiang Road, Luogang District Science City, Guangzhou, Guangdong.

Patentee after: China Southern Power Grid Research Institute Co.,Ltd.

Patentee after: XUCHANG KETOP TESTING RESEARCH INSTITUTE Co.,Ltd.

Address before: 510663 No.11 Kexiang Road, Science City, Huangpu District, Guangzhou City, Guangdong Province

Patentee before: CSG POWER GRID TECHNOLOGY RESEARCH CENTER

Patentee before: XUCHANG KETOP TESTING RESEARCH INSTITUTE Co.,Ltd.

Patentee before: China Southern Power Grid Research Institute Co.,Ltd.

TR01 Transfer of patent right