「案例」如何编写3台电机轮换的PLC程序?
导读:
有很多读者问我怎么让一个电机工作8小时后停止?三台或者多台电机轮换的一个程序怎么编写。这里小编就以“3台电机轮换”的一个案例来讲解,本案使用西门子200smartSR30型号的PLC。
一、控制要求
某工厂需要24小时工作,有3台电机需要轮流工作,当一台电机启动8小时以后,更换下一台电机启动,以此轮换。如果运行的电机出现故障以后,切换下一台电机运行并输出对应的报警指示灯。
二、I\O表
注:停止、过载、缺相、急停的输入信号接的是常闭。
三、控制程序
1.建立子程序
(1)变量表
建立变量表(图1),完成的子程序如图2所示。
(2)形参子程序
程序段1:每次调用程序的时候先把L11.3的状态清除,以免重复调用的时候出现干扰。
程序段2:启动的时候需要时间设定的小时或分钟大于0才可以启动,如果程序已经在运行了,则无法再触发启动.
程序段3:典型的起保停电路,当停止、报警、定时完成,触发会断开电路。
程序段4:当有过载L0.2或者缺相L0.3时会触发报警输出L11.2,复位的时候会暂时断开输出,如果故障没有解除,即使复位也没办法把报警消除。
程序段5:当故障复位输入的时候会复位报警。
程序段6:当第一次启动的时候会把运行时间清零,如果不清楚为什么,请看程序段2。
程序段7:当运行的时候,外部定时信号输入时,运行时间S会加一。
程序段8:当运行时间S=60时,运行时间M加一,然后把运行时间S清零。
程序段9:当运行时间M=60时,运行时间H加一,然后把运行时间M清零。
程序段10:运行的时候,运行的时间和设定的时间相等时,会输出定时完成信号,并断开程序段3的运行。
2.控制程序
程序段1:在自动的模式下,当电机3定时完成或报警的时候才会切换到一号电机启动,如果说电机启动2正在运行,第3台电机故障了也不会切换到第一台电机启动。
程序段2:启动I0.0或一号电机启动都可以对电机进行启动,对运行位输出。停止、急停、过载、缺相,由于外部用的是常闭开关,没有触发的情况下,对应的通道会为1,所以这里使用了常闭触点。
当停止或则急停触发时会使电机停止,当过载或缺相触发时,使电机停止,并输出报警。VW0、VW2是对电机运行的时间设定,VW4、VW6、VW8是电机的运行时间。
程序段3:原理和程序段1一致,只是对应的地址不一样,请参考程序段1。
程序段4:原理和程序段2一致,只是对应的地址不一样,请参考程序段2。
程序段5:原理和程序段1一致,只是对应的地址不一样,请参考程序段1。
程序段6:原理和程序段2一致,只是对应的地址不一样,请参考程序段2。
程序段7:当电机1或者电机2、电机3报警的时候会输出报警指示灯。
程序段8:当电机1或者电机2、电机3运行的时候会输出运行指示灯。
程序段9:如果报警指示灯和报警指示灯没亮的时候输出停止指示灯。
3.数据块
对每台时间进行初始化设定,如果需要可修改的时间,可以在触摸上建立组态程序,关联对应的变量。
总结:
以上就是整个项目的PLC程序,如果需要其他功能可以对程序修改,本案例是小编针对控制要求编写的程序,在手动情况下可单独对一台电机进行控制,在自动模式下为了确保电机正常轮换,请不要启动多台电机,如果说有一台电机出现故障,轮换的时候会跳过有故障的电机。
注:以上程序只供学习参考,如果说要用于实际生产中,需要根据项目和现场控制进行修改。
(来源:技成培训网原创,作者:邹志锐,转载请注明出处!)
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自动化系统的新建或改造项目中,用户对设备的手动操作和自动控制功能都十分重视,尤其是对手动操作功能格外的重视,对此的一般解释为“手动功能对于维护设备实用性很强”,设备经常出现问题,需要在自动控制的过程中进行手动操作,或者也有说要在手动操作时,进行自动控制操作的。但是对于一个完善的控制程序来讲,实现设备手动操作和自动控制功能及其两者的切换,不仅是可实现的也是应该实现的。如果说有不足的话,那就是,程序的复杂性会强一些,设计人员需要合理的分配手自动的功能并做好互不干涉的功能。
相关问答
三菱fx1n系列plc手动/自动切换程序怎么编写?
FX系列里有个方便指令叫IST可以编写手动,回原点,单步运行,单周期运行,全自动运行,回原点启动,自动运行启动,停止.共要8个连号元件,前6个需要用转换开关,也就...
PLC编程怎么处理自动手动模式?
根据系统的当前状态,使用相应的PLC代码来控制系统的行为或输出。在开发程序时,需要把自动模式和手动模式的控制逻辑分开,以便在状态变化时不影响系统的性能。...
请教三菱PLC自动/手动切换程序?
你这个程序要求用三菱IST指令完全可以满足需要的。比SFC指令要容易一点如果使用cj指令的话,使用跳转指令也行,跳转指令适用于手动和自动切换比较好。你是有三...
一个启动按钮一个停止按钮,如何每启动一次停止一次,自动两电机轮换?
谢谢邀请!一个启动按钮,一个停止按钮,如何启动一次停止一次,自动两电机轮换?这个问题我来回答。这个问题可以用PLC解决,也可以用常规继电器解决,PLC成本...谢谢...
关于风机的plc控制?
PLC是可编程控制器,它具有逻辑、顺序、定时、计数、运算等控制功能的通用自动控制设备。它以体积小、功耗低、速度快、可靠性高、具有较大的灵活性和扩展性而...
PLC的手动自动程序是怎么写的?
PLC的手动自动程序需要在PLC编程界面中进行设置。首先,需要定义手动和自动模式的输入信号,通常使用开关或按钮来切换模式。然后,编写程序来响应这些输入信号,...
三菱PLC三台电机循环运行程序怎么编?
1、做一个小时的定时。2、编写一个三个循环的步进梯形图。一个状态切换到后一个状态的触发条件用前面的定时进行触发。3、电机故障,肯定有三个故障输入点。...
三菱plc里面程序的自动手动半自动程序间怎么做无干扰切换?
手动和自动各是设备运行的一种控制状态,需要两个不同的PLC输入点即“IO”点中的“I”,比如三菱FX-3U系列的X0,X1,X2。。。等等,西门子S7-200系列的I0.0,I0.1,I...
plc电机控制算法?
PLC中无非就是三大量:开关量、模拟量、脉冲量。只在搞清楚三者之间的关系,你就能熟练的掌握PLC了。PLC编程算法(一)1、开关量也称逻辑量,指仅有两个取值,0...
西门子plc控制伺服电机的方法及举例(最好带有梯形图讲解)-ZO...
同时为了保证系统的可靠性,设置了本地、远程切换功能。在远程工作模式时,进行...S120的控制单元选用CU310-2DP,功率单元选用PM340,配合西门子1FT7高性能电机。...
扫一扫微信交流