一种SFC程序解释运行方法及装置制造方法及图纸

技术编号:16301185 阅读:34 留言:0更新日期:2017-09-26 19:15
本申请公开了一种SFC程序解释运行方法,包括:确定目标SFC程序;遍历所述目标SFC程序,以得到所述目标SFC程序中的所有元素及元素之间的逻辑关系;按照元素之间的逻辑关系依次运行每个元素对应的程序。本申请中无需再将SFC程序编译并下载到控制器执行,因此,本申请中即使工程规模再大,也不需要更多的控制器来支撑,降低工程复杂度的同时,不仅降低了系统维护的复杂度,还降低了工程成本。

Method and device for explaining operation of SFC program

The invention discloses an operation method of SFC program, including: target SFC program; and traversing the SFC programs, in order to get the logical relationship between all elements of the target SFC in the program and elements; according to the logic relation between elements in order to run each element corresponding to the program. In this application, then no SFC program is compiled and downloaded to the controller, therefore, in this application, even if the project size is bigger, also do not need more controllers to support, while reducing the complexity of the project, not only reduces the complexity of system maintenance, but also reduce the project cost.

【技术实现步骤摘要】
一种SFC程序解释运行方法及装置
本申请涉及自动控制领域,尤其涉及一种SFC程序解释运行方法及装置。
技术介绍
在工业控制领域中,尤其是精细化工行业,工程师在控制物品批量生产时,常采用顺序功能图(SequeentialFunctionChart,SFC)程序进行层次化结构设计,这样不但可以满足高度柔性的要求,提高设备的利用率和生产效率,而且能减少新品的面市时间,保证产品质量的一致性,降低维护成本。目前的SFC程序通常运行于下位机控制器中,现有的控制方法大体上是将编写好的SFC程序先编译成C代码,并再次编译生成二进制bin文件,下载到控制器中执行,例如,将bin文件下载到ECS-700控制系统中,该过程属于编译执行。但是,随着生产规模的不断扩大,由于单个控制器容量有限,其能够存储的bin文件数量有限,因此能够控制的设备或者程序数量有限,当工程规模较大时,需要多个控制器来共同工作,整个系统的实施工作量大,成本较高,并且,控制器的数量增加也在一定程度上增加了成本,提高了系统维护的复杂度。
技术实现思路
有鉴于此,本申请提供了一种SFC程序解释运行方法及装置,用以解决现有技术中运行SFC程序需要编译成bin文件,占用控制器容量的技术问题。本申请提供了一种SFC程序解释运行方法,包括:确定目标SFC程序;遍历所述目标SFC程序,以得到所述目标SFC程序中的所有元素及所述元素之间的逻辑关系;按照所述元素之间的逻辑关系依次运行每个所述元素对应的程序。上述方法,优选的,遍历所述目标SFC程序,以得到所述目标SFC程序中的所有元素及所述元素之间的逻辑关系,包括:对所述目标SFC程序进行元素遍历,以确定所述目标SFC程序中的所有元素,所述元素包括步、转换条件、选择分支、选择结点、并行分支以及并行结点对每个所述元素设置唯一标识,并记录每个所述元素的前置元素的标识和后续元素的标识,以所述标识表示所述元素之间的逻辑关系。上述方法,优选的,所述元素中的步具有激活位和完成位;当前步的激活位为第一标记值时表示当前步被激活,当前步的激活位为第二标记值时表示当前步没有被激活;当前步的完成位第一激活位时表示当前步的程序已运行完成,当前步的完成位为第二标记值时表示当前步的程序还未运行完成。上述方法,优选的,所述元素包括步、转换条件、选择分支、选择结点、并行分支以及并行结点;其中,按照所述元素之间的逻辑关系依次运行每个所述元素对应的程序,包括:确定所述元素中的起始步;调用所述起始步的程序,并基于所述元素之间的逻辑关系确定所述起始步的后续元素;如果所述后续元素为转换条件,则在所述转换条件被满足时,确定所述后续元素的后续元素;如果所述后续元素为选择分支,则基于所述选择分支上元素的逻辑关系,从左到右依次判断,运行第一个满足条件的目标子分支上的每个元素对应的程序,直到所述目标子分支对应的结点的前置元素对应的程序均被运行;如果所述后续元素为并行分支,则基于所述并行分支上元素的逻辑关系同时运行所述并行分支上每个子分支的每个元素对应的程序,直到每个所述子分支对应的结点的前置元素对应的程序均被运行;如果所述后续元素为结束步,则程序运行完成。上述方法,优选的,所述确定所述元素中的起始步骤,包括:确定所述激活位为第一标记值且所述完成位为第二标记值的元素为起始步。本申请还提供了一种SFC程序解释运行装置,包括:目标确定单元,用于确定目标SFC程序;程序遍历单元,用于遍历所述目标SFC程序,以得到所述目标SFC程序中的所有元素及所述元素之间的逻辑关系;程序调用单元,用于按照所述元素之间的逻辑关系依次运行每个所述元素对应的程序。上述装置,优选的,所述程序遍历单元包括:元素遍历子单元,用于对所述目标SFC程序进行元素遍历,以确定所述目标SFC程序中的所有元素,所述元素包括步、转换条件、选择分支、选择节点、并行分支以及并行节点;元素编码子单元,用于对每个所述元素设置唯一标识,并记录每个元素的前置元素的标识和后续元素的标识,以所述标识表示所述元素之间的逻辑关系。上述装置,优选的,所述元素中的步具有激活位和完成位;当前步的激活位为第一标记值时表示当前步被激活,当前步的激活位为第二标记值时表示当前步没有被激活;当前步的完成位第一激活位时表示当前步的程序已运行完成,当前步的完成位为第二标记值时表示当前步的程序还未运行完成。上述装置,优选的,所述元素包括步、转换条件、选择分支、选择节点、并行分支以及并行节点;其中,所述程序调用单元包括:起始确定子单元,用于确定所述元素中的起始步;代码调用子单元,用于调用所述起始步的程序;后续确定子单元,用于基于所述元素之间的逻辑关系确定所述起始步的后续元素;转换判断子单元,用于如果所述后续元素为转换条件,则在所述转换条件被满足时,确定所述后续元素的后续元素;选择分支调用子单元,用于如果所述后续元素为选择分支,则基于所述选择分支上元素的逻辑关系,从左到右依次判断,运行第一个满足条件的上目标子分支上的每个元素对应的程序,直到所述目标子分支对应的结点的前置元素对应的程序均被运行;并行分支调用子单元,用于如果所述后续元素为并行分支,则基于所述并行分支上元素的逻辑关系同时运行所述并行分支上每个子分支的每个元素对应的程序,直到每个所述子分支对应的结点的前置元素对应的程序均被运行;结束调用子单元,用于如果所述后续元素为结束步,则程序运行完成。上述装置,优选的,所述起始确定子单元具体用于:确定所述激活位为第一标记值且所述完成位为第二标记值的元素为起始步。经由上述的技术方案可知,本申请提供的一种SFC程序解释运行方法及装置,通过对需要运行的目标SFC程序进行遍历,得到目标SFC程序中的元素及元素之间的逻辑关系,进而能够按照元素之间的逻辑关系依次调用所述目标SFC程序中每个元素对应的程序,实现对SFC程序的解释运行,而这一过程中,由上位机基于SFC程序的特点对SFC程序进行解释运行,而无需再将SFC程序编译并下载到下位机控制器执行,因此,本申请中即使工程规模再大,也不需要更多的控制器来支撑,降低工程复杂度的同时,不仅降低了系统维护的复杂度,还降低了工程成本。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例一提供的一种SFC程序解释运行方法的流程图;图2为本申请实施例二提供的一种SFC程序解释运行方法的部分流程图;图3为本申请实施例的应用示例图;图4为本申请实施例三提供的一种SFC程序解释运行方法的部分流程图;图5为本申请实施例的另一应用示例图;图6为本申请实施例四提供的一种SFC程序解释运行装置的结构示意图;图7为本申请实施例五提供的一种SFC程序解释运行装置的部分结构示意图;图8为本申请实施例六提供的一种SFC程序解释运行装置的部分结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普本文档来自技高网...
一种SFC程序解释运行方法及装置

【技术保护点】
一种SFC程序解释运行方法,其特征在于,包括:确定目标SFC程序;遍历所述目标SFC程序,以得到所述目标SFC程序中的所有元素及所述元素之间的逻辑关系;按照所述元素之间的逻辑关系依次运行每个所述元素对应的程序。

【技术特征摘要】
1.一种SFC程序解释运行方法,其特征在于,包括:确定目标SFC程序;遍历所述目标SFC程序,以得到所述目标SFC程序中的所有元素及所述元素之间的逻辑关系;按照所述元素之间的逻辑关系依次运行每个所述元素对应的程序。2.根据权利要求1所述的方法,其特征在于,遍历所述目标SFC程序,以得到所述目标SFC程序中的所有元素及所述元素之间的逻辑关系,包括:对所述目标SFC程序进行元素遍历,以确定所述目标SFC程序中的所有元素,所述元素包括步、转换条件、选择分支、选择结点、并行分支以及并行结点;对每个所述元素设置唯一标识,并记录每个所述元素的前置元素的标识和后续元素的标识,以所述标识表示所述元素之间的逻辑关系。3.根据权利要求2所述的方法,其特征在于,所述元素中的步具有激活位和完成位;当前步的激活位为第一标记值时表示当前步被激活,当前步的激活位为第二标记值时表示当前步没有被激活;当前步的完成位第一激活位时表示当前步的程序已运行完成,当前步的完成位为第二标记值时表示当前步的程序还未运行完成。4.根据权利要求3所述的方法,其特征在于,所述元素包括步、转换条件、选择分支、选择结点、并行分支以及并行结点;其中,按照所述元素之间的逻辑关系依次运行每个所述元素对应的程序,包括:确定所述元素中的起始步;调用所述起始步的程序,并基于所述元素之间的逻辑关系确定所述起始步的后续元素;如果所述后续元素为转换条件,则在所述转换条件被满足时,确定所述后续元素的后续元素;如果所述后续元素为选择分支,则基于所述选择分支上元素的逻辑关系,从左到右依次判断,运行第一个满足条件的目标子分支上的每个元素对应的程序,直到所述目标子分支对应的结点的前置元素对应的程序均被运行;如果所述后续元素为并行分支,则基于所述并行分支上元素的逻辑关系同时运行所述并行分支上每个子分支的每个元素对应的程序,直到每个所述子分支对应的结点的前置元素对应的程序均被运行;如果所述后续元素为结束步,则程序运行完成。5.根据权利要求4所述的方法,其特征在于,所述确定所述元素中的起始步,包括:确定所述激活位为第一标记值且所述完成位为第二标记值的元素为起始步。6.一种SFC程序解释运行装置,其特征在于,包括:目标确定单...

【专利技术属性】
技术研发人员:史国芳曹远恩章凌周康韵韦群跃
申请(专利权)人:浙江中控技术股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1