什么是状态控制/ ISA-106程序控制?
In the first blog “基于状态的控制:工业自动化的下一步,“我讨论了自动化行业如何将基于国家的控制作为提高利润率和降低风险的下一步. 在这里,我们稍微深入一点,以完全理解基于状态的控制.
操作任何加工设备, 自动化工业严重依赖于程序, 例如用于基于状态的控制的ISA-106标准(在撰写本文时正在开发中). 这些本质上是用于启动、运行和关闭进程单元的指令集. 这些过程通常被组织成操作符用来执行特定功能的步骤, 通常是将流程从一个状态移动到另一个状态. 下面是精馏塔主程序的简化示例. 每个步骤本身可以是一个过程,详细说明在每个步骤中需要做什么.
Step | Actions |
---|---|
Wait | The process is idle. |
Fill | 操作人员排列流程,将需要蒸馏的物料送入塔内. 在底部液位达到低位报警点之前,设备将一直保持此步骤. |
Heat up | 操作员将蒸汽排到再沸器中,并开始加热. |
Reflux | 一旦回流鼓的液位大于其低液位报警点, 操作使回流泵排好线,并开始将进料回流回塔. |
Run | 一旦产品流符合规格,它们就会被转发到下一个操作单元. |
通常,程序会对每个活动都有非常详细的分步说明. In our example, 我们将只捕获主要步骤,然后使用它们来自动启动. 虽然很多程序性步骤可以自动化, such as pump swapping and line up, 我们将把对话限制在基本的步骤和活动上. 对于进程中断和关闭也可以这样做.
使用过程启动或关闭通常非常耗时,并且需要大量的人工交互. 这增加了风险,降低了效率. 操作员需要检查每一步并亲自完成任务. 一次又一次地相乘, 很容易看出自动化这些任务可以节省多少时间. 控制系统一直在关注, 从不需要把任务交给别人,然后立即执行指令.
那么,让我们看看使用基于状态的控制我们的过程会是什么样子. 这个“步骤图”或顺序功能图(SFC)确定了过程中的主要步骤. 从一步移动到另一步需要一个过渡. 步骤表示流程的各种“状态”. 步骤之间的箭头是转换. 我们可以使用每个步骤(状态)来通知设施中的设备进程所处的状态, 然后每个设备可以决定它应该做什么.
通过将智能植入设备, 我们可以利用面向对象编程(稍后会详细介绍),通过根据进程的状态指示设备应该做什么,从而利用公共设备或对象来创建我们的程序. 换句话说,每个设备都按照步骤操作.
为了从一个步骤移动到另一个步骤,我们将使用“转换逻辑”.在我们的程序中,从填充步骤移动到加热步骤, 我们将feed排列到列中,然后当电平达到低电平报警点时, we advance to the Heat Up step.
为了打破这种情况,当填充步骤变为真值时,排列馈送的设备将打开,过渡将变为真值,并在电平达到低电平报警点时将SFC从填充移动到加热.
从逻辑上讲,这一切可能看起来像下面这样:
DO(Feed_BV) IF STEP(Fill) AND ' other logic '
PID_CNTL(Feed_enabled) IF STEP(Fill) AND ' other logic '
TRANS(FillToHeatup) IF LEVEL GT LEVEL_L AND STEP(Fill)
Previous
Next
每个步骤允许每个设备知道进程处于什么状态, 基于这个和其他逻辑, to act accordingly. 基于状态的控制允许将智能内置到每个设备中,从而实现更有效和更高效的操作. In this manner, 您的流程变得更加智能,因为它不仅知道在“运行状态”期间要做什么,’ it can also handle startup, shutdown and many other states.