PLC是如何实现手自动切换控制的?手动功能到底有什么用?
在当前的工业生产过程控制中,普遍采用了PLC控制系统,通过软件程序来实现控制设备之间的联锁控制也就是自动控制,由控制设备驱动的工厂机械设备来完成满足工艺要求的生产过程。这里,设备的运行分为单体手动操作和自动控制运行两种方式。在单体手动操作中,一般是在设备就地(机旁)操作。PLC的程序控制主要是进行自动控制,但其中也包括单体手动操作,其完成的功能和就地(机旁)操作是一样的,不同之处在于,它是通过程序的方式来实现,并且一般是在上位机的监控画面中通过点击鼠标的方式进行,也就是在机房或控制室中进行而不是就地(机旁)。手动操作(包括程序中的手动单体操作)和自动控制程序的主要区别在于,自动控制程序是在正式投产后,各个设备没有故障可正常工作时运行。而手动操作是在调试期间用于俗称的“打点”时用,或正常运行时,有设备出现故障时用。例如,某供水水箱的液位控制,水位高时,启动出水泵供水,水位低时,停止泵供水,假如水箱的液位传感器出现故障,自动控制就无法进行,那么为了继续维持生产,就需要操作人员现场手动操作,根据水箱的液位指示器来手动启动和停止出水泵的运行及相应阀门的开关。需要指出的是,本文所指的设备是PLC输出控制的开关量设备,模拟量设备不在本文的讨论之列。
设备手动和自动切换的方式
在本文中,设备是指工厂机械设备及其控制设备。控制设备是指电机,阀门等等,而设备的手动和自动运行,主要体现在控制设备的手动和自动运行。例如,对于电机的控制一般是通过MCC(电机控制中心)电气控制系统来进行的,电机的远程和就地信号,即自动和手动的切换信号,以及启动、停止、故障等信号均由MCC提供并接到PLC硬件系统。在MCC柜上的远程就地转换开关打到就地时,进行就地手动操作;打到远程时,进行PLC的程序自动控制,或在上位机画面上进行点击鼠标式的手动操作。我们可以这样来理解PLC控制系统、就地电气控制系统、控制设备和工厂机械设备之间的关系,即自动控制(包括PLC程序中的手动操作)是由PLC控制系统通过电气控制系统,由电气控制系统来控制像电机一样的控制设备,最后由控制设备来驱动工厂机械设备的运行。而电气控制系统像MCC柜本身,就可以直接进行手动就地操作。
对于电机的控制来说,正常运行时,首先是PLC程序的自动控制,此时的远程就地转换开关处于远程的位置,然后如果出现PLC无法处理的问题或故障,则需要在上位机的画面上,人工进行单体设备的操作,以维持生产或进行安全联锁操作。最后如果依然不能解决问题,则需要在就地(机旁)进行操作,一般是进行电机停止的操作。
对于阀门来说,一般也有相应的电气控制系统,就像MCC一样,其一般是就地的现场电磁阀控制柜(箱),一般都有远程就地的转换开关,用于手动和自动运行的切换。和电机控制一样,正常运行时,首先是PLC的自动控制,此时的远程就地的转换开关处于远程的位置,然后如果出现PLC无法处理的问题或故障,则需要在上位机的画面上,人工进行单体设备的操作,以维持生产或进行安全联锁操作。最后如果依然不能解决问题,远程就地转换开关打到就地位置,进行现场的就地控制。如果还不能解决问题,则只能使用手动阀门进行安全操作。
显然,就地手动和远程自动运行,是通过就地控制柜(箱)上的转换开关来实现的。PLC程序中的手动和自动的切换功能,也可以这样做,在程序中实现类似于转换开关这样的操作是没有问题的。
设备手动和自动切换的程序实现方法1
当远程就地信号为1时,即表示现场的控制柜(箱)上的转换开关打到了远程位置,可进行PLC的自动控制;当其为0时,则表示是现场手动操作。为了实现程序内部的手动自动切换,就像远程就地信号一样,设置一个中间变量,这个中间变量作为程序手动单体设备操作的标志,是由上位机监控程序来赋值的,其值为1时,进行程序的单体设备手动操作;为0时PLC程序进行自动控制。由此可见,每一个自动控制中的设备都是在这两个条件下运行的。
我们用梯形图来实现一个电机和一个阀门的手自动切换功能,设置如下输入、输出IO标签和中间变量:
输出:电机启动START
电机停止STOP
阀门打开OPEN
阀门关闭CLOSE
输入:电机MCC柜远程就地信号RL_M
阀门控制柜远程就地信号RL_V 变量:电机启动条件A
电机停止条件B
阀门打开条件C
阀门关闭条件D
电机的上位机手动操作中间变量UP_MAN_M
电机的上位机手动操作启动UP_START_M
电机的上位机手动操作停止UP_STOP_M
阀门的上位机手动操作中间变量UP_MAN_V
阀门的上位机手动操作打开UP_OPEN_V
阀门的上位机手动操作关闭UP_CLOSE_V
使用美国A-B公司的RSLogix 5000编程软件的梯形图,程序如图1:
图1
其中(L)为置位指令,(U)为复位指令。这里之所以用置位、复位指令,主要是考虑到启动(打开)条件和停止(关闭)条件可能是脉冲型的(例如上升沿脉冲),需要保持(注:如果MCC中的控制回路使用了“启动-保持-停止”方式,那么采用脉冲输出比较合适,就像自复位式按钮一样。这里为了简化梯形图程序,没有这样做。有兴趣的读者不妨一试)。电机启动或停止条件是自动控制时的联锁条件,上位机进行手动操作时,自动控制程序不能执行。同样就地操作时,PLC的程序控制也不能执行,程序可以根据需要将此时的电机启动和停止控制信号复位。阀门的控制也是一样。这样各个设备均可根据情况进行自动运行或手动操作。
设备手动和自动切换的程序实现方法2
上面的方法对手自动切换时的各种情况都进行了考虑,程序进行设计时需要时时刻刻注意手自动切换问题,程序量相对于没有手自动切换时也有所增加。如果把程序中的手动程序同自动程序分开,程序就会显得更加清晰明了,同时设计自动程序时也不必时时刻刻注意手自动切换问题。这样是否可行呢?我们不妨将上面的梯形图程序改造成如图2所示。
图2
显然,这是可行的,由于手动程序最后执行,电机或阀门的启动、停止或打开、关闭,由手动程序决定。也就是说,当自动控制程序运行时,如果有上位机手动操作,则上位机手动操作优先。例如当自动程序要求电机停止时,如果上位机手动操作让其启动,则电机启动。其中的原因是,程序对相同变量或IO标签的赋值操作,最后执行的程序有效。例如下面的例子:
IF A THEN
Y := 0;
END_IF;
IF B THEN
Y := 1;
END_IF;
在A,B都为1时,Y = 1。因为最后执行的语句有效,不管是PLC梯形图程序还是其他计算机程序都是这样。
对于远程就地的现场手动操作来说,当转换开关打到就地时,PLC梯形图程序继续根据联锁条件执行,但输出将不起作用,设备的状态由现场操作决定。转换开关再次打到远程时,PLC程序的输出才能真正控制设备的运行。
设备组手动和自动切换的程序实现方法
在上面我们主要介绍了单体设备的手动自动的切换问题,那么在工业生产过程的控制中,不少设备是一同完成某种功能的,这些设备一起组成一个设备组,可以把它们当作一个单体设备来考虑。这样就可以利用上面的方法来实现设备组的手动自动切换问题。
虽然设备组可看作是单体设备,但其中内部毕竟还包含着真正的单体设备,也存在内部单体设备的手动自动切换问题,那么如何来解决设备组和其内部的真正单体设备手动自动切换问题呢?这里,我们采用和方法2类似的方法,将设备组的单体操作程序放在自动程序和真正单体设备的操作程序之间,这样就可以即进行设备组的单体操作,也可以进行真正单体设备的操作,也就是说,真正单体设备的操作优先级最高,其次是设备组单体设备,最后才是自动控制程序。当然如果不嫌麻烦,也可以用方法1的方式来实现。
需要指出的是,对于设备组的功能,多次使用时,用子程序的方式来实现是最理想的。
最后,我们可以此类推,把整个工厂控制设备当作一个设备组来考虑,也可以为其提供手动自动切换的功能。
目前,在国内的生产企业的PLC自动化系统的新建或改造项目中,用户对设备的手动操作和自动控制功能都十分重视,尤其是对手动操作功能格外的重视,对此的一般解释为“手动功能对于维护设备实用性很强”,设备经常出现问题,需要在自动控制的过程中进行手动操作,或者也有说要在手动操作时,进行自动控制操作的。但是对于一个完善的控制程序来讲,实现设备手动操作和自动控制功能及其两者的切换,不仅是可实现的也是应该实现的。如果说有不足的话,那就是,程序的复杂性会强一些,设计人员需要合理的分配手自动的功能并做好互不干涉的功能。
PLC采用顺序功能图设计法,这样的程序设计才是对的
前面的文章小编给大家说过常用的程序设计方法包括逻辑设计法、移植转换设计法、顺序控制设计法、经验设计法 等这几种,上一次也介绍了其中的移植转换设计法,这一篇文章就介绍一下顺序控制设计法吧。
PLC多数是靠移植设计法进行程序设计,你认同吗?
如何采用经验设计法,进行PLC程序设计?
什么是PLC逻辑设计法?现在知道还不算太迟
在讲顺序控制设计法之前,我们先了解一下什么是顺序控制。
如果一个控制系统可以分解成若干个独立的控制动作,且这些动作必须按照一定的先后顺序执行才能保证生产过程的正常运行,这样的控制系统就称为是顺序控制系统。
比如说在机械行业,典型的机械手控制就可以利用顺序控制的方法来实现控制。
我们所说的顺序控制设计法就是针对顺序控制系统的一种专门的设计方法,我们以西门子S7-200 SMART PLC为例介绍一下,我们可以采用三种程序编写方法实现控制系统要求,包括使用逻辑指令、使用置位/复位指令、使用SCR/SCRT/SCRE指令,这些方法都可以设计出顺序功能图及其对应的梯形图程序。
我们以冲床动力头进给运动控制为例来介绍一下采用以上三种方法的编程。
控制要求:某专用冲床动力头的进给运动一个周期包括快进、工进和快退3步,动力头的初始状态停留在最左边,限位开关I0.1状态为1,启动按钮为I0.0,Q0.0~Q0.2控制3个电磁阀依次控制快进、工进和快退3步。
按下启动按钮,动力头的运动如图所示,工作一个循环后,动力头返回并停留在初始位置。
一、使用逻辑指令实现
首先根据控制要求画出顺序功能图,M0.0是初始状态,M0.1是快进工作状态步,M0.2是工进工作状态步,M0.3是快退工作状态步。
I0.1是快退限位开关,动力头的初始状态停留在最左边即I0.1接通,并按下启动按钮I0.0时,开始执行快进Q0.1动作,到I0.2快进限位时执行工进Q0.2动作,到I0.3工进限位时执行快退Q0.3动作,快退到快退限位I0.1时进行循环。我们根据顺序功能图可以快速地编写出梯形图程序。
二、使用置位/复位指令
使用逻辑指令实现的顺序功能控制同样也可以利用置位复位指令实现,该方法是以转换条件为中心的编程方法,所谓以转换条件为中心,指的是同一种转换在梯形图中只能出现一次,而对辅助继电器可以重复进行置位和复位。
我们以初始状态步M0.0为例,如果步M0.0要实现转换,必须满足两个条件,首先M0.0是活动步,所以我们可以用SM0.1置位启动初始状态M0.0,其次是转移条件满足,即按下启动按钮I0.0接通,并且动力头的初始状态停留在最左边即I0.1接通,所以将M0.0和I0.0、I0.1的常开触点串联在一起,当条件都满足时,可以做置位M0.1,转移到M0.1快进工作步,同时把上一个状态M0.0复位掉。其他工作步也是按照同样的方法去做即可。
三、使用SCR/SCRT/SCRE指令
S7-200 SMART PLC提供有专用的顺序控制指令SCR/SCRT/SCRE,我们可以利用这些指令实现,这其实是由多个SCR程序段组成的,一个状态就是一个SCR程序段,而每个SCR程序段又包括了步的起始即SCR,驱动输出处理,转移条件SCRT,和步的结束即SCRE。
写程序的时候注意在SCR段中,用转移条件对应的触点驱动SCRT指令即可实现转移到下一个状态步。
这种方式跟前面的置位复位指令有所不同,这里我们将M0.0~M0.3的状态步换成了状态继电器S0.0~S0.3,前面的转移是用S置位指令,这里是使用SCRT指令。
以S0.0初始状态为例,首先是SM0.1置位S0.0激活初始状态,然后以SCR S0.0作为状态的起始,SCRE作为状态的结束,在其中间编写转移条件和转移方向,也就是下启动按钮I0.0接通,并且动力头的初始状态停留在最左边即I0.1接通,所以I0.0、I0.1的常开触点串联在一起,从而驱动SCRT S0.1,满足条件时即可以转移到S0.1状态步中去。
以上就是使用逻辑指令、使用置位/复位指令、使用SCR/SCRT/SCRE指令等几种不同的方法实现顺序控制系统程序的方法,你掌握了吗?没掌握的话赶紧收藏起来~
小白入门必懂PLC软件+干货包 重磅加餐
现在为你准备好了,这些曾经让你头秃、加班熬夜的技术干货!
PLC入门学习全流程、电工基础大全、电工进阶PLC、PLC例程、西门子工程师地图……
软件汇总
学习步骤
现在你还有什么可担心的呢?赶紧看领取方式吧~
相关问答
时控开关最多有几路?
现在的时控开关,可以按星期设置的,一般都要设置开时间和关时间,你这个想法,不知道是什么用途。,一般时控开关都是单路控制的,本人见过的也最多也就就只有两...
555定时器属不属于plc?
1.555定时器不属于plc。plc(可编程逻辑控制器)是一种专门用于工业自动化控制的计算设备,它由处理器、输入/输出模块、存储器和操作接口等组成。plc通常用于实...
plc中ld代表常开定时器用什么表示?
在PLC中,LD代表常开线圈,用于控制开关量的状态。而定时器则需要使用不同的符号来表示,通常使用的是“TON”或“TIMERON”指令。这些指令可以用来控制一个定时...
台达PLC怎么设置修改时控开关?
能有多个途径实现,1:最简单的用100MS定时器T,可以做到几千秒,如要更长的时间,可以用计数器C对定时器T计数,可以做任意时间长度的时间控制。2:可以读PLC自...
三菱plc编程指令代表实体开关吗?
1.不是2.因为三菱PLC编程指令是用于控制和管理工业自动化系统的指令,它们并不代表实体开关。这些指令是用于控制PLC内部的逻辑运算和数据处理,以实现对各种...
plc定时器定义?
PLC定时器是程序可编程控制器中的一个功能模块,用于控制某个事件或操作在特定时间间隔内执行或停止。它一般包含计时器值、设定值、当前时间等参数。PLC定时器...
plc编程中用一个输入端控制启停有几种方法?
运用S7—200中的计数器指令、移位寄存器指令、SR触发器指令、置位和复位指令、基本逻辑指令均可实现单按钮电动机的启停控制.采用PLC控制时,要考虑PLC的输入、...
plc中如何实现时间控制启停?
在PLC中实现时间控制启停,通常有以下步骤:获取当前时间:PLC可以通过内置的实时时钟模块或其他外部模块获取当前时间,并将其储存在一个时间变量中。判断启...
西门子plc双联开关怎么编程?
西门子PLC双联开关编程的步骤如下:在PLC编程软件(如Step7)中,创建一个新的程序,并选择相应的PLC型号和通信接口。定义双联开关的输入和输出端口。...
PLC控制器程序是由什么构成的?
PLC的控制程序由主程序、子程序和中断程序组成。1.主程序主程序(OBI)是程序的主体,每一个项目都必须并且只能有一个主程序。在主程序中可以调用子程...PLC...