首页> 中国专利> 一种用于原子层沉积镀膜设备灵活工艺控制的实现方法

一种用于原子层沉积镀膜设备灵活工艺控制的实现方法

摘要

本发明涉及一种用于原子层沉积镀膜设备灵活工艺控制的实现方法,通过对控制原子层沉积镀膜设备成膜工艺的工艺文件进行制作实现灵活工艺控制,包括如下步骤:通过工艺文本文件方式记录工艺信息,工艺信息可通过修改工艺文本文件内的自定义文本进行调整;通过编译器对工艺文本文件进行编译,将包含工艺信息的工艺文本文件转换为符合控制器程序定义的规则文件;通过控制器识别处理规则文件并以此对原子层沉积镀膜设备的工作状态进行控制,使其以规则文件内所包含的工艺信息进行执行。本发明的优点是:工艺人员直接修改工艺文件,无需修改控制程序,杜绝沟通过程中产生的错误隐患,省去控制程序设计及测试时间,提升工艺开发效率。

著录项

  • 公开/公告号CN112501592A

    专利类型发明专利

  • 公开/公告日2021-03-16

    原文格式PDF

  • 申请/专利权人 光驰科技(上海)有限公司;

    申请/专利号CN202011544020.7

  • 申请日2020-12-24

  • 分类号C23C16/455(20060101);C23C16/52(20060101);

  • 代理机构31214 上海申蒙商标专利代理有限公司;

  • 代理人周宇凡

  • 地址 200444 上海市宝山区宝山城市工业园区城银路267号

  • 入库时间 2023-06-19 10:16:30

说明书

技术领域

本发明涉及薄膜制备技术领域,尤其是一种用于原子层沉积镀膜设备灵活工艺控制的实现方法。

背景技术

原子层沉积是一种特殊的化学气相沉积技术,是通过将气相前驱体脉冲交替地通入反应腔体,在基底上化学吸附并发生反应,形成沉积膜的一种方法。

原子层沉积设备主要由前驱体供应系统、载气系统、成膜腔体、抽气系统、加热系统组成。如图1所示,源1、源2、源3为前驱体,进行原子层沉积工艺时,在稳定的温度,压力等环境下,利用其自限制表面化学反应的特性,先将源1的前驱体通入成膜腔体中。然后进行吹扫,将多余前驱体吹扫干净,再通入源2的前驱体,源2前驱体与源1前驱体进行化学反应,形成一层薄膜。

通常一个薄膜制程工艺会有成百上千的层数。以往的工艺文件的表现方式多是以表格的形式,每一层便是表格中的一行甚至更多行,这将导致工艺文件表格中的行数过多,编辑困难。

通常在原子层沉积工艺中,除开阀门的开始,流量计的设定,各个加热器温度以及参数的设定,还有很多其他的参数需要设定。以往的工艺文件的表现方式多是以表格的形式,每一个参数便是表格中的一列,这将导致工艺文件表格中的列数过多,编辑困难。

通常在原子层沉积工艺中,尤其是工艺开发过程中,存在诸多的不确定因素。前驱体通入的顺序不确定,阀门开关顺序不确定,加热器温度甚至参数不确定,载气流量不确定,成膜压力不确定;甚至在同一工艺的不同阶段,各个参数的设定艺不一定相同。若使用现有的工艺控制方法,由工艺人员将工艺需求告诉软件设计人员,软件设计人员再根据工艺人员的要求编写固定的控制程序,将程序调试完成后再交给工艺人员成膜测试,这样控制程序设计及测试次数多,工艺开发周期长;控制程序修改次数较多,程序不统一,程序管理难度大,同时,可能由于传达不到位或者理解不到位,会出现工艺人员的要求与实际控制不一致的情况。

发明内容

本发明的目的是根据上述现有技术的不足,提供了一种用于原子层沉积镀膜设备灵活工艺控制的实现方法,通过对控制原子层沉积镀膜设备成膜工艺的工艺文件制作实现灵活工艺控制。

本发明目的实现由以下技术方案完成:

一种用于原子层沉积镀膜设备灵活工艺控制的实现方法,其特征在于:该实现方法通过对控制原子层沉积镀膜设备成膜工艺的工艺文件进行制作实现灵活工艺控制,包括如下步骤:

通过工艺文本文件方式记录工艺信息,所述工艺信息可通过修改工艺文本文件内的自定义文本进行调整;

通过编译器对所述工艺文本文件进行编译,将包含所述工艺信息的所述工艺文本文件转换为符合控制器程序定义的规则文件;

通过控制器识别处理所述规则文件并以此对所述原子层沉积镀膜设备的工作状态进行控制,使其以所述规则文件内所包含的所述工艺信息进行执行。

所述编译器包含工艺文本文件内的工艺名称、对应的控制器内变量地址,以及工艺名称允许设定的上下限值以及工艺时长计算程序;其中,所述工艺文本文件内的工艺名称以及工艺内名称允许设定的上下限值可修改,所述工艺时长计算程序。

所述编译器以Excel为表现形式,VB为内部编程语言。

所述控制器为PLC控制器,所述编译器对所述工艺文本文件进行编译并将其转换为可供所述PLC控制器所识别处理的规则文件。

在所述PLC控制器的控制程序内预留多个变量地址,当所述PLC控制器识别处理所述规则文件时,将所述规则文件内的工艺信息进行拆分,并存放在对应的各所述变量地址中。

所述工艺信息包括工艺流程以及工艺参数。

本发明的优点是:

1)工艺文件采用文本形式表示,编辑简单,可读性高;

2)文本内内容没有固定的顺序,可以实现灵活的工艺控制;

3)通过完善编译器,可供修改的参数多,工艺调试自由度大;

4)工艺人员直接修改工艺文件,无需修改控制程序,杜绝沟通过程中产生的错误隐患,省去控制程序设计及测试时间,提升工艺开发效率;

5)控制程序统一,便于程序管理。

附图说明

图1为原子层沉积镀膜设备系统结构简图;

图2为本发明中文本编辑的工艺文件示例图;

图3为本发明的流程图;

图4为本发明中编译器的界面图;

图5为本发明中工艺文件转后的.code文件图;

图6为本发明中ResCmds和Processes数组的数据格式图。

具体实施方式

以下结合附图通过实施例对本发明特征及其它相关特征作进一步详细说明,以便于同行业技术人员的理解:

实施例:本实施例中用于原子层沉积镀膜设备灵活工艺控制的实现方法,其通过对原子层沉积镀膜设备的工艺文件进行制作,以实现工艺的灵活控制。该工艺文件指的是,实质控制原子层沉积镀膜设备工作状态的文件,即该工艺文件可被控制器读取,控制器以工艺文件内所编制的工艺信息为基准,实际对原子层沉积镀膜设备进行控制,从而调整其工作参数,以满足不同成膜工艺的需要并且可便于不同成膜工艺之间的切换或成膜工艺的调整。

如图3所示,从工艺文本编辑开始制作工艺文本文件。该工艺文本文件编辑规则是根据控制程序中声明的规则来确定的,即本实施例中的工艺文本文件编辑规则是根据PLC控制器的规则所确定的。这是因为,文本编辑需要符合这些规则,否则在导入编译器进行编译时,会提示出错。

在工艺文本文件中通常由流程,关键符,关键字组成。

如图2所示的具体示例,HeaterSV、HeatStart、TheProccess等为流程。流程名字没有具体规则,可以完全由用户自定义。最终的工艺流程应放在最后一行,控制程序解析时从最后一行开始。

文本编辑中有如下“=”、“+”、“*”三个关键符;“=”为流程开始的标志,“+”为流程或者命令连接的连接符;“*”为执行次数的表示字符。例如:500*(+ProccessA+ProccessB)意思为依次执行ProccessA和ProccessB这两个流程500次;500次执行完成后才能继续执行后续的流程或命令。

文本编辑中有如下关键字:VALUE、WAIT、WAITFOR、WAITFOR>、WAITFOR<、ON、OFF、END;以上关键字会在PLC控制器程序中声明好(限定好),不可随意变更,以提高工艺文本文件与之后PLC控制器之间的衔接性,保证PLC控制器可通过编译器有效识别处理工艺文本文件。

其中,VALUE为赋值关键字,在文本编辑中表示赋值的规则为VALUE(变量名称:数值)。例如:需要将加热器1的温度设定值为100,则可以表示为VALUE(Heater1_SV:100),在该条工艺信息内,VALUE为关键字、Heater1_SV为变量名称,该变量名称需要在编译器中提前定义,每个自定义的变量名称都会有一个PLC控制器中的地址与之对应;100为需要被赋的数值。

WAIT为等待时间关键字,等待的时间单位为秒,在文本编辑中表示等待的规则为WAIT(时间)。例如:需要等待2秒,则可表示为WAIT(2)。

WAITFOR、WAITFOR>、WAITFOR<这3个关键字为条件关键字,WAITFOR为等于条件,即A=B,时效;WAITFOR>为大于条件,即A>B,时WAITFOR<为小于条件,即A为例,在文本编辑中表示条件的规则为WAITFOR>(变量名称:数值)。例如:需要加热器1的当前值大于98的条件,则可以表示为WAITFOR>( Heater1_PV:98)。ON、OFF为开启、关闭的关键字;以ON关键字为例,在文本编辑中表示赋值的规则为ON(变量名称)。通常ON、OFF操作的变量为布尔量数据。例如:开启源1的阀A,则可表示为ON(Source1_ValveA)。END则为流程结束的关键字,通常END出现在流程末尾。

如图3所示,工艺文件编辑完成后,开始将工艺文件导入编译器进行编译工作。

图4为编译器的软件界面。工艺人员需要点击“打开工艺文件并且编译”按钮,然后手动选择编辑好的工艺文件,导入完成后,后台程序会自动进行编译工作。编译工作主要包含两个部分:第一个部分是对工艺文件进行校验,检查是否有不符合规则的地方存在;第二部分是针对工艺文件内容进行转换,生成一个PLC控制器可以识别并进行控制的控制程序。编译转换后的文件如图5所示。

第一部分,对工艺文件进行校验。首先后台程序会识别工艺文件中括号前面关键字,若关键字事先声明的关键字是,则弹出对话框提示该关键字为非法关键字。

然后后台程序会识别工艺文件中关键字后面括号里面的内容,通常这些内容的格式为:1、(变量名称)2、(变量名称:数值)3、(数值)。若内容为第一种时,后台程序会提取该变量名称,并将该变量名称与编译器中“工艺名称中变量名”列里面的内容进行逐个校验;若发现工艺文件中的变量名称未在编译器中声明的话,弹出对话框提示该变量名称为未声明的变量。若内容为第二种,后台程序先会对变量名称按第一种情况进行校验,然后对数值进行校验;后台程序会提取冒号后面的数值,然后与编译器里面对应变量名称的上下限数值进行比较;若发现数值超过上下限时,弹出对话框提示该变量名称赋值超限。若内容为第三种时,则不进行校验。

第二部分生成控制程序文件。首先程序会检索工艺文本文件中括号内容,当括号中的内容格式为(变量名称)、(变量名称:数值)时;后台程序会根据编译器中的变量对照表,把PLC中变量名替换为工艺文件中的变量名称;当括号中的内容格式为(数值)时,后台程序不做修改。以+VALUE(Heater1_SV:100)和+ON(Source1_ValveA)为例,替换完成后,效果为+VALUE(gTemp.Heater1_SV:100)和+ON(PC_IO.V_KH1.V_A_S1.Cmd)。然后,后台程序会检索“+”关键字,并且将“+”后面的流程或者关键字的格式进行补全,补全后的格式为--关键字(),这样每一条命令的格式保持一致,便于PLC控制器程序的解析。格式补全的原则为:流程补全为GOTO(流程);END补全为END();执行次数则补全为CNT(1:执行次数)… ECNT(1)。其中第一个“1”表示当前执行数,这个当前次数在PLC控制器程序中会根据执行次数不断增加,直到当前执行次数大于等于执行次数;第二个“1”表示每执行完一次,当前执行次数的增量。

以+500*(+ProccessA+ProccessB)+END为例,将在补全格式完成后,效果为+CNT(1:500)+GOTO(ProccessA)+GOTO(ProccessB)ECNT(1)。然后,程序会将工艺文件中的连接符“+”删除。最终,+500*(+ProccessA+ProccessB)+END将会编译成为CNT(1:500)GOTO(ProccessA)GOTO(ProccessB)ECNT(1)END()。

最后,程序将会另存为一个的文件。该文件存放的路径会和读取到的工艺文本文件的保持一致,该文件的的文件名也和读取到的工艺文本文件的保持一致,但文件的后缀将会变为.code。

如图3所示,工艺文件编译完成后,需要工艺人员将编译好的文件放在PLC控制器指定的文件夹下面,当点击HMI人机界面上的“读取工艺文件”的按钮后,PLC控制器将会对工艺文件进行解析工作。

首先,控制程序会将.code文件中的内容,以STRING数据类型的格式,按行的形式,逐行放入,PLC控制器预留了RecipeLine [0..49]的数组存储区中。

以图5的文件为例:

HeaterSV=VALUE(gTemp.Heater1_SV:100)VALUE(gTemp.Heater2_SV:150)VALUE(gTemp.Heater3_SV:200)END()会存入RecipeLine [0];HeatStart=ON(Heater1.Cmd)ON(Heater2.Cmd)ON(Heater3.Cmd)END()会存入RecipeLine[1];直至将文件内容全部存储完。

然后,程序会对RecipeLine[0..49]的数组进行解析拆分,并且将这些数据放在PLC控制器预留ResCmds[0..49]数组和Processes[0..49]数组存储区中,ResCmds和Processes数组的数据格式如图6所示。程序会对RecipeLine数组进行逐个解析和拆分,将RecipeLine[0]的内容中,关键符“=”前面的流程名称和当前行数存放至Processes[0]中的Name和Row位置。然后把关键符“=”后面的内容存放至ResCmds[0]中,其中关键符“=”后面第一个格式为“关键字(…) ”的内容将放在ResCmds[0]中的Cmd[0]中;其中关键符放在Cmd[0]中的Name位置,“(”后面的内容在Cmd[0]中的AddressStr位置。若ResCmds[0]中有“:”,则把“:”后面的内容放在放在Cmd[0]中的Valuestr位置;Cmd[0]中的Status,为状态标志位,当Cmd[0]中的内容被执行后,状态为True。以此类推第二个格式为“关键字(…) ”的内容将放在ResCmds[0]中的Cmd[1]中;直至将内容为“END()”放置完成。以此类推将RecipeLine[1]的内容存放至Processes[1]和ResCmds[1]中,直至将RecipeLine中的内容解析和拆分完成。

以图5,RecipeLine[0]为例。

Processes[0]. Name=HeaterSV;Processes[0].Row=0;ResCmds[0].Cmd[0].Name= VALUE;ResCmds[0].Cmd[0].AddressStr= gTemp.Heater1_SV;ResCmds[0].Cmd[0].Valuestr= 100,以此类推ResCmds[0].Cmd[4]. Name= END;ResCmds[0].Cmd[4].AddressStr= ;ResCmds[0].Cmd[4].Valuestr= 。

如图3所示,工艺文件解析成后,便可开始工艺控制。

当开始工艺时,PLC控制程序会调取ResCmds[0..49]数组和Processes[0..49]数组。程序会检索Processes[0..49]中最后一行的所在位置开始执行。以图2工艺文本文件为例,执行的流程名为TheProccess,与之对应的流程为ResCmds[11]。控制程序执行也是基于关键字的模式,即ResCmds[11].Cmd[0].Name变量,控制程序执行顺序为:从Cmd[0]开始执行到ResCmds[11]中Name为END的Cmd。当执行到“GOTO”关键字时,控制程序会检索GOTO后面的流程在Processes的Row,并开始执行与Processes对应的ResCmds流程。当执行到“VALUE”关键字时,控制程序会把Valuestr中的值赋值在AddressStr中描述的地址中。当执行到“ON”关键字时,控制程序会把AddressStr中描述的地址置为Ture。当执行到“OFF”关键字时,控制程序会把AddressStr中描述的地址置为False。当执行到“WAITFOR”、“WAITFOR>”、“WAITFOR<”关键字时,控制程序会等待AddressStr中描述的地址的值达到Valuestr中的值的条件。当执行到“Wait”关键字时,控制程序等待AddressStr中值的时间。当执行到“CNT”和“ECNT”关键字时,控制程序重复执行这两个关键符之间的内容,每执行完一次,CNT中的AddressStr值会加上ECNT中的AddressStr值,直至CNT中的AddressStr值大于等于CNT中的Valuestr值。当执行到“END”关键字时,控制程序会结束当前流程执行下一个流程,直到执行到最后一个Processes中的“END”关键字时,整个工艺流程才算执行完成。

通过以上的实施方法。工艺人员仅需编辑工艺文本文件,便可实现工艺的各种可能性;操作方法简单,工艺编辑灵活。以图2工艺为例,若工艺需要先执行ProccessB流程再执行ProccessA流程,仅需将Stack流程中的(+ProccessA+ProccessB)更改为(+ProccessB+ProccessA),即可;若工艺结束时不想停止加热,仅需将TheProccess流程里面的+HeatStop删除即可。

本实施例在具体实施时:编译器以Excel为表现形式,VB为内部编程语言,该编译器的主要作用是根据PLC控制器程序内定义好的规则,将工艺人员编辑的工艺,转换为符合PLC控制器程序内定义好的规则文件。编译器内主要包含四个部分,分别为工艺文本文件内的名称,对应的PLC控制器内变量地址,以及工艺文本内名称允许设定的上下限值以及工艺时长计算程序。其中工艺文件内的名称、工艺内名称允许设定的上下限值是允许用户自行修改的,而对应的PLC控制器内变量地址则不允许修改,否则会出现控制程序执行异常。

在PLC控制器的控制程序中不再固执行顺序,控制程序中预留了足够多的变量地址,用于存放控制执行文件,从而实现对控制程序进行统一的目的。

虽然以上实施例已经参照附图对本发明目的的构思和实施例做了详细说明,但本领域普通技术人员可以认识到,在没有脱离权利要求限定范围的前提条件下,仍然可以对本发明作出各种改进和变换,故在此不一一赘述。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号