一文带你轻松学会PLC主程序结束,程序循环与程序传送等指令
为了让大家掌握更多PLC指令,所以本章仍旧为大家介绍PLC功能指令的使用方法。
主程序结束:
该指令的指令代码,助记符,操作数如下表:
这条指令的使用主要是区分主程序和子程序的关系
FEND表示主程序结束,与END一样,进行输入输出处理或者警告定时刷新后,程序返回第0步,在一个程序中可以多次使用FEND指令。子程序或者是程序中断必须要写在FEND与END之间,然后以IRET或SRET结束
警戒时钟指令:
该指令的指令代码,助记符,操作数如下表:
指令应用方法:在PLC中如果一个程序扫描周期超过200ms时,那么这个程序就不能正常进行,所以为了能够让这个程序得到正常的扫描,我们就要在这个程序之间插入WDT程序。因为WDT能够对PLC的监视定时器进行刷新。
程序示例:
比如在这个程序中,程序从D0步开始,执行到WDT的时候,它内部的程序监视定时器刷新,然后又从D0步开始直到END结束。这样子PLC内部的监视定时器就可以分为两个部分来记,这样子这个240ms的程序就可以扫描完。当然我们还可以用另一个方法:
PLC恒扫描方法:
我们可以修改特殊寄存器D8000,把K300移入到D8000里面,那么这个程序的扫描时间就变成了300ms,同样也可以解决这个问题。
循环开始和循环结束指令:
该指令的指令代码,助记符,操作数如下表:
指令格式:
程序中用了两个FOR与NEX,A一个为循环,B为一个循环。
使用案例:
当我们接通X0后,程序跳转指令起作用,程序跳转到P0位置,中间的循环程序被跳过,所以D0的值为0。当我们断开X0后,先执行外围的循环程序4次,中间的循环程序5次,最里面的循环程序5次,因为程序在每执行一次D0加1,所以D0=5X5X4=100,在循环了这100次后,才跳出程序。
传送比较指令 :
传送比较指令包括数据比较,传送,交换和变换:共10条指令代码从FNC10~FNC19.这部分指令是属于基本的应用指令,使用非常普及。
比较指令:
该指令的指令代码,助记符,操作数如下表:
S1,S2源操作数,都是字元件。D为目标操作数。程序步在16位运行的时候为7步,在32位运行的时候为13步,可以为连续执行,也可以为脉冲执行。
程序案例:
当我们接通X10后,C10的当前值与K100进行比较,比较的结果通过M10,M11,M12来进行表示。当K100大于C10的当前值的时候,M10接通。当K100等于C10的当前值的时候,M11接通。当K100小于C10的当前值的时候,M12接通。但是我们要注意程序在执行的时候只会接通其中一个,而且只有一个是接通的。
喜欢更多PLC知识,关注小编不迷路噢!
三菱 FX 系列PLC的基本逻辑指令(3)
逻辑反、空操作与结束指令(INV/NOP/END)
1)INV(反指令) 执行该指令后将原来的运算结果取反。反指令的使用如图10所示,如果X0断开,则Y0为ON,否则Y0为OFF。
2)NOP(空操作指令) 不执行操作,但占一个程序步。执行NOP时并不做任何事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清除用户存储器操作后,用户存储器的内容全部变为空操作指令。
3)END(结束指令) 表示程序结束。若程序的最后不写END指令,则PLC不管实际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有END指令,当扫描到END时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中插入若干END指令,将程序划分若干段,在确定前面程序段无误后,依次删除END指令,直至调试结束。
堆栈指令(MPS/MRD/MPP)
堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便利。在FX系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。
(1)MPS(进栈指令) 操作结果被发送到堆栈存储器的第一段,先前发送的数据依次被移动到堆栈的下一段。
(2)MRD(读栈指令) 将栈存储器的第一段数据(最后进栈的数据)读出且该数据继续保存在栈存储器的第一段,栈内的数据不发生移动。
(3)MPP(出栈指令) 读取堆栈内存的第一个数据(进入堆栈的数据),数据从堆栈中消失,堆栈中的其他数据依次上移。
堆栈指令的使用说明:
1)堆栈指令没有目标元件;
2)MPS和MPP必须配对使用;
3)由于栈存储单元只有11个,所以栈的层次最多11层。
FX系列PLC的步进指令
1.步进指令(STL/RET)
步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序控制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读修改。
FX2N中有两条步进指令:STL(步进触点指令)和RET(步进返回指令)。
STL和RET指令只有与状态器S配合才能具有步进功能。我们用每个状态器S记录一个工步,例STL S200有效(为ON),则进入S200表示的一步,开始执行本阶段该做的工作,并判断进入下一步的条件是否满足。一旦结束本步信号为ON,则关断S200进入下一步,如S201步。RET指令是用来复位STL指令的。执行RET后将重回母线,退出步进状态。
2.状态转移图
一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有不同的动作。当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状态执行。我们常用状态转移图描述这种顺序控制过程。用状态器S记录每个状态,X为转换条件。如当X1为ON时,则系统由S20状态转为S21状态。
状态转移图中的每一步包含三个内容:本步驱动的内容,转移条件及指令的转换目标。
步驱动Y0,当X1有效为ON时,则系统由S20状态转为S21状态,X1即为转换条件,转换的目标为S21步。
3.步进指令的使用说明
1)STL触点是与左侧母线相连的常开触点,某STL触点接通,则对应的状态为活动步;
2)与STL触点相连的触点应用LD或LDI指令,只有执行完RET后才返回左侧母线;
3)STL触点可直接驱动或通过别的触点驱动Y、M、S、T等元件的线圈;
4)STL触点驱动的电路块中不能使用MC和MCR指令,但可以用CJ指令;
5)由于PLC只执行活动步对应的电路块,所以使用STL指令时允许双线圈输出(顺控程序在不同的步可多次驱动同一线圈);
6)在中断程序和子程序内,不能使用STL指令。
相关问答
西门子S7-200的PLC编完程序后要结束语END吗?
当然可以不用END了,END是用来结束用的,不然的话PLC会按照扫描的周期对程序进行扫描,然后执行。我个人认为写了RET和不写效果差不过,你可以编两个一样的程序试...
三菱plc跳转指令怎么结束?
给你一个CJ跳转指令的例题利用CJ跳转指令做一个单按钮程序利用CJ跳转指令做手自动切换程序——有四个指示灯,在自动程序下,按下按钮,每隔五秒点亮一盏,按...
在三菱plc中,我用M8002开始步进指令,然后处于循环动作中,那我结束步进指令的时候怎么结束呢?
最后一步采用选择方法,如果继续循环,返回S**步(第一步)。如果停止运行返回S0初始步。最后一步采用选择方法,如果继续循环,返回S**步(第一步)。如果停止运行...
PLC里面的指令分别代表什么?
20个基本指令:LD:取指令(常开触点)LDI:取反指令(常闭触点)AND:串指令(常开触点)ANI:串反指令(常闭触点)OR:并指令(常开触点)ORI:并反指令...20个基本指...
plc基本功能指令?
一、标准触点指令LD动合触点指令,表示一个与输入母线相连的动合触点指令,即动合触点逻辑运算起始。LDN动断触点指令,表示一个与输入母线相连的动断触点指令...
西门子暂停指令?
西门子PLC的STOP为暂停指令,使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。STOP指令在梯形图中以线圈形式...
PLC里面的RET是什么指令呀?
步进指令(STL/RET)步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序控制的方式来实现,使用步进指令实现顺序控制既方便实现又便...
三菱PLC的ret指令?
ret是返回指令。是步进指令,步进结束指令,是一系列stl指令之后,加上ret表示步进指令结束,子母线返回主母线。ret是返回指令。是步进指令,步进结束指令,是一系...
plc的done位指的是什么?
关于这个问题,PLC的done位是指输出操作完成的信号标志位,表示该输出操作已经完成,并且输出信号已经稳定。当PLC执行一个输出操作时,需要等待输出信号稳定后才...
plc顺序启动逆序停止怎么实现?
PLC程序运行都是诸条命令扫描的,不可能反向扫描。实现顺序启动,逆序停止,就需要编写两个功能块,一个是顺序的,用于启动;一个是逆序的,用于停止。由主程...重...