01--引言
最近加入到一个项目组,有一些测试需要去支持,通过了解原先团队的测试方法后,自己作了如下改善,大大提高了工作效率。这也许就是软件开发的意义吧,能够去除一些重复的机械的人工操作并且结果还非常不可靠。
大概的情况是有3个输入,其中一个输入的曲线在一定的时间内已经固定,另外两个输入是由是不同的工况点,需要测试根据不同的工况点,在固定时间内通过内部计算逻辑获得输出值。最终要把获取的输出值取最大值(周期比取最小值小10倍),输出值取最小值且按照不同的时间分为3部分,并把最终值通过填表拉成曲线。
具体化:
假如有一个输入I,运行时间总共10s,前4秒以200A运行,4-6s以50A运行,6-10s以100A运行
另外一个输入T,需要采集如下温度点(-25 -10 0 15 20),求输出P的值
第3个输入H2,分别在某个固定温度下,H2量范围0-100%,以5%为精度下,求P的值
最终求得的P的值最小值按时间分为三段,0-2s,2-5s,5-10s,设定周期为0.1s
最终求得的P的值取10s内的最大值,设定周期为1s
02--建模
1.求解器时间设置
2.输入I给定
3.暂时先固定T=-25,H2给定
4.假定内部算法如下:
查表数据:
5.运行一下
6.求得的P的值取10s内的最大值建模
内部:
7.求得的P的值最小值按时间分为三段,0-2s,2-5s,5-10s,设定周期为0.1s建模
内部:
子系统内部:
8.输出值导入到工作区间
导入的是一个结构体,需要改成单独变量,设置如下(去掉所有的打钩选项)
9.总体模型
10.由于最大值模型要比最小值模型周期调度小10倍,故在设置内设置为原子子系统,并把采样周期设置为1s
11.运行一下,检查是否为最值
P的值
PMax的值
看看short、mid、long(取最后一个点的值即为最值)
short
mid
long
12.去工作区间取值,取最后一个点
为了方便取点,把H2的百分比数值放在纵向,需要把取到的值重新定义下
分别为p,s,m,l
再把p值复制粘贴到Excel表中
除了第一次要选外,下一次直接Ctrl+c即可
最终根据不同的温度运行后,将数值复制到表格中如下:
拉成曲线:
13.模型资源见下载附件