资源描述
工业搅拌过程示例工业搅拌过程示例一、一、将过程分成任务和区域将过程分成任务和区域二、二、描述各个功能区描述各个功能区三、三、创建组态图创建组态图四、四、定义逻辑块定义逻辑块五、编程五、编程一、一、将过程分成任务和区域将过程分成任务和区域搅拌机在混搅拌机在混合罐中将两合罐中将两种配料种配料(配配料料A A 和配料和配料B)B)混和在一混和在一起。混合好起。混合好的产品通过的产品通过排料阀从混排料阀从混合罐中排出。合罐中排出。任务描述:任务描述:确定过程区域确定过程区域过程各部分描述过程各部分描述配料配料A A 和和B B 的区域:的区域:每种配料管道都装备有入口阀、进料阀和进料泵。每种配料管道都装备有入口阀、进料阀和进料泵。入口管还装有流量传感器。入口管还装有流量传感器。当混合罐液位传感器显示混合罐已满时,打开进当混合罐液位传感器显示混合罐已满时,打开进料泵必须联锁。料泵必须联锁。当排料阀打开时,进料泵的起动必须联锁。当排料阀打开时,进料泵的起动必须联锁。在启动进料泵后的最初在启动进料泵后的最初1 1 秒,入口和进料阀必须秒,入口和进料阀必须打开。打开。二、二、描述各个功能区描述各个功能区 进料泵的起动与时间监视功能相关联。换句话进料泵的起动与时间监视功能相关联。换句话说,在泵启动后说,在泵启动后7 7 秒内,流量传感器必须报告流量。秒内,流量传感器必须报告流量。如果在进料泵运行时,流量传感器不再发出流如果在进料泵运行时,流量传感器不再发出流量信号,则必须尽快关闭进料泵。量信号,则必须尽快关闭进料泵。必须对进料泵的启动次数进行计数必须对进料泵的启动次数进行计数(维护时间间维护时间间隔隔)。在进料泵停止后在进料泵停止后(来自流量传感器的信号来自流量传感器的信号),必,必须立即关闭阀,以防止配料从泵泄漏。须立即关闭阀,以防止配料从泵泄漏。混合罐区域:混合罐区域:当混合罐液位传感器指示当混合罐液位传感器指示“液位低于最小值液位低于最小值”或或排料阀打开时,必须联锁搅拌器电机的起动。排料阀打开时,必须联锁搅拌器电机的起动。-混合罐不空:常开触点。如果混合罐不是空的,则混合罐不空:常开触点。如果混合罐不是空的,则触点闭合触点闭合 在达到额定速度后,搅拌器电机发送响应信号。在达到额定速度后,搅拌器电机发送响应信号。如果电机起动后如果电机起动后10 10 秒内没有收到该信号,则必须关秒内没有收到该信号,则必须关闭电机。闭电机。必须计数搅拌机电机启动的次数必须计数搅拌机电机启动的次数(维护时间间隔维护时间间隔)。在混合罐中安装三个传感器:在混合罐中安装三个传感器:-混合罐满:常闭触点。当达到搅拌罐最高液位时,混合罐满:常闭触点。当达到搅拌罐最高液位时,触点断开。触点断开。-混合罐中的液位高于最小值:常开触点。如果达到混合罐中的液位高于最小值:常开触点。如果达到最低液位,触点闭合。最低液位,触点闭合。排料区:排料区:混合罐的排料由电磁阀控制。混合罐的排料由电磁阀控制。电磁阀由操作员控制,但最迟当产生电磁阀由操作员控制,但最迟当产生“混合罐空混合罐空”信号时,必须再次关闭电磁阀。信号时,必须再次关闭电磁阀。下列情况下,打开排料阀是联锁的下列情况下,打开排料阀是联锁的 -搅拌器电机正在运行搅拌器电机正在运行 -混合罐空混合罐空 为了让操作员启动、停止和监视过程,还需要操为了让操作员启动、停止和监视过程,还需要操作员站。操作员站配备下列设备:作员站。操作员站配备下列设备:用于控制最重要的过程阶段的开关。使用用于控制最重要的过程阶段的开关。使用“复位复位维护显示维护显示”开关,可以在维护时关闭电机的维护指开关,可以在维护时关闭电机的维护指示灯,并将相应的维护时间间隔计数器复位为示灯,并将相应的维护时间间隔计数器复位为0 0。指示过程状态的指示灯。指示过程状态的指示灯。紧急停车开关。紧急停车开关。操作员站操作员站三、三、创建组态图创建组态图四、四、定义逻辑块定义逻辑块块调用层次如下:块调用层次如下:OB1OB1:CPU CPU 操作系统接口,包含主程序。在操作系统接口,包含主程序。在OB1 OB1 中调用块中调用块FB1 FB1 和和FC1FC1,并传送过程控制所需要的特定并传送过程控制所需要的特定参数。参数。FB1FB1:配料配料A A 的进料泵、配料的进料泵、配料B B 的进料泵和搅拌的进料泵和搅拌机电机可以由一个单独的功能块控制,因为它们的机电机可以由一个单独的功能块控制,因为它们的要求要求(开、关、计数应用等开、关、计数应用等)是相同的。是相同的。背景数据块背景数据块1-31-3:用于控制配料:用于控制配料A A、配料配料B B 的进料的进料泵和搅拌器电机的实际参数和静态数据是不同的,泵和搅拌器电机的实际参数和静态数据是不同的,因此存储在三个与因此存储在三个与FB1 FB1 关联的背景数据块中。关联的背景数据块中。FC1FC1:配料配料A A 和和B B 的入口阀、进料阀以及排料阀的入口阀、进料阀以及排料阀也使用共用逻辑块。由于只是对也使用共用逻辑块。由于只是对“打开和关闭打开和关闭”功功能是必须进行编程的,所以使用单个的能是必须进行编程的,所以使用单个的FC FC 已足够。已足够。一、定义符号一、定义符号五、编程五、编程二、为电机创建二、为电机创建FBFB电机电机FBFB包含下列逻辑功能:包含下列逻辑功能:有启动和停止输入有启动和停止输入一系列允许设备运行一系列允许设备运行(泵和搅拌机电机泵和搅拌机电机)的联锁。的联锁。联锁的状态联锁的状态(“Motor_enableMotor_enable”、“Valve_enableValve_enable”)保保存在存在OB1OB1的临时局部数据的临时局部数据(L L 堆栈堆栈)中,当处理电机中,当处理电机FBFB时,与启动和停止输出在逻辑上组合在一起。时,与启动和停止输出在逻辑上组合在一起。来自设备的反馈必须在一定的时间内显示。来自设备的反馈必须在一定的时间内显示。否则,会假定发生了错误或故障。然后,该功能否则,会假定发生了错误或故障。然后,该功能会停止电机。会停止电机。必须指定时间点和响应或错误必须指定时间点和响应或错误/故障周期的持故障周期的持续时间。续时间。如果按下启动按钮且电机已启用,则设备自如果按下启动按钮且电机已启用,则设备自己开动并运行,直到按下停止按钮。己开动并运行,直到按下停止按钮。当设备开动时,定时器开始运行。如果在定当设备开动时,定时器开始运行。如果在定时器时间用完之前没有收到来自设备的响应信号,时器时间用完之前没有收到来自设备的响应信号,则设备停止。则设备停止。它必须能打开和关闭操作员站的灯。它必须能打开和关闭操作员站的灯。指定输入和输出指定输入和输出定义定义FBFB参数参数声明电机的声明电机的FBFB的变量的变量编制控制电机的编制控制电机的FBFB程序程序Network1 Network1 启动启动/停止和锁存停止和锁存 A(A(O#Start O#Start O#Motor O#Motor )AN#Stop AN#Stop =#Motor =#MotorNetwork 2 Network 2 启动监控启动监控A#MotorA#MotorL#Response_TimeL#Response_TimeSD#Timer_NoSD#Timer_NoAN#MotorAN#MotorR#Timer_NoR#Timer_NoL#Timer_NoL#Timer_NoT#Timer_binT#Timer_binLC#Timer_NoLC#Timer_NoT#Timer_BCDT#Timer_BCDA#Timer_NoA#Timer_NoAN#ResponseAN#ResponseS#FaultS#FaultR#MotorR#MotorNetwork 3 Network 3 启动指示灯和故障复位启动指示灯和故障复位 A#ResponseA#Response =#Start_Dsp =#Start_Dsp R#Fault R#FaultNetwork 4 Network 4 停止指示灯停止指示灯 AN#ResponseAN#Response =#Stop_Dsp =#Stop_DspNetwork 5 Network 5 启动计数启动计数A#MotorA#MotorFP#Start_EdgeFP#Start_EdgeJCN lab1JCN lab1L#StartsL#Starts+1+1T#StartsT#Startslab1lab1:NOP 0NOP 0Network 6 Network 6 维护指示灯维护指示灯L#StartsL#StartsL 50L 50=I=I=#Maint=#MaintNetwork 7 Network 7 复位累计启动次数的计数器复位累计启动次数的计数器 A#Reset_MaintA#Reset_Maint A#Maint A#Maint JCN END JCN END L 0 L 0 T#Starts T#Starts END:NOP 0 END:NOP 0创建背景数据块创建背景数据块创建三个背景数据块,然后逐个打开。创建三个背景数据块,然后逐个打开。三、为阀创建三、为阀创建FCFC 入口和进料阀及排料阀包含下列逻辑功能:入口和进料阀及排料阀包含下列逻辑功能:有用于开、关阀的输入参数。有用于开、关阀的输入参数。联锁允许将阀打开。联锁的状态联锁允许将阀打开。联锁的状态(“Valve_enableValve_enable”)保存在保存在OB1OB1的临时局部数据的临时局部数据(L L 堆栈堆栈)中,在处理阀中,在处理阀FCFC时,与开、关输入在逻时,与开、关输入在逻辑上组合在一起。辑上组合在一起。指定输入和输出指定输入和输出定义定义FCFC参数参数为阀门的为阀门的FCFC声明变量声明变量Network 1 Network 1 打开打开/关闭和锁存关闭和锁存编制阀门的编制阀门的FCFC程序程序A(A(O#OpenO#OpenO#ValveO#Valve)AN#CloseAN#Close=#Valve=#ValveNetwork 2 Network 2 显示显示“阀门打开阀门打开”Network 3 Network 3 显示显示“阀门关闭阀门关闭”A#ValveA#Valve=#Dsp_Open=#Dsp_Open=#=#Dsp_ClosedDsp_ClosedA#ValveA#Valve四、生成四、生成OB1OB1 OB1 OB1也包含传送到各种功能的参数,例如:也包含传送到各种功能的参数,例如:用于进料泵和搅拌器电机的用于进料泵和搅拌器电机的STL STL 程序段为用程序段为用于电机的于电机的FB FB 提供了用于启动提供了用于启动(“StartStart”)、停止停止(“StopStop”)、响应响应(“ResponseResponse”)和复位维护显和复位维护显示示(“Reset_MaintReset_Maint”)的输入参数。在的输入参数。在PLC PLC 的每的每个周期中,都会对用于电机的个周期中,都会对用于电机的FBFB进行处理。进行处理。为为OB1OB1声明变量声明变量前前2020个字节包含个字节包含OB1OB1的启动信息,不得修改。的启动信息,不得修改。为为OB1OB1创建程序创建程序OB1OB1程序程序Network 1 Network 1 进料泵进料泵A A的互锁的互锁A EMER_STOP_offA EMER_STOP_offA Tank_below_maxA Tank_below_maxAN DrainAN Drain=#=#Enable_MotorEnable_MotorNetwork 2 Network 2 为批配料为批配料A A调用电机的调用电机的FBFB A Feed_pump_A_startA Feed_pump_A_start A#Enable_Motor A#Enable_Motor =#Start_Fulfilled =#Start_Fulfilled A(A(O Feed_pump_A_stop O Feed_pump_A_stop ON#Enable_Motor ON#Enable_Motor )=#Stop_Fulfilled =#Stop_FulfilledMotor:=Feed_pump_AMotor:=Feed_pump_ACALL Motor_block,DB_feed_pump_ACALL Motor_block,DB_feed_pump_AStart:=#Start_FulfilledStart:=#Start_FulfilledStop:=#Stop_FullfilledStop:=#Stop_FullfilledResponse:=Flow_AResponse:=Flow_AReset_Maint:=Reset_maintReset_Maint:=Reset_maintTimer_No:=T12Timer_No:=T12Reponse_Time:=S5T#7SReponse_Time:=S5T#7SFault:=Feed_pump_A_faultFault:=Feed_pump_A_faultStart_Dsp:=Feed_pump_A_onStart_Dsp:=Feed_pump_A_onStop_Dsp:=Feed_pump_A_offStop_Dsp:=Feed_pump_A_offMaint:=Feed_pump_A_maintMaint:=Feed_pump_A_maintNetwork 3 Network 3 延迟配料延迟配料A A的阀使能的阀使能 A Feed_pump_AA Feed_pump_A L S5T#1S L S5T#1S SD T 13 SD T 13 AN Feed_pump_A AN Feed_pump_A R T 13 R T 13 A T 13 A T 13 =#Enable_Valve =#Enable_ValveOpen:=#Enable_ValveOpen:=#Enable_ValveClose:=#Close_Valve_FulfilledClose:=#Close_Valve_FulfilledDsp_Open:=#Inlet_Valve_A_OpenDsp_Open:=#Inlet_Valve_A_OpenDsp_Closed:=#Inlet_Valve_A_ClosedDsp_Closed:=#Inlet_Valve_A_ClosedValve:=Inlet_Valve_AValve:=Inlet_Valve_ANetwork 4 Network 4 配料配料A A的入口阀控制的入口阀控制 AN Flow_AAN Flow_A AN Feed_pump_A AN Feed_pump_A =#Close_Valve_Fulfilled =#Close_Valve_Fulfilled CALL Valve_block CALL Valve_blockOpen:=#Enable_ValveOpen:=#Enable_ValveClose:=#Close_Valve_FulfilledClose:=#Close_Valve_FulfilledDsp_Open:=#Feed_Valve_A_OpenDsp_Open:=#Feed_Valve_A_OpenDsp_Closed:=#Feed_Valve_A_ClosedDsp_Closed:=#Feed_Valve_A_ClosedValve:=Feed_Valve_AValve:=Feed_Valve_ANetwork 5 Network 5 配料配料A A的进料阀控制的进料阀控制 AN Flow_AAN Flow_A AN Feed_pump_A AN Feed_pump_A =#Close_Valve_Fulfilled =#Close_Valve_Fulfilled CALL Valve_block CALL Valve_blockNetwork 6 Network 6 进料泵进料泵B B的互锁的互锁 A EMER_STOP_offA EMER_STOP_off A Tank_below_max A Tank_below_max AN Drain AN Drain =Enable_Motor =Enable_MotorNetwork 7 Network 7 为配料为配料B B调用电机的调用电机的FBFB A Feed_pump_B_startA Feed_pump_B_start A#Enable_Motor A#Enable_Motor =#Start_Fulfilled =#Start_Fulfilled A(A(O Feed_pump_B_stop O Feed_pump_B_stop ON#Enable_Motor ON#Enable_Motor )=#Stop_Fulfilled =#Stop_FulfilledCALL Motor_block,DB_feed_pump_BCALL Motor_block,DB_feed_pump_BMotor:=Feed_pump_BMotor:=Feed_pump_BStart:=#Start_FulfilledStart:=#Start_FulfilledStop:=#Stop_FullfilledStop:=#Stop_FullfilledResponse:=Flow_BResponse:=Flow_BReset_Maint:=Reset_maintReset_Maint:=Reset_maintTimer_No:=T14Timer_No:=T14Reponse_Time:=S5T#7SReponse_Time:=S5T#7SFault:=Feed_pump_B_faultFault:=Feed_pump_B_faultStart_Dsp:=Feed_pump_B_onStart_Dsp:=Feed_pump_B_onStop_Dsp:=Feed_pump_B_offStop_Dsp:=Feed_pump_B_offMaint:=Feed_pump_B_maintMaint:=Feed_pump_B_maintNetwork 8 Network 8 延迟配料延迟配料B B的阀使能的阀使能 A Feed_pump_BA Feed_pump_B L S5T#1S L S5T#1S SD T 15 SD T 15 AN Feed_pump_B AN Feed_pump_B R T 15 R T 15 A T 15 A T 15 =#Enable_Valve =#Enable_ValveNetwork 9 Network 9 配料配料B B的入口阀控制的入口阀控制 AN Flow_BAN Flow_B AN Feed_pump_B AN Feed_pump_B =#Close_Valve_Fulfilled =#Close_Valve_Fulfilled CALL Valve_block CALL Valve_block Open:=#Enable_Valve Open:=#Enable_Valve Close:=#Close_Valve_Fulfilled Close:=#Close_Valve_Fulfilled Dsp_Open:=#Inlet_Valve_B_Open Dsp_Open:=#Inlet_Valve_B_Open Dsp_Closed:=#Inlet_Valve_B_Closed Dsp_Closed:=#Inlet_Valve_B_Closed Valve:=Inlet_Valve_B Valve:=Inlet_Valve_BOpen:=#Enable_ValveOpen:=#Enable_ValveClose:=#Close_Valve_FulfilledClose:=#Close_Valve_FulfilledDsp_Open:=#Feed_Valve_B_OpenDsp_Open:=#Feed_Valve_B_OpenDsp_Closed:=#Feed_Valve_B_ClosedDsp_Closed:=#Feed_Valve_B_ClosedValve:=Feed_Valve_BValve:=Feed_Valve_BNetwork 10 Network 10 配料配料B B的进料阀控制的进料阀控制 AN Flow_BAN Flow_B AN Feed_pump_B AN Feed_pump_B =#Close_Valve_Fulfilled =#Close_Valve_Fulfilled CALL Valve_block CALL Valve_blockNetwork 11 Network 11 搅拌器的互锁搅拌器的互锁 A EMER_STOP_offA EMER_STOP_off A Tank_above_min A Tank_above_min AN Drain AN Drain =#Enable_Motor =#Enable_MotorNetwork 12 Network 12 为搅拌器调用电机的为搅拌器调用电机的FBFB A Agitator_startA Agitator_start A#Enable_Motor A#Enable_Motor =#Start_Fulfilled =#Start_Fulfilled A(A(O Agitator_stop O Agitator_stop ON#Enable_Motor ON#Enable_Motor )=#Stop_Fulfilled =#Stop_FulfilledMotor:=AgitatorMotor:=AgitatorCALL Motor_block,DB_AgitatorCALL Motor_block,DB_AgitatorStart:=#Start_FulfilledStart:=#Start_FulfilledStop:=#Stop_FullfilledStop:=#Stop_FullfilledResponse:=Agitator_runningResponse:=Agitator_runningReset_Maint:=Reset_maintReset_Maint:=Reset_maintTimer_No:=T16Timer_No:=T16Reponse_Time:=S5T#10SReponse_Time:=S5T#10SFault:=Agitator_faultFault:=Agitator_faultStart_Dsp:=Agitator_onStart_Dsp:=Agitator_onStop_Dsp:=Agitator_offStop_Dsp:=Agitator_offMaint:=Agitator_maintMaint:=Agitator_maintNetwork 13 Network 13 排料阀的互锁排料阀的互锁 A EMER_STOP_offA EMER_STOP_off A Tank_not_empty A Tank_not_empty AN Agitator AN Agitator =Enable_Valve =Enable_ValveNetwork 14 Network 14 排料阀控制排料阀控制A Drain_openA Drain_openA#Enable_ValveA#Enable_Valve=#Open_Drain=#Open_DrainA(A(O Drain_closedO Drain_closedON#Enable_ValveON#Enable_Valve)=#Close_Drain=#Close_DrainCALL Valve_blockCALL Valve_blockOpen:=#Open_DrainOpen:=#Open_DrainClose:=#Close_DrainClose:=#Close_DrainDsp_Open:=Drain_open_dispDsp_Open:=Drain_open_dispDsp_Closed:=Drain_closed_dispDsp_Closed:=Drain_closed_dispValve:=DrainValve:=DrainNetwork 15 Network 15 罐液面显示罐液面显示 AN Tank_below_maxAN Tank_below_max =Tank_max_disp =Tank_max_disp AN Tank_above_min AN Tank_above_min =Tank_min_disp =Tank_min_disp AN Tank_not_empty AN Tank_not_empty =Tank_empty_disp =Tank_empty_disp
展开阅读全文