PLC可以多线圈输出吗?和置复位指令混用会有什么问题?
原创不易,请勿抄袭!
很多刚接触PLC的新人们都会对线圈的直接输出指令和置复位指令感到疑问,不知道什么时候应该用什么指令,最后编出来的程序既有多个线圈,又有置复位,而且一些PLC还不会因此报错,但运行结果却是差之毫厘,谬以千里。
1 输出指令
输出线圈
满足列条件之一时,线圈Q4.0的状态为“1”
1输入端I0.0和I0.1的信号状态同时为“1”时
2或输入端I0.2的信号状态为“0”时。
满足下列条件之一时,输出端Q4.1的信号状态将是“1”
1 输入端I0.0,I0.1和I0.3的信号状态同时为“1”时
2 输入端I0.2的信号状态为“0”、输入端I0.3的信号状态为“1”时
2 置复位指令
2 S为 SET指令
SET指令称为置位指令。其功能是:驱动线圈,使其具有自锁功能,维持接通状态。在图2中,当动合触点I0.0闭合时,执行SET指令,使线圈Q0.1接通。在断开后,Q0.1线圈继续保持接通状态,要使Q0.1线圈失电,则必须使用复位指令R。
置位指令的操作元件为输出继电器Q、辅助继电器M和步进继电器S。
3 R为RST指令
RST指令称为复位指令。其功能是使线圈复位。在图2中,当动合触点I0.1断开时,执行R指令,使Q0.1线圈复位。在I0.1接通后,Q0.1线圈继续保持断开状态。要使Q0.1线圈得电,则必须使用置位指令S
复位指令的操作元件为输出继电器Q、辅助继电器M、步进继电器S等等。
那么如果将两者混合在一起会是什么情况呢?
()是线圈输出指令,S是置位指令,R是复位指令
程序第一行叫线圈输出指令,第二行叫置位指令,第三行叫复位指令。
都是用来做输出状态的,他们之间的区别就在于:
1输出线圈是对目标位的最终结果的申明,不是1就是0,既然是最终结果,一个程序里理论来说只可以有一个输出线圈,为什么说理论来说,因为有一种情况可以多线圈,那就是如果多个线圈分别应用在不同的子程序里,而一个扫描周期只能检测到一个线圈的话也是可以的。
而一旦出现双线圈输出,在编辑的时候PLC也不会报错,但只有最后一个线圈起作用,前面的无论是否满足都没有任何作用。
三个相同的线圈输出指令,前两个结果为1,最后一个结果为0,最终结果为0
三个相同的线圈输出指令,前两个结果为0,最后一个结果为1,最终结果为1
但如果需要这种多处控制输出的话怎么办?
两种办法:一每个控制点使用不同的中间继电器,然后中间继电器再控制线圈输出。
M0.0,M0.1,M0.2代替三种状态,最后再输出到Q0.0上,就可避免双线圈的问题。
二是使用置复位。
置位指令是对目标位状态的更改,这可以改,那也可以改,条件满足就改,条件不满足就保持原状态,所以一个程序里可以多处更改,而结果以多次更改的结果为主。
共有两个置位指令,两个复位指令。
2 输出线圈是一个单一指令,条件满足就是1,不满足就是0。
置位指令能将0变为1,不能将1变为0。所以置位指令必须和复位指令配合使用才是一个完整的程序。
3 这两种最好不要出现在一个扫描周期中,虽然可以,但是建议新手不要这么做,因为情况比较复杂,如果出现了这种情况就要看哪个命令在程序的尾部。
如果输出线圈在程序段的后面,则以输出线圈的结果为主,不考虑前面的置复位指令。
前面置位了,后面的输出线圈为0,结果为0
前面复位了,后面的输出线圈为1,结果为1
如果置复位命令在程序段的后面,需要看这个指令是否满足条件并且执行,不执行的话以上一个指令为主,执行的话以当前指令为主。
以最后有效的指令为准
所以新手朋友要多加练习,才能熟练掌握这几个指令的用法。
(如果喜欢这篇文章,请点赞并关注,以便优秀文章在第一时间受到推送)
西门子PLC从入门到精通的5个实例,理论讲解加程序演示!
可编程控制器的分类
按组成结构:整体式、模块式和紧凑式
按I/O点数:大 (>1024)、中 (256~1024) 、小型 (<256点)
按功能:低、中、高档.
PLC硬件系统:输入部分;运算控制部分(CPU);运算控制部分(CPU)
可编程控制器的一个机器扫描周期是指用户程序运行一次所经过的时间。它分为执行CPU自诊断、处理通讯请求、读输入(输入采样)、执行程序、写输出(输出刷新)等五个阶段。
S7-200 CPU有两种工作方式:
STOP(停止)。 CPU在停止工作方式时不执行程序,此时可以向CPU装载程序或进行系统设置。
RUN(运行)。 CPU在RUN工作方式下运行用户程序。
在程序编辑、上/下载等处理过程中,必须把CPU置于STOP方式。
改变工作方式的方法:
使用PLC上的方式开关来改变工作方式。
使用STEP7-Micro/WIN32编程软件设置工作方式。
在程序中插入一个STOP指令,CPU可由RUN方式进入STOP工作方式。
使用工作方式开关改变工作状态。
用位于CPU模块的出/入口下面的工作方式开关选择CPU工作方式。工作方式开关有三个挡位:STOP TERM(Terminal)、RUN。
提供参与操作的数据地址的方法,称为寻址方式。
S7-200数据的寻址方式有立即数寻址、直接寻址和间接寻址三大类;有位、字节、字和双字四种寻址格式。用立即数寻址的数据在指令中以常数形式出现。
输入继电器线圈只能由外部信号驱动,不能用程序指令驱动。
输出继电器用来将PLC的输出信号传递给负载,只能用程序指令驱动。
数据存储区及元件功能
(1)输入/输出映像寄存器
(2)变量存储器(V)
(3)内部标志位(M)存储区
(4)顺序控制继电器(S)存储区
(5)特殊标志位(SM)存储器
(6)局部存储器(L)
(7)定时器
(8)计数器
(9)模拟量输入/输出映像寄存器(AI/AQ)
(10)累加器(AC)
(11)高速计数器(HC)
定时器的主要参数有定时器预置值,当前计时值和状态位。
计数器有一个16位的当前值寄存器和一位状态位。当前值寄存器用以累计脉冲个数,其设定值(预置值)在程序中被赋予;当计数器当前值大于或等于预置值时,状态位置1。
S7-200 CPU提供有三种类型的计数器:
增计数,
减计数,
增/减计数。
S7-200系列PLC支持SIMATIC和IEC1131-3两种基本类型的指令集,编程时可任意选择。
SIMATIC指令集是西门子公司PLC专用的指令集,具有专用性强、执行速度快等优点,可提供LAD,STL,FBD等多种编程语言。
IEC1131-3指令集是按国际电工委员会(IEC)PLC编程标准提供的指令系统。该编程语言适用于不同厂家的PLC产品,有LAD和FBD两种编辑器。
LAD图形指令有三个基本形式:触点、线圈和指令盒。
实例编程:
例1
图1.1为三相异步电动机正反转运行电路。起动时,合上QS,引入三相电源。按下正转控制按钮SB2,KMl线圈得电,其常开触点闭合,电动机正转并实现自锁。
图1.1
当电动机需要反转时,按下反转控制按钮SB3,KMl线圈断电,KM2线圈得电,KM2的常开触点闭合,电动机反转并实现自锁,按钮SBl为总停止按钮。
任务要求用PLC来实现上图所示的三相异步电动机的正反转运行电路
(1)I/O(输入/输出)地址分配
由上述控制要求可确定PLC需要3个输入点,2个输出点,其I/0地址分配如下:
I0.0:停止按钮SB1
I0.1:正转起动按钮SB2
I0.2:反转起动按钮SB3
Q0.0:正转运行用交流接触器KM1
Q0.1:反转运行用交流接触器KM2
PLC的外部硬件接线图
1)方案一:直接用“起一保一停”基本电路实现。
2)方案二:利用“置位/复位”基本电路实现。
3)方案三:利用栈操作指令实现梯形图及指令表。
例2
图2.1为两台电动机顺序起动逆序停止的控制电路图。按下起动按钮SB2,第一台电动机M1开始运行,5s之后第二台电动机M2开始运行;按下停止按钮SB3,第二台电动机M2停止运行,10s之后第一台电动机Ml停止运行;SBl为紧急停止按钮,当出现故障时,只要按下SBl,两台电动机均立即停止运行。
图2.1
任务要求用PLC来实现上图所示的两台电动机顺序起动逆序停止的控制电路,其控制时序图如下图所示。
I/O(输入/输出)地址分配
由上述控制要求可确定PLC需要3个输入点,2个输出点,其I/0地址分配如下:
I0.0:紧急停止按钮SB1
I0.1:起动按钮SB2
I0.2:停止按钮SB3
Q0.0:电动机M1运行用交流接触器KM1
Q0.1:电动机M2运行用交流接触器KM2
根据I/0地址分配及控制时序图可知,当起动按钮SB2被按下时,输入继电器I0.1接通,输出继电器Q0.0置1,交流接触器KMl线圈得电并自保,这时第一台电动机M1运行,5s之后输出继电器Q0.1置1,第二台电动机M2。
开始运行;当按下停止按钮SB3时,输入继电器I0.2接通,输出继电器Q0.1置0,第二台电动机M2停止运行,10s之后输出继电器Q0.0置0,第一台电机停止运行。梯形图及语句表如图所示。
例3
图3.1为三相异步电动机Y-△减压起动的原理图。KMl为电源接触器。KM2为△联结接触器,KM3为Y联结接触器,KT为起动时间继电器。其工作原理是:起动时合上电源开关QS,按起动按钮SB2,则KMl、KM3和KT同时吸合并自锁,这时电动机接成Y联结起动。
图3.1
任务要求用PLC来实现图Y-△减压起动的控制电路,其控制时序图如图所示。利用PLC基本指令中的串、并联及输出指令可实现上述控制要求。
例4
如图4.1是一个库门自动控制示意图。当有汽车接近库门时,超声波开关动作(超声波开关为0N),库门打开,直到上限位开关动作,汽车通过库门,红外线光电开关动作(汽车遮断了光束,光电开关为0N),汽车完全进入库门后,库门开始关门,直到下限位开关动作,完成一个自动控制过程。
图4.1
如图4-1所示,设小车在初始位置时停在右边,限位开关SQ2处于“0N”状态。按下起动按钮SB0后,小车向左运动,碰到限位开关SQl时,变为右行;返回限位开关SQ2处变为左行,碰到限位开关SQ0时,变为右行,返回起始位置后停止运动。
任务要求用PLC控制小车往复运动,用单序列的顺序功能图编程。
图4-1
(1)I/O(输入/输出)地址分配
由上述控制要求可确定PLC需要4个输入点,2个输出点,其I/O地址分配如下:
I0.0:限位开天SQ0
I0.1:限位开关SQl
I0.2:限位开关SQ2
I0.3:起动按钮SB0
QO.0:接触器KMl小车左行
QO.1:接触器KM2小车右行
小车往复运动的顺序功能图
小车往复运动的控制梯形图
例5
城市隧道要求24小时不间断照明,有时考虑到要节约用电和延长灯的使用寿命,需要分时控制,同时又要有足够的照明,如隧道中有A、B、C三组灯,每天早7点到晚7点,第1组灯亮,晚7点到晚10点3组灯都亮(车多),晚10点至第二天早7点第2、3组灯亮,要求用一个开关控制三组灯的亮和灭。
(1)I/O(输入/输出)地址分配
I0.0: 控制开关
QO.1、QO.2、QO.3: 三组灯
相关问答
在PLC模块中,一个输入能否对应多个输出?
当然行了,每个输入都可以对应任何一个或多个输出,要是只能一对一的话还编程干嘛当然行了,每个输入都可以对应任何一个或多个输出,要是只能一对一的话还编程干嘛
怎样让Plc一个输入点控制多个输出点呢?急?
用单按钮启停方法(很多方法,可上网查)控制Y1,取反后给Y2。可编程逻辑控制器,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计...
plc如何实现多个输入端控制一个输出端?
回答如下:PLC可以通过逻辑控制语句来实现多个输入端控制一个输出端。常用的逻辑控制语句包括“与”、“或”、“非”等。下面以“与”逻辑为例,说明如何实现多...
plc多个网络可以有一个输出吗?
1、是可以的。2、PLC具有多个通信接口,包括串行接口、以太网接口等。3、用户可以通过软件编程实现不同网络之间的数据传输,从而实现一个输出控制多个网络的...
plc一个网络可以有多个输出吗?
在PLC中,一个程序段可以有多个输出。这通常是通过使用多个输出指令来实现的。例如,可以使用多个输出指令将不同的值写入不同的输出寄存器或输出口。但是,需要...
一台FX2N的PLC为什么有一个输入多个输出?
三菱FX2N系列PLC,PLC的外部输入和输出点共48个,输出点是继电器型。三菱FX2N系列PLC,PLC的外部输入和输出点共48个,输出点是继电器型。
三菱plc是怎么实现多个步骤同时输出?
你好,三菱PLC可以使用多种方法实现多个步骤同时输出。以下是两种常用的方法:1.并行输出:通过使用并行输出模块,可以同时输出多个信号。这些模块通常具有多...
plc可以两个输出接一个元件吗?
是的,PLC(可编程逻辑控制器)可以两个输出接一个元件。在实际应用中,这种情况通常被称为“线圈并联”或“硬接点并联”。当一个PLC的输出端同时驱动两个或多...
plc单个输入点交叉控制多个输出点?
可以实现。因为PLC技术可以利用逻辑程序实现单个输入点对多个输出点的控制,通过逻辑门、定时器、计数器等功能模块实现输入点和输出点之间的交叉控制。同时,PL...
两个plc怎么共用一个变量?
两个PLC共用一个变量,如果是外部输入变量,比如一个按钮,一个开关,则有如下三种方法:方法1:该外部变量接两路电线到两个PLC的输入模块,或者该外部变量一根...