在SIMATIC PCS 7系统的功能基础上进行了扩展的CEMAT系统可以满足水泥行业的任何需求。CEMAT保留了SIMATIC PCS 7的全部特性与功能,并新增了一些设备运行和故障诊断方面的管理功能。在V8.0版本中还涵盖了矿产自动化标准MINERALS AUTOMATION STANDARD (MinAS) V8.0,该标准专门用于满足采矿业方面的需求,具有典型PCS 7高级过程库(Advanced Process Library,APL)的外观和感觉,还有许多新增功能,例如:电源管理、组/驱动系统全局通信、在线曲线选择功能等。
CEMAT的安装和配置参考文档:n
CEMAT V8.0使用入门-安装和配置n http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0721 |
1. 功能块基础
组功能块C_GROUP (FB1010)是用于启动和停止工艺分组的上级模块,通过将工艺组的所有驱动器、消息和测量值链接到组模块。在组功能块面板上点击启停按钮就可以完成按照工艺连锁顺序启停运行组内的驱动器,同时在组功能块的块图标上显示故障和警告的汇总指示,并可在发生故障时中断启动过程。功能块的“Diagnosis“面板显示当前模块的状态和参数值;”Object list“面板显示了所有属于运行组的对象,包括驱动器、消息和测量值,所有对象都带有状态、变量名和注释;“Status call“面板可显示运行组现有的错误,报警。n
从项目的主数据库中调用该功能块,如下图所示:n
图1‑1 C_GROUP功能块调用n
1.1 功能块IO
功能块的主要IO管脚功能描述如下图所示:n
图1‑2 C_GROUP主要IO管脚说明n
常用管脚的功能描述如下表所示:n
表1‑1功能块常用管脚说明n
功能块管脚 | 描述 | 应用 |
StartMan/StopMan | 手动启动 | 通过现场操作按钮启动运行组 |
StartAut/StopAut | 自动启动 | 通过程序互联启动运行组 |
PushBuEn | 现场控制使能 | 使能现场操作台控制 |
IntStart | 启动互锁 | 用于设备之间的连锁,适用于启动阶段 |
IntOper | 操作互锁 | 用于设备之间的连锁,适用于启动和运行阶段 |
IntSwOff | 停止互锁 | 运行组停止连锁,=1运行操作员面板停止运行组 |
FbObjOn/FbObjOff | 状态返回 | 监控运行组设备的运行状态 |
FbObjLoc/FbObjMan | 操作模式 | 运行组内设备的操作模式 |
WarnTi | 警告时间 | 设定启动运行组时报警时间 |
CmdOn | 启动输出 | 启动输出,控制运行组内的设备启动 |
PeCmdOff | 停止输出 | 停止输出,控制运行组内的设备停止 |
RunSig/OffSig | 功能块状态 | 运行组运行/停止状态,用于主控组控制多个分组 |
QuickStp | 急停输入 | 通过程序控制运行组急停 |
QuickStpQ | 急停输出 | 控制运行组内的设备紧急停车 |
AutModOn | 自动模式输出 | 用于组功能块切换运行组内的设备的操作模式 |
G_Link | 运行组连接 | 将设备连接到运行组 |
1.2 块图标及面板
在CEMAT V8.0功能库中C_GROUP功能块可以使用3种类型的块图标,如下图所示:n
图1‑3 C_GROUP功能块块图标n
对于块图标中各个符号和颜色的含义如下所示:n
图1‑4组功能块块图标符号含义n
C_GROUP功能块的标准面板可以实现运行组的启停控制,并可以完成对运行组内设备的操作模式切换。标准面板如下图所示:n
图1‑5 C_GROUP块标准面板n
C_GROUP功能块的诊断面板显示当前组功能块的状态和参数值。在面板中显示过程联锁或保护联锁状态,如果连接了联锁模块,诊断对话框中的相应接口将标识为蓝色圆点,点击可以跳转到对应面板,以提供更多关于信号状态的详细信息。C_GROUP功能块的诊断面板如下所示:n
图1‑6组功能块诊断面板n
C_GROUP功能块的Objectlist面板显示所有分配给该组的驱动器、测量值和过程信号,并显示了对象的状态(启动、停止、错误)。如下图所示,第一次打开组实例列表时,此信息将从 AS 中读取,并通过保存按钮存储到用户归档中。再次打开此列表时,此信息将从用户归档中读取。n
图1‑7组功能块Objectlist 面板n
C_GROUP功能块的status call面板列出运行组所有现有故障、驱动器的警告或联锁条件、测量值以及与此组相关的过程信号。n
图1‑8组功能块status call 面板n
1.3 控制模式
在C_GROUP功能块的面板上能够显示工艺组内设备的操作模式,此操作模式并不是组功能块的操作模式,而是工艺组内各个设备的操作模式,如下图所示:工艺组内的四个设备模式分别为OoS、Man、Loc、Sim,在组功能块面板上显示四种状态。同时在组功能块面板上能可以操作员按钮实现工艺组内设备的操作模式的切换,包括自动没模式、手动模式、本地模式。n
图1‑9 C_GROUP模式显示n
C_GROUP功能块完成运行组内设备操作模式的切换可以通过两种方式实现:通过Mod管脚和G_Link管脚。n
· Mod管脚互联n
通过组功能块和驱动块管脚AutModOn、ManModOn、LocModOn的互联,由上升沿来切换驱动块的模式;通过FbObjLoc、FbObjMan、FbObjOoS来监控驱动块的模式输出manuAct、LocalAct、OosAct。功能块之间的互联如下图所示:n
图1‑10 C_GROUP和驱动块之间模式控制IO互联n
· G_Link连接n
组功能块和驱动块之间必须通过GR_LINK进行组连接,在设定对应的Featurebit之后,组连接可以实现组功能块切换组内驱动块的操作模式。组功能块和驱动块与操作模式相关的Featurebit和OS_Perm如下表所示,n
表1‑2与操作模式相关的Featuren
Featurebit | 功能描述 | 默认值 |
组功能块的Feature | ||
0 | 允许操作本地模式 | True |
13 | 允许操作手动模式 | True |
21 | 允许操作自动模式 | True |
23 | 允许模式切换 | True |
25 | 允许组连接GR_LINK控制模式切换 | True |
驱动块的Feature | ||
25 | 允许组连接GR_LINK 控制模式切换 | True |
26 | 允许组连接GR_LINK返回组内驱动块的操作模式 | True |
表1‑3与操作模式相关的OS_Permn
OS_Perm | 功能描述 | 默认值 |
0 | 1 = 允许操作员操作本地模式 | True |
1 | 1 =允许操作员操作手动模式 | True |
2 | 1 =允许操作员操作自动模式 | True |
10 | 1 =允许操作员启动运行组 | True |
11 | 1 =允许操作员停止运行组 | True |
12 | 1 =允许操作员中断运行组的启停 | True |
模式切换中需要注意以下几点:n
· AutModOn、ManModOn、LocModOn都是上升沿有效n
· 运行组面板上显示的是组内设备的操作模式。运行组内所有设备都在自动模式后,group功能块会显示为自动模式。组功能块面板上会显示Oos、Loc、Man状态,在块图标上显示自动、手动、本地三种状态中的最差状态。n
· Feature.bit25=1和Feature.bit26=1时,组连接生效,不需要再互联MOD管脚,n
· Feature.bit19=1,组功能块的启动命令StartAut从0à1会将组功能块的模式从手动模式和本地模式切换到自动模式,同时也会将驱动块从本地和手动切换到自动模式并启动驱动器n
CEMAT V8.0中驱动块支持三种操作模式:自动、手动、本地。自动模式下可以通过组功能块的面板控制工艺组的启停,在手动模式和本地模式需要对单个工艺块进行操作。三种模式的信息如下,n
- 自动模式:通过组功能块按照工艺连锁顺序启动和停止工艺组的设备。在组启动时,组模块会生成一个启动警告。在经过启动警告时间之后,所有相关连的驱动器将根据联锁条件顺序启动;组停止时,所有相关连的驱动器将根据联锁条件顺序停止。也可通过程序(通过过程条件)启动自动启动/停止。n
- 手动模式:通过驱动块的面板控制设备的启停,可单独启动/停止单个驱动器。在手动模式模式下只能按照连锁顺序设定的顺序来启动驱动器,驱动器模块本身将生成启动警告。在经过启动警告时间之后,才发出启动命令。
- 本地模式:驱动器可通过就地安装的开关按钮来控制,但开关信号必须连接至PLC。
1.4 功能块互锁
工艺组设备的运行需要相关的工艺连锁条件,在满足一定的条件后才允许启停驱动器。C_Gruop功能块提供三种类型的互锁信号:n
- 启动互锁(IntStart):驱动块的启动信号。仅在启动过程有效,即IntStart=1时允许启动组功能块;在运行过程中丢失该信号,不会导致设备停止。与启动组时所需的全部连锁条件相连;n
- 操作互锁(IntOper ):驱动块的操作互锁。在启动过程和运作中都有效,=1时允许启动运行组,=0时会停止运行组(不会产生报警)。必须确认通过此连锁的组关闭操作,否则组无法再次启动n
- 停止互锁(IntSwOff);驱动块的停止互锁。IntSwOff=0时不允许通过面板停止组。但可以通过急停和管脚StopAut可以停止允许组。
在IntStart=0或者IntOper=0时,不允许启动运行组,面板上提示信息如下图所示:n
图1‑11组功能块的互锁n
设置功能块的feature.bit14=1和OS_Perm.bit14=1后可以通过面板的“Interlock bypass”按钮旁路互锁。旁路互锁之后,IntStart=0和IntOper=0也可以启动运行组。如下图所示:n
图1‑12组功能块互锁旁路n
1.5 DEMO的软件及硬件测试环境
§ 计算机操作系统Windows 7 Ultimate 64位英文版n
§ PCS 7 V8.0 update1 英文版n
§ CEMAT V8.0n
§ CPU 417-4XL04 + CP443-1n
n
2. 功能块的基本操作
在自动模式下可以实现按照工艺连锁顺序启停设备。组功能块与控制相关的几个时间含义和功能如下,OS_Perm.bit31=1时(操作员需要有22权限)运行操作员在面板上修改时间,HiLiObTi只能在CFC中设置。n
- WarnTim:启动报警。设定工艺组启动时的报警时间。n
- WaitTim:启动延时。用于设定启动运行组的等待时间。n
- CoURelTi:启动命令CmdOn=1持续时间。设定工艺组启动输出命令持续时间,n
- CoDRelTi:停止命令PeCmdOff=1的持续时间。设定工艺组停止输出命令持续时间。n
- HiLiObTi:在组面板上点击“R”时,高亮显示该运行组的对象的时间。
组功能块的控制时序图如下图所示:n
图2‑1组功能块控制时序图n
· 发出组启动命令之后,功能块发出启动警告,此时输出WarnHAct=1,同时开始启动延时计时。(示例中WaitTim> WarnTim,如果WaitTim< WarnTim则在警告时间结束后功能块输出启动命令)。n
· 启动延时结束后功能块输出启动命令CmdOn=1和PeCmdOn=1,组内设备根据启动连锁条件顺序启动。n
· 组功能块监控运行组内的设备状态,组内的所有设备都运行后,组功能块的FbOjbOn=1,启动输出CmdOn=0,组启动过程完成。PeCmdOn=1会一直持续到组停止命令启动。如果在CoURelTi设定时间内未收到反馈FbOjbOn=1则功能块提示超时错误。n
· 在组命令启动到运行组完全运行期间(FbOjbOn=1),WarnLAct=1会一直持续,提示运行组在启动过程中。n
· 发出组停止命令后,功能块输出停止命令CmdOff=1和PeCmdOff=1,组内设备安装连锁条件顺序停止,CmdOff=1仅持续2S的时间。n
· 功能块监控运行组设备的运行状态,所有设备都停止运行后FbObjOff=1,停止输出PeComOff=0,组停止过程完成。如果在CoDRelTi设定时间内未检测到FbObjOff=1则功能块提示超时错误。n
· 在运行组发送组命令启动运行组处于激活状态,Active=1。一直持续到到运行组内设备都停止。n
组功能块可以通过面板操作运行组,也可以通过IO管脚操作。IO管脚分两组方式,StartAut/StopAut和StartMan/StopMan。n
2.1 面板手动启停
操作员可以通过C_GROUP功能块的面板上的“start”和“stop”按钮启停运行组。点击“Start”命令后会组功能块经历“start-up warning”、“waiting time”、“release time ”三个阶段。监控到反馈FbObjOn=1后,组启动完成,面板提示“Completely ruing”。如下图所示:n
图2‑2组功能块的启动过程n
如果在运行反馈监控时间内(CoURelTi)没有检测到FbObjOn=1,则面板上会提示启动未完成,同时记录启动超时错误,如下图所示:n
图2‑3组功能块启动反馈错误n
在自动模式下通过面板上的Stop按钮停止运行组。点击按钮后立即顺序执行停止运行组内设备,并开始停止计时,如下图所示。如果在设定时间内未检测到反馈信号FbObjOff=1,则提示停止超时错误。n
图2‑4手动模式停止运行组n
2.2 StartAut/StopAut自动启停
在连锁条件满足时,可以通过程序实现组功能块的启停控制,用于组功能块控制多个分组功能块。n
通过功能块IO管脚StartAut/StopAut来控制组功能块的启停。StartAut由0à1的上升沿启动运行组,Stop=1时停止运行组。下图所示,n
图2‑5自动模式下操作设备n
2.3 StartMan/StopMan本地启停
也能通过现场操作箱的控制按钮控制组功能块的启停,要求将现场的开关信号连接至PLC,通过PLC的输出控制运行组。n
通过功能块IO管脚StartMan/StopMan来控制组功能块的启停。StartMan在由0à1的上升沿启动运行组,StopMan=0停止运行组。需要功能块的IO管脚为PushBuEn=1和ConDeEn=1。如下图所示:n
图2‑6本地模式下操作设备n
2.4 Interrupt和Immediate Stop
在组功能块的标准面板上,操作员可以通过“Interrupt”按钮中断启动过程,并且通过Feature.bit29设置再次启动时是否发出启动警告。即Feature.bit29=0时,在启动过程中的“release time”阶段interrupt后,再次启动运行组时没有启动警告;Feature.bit29=1时,再次启动仍然会有启动警告。n
急停用于紧急状态下快速停止工艺组设备,操作员可以通过标准面板上的“Immediate stop”按钮实现急停,要求组功能块的急停输出QuickStpQ连接至驱动块的急停输入管脚QuickStp。在组功能块按下急停命令时,运行组的所有设备都同时停止,没有停止延时。n
n
3. 使用示例
以下通过两个简单的仿真示例介绍组功能块配置和使用。仿真示例中将驱动块的输出作为返回连接至驱动块和组功能块的输入反馈,同时仿真示例中仅配置了运行组的启停控制,并没有设备的故障处理和其他的连锁信息。n
3.1 组态一个运行组
示例中的运行组由四个驱动器DRV21(C_DRV_1D)、DRV22(C_DRV_2D)、DRV23(C_DAMPER)、DRV24(C_VALVE)和组功能块G2(C_GROUP)组成,按照工艺连锁驱动块的分布和启动顺序为DRV21àDRV22àDRV23àDRV24。为实现运行组内设备的顺序启动,需要将前端工序驱动块的运行信号RunSig连接至后端工序驱动块的IntOper管脚。同时要求DRV24停止后才能停止DRV23,需要将组停止信号PeCmdOff与后续驱动块的关闭位置进行逻辑处理后控制前端驱动块。示例程序中使用功能块FB1029(C_SIMDMP)来仿真驱动块DAMPER的运行。n
图3‑1组功能块的运行组示例n
需要注意功能块的运行组顺序,要求驱动块在组功能块之前。在完成功能块之间的连接之后需要对运行组的时序进行优化,自动优化如下图所示;也可以手动调整。n
功能块之间连接如下:n
- 运行组:C_GROUP.G_LINKàDRVxx.GR_LINK1n
- 启动控制命令:
C_GROUP.CmdOnà | DRV21.StartAut |
DRV22.StartAut | |
DRV23.StartAut2 | |
DRV24.StartAut |
- 顺序启动连锁:
DRV21.RunSigà | DRV22.IntOper |
DRV22.RunSigà | DRV23.IntOper1 |
DRV23.RunSigà | DRV24.IntOper1 |
- 驱动块仿真输出和反馈
驱动块 | 输出 | 反馈 |
DRV21 | ContOnà | FbkRun |
DRV22 | ContOn1à | FbkRun1 |
ContOn2à | FbkRun2 | |
DRV23 | ContOn1à | FbkRun1 + Sim.ContOn1 |
ContOn2à | FbkRun2 + Sim.ContOn1 | |
Sim.ContOn1à | FbkPos1 | |
Sim.ContOn1à | FbkPos2 | |
DRV24 | ContOnà | FbkPos1 |
ContOn取反à | FbkPos2 |
- 运行组反馈:连接组内驱动块的运行状态到组功能块
DRV21.RunSig | 逻辑与 | G1.FbObjOn |
DRV22.RunSig1 | ||
DRV23.PosSig1 | ||
DRV24.PosSig1 | ||
DRV21.RunSig | 逻辑与 | G1.FbObjOff |
DRV22.RunSig1取反 | ||
DRV23.PosSig2 | ||
DRV24.PosSig2 |
- 停止控制命令:
C_GROUP.PeCmdOffà | DRV24.StopAut |
PeCmdOff & DRV24.PosSig2à | DRV23.StartAut1 |
PeCmdOff & DRV23.PosSig2à | DRV23.StopAut |
CmdOff & !DRV22.RunSigà | PeDRV21.StopAut |
- 急停控制:C_GROUP.QuickStpQàDRV21.QuickStp,
C_GROUP.QuickStpQà | DRV21. QuickStp |
DRV22. QuickStp | |
DRV24. QuickStp |
实际应用中一个工艺组往往由很多设备组成,用一个组功能块控制时连锁多且程序复杂。此时可以将工艺组分成若干个分组,每个分组由一个C_GROUP块控制,用一个总C_GROUP块来控制各个分组功能块。这样分组之后,程序条理会更清晰,更容易编程。也便于设备的局部启停。n
总组功能块通过CmdOn/PeCmdOff连接分组功能块的StartAut/StopAut管脚实现分组的启停控制。需要注意StartAut信号是上升沿有效,在配置工艺组之间的顺序启停时要将总组的CmdOn和前端组功能运行信号RunSig逻辑处理后连接至后续组功能块的IntOper上。分组RunSig/OffSig管脚反馈运行组的状态,连接至总组的FbOjbOn/FbObjOff。n
3.2 配合C_ROUT功能块
C_Route功能块用于在工艺组中选择传输方向。例如,决定原料流动方向;在传输方向 1 与传输方向 2 使用不同的工厂对象。在运行过程中C_Route功能块以状态形式显示传输方向操作条件和详细的故障诊断信息。根据所选的传输方向,只触发组的某些驱动器。同样地,在显示组的操作条件时,也只分析属于所选传输方向的驱动器。因此,必须为所有属于该传输方向的驱动器、消息和测量值分配到C_Route,运行组命令首先连接到路由,然后由选中的路由向驱动器发送信号,驱动器的反馈通过所选路由传递到组。可通过OS面板或者程序来选择或取消选择路由。n
以下是一个C_GROUP和C_rout的配置示例。示例中包含一个组功能块G31(C_GROUP),两个路由功能块R31(C_Route)、R32(C_route),一个挡板块DRV32(C_Damp),两个单向电机块DRV31_A(C_DRV_1D)、DRV31_B(C_DRV_1D)。n
功能块之间的连接如图3‑3所示。需要注意功能块的运行组顺序,要求驱动块在路由功能块之前,最后才是组功能块。在完成功能块之间的连接后需要对功能块的运行时序进行优化,自动优化如图3‑2所示:n
图3‑3 C_GROUP和C_route之间的IO连接n
当选择路由块R31时,C_Damp功能块通过DRV31_A进行物料传送,在进行组启动时启动DRV31_A和DRV32。此时DRV31_B处理stop状态。如下图所示:n
图3‑4C_GROUP和C_route功能块块图标n
功能块之间连接如下:n
- 运行组
C_GROUP | C_Route | DRV | |
G31.G_LINKà | R31.G_LINK | R31.R_LINKà | DRV31_A.GR_LINK1 |
DRV32.GR_LINK1 | |||
R32.G_LINK | R32.R_LINKà | DRV31_B.GR_LINK1 | |
DRV32. GR_LINK2 |
- 启停控制
C_GROUP | C_Route | DRV | |
G31.CmdOnà | R31.StartAut | R31.CmdOnà | DRV31_A.StartAut |
DRV32.StartAut1 | |||
R32. StartAut | R32.CmdOnà | DRV31_B.StartAut | |
DRV32.StartAut2 | |||
G31.PeCmdOffà | R31.StopAut | R31.CmdOffà | DRV31_A.StopAut |
R32.StopAut | R32.CmdOffà | DRV32_A.StopAut |
- 工艺组连锁,通过APL功能库中的互锁块汇总G31的IntStart
R31.Select | R32.IntOper | ||
R32.Select | R31.IntOper | ||
DRV31_A.RunSigà | DRV32.IntOper1 | ||
DRV31_B.RunSigà | DRV32.IntOper2 | ||
R31.Selectà | G31_Intstart.In01 | G31_Intstart.Outà | G31.IntStart |
R32.Selectà | G31_Intstart.In02 |
- 功能块仿真
DRV31_A.ContOnà | DRV31_A.FbkRun | ||
DRV31_B.ContOnà | DRV31_B.FbkRun | ||
DRV32.ContOn1à | DRV32.FbkRun1 | ||
DRV32.ContOn2à | DRV32.FbkRun2 | ||
DRV32.ContOn1à | DRV32_sim.ContOn1 | DRV32_sim.FbkPos1à | DRV32.FbkPos1 |
DRV32.ContOn2à | DRV32_sim.ContOn2 | DRV32_sim.FbkPos2à | DRV32.FbkPos2 |
- 运行组反馈
DRV31_A.RunSig取反à | R31.FbObjOff |
DRV31_A.RunSig & DRV32.PosSig1 | R31.FbObjOn |
DRV31_B.RunSig取反à | R32.FbObjOff |
DRV31_B.RunSig & DRV32.PosSig2 | R32.FbObjOn |
R31.RunSig | R32.RunSig | G31.FbObjOn |
R31.OffSig | R32.OffSig | G31.FbObjOff |
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328966.html