0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Simulink搭建保护原型函数

CHANBAEK 来源:熊猫硬件 作者:熊猫硬件 2023-03-10 14:38 次阅读

BMS保护包括过充保护、过流保护、高温保护等等保护类型较多,但是如果用函数封装的角度去理解,大多数保护类型函数原型是一样的,只不过传入函数的参数不同而已,这样我们就可以用Simulink把这样一类保护做成通用的模块然后传入不同的保护参数再返回报警等级实现业务逻辑功能。

保护分类

按照以上分析把保护类型分为高触发保护(以下简称高保护)和低触发保护,高触发保护是采样值比设定阈值高触发的告警保护,同理低触发保护是采样值比阈值低触发的保护。 我们先来实现高保护。

第一步:新建空模型文件命名为protect。

poYBAGQKz5SAJOnwAAEHAbA4U8U753.png

其中阈值和采样值比较逻辑我们采用stateflow实现,

第二步:模型中加入Chart模块

poYBAGQKz6OAENIrAAIX1Gk5b8A948.png

第三步:写逻辑

圆圈代表节点,直线是传输,{}里面的语句为执行,[]里面的语句为判断。 先看下下面这条语句,当采样值大于设定阈值之后,开始计时当计时够了之后报警标志位置1

pYYBAGQKz7OAEE3oAAFXttWuoJY136.png

接着把逻辑做完

poYBAGQKz8GALzZVAAHP4QEtqDc699.png

这样我们就把判断逻辑做完了下面我们验证下模型;

第四步:设置输入、输出、本地参数类型;

poYBAGQKz8-AbryWAAJdZgmSv04173.png

第五步:验证模型

设置几个输入参数,仿真看下结果,输入给一个变化的正弦输入,幅值设置为5000,这样变化的信号可以遍历工况;

poYBAGQKz9yAX91nAACljbINlrQ273.png

可以看到当输入大于4000时经过延时告警值置位,当小于3000时经过延时告警值复位,当小于阈值时告警一直为0,符合预期的逻辑;

pYYBAGQKz_KAKxp2AAHu_ZnlVPE396.png

第六步:封装模型

模型测试好了再封装一层

pYYBAGQK0AOADAlTAAEwbjtzQX8375.png

这样把模型封装成一个子模块

第七步:应用。

现在原型函数就做好了可以根据传入参数完成电压、电流、温度的保护告警去应用了

pYYBAGQK0BeANu2KAAD9Z3zQtGg437.png

第八步:生成代码

生成代码的配置可以去代码生成 | 安时积分法模型搭建查看;

pYYBAGQK0C-AaLSWAALkBMnPZA8481.png

可以看到生成的代码逻辑很严谨很清晰。

好了,高保护已经做完了,大家可以尝试搭建下低保护的子模块。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 参数
    +关注

    关注

    11

    文章

    1779

    浏览量

    32076
  • Simulink
    +关注

    关注

    22

    文章

    522

    浏览量

    62300
  • 函数
    +关注

    关注

    3

    文章

    4304

    浏览量

    62413
  • 模型
    +关注

    关注

    1

    文章

    3158

    浏览量

    48702
  • bms
    bms
    +关注

    关注

    106

    文章

    973

    浏览量

    65717
收藏 人收藏

    评论

    相关推荐

    通过调用HID.dll编写USB HID的数据读写,请大神们帮忙提示一下调用哪些HID的原型函数函数调用顺序!

    通过调用HID.dll编写USB HID的数据读写,请大神们帮忙提示一下调用哪些HID的原型函数函数调用顺序!
    发表于 07-01 16:30

    通过调用HID.dll编写USB HID的数据读写,请大神们帮忙提示一下调用哪些HID的原型函数函数调用顺序!

    通过调用HID.dll编写USB HID的数据读写,请大神们帮忙提示一下调用哪些HID的原型函数函数调用顺序!
    发表于 07-06 10:02

    如何获得sysLink系列函数的具体说明或者原型函数

    Hello 您好, 我想详细了解DM8148的通信机制,也就是说link的工作过程。 阅读提供的代码时,发现许多函数没办法找到原型,这些函数主要是核与核通信的。 比如
    发表于 06-23 06:06

    如何去搭建Matlab/Simulink

    搭建MatlabSimulink 下针对 TIDSP 的代码自动生成环境搭建 Matlab/Simulink 下针对 TIDSP 的代码自动生成环境本文介绍如何搭建 Matlab/
    发表于 07-07 06:18

    永磁同步电机simulink模型搭建

    永磁同步电机simulink模型搭建1、总搭建模型2、各搭建模块2.1永磁电机模块一共六个输出,分别是转速,位置(角度),转矩,三相电流。2.2AC-DC-AC模块2.3反馈显示模块2
    发表于 08-27 06:26

    如何搭建simulink模型?

    如何搭建simulink模型?EPS系统的工作原理是什么?
    发表于 10-20 07:44

    使用USRP E310和MATLAB和Simulink进行原型设计和测试软件定义的无线电

    使用USRP E310和MATLAB和Simulink进行原型设计和测试软件定义的无线电(SDR)系统通信系统工具箱™支持包USRP®嵌入式系列收音机使您可以使用MATLAB®和Simulink®到
    发表于 12-21 07:56

    C语言实现的泛型函数swap()

    C语言实现的泛型函数swap():交换两个变量中的数据.
    发表于 01-20 07:10

    型函数bsearch()的编写过程是怎样的?

    型函数bsearch()的编写过程是怎样的?
    发表于 02-09 06:31

    利用RBF神经网络实现高斯型函数积分

    导出了在一定精度下高斯型函数积分近似表达式,利用径向基函数(RBF) 网络具有良好的逼近任意非线性映射的特点,提出了一种改进的RBF 网络方法以实现对高斯型函数积分。实验
    发表于 03-29 14:34 11次下载

    C语言入门教程-函数原型

    函数原型 现在,把程序中的所有函数声明函数原型已成为公认的良好编程风格。函数
    发表于 07-29 11:13 1545次阅读

    SP1641B或SP1642B型函数信号发生器手册

    SP1641B或SP1642B型函数信号发生器是一种精密的测试仪器,因其具有连续信号、扫频信号、函数信号、脉冲信号,点频正弦信号等多种输出信号和外部测频功能,故定名为SP1641B、SP1642B型函
    发表于 12-21 09:44 101次下载
    SP1641B或SP1642B<b class='flag-5'>型函数</b>信号发生器手册

    配置Simulink模型,调皮属于你自己的代码

    通过代码生成的接口配置界面 Interface 的 Configure Model Functions 来自定义 Simulink 模型所生成的 C 代码的函数原型
    的头像 发表于 09-16 17:55 4666次阅读
    配置<b class='flag-5'>Simulink</b>模型,调皮属于你自己的代码

    simulink搭建逆变器仿真模型

    逆变器仿真。 在simulink搭建了逆变器仿真模型,采用电压电流双闭环控制,采用LC滤波器,输出电压完美的跟随给定,且THD仅1%。 整个仿真全部离散化,采用离散解析器,控制与采样环节全部自己手工搭建,没有采用Matlab自
    发表于 02-28 15:32 12次下载
    在<b class='flag-5'>simulink</b>中<b class='flag-5'>搭建</b>逆变器仿真模型

    simulink搭建的摩擦模型

    永磁同步电机simulink模型搭建 1、总搭建模型2、各搭建模块2.1永磁电机模块 一共六个输出,分别是转速,位置(角度),转矩,三相电流。 2.2AC-DC-AC模块2.3反馈显示
    发表于 03-14 09:33 0次下载
    <b class='flag-5'>simulink</b><b class='flag-5'>搭建</b>的摩擦模型