plecs C script、prode、子系统、闭合导线画线、数据导出的简单使用
数据导出:
闭合线画线:
单击该线,按住右键即可画线。
probe模块:
可以将元器件拖拽进去,即可获取该元器件的相关信号输出,这样可以省去在元器件外加电压电流表等。
子系统:
选中要创建子系统的元器件,右键即可创建子系统。
如下输入输出接口,包括信号,电气接口即可实现子系统信号的输入输出。
右键子系统,创建mask即可为子系统创建参数。
在这里设置相关参数,类型要设置为可编辑的。
C script使用:(本例实现buck位置式PID,离散模式)
setup设置相关设置,采样时间设置为-1或0表示连续模式,设置具体的步长表示离散模式。
code栏:
code declarations:相关变量,头文件声明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | //头文件 #include <math.h> #include <stdio.h> //设置输入端口,定义输入变量 #define Set_voltage Input(0) #define U_in Input(1) #define U_out Input(2) #define I_L Input(3) #define I_out Input(4) //定义中间运算的离散状态变量 #define U_ek DiscState(0) #define U_ek_1 DiscState(1) #define sum_U_ek DiscState(2) //定义静态变量 static double Kp,Ki,Kd; double d; //定义输出变量 double Duty; |
start function:初始化。
//设置静态变量在Setup-Parameter中的位置 Kp=ParamRealData(0,0); Ki=ParamRealData(1,0); Kd=ParamRealData(2,0); //设置离散变量的初值 U_ek=0; U_ek_1=0; sum_U_ek=0;
output function:输出相关代码,连续模式时,相关逻辑代码都是放在这儿。
Output(0)=Duty;
update function:更新逻辑代码放在这儿。在离散模式,每个周期会执行一次此处的代码,并更新一次相关全局变量。类似定时器中断处理函数。
U_ek=Set_voltage-U_out; d=Kp*U_ek+Ki*sum_U_ek+Kd*(U_ek-U_ek_1); if(d>0.95) { Duty=0.95; } else if(d<0.05) { Duty=0.05; } else { Duty=d; } sum_U_ek=sum_U_ek+U_ek; U_ek_1=U_ek;
分类:
PLECS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2020-07-01 IP,子网掩码,网关,DNS的关系解析