首页 > 其他分享 >plecs C script、prode、子系统、闭合导线画线、数据导出的简单使用

plecs C script、prode、子系统、闭合导线画线、数据导出的简单使用

时间:2023-07-01 18:55:11浏览次数:46  
标签:plecs ek script 画线 prode 设置 Input 子系统 define

数据导出:

 闭合线画线:

单击该线,按住右键即可画线。

probe模块:

可以将元器件拖拽进去,即可获取该元器件的相关信号输出,这样可以省去在元器件外加电压电流表等。

子系统:

选中要创建子系统的元器件,右键即可创建子系统。

 如下输入输出接口,包括信号,电气接口即可实现子系统信号的输入输出。

 右键子系统,创建mask即可为子系统创建参数。

 在这里设置相关参数,类型要设置为可编辑的。

 C script使用:(本例实现buck位置式PID,离散模式)

setup设置相关设置,采样时间设置为-1或0表示连续模式,设置具体的步长表示离散模式。

 code栏:

code declarations:相关变量,头文件声明

//头文件
#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,ek,script,画线,prode,设置,Input,子系统,define
From: https://www.cnblogs.com/caiya/p/17519725.html

相关文章

  • JS高级用法:像大神一样玩转JavaScript
    前言众所周知,JavaScript是一种非常流行的编程语言,它已经成为了网页开发的必备技能。但是,在我们从事JavaScript编程的时候,我们却没有完全发掘和利用它的全部潜力。在本文中,我们将分享一些高级的JavaScript技巧,希望帮助掘友们更好地理解和掌握JavaScript编程。关于JS高级用法在学习Ja......
  • JavaScript aglo 算法 时间复杂度
    https://www.bigocheatsheet.com/https://www.hello-algo.com/chapter_preface/about_the_book/ gpt的回答好的,下面给出这些算法的JavaScript例子,并给出它们的时间复杂度分析:O(1)-常数时间复杂度:javascriptCopyCodefunctionconstantTimeAlgorithm(n){return2+......
  • vane 一个适用于前端打工人的全栈框架,nodejs+vue3+typescript
    vane写这个的初衷是因为每次用node写接口的时候总是需要一些写大一堆的东西,也有些人把很多接口都放在一个js文件内,看起来很是杂乱,后来用到nuxt写的时候,感觉用文件名来命名接口路径很是方便,无论是query参数还是params参数,都可以通过文件名来命名,也可以通过文件夹层级......
  • laytpl( Layui 的一款轻量 JavaScript 模板引擎)html标签点击事件传递多参
     <scripttype="text/html"id="aobjectvalue_temp"><spanclass="us-font-blue"style="cursor:pointer"onclick="seeinfo('{{d.aobjectkey}}','{{d.atype}}')">[资源详情]</spa......
  • 使用easy-captcha验证码出现javax. script ScriptEngine.eval(String)" because "engi
    1.问题java项目使用  ArithmeticCaptcha  验证码,出现javax.scriptScriptEngine.eval(String)"because"engine"isnulArithmeticCaptchacaptcha=newArithmeticCaptcha(111,36);<dependency><groupId>com.github.whvcse</groupId>......
  • JavaScript实现Fly Bird小游戏
    1.分析页面结构,理清需求和功能游戏有三个界面,分别是开始界面,游戏界面和游戏结束界面。1.1开始界面 游戏的大背景上下移动的游戏标题和翅膀摆动的小鸟start按钮,点击进入游戏界面一直移动的地面1.2游戏界面显示越过障碍数量的计分器移动的障碍物,分别是上管道和下......
  • JavaScript中数组常用方法汇总!
    数组是一个复杂数据类型,我们在操作它的时候就不能再想基本数据类型一样操作了。比如我们想改变一个数组//创建一个数组vararr=[1,2,3]//我们想把数组变成只有1和2arr=[1,2]这样肯定是不合理,因为这样不是在改变之前的数组。相当于重新制作了一个数组给到arr......
  • Vue3 vite:is a JavaScript file. Did you mean to enable the 'allowJs' option?
    描述今天在vue3+vite下进行打包时,突然vscode报了一个error。 大概的意识是询问是否启用“allowJS”选项,因为该文件在程序内是指定用于编译的根文件。提示信息已经很明确了,下面从网上摘抄了下什么是allowJS选项。allowJs是1.8中新提供的选项。TypeScrip......
  • JavaScript高级学习
    JavaScript进阶学习作用域、变量提升、闭包等语言特征,加深对JavaScript的理解,掌握变量赋值、函数声明的简洁语法,降低代码的冗余度。理解作用域对程序执行的影响能够分析程序执行的作用域范围理解闭包本质,利用闭包创建隔离作用域了解什么变量提升及函数提升掌握箭头函......
  • JavaScript 教程
    JavaScript是Web的编程语言。所有现代的HTML页面都可以使用JavaScript。JavaScript非常容易学。本教程将教你学习从初级到高级JavaScript知识。 为什么学习JavaScript?JavaScript是web开发人员必须学习的3门语言中的一门:HTML 定义了网页的内容CSS 描述......