首页 理论教育 PLC程序典例案例分享

PLC程序典例案例分享

时间:2023-06-29 理论教育 版权反馈
【摘要】:在S7-200上,SM0.6是周期为2倍PLC循环扫描时间的固定脉冲信号,PLC程序的实际循环扫描时间可通过CNC参数MD10074进行检查和确认。在此基础上,由PLC程序向CNC输出急停信号V26000000.1、停止CNC运行。如果C31的计数值到达了2倍起动延时设定值LW4,驱动器进给使能控制信号64的输出缓冲存储器M119.2将置1;同时,将驱动器起动完成信号M119.7置1,使前述Network3中的驱动器准备好信号L2.2和过热信号L2.3生效,完成驱动器的起动过程。

PLC程序典例案例分享

SIEMENS子程序库中的子程序SBR33(EMG_STOP)是用于驱动器控制的子程序,但由于该子程序只能满足最低控制要求,故在实际使用时建议进行修改和完善。以下是按机电设备安全控制要求设计的驱动器控制程序实例,程序在SBR33(EMG_STOP)的基础上进行较大改进。修改后的子程序SBR33(EMG_STOP)由延时生成、CNC急停控制、驱动器起动/停止控制、信号输出与报警等部分组成,说明如下。

978-7-111-50291-3-Chapter06-7.jpg

图6.1-5 延时生成程序

1.延时生成

用于驱动器正常起动/停止的信号延时生成程序设计如图6.1-5所示。由于传统的SIMODRIVE 611A/D/U/UE等驱动器的电源模块控制信号通断需要有较多的延时,且各信号的延时时间成比例,为了节省PLC定时器,子程序SBR33(EMG_STOP)采用的是利用PLC循环脉冲信号SM0.6计数,生成不同延时的控制方法。

Network1的变量LW0为延时时间设定参数,在子程序调用指令中可直接以常数的形式赋值,其计时单位为2倍PLC循环扫描时间。Network1的执行结果LW4是LW0的2倍。

Network2中的计数器C31用于PLC循环次数的计数,计数输入信号为PLC系统特殊标志位SM0.6,计数器可通过复位信号M119.6控制起动和复位。在S7-200上,SM0.6是周期为2倍PLC循环扫描时间的固定脉冲信号(参见3.2节),PLC程序的实际循环扫描时间可通过CNC参数MD10074进行检查和确认。

2.CNC急停控制

需要注意的是:驱动器急停和正常停止是完全不同的概念。急停是机床出现紧急情况时的强制分断,它必须通过安全电路(强电线路),由图6.1-3所示的安全触点K1,直接断开脉冲使能端63和主接触器控制端48,而不能按正常的顺序依次断开电源模块的控制端64、63、48。在此基础上,由PLC程序向CNC输出急停信号V26000000.1、停止CNC运行。

当驱动器在运行过程中出现故障,例如,驱动器准备好触点72断开或过热触点52接通时,CNC也需要进入急停状态,但驱动器可按照正常的断开顺序断开控制端64、63、48,使电机减速停止。

用于CNC急停控制的PLC程序如图6.1-6所示,如信号V26000000.1=1,CNC将立即停止并进入急停状态。802S/C等CNC的急停只需要使用CNC急停(Emergency Stop)信号V26000000.1,无需处理信号V26000000.2;802D等CNC的急停需要通过CNC急停应答(Acknowledge Emergency Stop)信号解除急停,取消CNC急停时,需要通过V2600 0000.1=0、V26000000.2=1,使CNC退出急停。

978-7-111-50291-3-Chapter06-8.jpg

图6.1-6 CNC急停控制程序

在模板程序中,局部变量L2.0、L2.2、L2.3分别为机床急停(I0.7)、驱动器准备好(I1.7)、驱动器过热(I0.6)信号,经第5章I/O使能和极性变换子程序SBR62(FILTER)处理后的结果M100.7、M101.7、M100.6。其中,M100.7为常闭信号,CNC急停时的状态为0;M101.7、M100.6为常开信号,驱动器正常工作时M101.7=1、M100.6=0。

程序中的V45001016.0为CNC用户数据MD14512[16]bit0的设定值。在模板程序中,该参数用于PLC程序调试方式设定,设定为1时,即使驱动器未起动(M119.7=0),也可取消由信号L2.2(M101.7)=0或L2.3(M100.6)=1所引起的CNC急停。

Network4用于CNC急停的取消,程序中的M119.0、M119.1、M119.2分别为驱动器控制端48、63、64的输出状态暂存器(见下述),驱动器断开后,其状态均为0;此时,如机床急停输入L2.0为1(无急停),可复位CNC急停信号V26000000.1、并将急停解除信号V26000000.2置1,使CNC退出急停状态。

3.驱动器起动/停止(www.xing528.com)

驱动器的正常起动/停止控制程序设计如图6.1-7所示,Network5用于驱动器通/断控制信号M119.5的生成;Network6用于驱动器起动顺序控制;Network7用于驱动器停止顺序控制。

978-7-111-50291-3-Chapter06-9.jpg

图6.1-7 驱动器起动/停止控制程序

在模板程序中,驱动器的通/断通过MCP面板的用户自定义按键K1进行控制,因此,调用子程序时,局部变量L2.1(EN_K)的输入赋值应为按键K1的输入V10000000.0。

程序Network5用于驱动器通/断控制信号M119.5的生成。程序可通过MCP面板按键K1(L2.1)的重复操作,产生控制驱动器通/断交替的信号M119.5,交替通断的典型程序说明可参见2.2节。图中的程序在典型交替通断程序的基础上,对M119.5的复位支路附加了M119.7串联触点,其目的是保证驱动器的正常断开(信号M119.5复位)只能在驱动器起动完成(M119.7=1)时才能进行。但是,如果CNC出现急停,CNC急停信号V2700 0000.1可直接复位M119.5,立即断开驱动器。

Network6用于驱动器的起动顺序控制。当驱动器起动、通断控制信号M119.5=1时,首先将驱动器主接触器控制信号48的输出缓冲存储器M119.0置1,同时,将M119.6置1,使前述延时生成程序Network2中的计数器C31复位输入为“0”,起动C31的延时计数功能。当C31的计数值到达延时设定值LW0后,驱动器脉冲使能控制信号63的输出缓冲存储器M119.1置1。如果C31的计数值到达了2倍起动延时设定值LW4,驱动器进给使能控制信号64的输出缓冲存储器M119.2将置1;同时,将驱动器起动完成信号M119.7置1,使前述Network3中的驱动器准备好信号L2.2和过热信号L2.3生效,完成驱动器的起动过程。驱动器起动完成后,M119.6重新置“0”,复位和禁止延时计数器C31。

Network7用于驱动器的停止顺序控制。驱动器停止的动作顺序与起动相反,当驱动器通断控制信号M119.5=0时,首先断开进给使能控制信号64,并将M119.6置1、起动Net-work2中的延时计数器C31。然后,依次断开脉冲使能控制信号63和主接触器控制信号48。停止过程结束后,复位起动完成信号M119.7,并将M119.6重新置0,复位和禁止Network2中的延时计数器C31。

4.信号输出与报警

驱动器控制信号输出与报警程序如图6.1-8所示,Network8用于驱动器控制信号输出,Network9用于驱动器报警。

978-7-111-50291-3-Chapter06-10.jpg

图6.1-8 控制信号输出与报警程序

利用Network8,上述驱动器起动/停止程序网络中所生成的驱动器控制信号48、63、64的输出缓冲存储器状态M119.0、M119.1、M119.2,可分别作为子程序变量L2.4、L2.5、L2.6、L2.7输出。在模板程序上,输出变量L2.4、L2.5、L2.6被定义为Q1.5、Q1.6、Q1.7的输出缓冲存储器M103.5(OUT1_5)、M103.6(OUT1_6)、M103.7(OUT1_7);M103.5、M103.6、M103.7可利用第5章所述的输出使能和极性变换处理子程序SBR62(FILTER),作为驱动器主接触器接通、脉冲使能、进给使能控制信号Q1.5、Q1.6、Q1.7输出。

Network8中的输出变量L2.7,在模板程序上定义为MCP面板按键K1的指示灯LED1输出信号V11000000.0,驱动器驱动后,指示灯亮。

Network9用于驱动器报警显示。在模板程序中,子程序输入变量L2.2、L2.3被定义为驱动器准备好和驱动器过热信号输入;输出变量L3.0、L3.1定义为机床报警信号V16000002.0、V16000002.1。因此,当驱动器准备好信号L2.2为0,或驱动器的进给使能信号未输出(M119.2=0)时,CNC将显示ALM 700016(驱动器未就绪)报警;如驱动器的过热信号L2.3为1,则显示ALM700017(电源模块I2t报警)报警。

Network10用于CNC通道控制信号进给禁止(V32000006.0)、读入禁止(V3200 0006.1)信号的复位;程序中的V30000000.7为CNC复位信号,它直接由MCP上的RE-SET键生成,相关内容可参见第5章子程序SBR38(MCP_NCK)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈