编辑: ok2015 2016-09-01

3 系统软件设计 系统的控制主要指通过PLC对信号进行自动和手动的控制,从而实现对加热系统、气体 流量和气体压力、气动阀等的控制.我们设计的MOCVD控制系统有自动控制程序和手动控制 程序两种控制方式,自动和手动可以互相切换控制.其子程序主要包括步序控制,模拟量输 出控制,模拟量输入控制,数字量输出控制,数字量输入控制. 3.1 步序控制 在MOCVD控制系统中,根据不同的配方,所控制的步运行时间不同,所要求的循环位置 都不同.本系统设计方案的一个设计难点,就是在编写程序的时候,无法预先确知循环体的 开始及停止位置,如何编写一个可以供多种不同配方使用的程序. 针对 MOCVD 系统工艺的要求, 结合本系统运行流程, 采用顺序控制设计法来控制不同步 之间的动作和命令,执行不同步序循环控制策略.该方法灵活、准确地采用一个循环控制程 序,根据不同配方,在不同循环位置,实现不同功能.其最基本的思想是将系统的工作周期 划分为

50 个顺序相连的阶段,这些阶段称为步(Step),然后用编程元件(存储器位 M)来 代表各步,每步设定运行开始标志位和结束标志位,进入循环标志位和循环结束标志位,步 之间的转换条件可以是外部中断输入 前跳 信号,或者是每步运行的定时器提供的信号. 对于处理不确定的循环位置问题,在每步结束时,判断该步循环结束标志位是否为 1,如果 不为 1,则直接跳到下一步运行,如果为

1 再读取剩余循环次数是否为 0,如果为

0 则跳到 下一步运行,如果不为

0 则剩余循环次数减 1,跳到进入循环的步序运行.其算法流程如图

2 所示. 3.2 模拟量输出控制 模拟量输出,主要包括8路压力、20路流量以及温度.在模拟量输出中,防止冲击是一 项很重要的指标.为了防止冲击,输出时采用爬行渐增的输出控制策略,使模拟量的输出在 额定时间内,准时渐增到所需要的输出值,每一次所递增的量要尽量的小,以降低冲击的可 能性,保证生长的进行. 基本思想:每步运行开始时,读取步序号并调用该步的模拟量的目标设定值(IN2),前 级步结束的输出值(IN1)及要爬升的步数(D),求出步进量S=(IN2-IN1)/D,再判断实际值和设 定值的大小,决定实际值是加上或者减去步进量,然后再判断实际值是否达到设定值,如果 满足则结束本步爬升.分两种情况考虑,步进量为大于等于0或为负,如图3所示为步进量S 为大于等于0的程序算法流程图. 模拟量输出程序主要采用语句表(STL)的编程方法,它是一种类似于汇编的语言,执行 速度高于梯形图,占用内存空间小,能够解决复杂的循环及跳步.针对于本系统多模拟量, 步序复杂且循环不定,而CPU内存有限,此方案能很好的解决这个问题. 3.3 模拟量输入控制 MOCVD 控制系统有

29 路模拟输入量,如果全部用模拟量输入模块直接输入,需要

29 点 的输入.这样设计成本较高,考虑到本系统对模拟量采集实时性要求不高,采用 ADG408 译 码选择通道,分时输入.每个 ADG408 可以接入

8 路模拟量信号,使用

4 个模拟量通道,就 可以输入

32 路模拟量,本方案中模拟量输入子系统的成本可以大幅度降低.在系统实时性 要求不高的情况下是一种较佳的选择. 模拟量输入子程序采用多路分时选择输入方案, 通过译码器在某一时刻选择其中的一路 作为输出传送到模拟量输入模块上的一个通道.ADG408 芯片译码选通和 PLC 模拟输入量读 数处理,在时序上应该严格区分,避免读数混乱.保证在译码选通和 PLC 读数的任何时刻, 仅有一路模拟输入量处于选通及输入读数状态.如图

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题