微处理温度控制模拟VI输入阶段的处理过程
扫描二维码
随时随地手机看文章
输入阶段的处理过程完成以下功能:获得输入阶段的当前温度;检查定时循环结构前一循环过程的输出阶段是否延迟完成功能;为本次循环过程即将执行的计算阶段设定截止时间和起始时间参数;把本阶段的起始时间和前一循环过程中的终止时间保存在矩阵中以备绘制定时图。由于本阶段是定时循环结构每个循环的第一个阶段,因此,需检查前一循环过程中的循环结束是否延迟完成。同时,完成输入阶段前面板处理过程定时界面及处理过程状态界面相应的数据更新功能。程序框图如图1所示。
图1 输入阶段处理程序框图 1.获得输入节点的当前温度(a) 此处通过pac_lo.vi子控件产生。该控件的输入选项选择获取温度数据“aquire temp.”,执行时间则通过前面板输入阶段数据簇中的执行时间“execution time(ms)”来输入。这样pac lo.vi子控件通过内部逻辑处理过程,模拟产生此时微处理器的温度数据。该温度数据在过程处理状态选项卡的当前温度“current temp”数值显示控件中进行数据显示。 2.设定输入阶段帧的输出节点(b) 此时通过前面板计算阶段“computation stage”数据簇上设定的数据来设定该帧的输出节点。需要设定的数据包括截止时间“deadline(ms)”和开始时间“start time(ms)”。| 3.裣查是否延迟完成(c) 在输入节点中设置定时循环结构前一循环的最后一帧(即输出阶段帧)是否延迟完成。此处产生一数据簇,其输入为前一循环的输出阶段簇数据,输出则为判断循环之后的需要设定的输出阶段簇显示数据。此帧输入节点中的“延迟完成?[⒈l]”可以按照图2的方式来设定。通过“输出选择”,可以对循环定时结构中的循环定时、帧及其他属性进行设定,设定的选择过程可按同样的方式进行。在判断是否延迟完成时,创建了“按名称捆绑”函数,通过更换输入簇中的若干元素,可以得到新的输出簇。该函数的输入输出接线端如图3所示。
图2 设定不同的输出端属性 图3 按名称捆绑函数的输入输出 4.创建循环定时波形图输入数组(d) 循环定时波形图的输入数据通过帧之间的移位寄存器进行传递。此处,在输入阶段帧的输入端属性中,根据上一帧(即上一循环中的输出阶段帧)的“实际结束[f-1]”数据,来更新循环定时波形图输入数组所对应的数据位置(x数组中位于11和12号位置),用于定时波形图的显示。而本次循环中,本帧(输入阶段帧)的“实际开始田”数据同样也用于更新或替换进行波形显示后x数组中对应的位置(此时,位于x数组中的1和2号位置)。在数组更新或替换过程中,用到的ⅵ函数控件为“替换数据子集”。 5.显示循环定时结构的上一循环是否延迟完成(e) 此处进行判断的数据由来自于输入阶段帧输入端中的上一次循环定时是否“延迟完成?[i-1]”逻辑数据来进行显示。输入端中的“延迟完成?[i-1]”节点的添加过程和图2的添加过程相同。 6.处理过程定时波形图的绘制(f) 处理过程定时波形图通过一个分支选择结构(case-switch)来选择执行,此处的选择条件为“是否为首次”调用判断,此控件通过图4所示的选择顺序到达。条件为否时,在该分子选择结构中实现波形图的显示更新。此处的显示更新主要通过对处理过程显示波形图的数组进行创建来实现。3个输入阶段曲线分别通过各自的矩阵与相应的x数组进行捆绑。由这3个捆绑数组创建新数组,该新数组直接输入波形图显示控件进行波形显示即可。
图4是否为首次调用函数的选择顺序 7.处理过程定时波形图输入阶段截止时闾游标的位置更新(f) 此处创建处理过程定时波形图的属性应用,此属性节点的创建过程在第14章和第15章中己经作过详细介绍。此处的属性包括两个:活动游标(actcrsr)和活动游标的x位置(cursor.posx)。活动游标的序号为0,活动游标x位置的判断逻辑通过输入阶段帧的输入端中的执行时间“期限”和实际开始时间“实际开始[g”相加来产生。 8,温度曲线的绘制(f) 首先,使用本次循环的实际开始时间“实际开始[i]”进行坐标变换后,和移位寄存器所包含的温度曲线的x数据组合得到新的x数据。而y数据则利用pac lo.vi控件所产生的温度数据以及移位寄存器中的y数据共同构成新的y数组。更新后的x和y数据捆绑后输入到温度曲线波形图显示控件,对温度变化曲线进行显示。同时,更新后的x和y数据通过移位寄存器传送到下一帧