PSCAD中文网站 > 新手入门 > PSCAD软件如何添加自定义模块 PSCAD如何定义模块接口
教程中心分类
PSCAD软件如何添加自定义模块 PSCAD如何定义模块接口
发布时间:2025/04/24 16:53:33

在使用电磁暂态仿真软件 PSCAD 进行电力系统建模时,尽管软件内置了大量标准化电气元件和控制模块,但面对新型电力电子器件、自定义控制算法或特殊计算逻辑时,工程师常常需要创建自定义模块(User-defined Components)来满足更高的建模灵活性与计算需求。那么,PSCAD软件如何添加自定义模块?又如何定义模块接口,使其能够与其他模型模块高效交互?本文将从基础结构、实现路径到接口设置,系统讲解如何在 PSCAD 中构建功能完善、接口清晰、可复用的自定义模块。

 

一、PSCAD软件如何添加自定义模块

 

在 PSCAD 中,自定义模块是一种封装逻辑与图形界面的“黑盒组件”,通常包含图形层(可视化界面)、代码层(FORTRAN 编写的数学模型),以及参数配置层。通过这些层级的配合,用户可以构建具有自主控制逻辑、算法运行和信号交互能力的功能单元。

 

1. 打开或创建主工程

 

启动 PSCAD 软件,打开已有项目或新建一个 .pscx 工程文件;

 

保持结构清晰,建议为用户模块创建专属页面(如“CustomLib”)。

 

2. 插入空模块并命名

 

在项目树上,右键点击“Modules”,选择“Add New Module”;

 

为模块命名(如MyInverter、PI_Controller等),并双击打开;

 

进入模块内部,进入图形编辑模式,可布置输入、输出端口、参数控件等元素。

 

3. 添加输入输出端口

 

在左侧工具栏中,选择 "Port" 图标;

 

拖动到画布上放置端口,设置名称和方向(Input/Output);

 

注意合理命名,避免后续混淆(如 Vin、Iout、Enable 等);

 

输入端可用于接收模拟信号,输出端用于输出仿真结果。

 

4. 添加控制组件与表达逻辑

 

在模块内部放置 Math、Logic、Gain、Integrator、If-Else、Switch 等控制逻辑组件;

 

根据目标功能(如PI控制器、PWM发生器、过零检测器等)进行逻辑搭建;

 

所有控制图块均与外部 FORTRAN 代码可交互。

 

5. 编写/嵌入 Fortran 代码逻辑

 

如果逻辑复杂,也可以点击“Script”区域,打开代码编辑器;

 

在 Initial(初始化)、Branch(运行)、Final(收尾)等代码段中插入 Fortran 程序;

 

通过 VARIABLE、INPUT、OUTPUT 指令与图形层接口联动;

 

编译前需确保语法无误,所有变量声明完整,接口定义统一。

 

6. 保存模块并添加到主工程

 

回到主工程,在工作画布中点击“Modules”分类,找到刚创建的模块;

 

拖动到主电路图中,如同标准元件一样使用;

 

与系统中的信号、母线、电流源连接,组成完整仿真流程。

PSCAD软件如何添加自定义模块

二、PSCAD如何定义模块接口

 

一个良好的模块接口,能够让自定义模块具备更强的移植性、复用性和扩展性。在 PSCAD 中,模块接口设计包含图形端口、参数输入、输出变量、FORTRAN函数定义、状态变量管理等几个层面。

 

1. 图形化端口定义

 

每个端口都对应一个信号输入或输出;

 

可设置端口类型:Control Signal(控制信号)、Electrical Connector(电流/电压连接)、Logical Connector(逻辑信号);

 

PSCAD 允许将端口编组,如Bus Group、Three Phase Connector以提升模块可读性;

 

命名规范建议采用前缀+类型(如 Vin_RMS、I_out、flag_ctrl 等)。

 

2. 参数定义(Parameter Interface)

 

在模块属性中点击“Parameters”标签;

 

添加参数名称、默认值、单位、可选范围;

 

用户在主电路中调用模块时可手动输入参数值;

 

也支持参数化控制(与外部变量或脚本联动);

 

示例:

 

PSCAD如何定义模块接口

3. FORTRAN接口代码设计

 

模块内所有变量、输入、输出、状态量均需在代码中清晰声明:

PSCAD如何定义模块接口

说明:

 

INPUT、OUTPUT 表示与图形端口绑定;

 

所有变量必须提前在 VARIABLE 中声明;

 

若存在积分、记忆等状态行为,应声明 STATE 类型变量,并用 SAV 存储。

 

4. 状态变量与多步计算管理

 

使用 STATE 定义有历史记忆的变量(如积分、滤波器);

 

利用 TSTEP(当前时间步长)进行基于时间的动态计算;

 

模拟离散系统或控制器时,需用 IF (T.GT.Tlast) 控制触发条件。

 

5. 模块嵌套与组件复用

 

自定义模块可以再次嵌套其他模块,形成层级结构;

 

将常用组件(如三相PWM、限幅器、电压源)统一封装为模块库,提升开发效率;

 

可导出为 .pslx 模块库文件供他人导入。

PSCAD如何定义模块接口

三、自定义模块的工程应用与最佳实践

 

掌握了自定义模块开发与接口设置之后,用户就可以在实际工程中发挥更大的建模能力。以下是几个典型应用与经验建议:

 

1. 创建新型电力电子模型

 

建立一个“多模式双向DC-DC变换器”模块;

 

输入:电压、电流、控制信号;

 

内部封装电感电流采样、开关逻辑、PWM控制器;

 

输出:控制信号反馈、电流变化波形;

 

可复用于储能系统、微网变换器等场景。

 

2. 自定义继电保护逻辑

 

构建基于时间-过电流保护的模块;

 

通过判断电流是否超过门限值 + 延时时长;

 

输出Trip信号控制断路器动作;

 

可扩展为距离保护、差动保护等复杂方案。

 

3. 嵌入外部DLL函数

 

若计算逻辑较复杂,可在模块中调用外部 .dll 动态库;

 

使用 CALL FUNCTION_NAME() 接口在 Fortran 中调用;

 

DLL函数可由 MATLAB/Python/C++ 编译生成;

 

实现外部模型嵌入(如机器学习控制器、MPPT算法等)。

 

4. 模块接口命名与文档规范化

 

所有模块命名需反映功能,如 PI_Controller、PLL_Module;

 

参数文档需提供默认值、物理意义、调参建议;

 

接口注释完整,便于团队协作与后期维护。

自定义模块的工程应用与最佳实践

总结

 

PSCAD软件如何添加自定义模块 PSCAD如何定义模块接口,不仅是构建个性化仿真组件的必要手段,更是将理论算法、控制逻辑转化为仿真验证的重要桥梁。通过图形化建模与 Fortran 代码逻辑结合,用户可以在 PSCAD 中快速构建模块化、参数化、可重用的建模体系,实现从电力电子变换器、继电保护器、系统控制器到算法接口的全覆盖建模。科学定义模块接口、合理组织参数结构、封装通用功能组件,将极大提升工程效率与模型可扩展性,为实现电网数字孪生与智能仿真提供坚实的底层能力。

读者也访问过这里:
135 2431 0251