把序列翻译器方式用于可编程逻辑控制器的方法和设备的制作方法

文档序号:6270941阅读:101来源:国知局
专利名称:把序列翻译器方式用于可编程逻辑控制器的方法和设备的制作方法
技术领域
本发明涉及可编程逻辑控制器(PLC),具体而言,涉及把顺序的翻译器方式用于执行其控制逻辑的PLC。
背景技术
PLC的使用已经使过程控制行业发生了巨大的变化。在过程控制中使用PLC的一个例子是半导体的制造过程。混合两种或更多流体以形成混合的气体混合物以便把半导体液体或者气体与载气组合来递送至制造工具的过程要求精确的过程控制。通常,由PLC控制此类过程涉及在PLC中使用序列控制逻辑(即,打开/关闭阀门,检验警报定值等),并且经由顺序的阶梯逻辑程序设计来实现。这是标准方式并且适用于固定的控制模式体系结构。然而,对控制模式的任何改变都要求由具有此技能的个人来进行阶梯逻辑修改。此外,这种固定控制模式体系结构的存储器用量是非常低效的。
特别的是,传统的PLC软件使用阶梯逻辑设计,其已经考虑到用于标准自动化应用程序的大部分程序设计。图1中示出了此类应用程序的分级结构。使用此程序设计技术构造应用程序是相当复杂的,并且由此生成的应用程序能够由大型有代表性的过程控制集体以及具有最少训练经验的本地工程技术人员来维护。虽然此程序设计技术易于被构造,但是当与其他可利用的语言相比较时,在存储器用量方面它不是特别有效。因此还需要构造可用于多种气流控制的代码段,所述多种气流控制诸如气体内室的第一和第二输入流,在所述气体内室中所述输入流被混合。但是令人遗憾的是,阶梯逻辑不易于实现此操作。
仅仅举例说明,本发明的受让人、也就是Air Products &Chemicals,Inc.已经把PLC用于其生产线,并且放弃了其Gasguard450(大约1990年)的生产线,使用外部可配置数据来控制系统操作的技术已经被用于涉及气体内室的设备。Gasguard的后代、包括Gasguard250、500、AP2和AP3已经全部使用此方法。然而,主要区别在于前述产品的每一个均可使用各种类型和制造商的嵌入式控制系统。
克服这些问题的努力包括为大规模自定义(MC)气体内室开发PLC应用程序代码,但是当使用此专用编程方法时,应用程序会迅速用完存储器。还有人建议使用自定义STL(语句表)例行程序和SCL(结构控制语言)例行程序来补充基础顶级阶梯逻辑例行程序,这样会节省存储器并且将允许代码段能够再次使用。存储器用量问题的领域之一是PLC中的标准调用序列。对引起较大存储器用量开销的例行程序和低级别STL例行程序的每次调用被构造为所允许的多个调用代码在没有这种存储器用量开销的情况下被利用。这样做显著减少了存储器用量。存储器用量问题的第二个领域是在所选硬件设置方面可利用的定时器的缺乏。由于可利用的定时器数目少,所以在STL中构造了自定义定时程序。虽然不希望在应用程序中包含STL,但是由于存储器的限制而可以包含它。许多模拟定标和警报功能往往使用SCL来编码,虽然这不像阶梯逻辑那样令人满意,但是比STL段更加令人满意。图2中示出了由此形成的分级结构。
由此生成的PLC应用程序软件经常为总体执行循环的阶梯逻辑而利用SCL自定义序列和低级STL服务程序。所述应用程序配置数据用来利用所选选项和报警极限值等来自定义个人应用程序。然而,即使在程序设计方法中有这些折衷,应用程序也明显无法适应所选硬件的限制范围。由此生成的包括三个独立编程语言和STL段的代码被视为代码维护的潜在问题。
由此,还需要对基于PLC的控制系统使用外部控制数据技术的PLC,其中所述基于PLC的控制系统通常不以这样的方式加以利用。
此处引用的所有参考文献都作为整体合并于此,以供参考。

发明内容
一种用于使用可编程逻辑控制器(PLC)来控制过程的方法,其中所述PLC具有中央处理单元(CPU),所述CPU包括存储控制所述过程所需的所有指令和数据的负载存储器,并且包括评估并且执行工作存储器中的指令以便控制所述过程的翻译器。所述方法包括以下步骤(a)创建包括一种格式的指令,所述格式包括至少一个选择码,所述选择码按照允许或者禁止来编码;(b)把一个指令从负载存储器复制到工作存储器;(c)由所述翻译器评估该至少一个选择码以便确定所述选择码是否为真;(d)如果所述翻译器评估所述选择码为真,那么执行所述指令,如果所述翻译器评估所述选择码为假,那么不执行所述指令,并且如果是这样的话,把下一指令从负载存储器复制到工作存储器并且对此下一指令重复步骤(c);(e)察看其选择码已经评估为真的指令是否已经完成,并且如果没有的话,继续执行指令直到完成为止;并且(f)如果其选择码已经评估为真的指令已经完成,那么重复步骤(b)-(f),直到所有指令已经被评估并且被执行为止,其中相应指令中的所述至少一个选择码的评估已经被确定为真。
一种用于控制与其结合的过程的可编程逻辑控制器(PLC),并且其中所述PLC包括中央处理单元(CPU),所述CPU包括存储控制所述过程所需的所有指令和数据的负载存储器,并且包括评估并且执行工作存储器中的指令以便控制所述过程的翻译器。所述PLC包括包含只读指令的所述负载存储器,其中每一指令均包括一种格式,所述格式包括按照允许或禁止被编码的至少一个选择码;以及每次只接收一个指令的所述工作存储器,其中所述翻译器评估该至少一个选择码以便确定该至少一个选择码是否为真,并且如果该至少一个选择码为真,那么执行该一个指令,或者如果该至少一个选择码被评估为假,那么接收下一指令。


将结合如下附图描述本发明,在所述附图中,相同的参考标记指定类似元件,并且其中图1是常规的PLC软件应用程序的分级结构;图2是专用于解决存储器用量相关问题的另一PLC软件应用程序的分级结构;图3是克服存储器用量相关问题、同时降低复杂性级别以便实现改变的本发明的PLC软件应用程序的分级结构;图4是具有安装在其内部上半部的PLC的示例性气体内室的正视图;图5是用于与PLC通信的示例性触摸屏的正视图;图6是包括本发明分级结构的PLC的中央处理单元(CPU)的功能图;图7是包括本发明分级结构的PLC的CPU的负载存储器的内容的图表;
图8是用于定义本发明的序列命令结构格式的图表;图9是描述负载存储器中序列数据块的图表;图10是包括本发明分级结构的PLC的CPU的工作存储器的内容的图表;图11A-11C共同构成依照示例性配置的96个选择码的图表,在所述示例性配置中示出了由配置程序员设定的每个选择码的唯一设定级别;并且图12是克服存储器用量相关问题、同时降低复杂性级别以便实现改变的PLC翻译器应用程序的流程图。
具体实施例方式
本发明使用非传统的方法来编程PLC中的顺序控制逻辑,借此使用独立的、预先配置的二进制数据来实现序列控制。特别的是,本发明集中研究SCL(结构控制语言)以及阶梯逻辑,而且还引入了序列翻译器以及序列数据块的概念。选择这种方法是为了在大规模自定义环境中使用预测试代码来最小化存储器用量,并且允许更加灵活的配置环境。
如上所述,此方法不同于传统的直线程序设计模型并且使用了元代码翻译器。在此模型之下,可以在由元代码翻译器翻译的数据块中表示各个序列(或者事件,例如放气阀#1、放气阀#2、通风口等)。用于表示所述序列的数据仅仅是需要构造自定义码来实现序列的大小的一小部分。虽然元代码翻译器的大小可以大于任何一个序列,但是同一代码可用于所有序列并且这会很大程度降低所要求的存储器。此翻译器模型的使用还允许在各个序列中做出修改,而不需要重新验证底层代码,这是因为各个代码段没有被改变,而仅仅是数据被改变。图3中示出了本发明的这种方法的分级结构20。
图4描述了示例性的气体内室2的正视图,其包含各种阀门、压力开关、气缸等等(所有这些以下被简称为“装备4”)。这种装备4由PLC(未示出)控制,所述PLC位于气体内室2的上部6内。虽然用于与PLC通信的各种输入/输出(I/O)装置是已知的,但是一个示例性的输入/输出装置是触摸屏8,如图5所示。
如图6所示,所述PLC(仅仅举例说明,诸如型号为S7-300的西门子的PLC)的中央处理单元(CPU)包括负载存储器22和工作存储器24。因为序列数据被完全包含在数据块内,所以它能够在负载存储器(例如,闪存卡)上保留序列数据块并且根据需要能够把序列的数据块加载到工作存储器24中。这样做进一步减少了存储器用量。需要在工作存储器24中保存的唯一序列是空闲序列,这是因为此序列是终止所有其他序列的默认序列。所述PLC控制气体内室装备2的处理过程(例如,自定义的制造工具)。还应注意的是,虚拟分配箱(VMB)2A可以被耦合至气体内室2,其允许单个气体内室2来提供多个使用点。
通过使用独立的数据源在PLC中配置事件的序列,要解决两个问题1.由于二进制控制数据被存储在独立的、非易失性的闪存区域中,所以内部PLC存储限制被回避,这可以获得合理的成本并且可以根据需要来加以扩展;并且2.可以使用用于前代嵌入系统的相同的已验证工具和技术来实现基于PLC的控制系统的配置。
所述负载存储器22是非易失性的闪存卡,并且包含只就绪的序列数据(图7)。每个序列数据块包括一系列命令指令。所述序列数据块的大小是可扩展的,但是当前包含的最大值是160个命令指令。仅仅举例来说,每一单个序列命令指令包括6字节的数据,如图8所示。图9提供了负载存储器22中的序列数据块的例子,示出了三个序列命令、也就是序列命令#1、#2和#3。
所述工作存储器24是有限大小的CPU内易失性数据。为每一处理线提供唯一的当前序列数据块和子序列数据块(参见图10)。所述子序列数据块基本上是内部循环或者宏指令,其由序列数据块调用以便执行任何重复的功能。当前序列数据PLx块的大小大到足以处理一个命令指令(6字节)。当前执行的命令保留在此块中,直到完全执行为止。
根据特定的应用程序,即待由PLC控制的过程,所述配置程序员使用软件工具来选择在所述过程中哪些选择码(遍及此说明书也称为“操作码”)将有效。仅仅举例来说,当前存在96个可利用的选择码,这些选择码可用于配置所述PLC以便对特定过程提供特定控制。由此,在把特定的PLC配置递送给用户以前,配置程序员选择控制特定用户过程所必需的那些选择码(从全体96个可利用的选择码中选)。“选择一个选项”的代码牵涉编码命令结构的最后两个字节,以便当由翻译器评估这两个最后的字节时,它们都可以评估为“真”。如果这最后两个字节仅之一没有被评估为“真”,那么不执行与它们相关联的命令。反之,如果这两个字节都被评估为“真”,那么执行相关联的命令。以这样的方式,不必把96个全体选择码添加到实际软件中或从其删掉;相反,通过使用操作码评估来允许或者禁止它们。图11A-11C形成用于提供特定过程配置的选择码示例性列表的图。正如可以看到的那样,所有选择码都可利用,并且这些选择码可以归配置程序员负责以便选择哪些选择码将要被实现。正如还应该理解的那样,可以给每一选择码指定唯一的十六进制的值用于“是”或者“否”。
图12提供了在执行本申请的发明的过程中PLC翻译器操作的流程图。
当开始序列时,把第一命令指令(包括6字节)从负载存储器22的适当序列数据块中复制到工作存储器24中的相应处理线的数据块。图6中给出了序列命令结构的格式。当所述序列翻译器运行(即,每次扫描)时,所述翻译器试图执行此本地数据块中的命令。
评估所述命令结构的最后两个字节OpCode1和OpCode2,以便确定所述命令是应该运行还是跳过;参见图8和9。为了使命令被执行,两个操作码参数必须都为真。这些参数包含涉及由配置程序员使用以便确定选项当前是否存在于系统中的选择码的值。具有零(0)值的操作码表明参数没有被使用并且将始终评估为真。仅仅举例来说,当前存在96个可以利用的选择码来用于配置所述软件。
如果所述操作码检验评估为真,那么由序列翻译器执行所述命令。反之,如果所述操作码检验评估为假,那么不执行所述命令。
所述序列翻译器把两个布尔参数返回至调用功能;它们是SeqStepResult和SeqEndResult。SeqStepResult表明所述命令(步骤)是否已经完成。某些命令将采用多次的CPU扫描来完成,并且将返回假的SeqStepResult,直到它最终完成所述命令。当接收到真的SeqStepResult时,序列命令被加1以进入下一步,同时假的SeqStepResult将防止下一命令被检索并且被评估。所述SeqEndResult表明已经到达序列的末尾。当此参数为真时,所述序列翻译器停止评估用于此处理线的命令。
每当CPU扫描时,处理线指标变量被加1。当达到最大处理线时,所述处理线变量指标返回到处理线1。假定对于每一处理线正在运行序列,那么序列翻译器首先评估处理线1的当前命令。当进行下一扫描时,序列翻译器评估下一处理线的当前命令。这继续到最后的处理线,在此期间,所述序列翻译器在下一CPU扫描时返回到处理线1。
使用本发明的系统和方法提供了如下的额外利益-更低的系统存储器需求转化为更低的系统成本;-对系统的操作修改不必由PLC程序员进行;-序列翻译器逻辑是可移植的并且可以在其它生产线上再次使用;-可以集中配置数据以便适应所有系统选项(主模板);-把配置数据封装到n个数据块中,这样容易进行存储、确认和修订控制;-可以检测到无效的命令指令并且采用了后续适当的错误处理措施;-可以在不修改现有的、已测试的底层逻辑代码的情况下来实现将来的改变;-可以在不影响工作存储器的情况下添加额外的序列逻辑块;-可以根据需要扩展或者增强序列翻译器命令表;-序列逻辑可以被编程一次以便处理所有可能的选项和配置;并且-可以经由简单的布尔变量来允许或者禁止各个逻辑指令(选择码)。这在运行时被执行。
最初的努力已经表明此方法允许利用当前硬件设置来实现用于VMB 2A(特别是8条的VMB 2A,其中8指的是8个单个的流线)的MC内室和代码设置,同时保留所述受让人的控制器系列的最大灵活性。
此类方法朝向序列至数据块的集成的切换应该允许使用当前的硬件平台而不是要求使用大型PLC来装配8条的VMB 2A。由于可以把一个控制器用于气体内室和8条的VMB两者,所以这样进一步减少了制造过程所需的零件数目。此方法还可以允许扩展使用现有的编辑器作为配置的基础,这样将减少制造配置所需的再训练量。
虽然已经依照细节并且参照本发明的特定例子说明了本发明,但是本领域中普通技术人员显而易见的是,在不脱离本发明精神和范围的情况下,可以做出各种改变和修改。
权利要求
1.一种用于使用可编程逻辑控制器(PLC)控制过程的方法,所述可编程逻辑控制器具有中央处理单元(CPU),所述中央处理单元包括存储控制所述过程所需的所有指令和数据的负载存储器,并且包括评估并且执行工作存储器中的指令以便控制所述过程的翻译器,所述方法包括以下步骤(a)创建包括一种格式的指令,所述格式包括至少一个选择码,所述选择码按照允许或者禁止来编码;(b)把一个指令从所述负载存储器复制到所述工作存储器;(c)由所述翻译器评估所述至少一个选择码以便确定所述选择码是否为真;(d)如果所述翻译器评估所述选择码为真那么执行所述指令,或者如果所述翻译器评估所述选择码为假那么不执行所述指令并且如果是这样的话把下一指令从所述负载存储器复制到所述工作存储器并且对此下一指令重复步骤(c);(e)察看其选择码已经评估为真的所述指令是否已经完成,并且如果没有的话继续执行所述指令以完成;并且(f)如果其选择码已经评估为真的所述指令已经完成,那么重复步骤(b)一(f),直到所有所述指令已经被评估并且被执行为止,其中相应指令中的所述至少一个选择码的评估已经被确定为真。
2.如权利要求1所述的方法,其中用于创建指令的所述步骤包括生成序列数据块,每一序列数据块包括在控制过程中实现唯一序列或者事件所需要的一系列指令。
3.如权利要求1所述的方法,其中所述格式包括两个选择码,其中所述选择码的每一个均按照允许或者禁止来编码,并且其中执行所述指令的所述步骤只有当所述翻译器评估两个所述选择码都为真时才执行,并且如果至少一个所述选择码被评估为假时不执行所述指令。
4.如权利要求1所述的方法,其中所述指令的每个均包括预定数量的字节。
5.如权利要求4所述的方法,其中所述预定数量的字节包括6个字节。
6.如权利要求5所述的方法,其中所述格式除所述至少一个选择码以外还包括多个参数,每个所述参数以及所述至少一个选择码在大小方面是一个字节。
7.如权利要求1所述的方法,其中零的选择码始终被所述翻译器评估为真。
8.如权利要求1所述的方法,其中所述过程是气流过程,并且其中所述PLC控制气体内室中的处理装备。
9.一种用于控制与其结合的过程的可编程逻辑控制器(PLC),所述PLC包括中央处理单元(CPU),所述中央处理单元包括存储控制所述过程所需的所有指令和数据的负载存储器,并且包括评估并且执行工作存储器中的指令以便控制所述过程的翻译器,所述PLC包括包含只读指令的所述负载存储器,其中每一指令均包括一种格式,所述格式包括按照允许或禁止编码的至少一个选择码;每次只接收一个指令的所述工作存储器,所述翻译器评估所述至少一个选择码以便确定所述至少一个选择码是否为真,并且如果所述至少一个选择码为真那么执行所述一个指令,或者如果所述至少一个选择码被评估为假那么接收下一指令。
10.如权利要求9所述的可编程逻辑控制器,其中所述负载存储器包括序列数据块,每一序列数据块包括在控制过程中实现唯一序列或者事件所需要的一系列指令。
11.如权利要求9所述的可编程逻辑控制器,其中所述格式包括两个选择码,其中每一选择码均按照允许或者禁止来编码,并且其中只有当两个选择码都被评估为真时,所述翻译器才执行相应的指令,并且如果所述先前指令的至少一个所述选择码被评估为假,那么所述翻译器评估下一指令。
12.如权利要求9所述的可编程逻辑控制器,其中所述负载存储器是非易失性的闪存卡。
13.如权利要求9所述的可编程逻辑控制器,其中所述指令的每个均包括预定数量的字节。
14.如权利要求13所述的可编程逻辑控制器,其中所述预定数量的字节包括6个字节。
15.如权利要求14所述的可编程逻辑控制器,其中所述格式除所述至少一个选择码以外还包括多个参数,每个所述参数以及所述至少一个选择码在大小方面是一个字节。
16.如权利要求9所述的可编程逻辑控制器,其中零的选择码始终被所述翻译器评估为真。
17.如权利要求9所述的可编程逻辑控制器,还包括允许程序员允许或者禁止每一选择码的输入/输出装置。
18.如权利要求17所述的可编程逻辑控制器,其中所述输入/输出装置是触摸屏板。
全文摘要
可编程逻辑控制器(PLC)的工作存储器每次只从PLC的负载存储器加载一个指令,所述负载存储器包含用于控制过程的整个指令集。每一指令具有包含至少一个选择码的格式,在执行相应的指令之前所述选择码必须由PLC翻译器评估为真。如果翻译器评估该至少一个选择码为假,那么不执行所述指令,而是从负载存储器向工作存储器转送下一指令并且然后评估其相应的选择码。
文档编号G05B15/02GK1782934SQ20051012850
公开日2006年6月7日 申请日期2005年11月30日 优先权日2004年11月30日
发明者W·J·达西, J·范鲍尔 申请人:气体产品与化学公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1