PLECS中DLL模块的使用
之前发布了一篇文章,介绍如何使用PSIM中的DLL模块。而本篇文章的内容与之类似,不过主角换成了PLECS。
PLECS和PSIM类似,也属于电力电子仿真软件,使用方便,仿真速度快,和Matlab也有一定的联系,有兴趣的可以去试试。PLECS可以利用外部动态链接库(DLL)来调用外部的代码参与仿真,方便复杂控制算法的实现,也有利于后期直接将代码移植到硬件控制器上。
本篇文章主要参考B站UP主“_zgj”老师的视频,算是他视频的一个文本化,便于自己学习。

顺带提一嘴,“_zgj”老师水平真的超高,在他的这期视频里,竟然是用Windows的命令行处理窗口来进行代码的编译等操作,实在是太帅了。本人水平有限,就总结了一种比较简单的方法来使用。除此之外,“_zgj”老师还有不少丰富知识和高级操作,欢迎大家前去关注学习。
闲话少叙,进入正题:
本次用到的软件主要是Visual Studio 2022 (VS 2022)和PLECS 4.68。
一、总体思路
与PSIM中DLL模块的使用类似,在PLECS中要找到DLL模块,在VS中编写需要的代码并生成“.dll”文件,最后通过某种方式将两者联系起来即可
二、具体实现
1 PLECS的运行界面如下:

包含两个部分,左边是库,右边是新建的一个Model
要使用DDL,可以在“Library”中搜索DLL,或者直接在新建的model主界面上打“DLL”,便可以找到该模块

双击“DLL”,弹出模块的参数设置窗口
(1) Filename:这里需要填入最后生成的“.dll”文件路径以及文件名,后面会提到;
(2) Sample time:顾名思义就是采样时间,可以填入实际需要的时间。如果填了“-1”,表明所采用的采样时间是继承于上一级模块的设置;
(3) Output delay 和 Parameters:这个暂且不管。
假设我们现在希望通过DLL将两个输入信号分别进行放大10倍和加上10的操作,那么在输入端可以先简单这样给定

2 接下来打开VS,选择新建项目

选择Windows桌面向导

给项目命名并选择合适的保存路径

选择动态链接库(.dll),空项目

3 接下来是关键的部分:要在VS里面编写相应的接口函数。
先新建一个“.c”文件。和PSIM那一篇文章类似,要注意把“.c”后缀名写好。


要准备的内容主要可以分成四个部分:头文件,输入以及输出接口,还有要实现的功能部分。这里直接给上代码,在使用的时候基于此进行修改即可
保存文件后,点击菜单中的“生成”,再选择“生成解决方案“。
一般来说,这里会报错,显示找不到“Dllheader.h”,这时我们需要对左侧栏中的项目进行右击,选择属性,再进行如下操作



具体的路径为:(每个人的PLECS安装路径会各有不同)

虽然这里显示“没有与搜索条件匹配的项”,但是没有关系,因为在VS里看不到相关的文件,直接选择该文件夹即可。
这时再进行编译操作就不会有错了。
4 为了将生成的“.dll”文件和PLECS连接起来,我们需要找到文件的路径和文件名,就在我们建立的项目里

而后将该信息填写进DLL的 “Filename”一栏中

5 最后,设置好相关的仿真参数,见证结果吧!

很显然,仿真和我们期望的一致!
写在后面:
DLL模块的“help”文档中其实介绍了很多东西,包括输入输出,一些接口函数的写法等等,有兴趣的可以去看看。比如

