课程中心
HOME
课程中心
正文内容
plc编程自动跳转 PLC是如何实现手自动切换控制的?手动功能到底有什么用?
发布时间 : 2024-11-25
作者 : 小编
访问数量 : 23
扫码分享至微信

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自动化系统的新建或改造项目中,用户对设备的手动操作和自动控制功能都十分重视,尤其是对手动操作功能格外的重视,对此的一般解释为“手动功能对于维护设备实用性很强”,设备经常出现问题,需要在自动控制的过程中进行手动操作,或者也有说要在手动操作时,进行自动控制操作的。但是对于一个完善的控制程序来讲,实现设备手动操作和自动控制功能及其两者的切换,不仅是可实现的也是应该实现的。如果说有不足的话,那就是,程序的复杂性会强一些,设计人员需要合理的分配手自动的功能并做好互不干涉的功能。

S7-1200 PLC跳转与标签指令的使用

对于PLC的指令中有一部分是程序控制指令,程序控制指令就包括了用来改变程序执行顺序的跳转指令,以及在程序运行中用于控制的指令。

这一篇文章中先介绍一下跳转与标签指令。

对于S7-200/200 SMART PLC的跳转指令只有JMP这么一个指令,但是对于S7-1200 PLC来说,则是新增了一些指令,比如定义跳转列表的跳转指令JMP_LIST,和跳转分支指令SWITCH等,我们会介绍指令的不同的地方。

下面我们就开始吧~

首先提个问题?

什么是跳转,使用跳转指令可以实现什么功能?

所谓跳转,就是跳过某段程序不去执行,使用跳转指令可以实现改变程序的执行顺序的功能。如果我们没有执行跳转指令的话,各个程序段是按照从上往下的顺序进行执行的,当执行了跳转指令之后,跳转指令会中止程序的顺序执行,跳转到指定的位置的程序开始往下执行。

那么我们怎么去指定这个位置呢?

这时我们就需要用到标签指令了!

所以,跳转指令和标签指令是配对使用的。跳转时,跳转指令和标签指令之间的程序,CPU是不再进行扫描执行的,这个是我们需要注意的。

S7-1200 PLC的跳转指令包括了逻辑结构跳转指令、定义跳转列表的跳转指令JMP_LIST,和跳转分支指令SWITCH。

我们分别看一下这几个指令的功能是怎么样的。

1、逻辑结果跳转指令

逻辑运算结果为1时,执行跳转指令JMP,逻辑运算结果为0时,执行跳转指令JMPN。配套使用的标签指令是LABLE,标签指令上需要标上标签号,可以是数字,也可以是字母或汉字哦。

对于S7-200/200 SMART PLC的跳转指令只有JMP和配套的LBL指令,并不是根据逻辑结果的跳转指令,所以也没有JMPN这个指令,而且对于标签LBL指令,S7-200/200 SMART PLC的标签号只能是数字,不可以是字母和汉字的哦。

2、定义跳转列表的跳转指令JMP_LIST

JMP_LIST指令可以定义多个有条件的跳转,跳转到由K管脚的值指定的标签段的程序去继续执行,而跳转的标签号是在指令框的输出端进行指定的。

我们可以通过点击指令上的增加输出管脚的按钮去增加输出管脚,最多可以增加到32个管脚,也就是DEST0~DEST31,所以K的值的范围也应该是在0~31之间,如果不是这些编号是不执行跳转的。

如上图程序,当JMP_LIST指令的EN驱动条件满足,会根据K的值决定跳转到相应的标签处开始执行,K的值是1,就代表是跳转到DEST1管脚所链接的标签_002处开始执行。

3、跳转分支指令SWITCH

SWITCH指令是根据一个或多个比较指令的结果,定义要执行的多个程序标签处跳转,在管脚K中指定的是要比较的值,将这个值跟各个输入管脚提供的值进行比较,如果比较条件满足的话,就跳转到对于的标签处开始执行程序。

如上图程序中,当K的值等于47.0时,就跳转到DEST0管脚对应的001标签处开始执行,当K的值等于24.6时,就跳转到DEST1管脚对应的002标签处开始执行,当K的值小于或等于14.9时,就跳转到DEST2管脚对应的003标签处开始执行,如果K的值与以上三个比较条件的比较结果都不满足的话,就跳转到ELSE管脚对应的004标签处开始执行。

我们在使用跳转指令的时候有一些注意事项需要注意一下的,

1、跳转指令可以往前跳转,也可以往后跳转。

2、只能在同一个代码块中跳转,不能从一个代码块跳转到另外的代码块中。

3、在一个块中跳转标签的名称只能使用一次。

4、一个程序断中只能设置一个跳转标签。

在执行跳转的过程中又有这样的一个问题,如果跳转执行后的程序希望执行到指定的地方可以自动返回,不再往下执行,这时怎么办呢?

其实这种情况下我们可以利用另外一个指令——返回指令RET实现,返回指令RET是可以用来实现对程序执行的控制,当执行到RET指令时,退出代码块的执行,也就是说RET指令之后的程序段CPU将不再执行。

所以说跳转指令和返回指令RET一起配合使用,可以实现对程序段的选择执行。

比如在每个标签段中加入这个RET指令,那么执行完这个标签到RET指令之间的程序之后,可以自动返回,不再去执行后续的程序。

以上就是S7-1200 PLC的跳转指令相关内容,这个指令可以用于做手自动切换等功能,应用的还是比较多的,大家还是需要掌握好这个指令的使用哦。

在下一篇文章中继续给大家介绍运行时的控制指令,大家可以继续关注哦~

(培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)

相关问答

plc自动循环程序自动跳?

PLC自动循环程序自动跳是指在程序循环执行过程中,当遇到特定条件时,程序会自动跳转到指定的位置继续执行。这种自动跳转的功能可以使程序逻辑更加完善和灵活,...

plc怎么实现自动循环?

用按钮触发后,用延时器控制自动无限循环运动,配合计数器可实现有限循环。例:用两个按钮一开(X0)一闭(X1)控制一个线圈Y0并自锁Y0的电路谁都会做吧。先...用...

plc信号传输数据跳动原因?

接。这就导致了一个高的波动的...1.可能正在使用一个自供电的传感器,或使用两个独立的电源分别用于CPU的扩展模拟量输入模块和传感器。两个电源的地之间没有...

三菱fx1n系列plc手动/自动切换程序怎么编写?

FX系列里有个方便指令叫IST可以编写手动,回原点,单步运行,单周期运行,全自动运行,回原点启动,自动运行启动,停止.共要8个连号元件,前6个需要用转换开关,也就...

plc一用一备自动切换程序怎么编写?

编写PLC一用一备自动切换程序的步骤如下:1.定义输入信号:确定PLC的输入信号,例如备用设备的状态信号、主设备的状态信号、切换信号等。2.确定切换条件:根据...

请教三菱PLC自动/手动切换程序?

你这个程序要求用三菱IST指令完全可以满足需要的。比SFC指令要容易一点如果使用cj指令的话,使用跳转指令也行,跳转指令适用于手动和自动切换比较好。你是有三...

plc运行过程中run灯跳怎么回事?

可能的原因有:电池电压下降,外部干扰的影响和plc内部故障,写入程序时的语法错误也会使它闪亮。这种原因可能由外部干扰和plc内部故障引起。run灯闪烁时,表示...

三菱PLC跳转指令怎么用?

在三菱PLC中,跳转指令用于在程序中实现跳转到指定的程序段或标签。使用跳转指令可以实现程序的灵活控制和流程的跳转。要使用跳转指令,首先需要定义跳转的目标...

变频器加plc会跳开的故障?

变频器加plc不会跳开的,除非你的接线错误。变频器加plc不会跳开的,除非你的接线错误。

三菱plc编程,在for循环中加入跳转指令,能否跳出该循环指令?

For指令在一个周期内执行完毕,你这样做显然是不对的,你需要使用计数器加跳转指令来实现循环4次的功能。For指令在一个周期内执行完毕,你这样做显然是不对的,...

 板框过滤机  the jerry springer show 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部