首页/文章/ 详情

Amesim中的判断与选择元件介绍

4月前浏览6796



       
1        

       

 引言      

近期在Amesim技术交流群中,看到大家讨论Amesim如何实现判断与选择,这是一个非常常用的需求,例如根据一些设定条件去选择不同的输入数据,或者开展故障注入等分析,全部都需要判断选择才能实现。  

在编程领域,常用的判断与选择主要为如下两种类型,我们将使用Amesim信号库实现这一个过程:  

1) If-else语句:

1) Switch-case语句:

2        

       

 Amesim实现if-else判断选择      

首先要介绍的就是最常用的signal switch元件,一共包含4个端口,左侧两个为输入信号,顶部为命令信号,参数中包含一个阈值参数。



当命令信号大于等于阈值参数,则输出信号等于3号口的输入信号,反之则输出4号口的输入信号。  

在如下的例子中,我们在4号口接入一个sin正弦信号,在3号口接入正弦信号的积分信号,顶部命令信号接入一个阶跃信号,阈值参数为0.5,则我们可以看到输出的结果信号中,在5s位置发生变化,表明判断与选择是完全正确的。

模型运行后的结果如下,可见在5s位置,命令信号发生变化以后,输出信号进行了切换,实现了判断与选择,实现的功能就是if-else语句。  

3        

       

 Amesim实现switch-case判断选择      

上文实现的判断选择仅仅支持两路,而我们建模的时候需要做更加复杂的判断,输入信号超过2路,因此在Amesim中还支持多路判断与选择。  

主要用到的元件就是多路信号选择器,左侧端口数量可以自定义,顶部就是指定编号,如下的例子中自定义了三路信号输入,则顶部参数可以指定任意一路信号输出,想要指定某一路信号的编号,可以通过外部变量直接查看。  

在本例中看似很笨拙,只是固定某一路输出,但是考虑到顶部信号可以不断判断和变化,则此元件可以实现非常丰富复杂的判断

4        

       

 Amesim判断元件与搭配      

Amesim中判断元件主要包括图中红框圈中的四个元件,各自功能和使用场景不同,但是大同小异:  

第1个和第3个都有控制信号,差别在于第1个存在判断过程,第3个是直接指定输出,没有判断过程。第1个只能支持两路输入,第3个可以自定义输入信号数量。  

第2个和第4个都没有控制信号,都是指定输出并且支持自定义输入信号数量,差别第4个可以输出多路信号,而第2个只能输出1个信号。  

与判断选择元件搭配的常用信号为下图中蓝框圈中的两个元件,其中第1个元件是将多路信号编为一路复合信号,第2个元件是将复合信号解压为多个独立信号。在大家连接的时候,一定要确保接口的数量保持一致,否则就会报错。

5  

 

 结束语

本节内容相对简单,但是是十分常用好用的元件,大家可以自己练习搭建如下逻辑:  

练习题目:在一个循环中,x的初始值为1,每次循环中对x进行判断,如果x为质数则x=2*x,如果x为偶数则x=x+3,如果x不是质数也不是偶数则x=x+1,直到x>1000停止循环,输出每个循环中x的值。

大家可以尝试做一下,这样就可以非常熟练的使用Amesim中的判断元件了,希望本篇文章能对大家有所启发和帮助。


来源:Amesim学习与应用
AMESim控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-08-01
最近编辑:4月前
batt
本科 微信公众号:Amesim学习与应用
获赞 81粉丝 385文章 203课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈