批次控制系统按照字面理解可知生产过程是按照一批一批的方式进行的,英文是Batch Control System。中文也是根据这个翻译过来的。主要应用的行业有制药行业,食品饮料,精细化工和涂料行业。相信大家都有过买饮料或买药的经历,那么这些商品上面不仅会显示生产日期,有效期,同时也都会显示批号的,或者叫批次号,代表是那个批次生产出来的。如果有质量问题也便于产品的追溯和原材料溯源。批号英文一般用lot No.或者Lot Number来表示。
下面拿大家时不时都想喝点的可乐来举例,有原味的可乐,0卡路里可乐,苹果味可乐以及我最近刚刚品尝过的咖啡可乐等等。可以说是多种多样。那么针对每一个种类的可乐来讲里面的配料是不同的,咖啡味的需要往可乐里加一定比例咖啡,其他的可乐就不需要。但是水, 二氧化碳,糖以及其他的香精等原材料,但是不同类型的可乐那么原材料的比例是不一样。那这个就是配方了。不同类型的产品用不同的配方。同一个产品的配方每次生产就是一个批次,就会有一个批次号。
那么为了实现这种批次生产而部署的控制系统就是批次控制系统了。
随着社会进步,大家对新产品的需求变化非常快,尤其是现在大家追求个性,都想有自己唯一的订制化产品。所以批次生产由之前的大批量少种类逐渐向小批量多种类的方式进行转变。
批次生产中面对复杂的工艺,种类繁多的原材料,再加上产品种类繁多且多变,这时就会会大量的配方出现,并且还需要不断的创建,更新和维护。同时还需要有原材料溯源,产品溯源,批次生产报表等等需求,如果仍然采用传统的PLC控制显然是不能满足这种不断变化的需求的。这时就需要上一套批次控制系统了。
02 批次控制系统标准批次控制早在1995年美国国家标准协会就发表了批次Batch标准了:ANSI/ISA-88。也就是大家常说的S88标准。
在标准里定义了几个标准模型如下:
Physical model 物理模型
在物理模型里定义了几个层级上图所示,具体描述如下:
- Enterprise 企业层 ----商业层面的企业
- site 工厂层 ---企业可能有一个或多个工厂
- Area 区域层---工厂里可能有多个生产区域上面这三个层级不是批次控制考虑的范畴,但是为了物理模型的完整性,列出来。批次控制系统涉及到的是区域往下的层级。
- Cell车间层---生产区域内可能有多个车间
- Unit单元 -- 在车间里可能有一个或多个生产单元,比如一个生产缸可以当做一个单元,车间里多个单元可能还有上下游关系或者并行关系。
- Equipment Module 设备模块 ---简称EM模块,一个Unit生产缸里可能会包含一个或者多个EM模块,甚至EM模块也可以包含EM模块。EM模块又称之为工艺模块,相当于执行的是一个工艺动作。
- Control Module 控制模块--- 简称CM模块,控制模块,是最基础的控制单元,如一个阀门,一个泵,一个仪表,一个称重单元都可以称之为一个控制模块。同时一个CM也可以包含其他CM控制模块。
EM设备模块再解释下啊,比如在一个Unit单元生产缸里有多个工艺动作,比如需要加水,加糖,加香精,搅拌以及QA质量检测,出料都是工艺动作,这样每种类型的工艺动作可以作为一个EM设备模块。如加一定重量的水可以作为一个设备EM模块,需要控制的控制设备有生产缸进水阀门CM,出水泵CM,称重的CM以及其他的CM等等。
这样就不是单纯某个设备了,而是根据工艺的要求在一定的步骤开对应的阀门,泵并且计算重量是否达到目标,以及加完后需要计算误差值以及误差是否在容许范围内等等。这就是一个设备模块EM。
Procedural control 程序控制模型Procedural control程序控制模块是以设备控制模块为导向的控制模块,也就是以一个个的工艺动作模块为导向的控制方式。模型如下:
程序模块模型包含四部分内容:
- Procedure 总程序 ---如做可乐就是一个总程序
- Unit Procedure 单元程序---- 单元程序就是做整个产品里一些部分的程序
- Operation 操作---在一个单元程序里可能有一个或多个操作
- Phase 阶段---每个操作里可能需要一个或者多个的工艺动作
配方主要分为四个大类:
- General Recipe 总体配方,企业级配方,没有特定的设备信息只标识是那种产品
- Site Recipe 工厂配方,针对一个特定的工厂的产品配方
- Master recipe 主配方,是会标识到实际调用那个设备的配方
- Control Recipe 控制配置,从主配方中拷贝配方并且实际运行的配方就是控制配置。
在实际的工厂应用中编辑和修改最多的就是master recipe主配方,每个主配方都包含以下几个方面:
- Recipe Procedure 主配方信息---每个产品包含一个主配方
- Recipe Unit Procedure 单元配方---每个主配方里可能会包含多个单元配方
- Recipe Operation 操作配方---每个单元里可能包含一个或者多个操作配方
- Recipe Phase 单元阶段---每个操作配方里可能包含多个阶段
下面这个图应该算是S88里毕竟精髓的一个图了,从左边的流程模块然后对应为配方模型,最终在通过物理模型进行实现。
物理模型再跟PLC系统进行通讯,完成最终的设备模型控制。所以在PLC里和批次控制模型里最基础的控制单元就是Phase以及对应物理模型里的设备模块。
03批次控制标准与MES标准里物理模型对比MES是Manufacturing Execution System生产执行系统的简称,和本文主题相比楼稍微有点歪,但是也有点联系,所以就放在一起加深巩固下S88模型的知识吧。MES系统执行的标准的ANSI/ISA 95标准。他在里面也定义了很多的模型,这里仅仅展示和S88批次控制相关的物理模型进行一个说明。
由上图可见,批次控制的S88标准只是定义了一个批次控制的模型,而S95的标准定义了所有的控制类型除批次控制外,还有其他的连续控制,离散控制。
这里的第2层可以理解为是SCADA监视层,第一层为PLC控制系统层,第0层为具体的现场设备层。
ISA95标准里主要是定义第三层里生产操作&控制的模型,和本文主题不太相关就不做过多阐述。放个图感兴趣的可以自己看下研究下。
*** 图片来自网络,如有侵权请联系删除***
同时在最新章节里还定义了第四层ERP层与第三层MES的接口部分。
跟S88里的物理模型图和对应如下所示
S88里的企业层,Site工厂层以及Area区域层对应S95标准里的第四层模型,
S88里的区域层,车间层和单元层对应S95里的第三层过程执行和操作层;
S88里的设备模块和控制模块在S95标准里还是在第2和1层。
04 S88实际应用介绍通过S88的标准里定义的模型可以看出Phase作为一个基础的模型,在程序控制流程,配方类型和物理设备模型里是最最重要和基础的一个模块,他们几个模型之间都是通过Phase进行串联起来的。
下面拿在批次控制领域里领先的解决方案提供商Rockwell罗克韦尔的FactoryTalk Batch软件来进行一个火锅底料的生产来举例。
Batch Equipment Editor 设备编辑器在FT Batch中首先有一个Equipment Editor设备编辑器,对应S88里的物理模型,可以进行Area区域编辑,Cell车间编辑,同时车间是可以基于Class类的方式进行。如创建一个火锅底料的车间类,然后还要创建一个火锅料区1。
点击下一级箭头就可以进入Unit单元的编辑,这里创建一个guo锅的单元类,然后右边实例一口guo1,guo2。如果你有多口锅就可以多创建几个即可,非常方便。
Unit再下一级就是EM设备控制模块,也就是对应配方模型和程序流程模型的Phase。Phase也可以创建为class类,然后在不同的Unit里直接实例对应的Phase即可。
如上图在火锅底料的生产中可能涉及到的EM模块有
- JIAOBAN 搅拌phase
- GANLANYOU 添加橄榄油phase
- NIUYOU 添加牛油Phase
- SHUI 加水Phase
- JIARE 加热保持温度Phase
- SHOUDONG 手动添加香精Phase
- QA 质量检测Phase
- CHULIAO 出料Phase
- QINGXI 最后清洗Phase
打开任意一个EM模块如加水1可以看到每个EM模块里会包含这个Phase的所有参数和报告属性。
如SP_WEIGHT是设定添加的重量,而ACT_WEIGHT则是添加完成后实际添加的重量,DIFF_PERCENT是添加的误差百分数等等参数。同时这些参数会自动在程序中创建。工程师需要做的只是一个同步按钮操作而已。
程序和批次设备编辑器的同步操作如下,然后选择更新程序或者更新设备编辑器即可。
批次软件与PLC的通讯除了直接与AB系列的PLC进行CIP的通讯外,也可以采用OPC的方式与其他的PLC进行通讯。
同时通过设备编辑器可以快速的进行配方编辑器界面,也就是下一个小节介绍的内容。
Batch Recipe Editor 配方编辑器通过FactoryTalk Batch Recipe Editor批次配方编辑器可以配方,这里的配方结构与S88里配方结构是一样的,这里定义的就是Master recipe主配方,然后主配方里包含一个或者多个Unit单元配方,单元配方里包含Operation Recipe操作程序配方,最后在操作配方里会包含多个Phase块。和之前在设备编辑器里定义的类是一样的,如shui--加水的Phase,NIUYOU---添加牛油Phase等等。
在配方编辑器里不仅可以顺序执行,还可以用并行执行和条件选择执行。
主配方的header头部信息,用于定义产品名称和描述,以及其他的一些描述信息。
FactoryTalk Batch View
通过FT Batch View软件可以监视创建批次生产,控制和监视批次生产状态。
可以通过右边的 号创建批次生产,然后选择具体的配方,点击OK即可。
如下图使用biantaila的配方创建了一个biantaila_20200829的批次生产,选择用GUO1的一号锅进行生产。批次大小为100%。
可以选择具体的批次进行批次的控制和监视。可以按照SFC的进行监视,也可以按照Table表的方式进行监视。
批次的运行界面以及其他的控制界面
还可以支持Phase 手动控制以及查看状态信息。
通过这个软件除了可以看这些信息外还可以看日志信息,未确认的提示信息,签名信息,报警信息等等。
上述的FactoryTalk Batch View软件里这些功能均可以通过ActiveX控件的方式嵌入到SCADA上位机中进行显示和控制。如在Rockwell的SCADA软件中进行显示的界面如下:
FT Batch的其他服务
Batch Service Manager 批次服务管理器控制批次服务器以及数据收集服务器,电子流程Web服务器的启动停止或者暂停。
FT Batch Material Editor软件提供了对原材料的管理以及储罐的管理,方便后期原材料的追溯。
FT Batch提供的报表服务可用于批次生产的分析,批次生产统计,批次生产详情,原材料使用分析以及前向和反向的追溯等等预定义的报表服务。
BatchSystemStatus这个零费用增值软件可以将批次软件的批次信息传送到PLC中进行存储,处理和使用。
05 S88在程序里的实现
在设备编辑器里编辑完成了,同时也同步完毕了,那么在Batch的设备编辑器里所有的Equipment Phase都同步到程序里。同步后处理全部放在规划的任务里所示如下:
通过图可见Batch软件里每个Phase都在程序里对应的有一个Phase类型的程序块,为了方便调试和维护将不同的Unit放在不同的任务里。
打开加水1的块可以看到他的属性,如Equipment ID:6也是跟batch 设备管理软件里是一一对应的。
程序里shui1的标签也是跟Batch软件里的一一对应的如下图所示:
在程序里每个Phase对应一个Equipment Module,然后每个Equipment Module设备模块根据工艺要求控制一个或者多个Control Module控制模块。控制模块控制着具体设备的打开关闭或启动停止。
06 Phase状态机模型相信各位看官也看到了在SHUI1的Phase程序里有很多的程序段,包括Running,Aborting,Holding等等的程序,那这些也是在S88的标准里定义好的状态机模型。通过Studio/RSLogix 5000软件里直接集成了Equipment Phase Monitor的功能,可以非常直观的看到当前Phase所处的状态。并且还可以获取权限来手动的控制Phase的执行。
通过上图的Phase的状态机监视以及S88的标准可知:
- 一个Phase控制工艺块初始的状态为idle空闲状态。
- 当在idle空闲状态有start命令时会进行到Running的运行程序段中,这个是中间运行状态,
- 没有其他命令会自动执行到Complete完成状态。
- Runing程序执行过程中有Hold暂停命令会跳转去执行Holding的程序段,这也是中间状态,Hold完成后会跳转到Held的状态
- Held之后可以通过Restart重启命令会去执行Restarting的程序段,恢复完成后继续返回Runing程序段执行
- Restarting的程序执行中还可以执行Hold暂停命令继续跳回执行Holding程序,最终回到Held状态
- 程序Runing运行或Hold过程中有Stop结束命令则会跳转到stopping的程序段执行停止程序,停止完成后切换到Stopped状态
- 程序Runing运行或Hold过程中有Abort放弃命令则会跳转到Aborting的程序段执行放弃程序,放弃完成后切换到Aborted状态
- 不管是在Complete完成状态、Stopped状态还是Aborted状态都需要通过Rest复位命令执行Resetting程序段,执行完成后返回IDLE的状态。
- 在Running运行程序段执行时还可以执行pause 暂停命令进行运行过程中暂停,最终为Paused的状态,然后还可以通过Resume恢复命令继续返回running的程序执行。
Phase的状态机模型交叉矩阵表也可以直接参考S88里的对应表,如下:
,