概述
1)在simulink中,if模块与if...action...模块为两个不同独立的模块,它们需要配合一起进行使用;
2)双击即可对if...action模块做配置,设定输入端口的数目、判断条件,当判断条件成立时,输出为if端口,否则输出为else端口;
3)搭建如下所示模块:
利用if...else...分别做逻辑判断,u1<0,则子系统取反后输出;u1=0,则子系统按照设定输出(双击else模块后可以在内部进行配置);u1>0,则子系统保持原样输出;
4)在u<0时,子系统中配置条件,使用增益对模块取反;
u1=0时,设置模块内部无输入,直接输出结果;
运行结果如下:
2Guide自写简单系统(十一)计算器菜单栏配置
1)对计算器的菜单栏添加如图选项;
2)此时运行程序如图所示;
3)在关闭计算器按钮回调函数中配置如图所示回调函数代码,实现计算器的关闭;
同理也可实现程序关闭代码:效果如下所示:
①关闭计算器:
②关闭系统:
4)做帮助栏的子菜单配置程序说明时还比较复杂,需要再创建一个guide进行调用,下次再做;版本信息可以编写代码调用一个diag来实现功能;
回调函数代码:
运行效果:
总觉得效果不太好看,要不还是下次编一个guide的界面吧
工作问题解决:功能安全板离线运行
离线运行步骤:
1)利用UDE配合Miniwingle将bootloader引导安装程序烧录至功能安全控制板中,然后使用Kvaser CAN卡将hex代码烧录至控制板中;烧录界面如图所示;
2)使用Kvaser完成引导程序的烧录后,此时烧录elf后即可实现控制板的离线运行;利用Kvaser CAN卡将bootloader刷入后并将app置位后,再每次只需要烧入elf即可,不需要使用Kvaser重新烧录hex;
①模块带负载未正常运行状态,电流读数为0.1A;
②模块正常运行时电流状态为0.14A
此时可以在上位机上监控到接收报文:
3)另:需要在UDE中watch窗口进行实时监控,就必须要烧录elf文件,同时需要一些.c的文件(即需要完整的工程文件)才可实现监控;用hex文件进行烧录时只能监控一些地址信息,无法观察运行时寄存器内具体的数值;
按照此流程进行烧录,即可实现控制板的离线运行(如图中0.14A即为离线运行时监控数据)。现在解决了控制板离线运行问题,以及旋变的速度及位置监控;但控制板复位问题还是存在。现在思路是硬件排查,感觉是mcu存在问题。
日工作记录 公众号ID: gh_dc943d9de6b5扫码关注最新动态最后
以上就是悲凉钢笔为你收集整理的simulink中if模块_Simulink(if...action...模块)+Guide自写简单系统(十一)+功能安全板离线运行...的全部内容,希望文章能够帮你解决simulink中if模块_Simulink(if...action...模块)+Guide自写简单系统(十一)+功能安全板离线运行...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复