PLC应用技术第三章.docx
《PLC应用技术第三章.docx》由会员分享,可在线阅读,更多相关《PLC应用技术第三章.docx(26页珍藏版)》请在冰豆网上搜索。
PLC应用技术第三章
第3章三菱FX2N系列PLC的指令系统
一、三菱FX2N系列PLC的基本指令
1.常用指令
1)标准触点指令
图1标准触点指令
2)逻辑电路块的连接指令
图2电路块连接指令
[练习]
根据梯形图写出指令表
根据梯形图写出指令表
3)堆栈操作指令
FX2N系列PLC有一个11位的堆栈,堆栈按“先进后出,后进先出”的原则存取,即先入的数据放在栈下方,后进的数据放在栈上方,出栈时上方的数据(后进的数据)先出去,下方的数据(先进的数据)后出去。
栈顶用来存储逻辑运算的结果,下面的10位用来存储中间结果。
与堆栈有关的指令有以下3个。
入栈指令(MPS):
当前的逻辑运算结果压入栈顶,堆栈中原来的数据依次向下一层推移。
读栈指令(MRD):
读取存储在栈顶的数据,读出数据后堆栈内的数据不会上下移动。
出栈指令(MPP):
弹出栈顶的数据,使栈中各层的数据向上移动一层,第2层的数据成为堆栈的新的栈顶值,原栈顶值被推出丢失。
这些堆栈操作指令如图3所示,其中MPS和MPP必须成对出现。
主要用在多重输出电路。
图3堆栈操作指令
[练习]
根据梯形图写出指令表
根据梯形图写出指令表
4)置位、复位指令
置位指令(SET)的功能是将某个存储器置1;复位指令(RST)的功能是将某个存储器置0。
SET指令用于Y、M和S,RST指令可以用于复位Y、M、S、T和C,也可以将字元件D、V和Z清零。
图4置位、复位指令
5)触点检测指令
触点检测指令包括上升沿检测的触点指令和下降沿检测的触点指令。
上升沿检测的触点指令有LDP、ANDP、ORP,触点中间有一个向上的箭头,对应的触点仅在指定位元件的上升沿时接通一个扫描周期;下降沿检测的触点指令有LDF、ANDF、ORF,触点中间有一个向下的箭头,对应的触点仅在指定位元件的下降沿时接通一个扫描周期。
图5触点检测指令
6)微分输出指令
微分输出指令包括上升沿微分输出指令(PLS)和下降沿微分输出指令(PLF)。
PLS指令和PLF指令只能用于Y和M(不包括特殊辅助继电器)。
如图16所示,M10仅在X3的上升沿的一个扫描周期内为ON,M11仅在X3的下降沿的一个扫描周期内为ON。
图6微分输出指令
7)主控指令与主控复位指令
图7主控复位指令
8)取反指令
取反指令INV在梯形图中用一条45°短斜线表示。
INV指令将执行该指令之前的运算结果取反,运算结果如果为1则将它变为0,运算结果如果为0则将它变为1。
图8取反指令
9)空指令
空指令NOP使该步序空操作,不影响程序的执行。
在程序全部清除时,全部指令变成NOP。
10)程序结束指令
程序结束指令END将强制结束当前的扫描执行过程。
若不写END指令,将从用户程序存储器的第一步执行到最后一步。
如果原来PLC用户程序存储器有程序,并且比新写入的程序要长,下载新的程序时,原有的程序不能完全覆盖,在执行程序的过程中,执行完新的程序后接下去执行原来的未被覆盖的程序,导致出错。
将END指令放在程序结束处,只执行第一步到END之间的程序,可以避免上述问题的产生,并且可以缩短扫描周期。
在调试程序的时候也可以将END指令插在各段程序之后,一段一段程序开始调试,调试好的程序将END指令去掉。
[练习]
根据梯形图写出指令表
2.定时器指令
PLC中的定时器相当于继电器控制系统中的时间继电器,用来定时。
FX2N系列PLC的定时器共有2种类型:
通用定时器和积算定时器。
定时器有1ms、10ms、100ms三种分辨率,分辨率取决于定时器号,如表1所示。
可用常数K或数据寄存器(D)的内容来设置定时值。
表1FX2N系列PLC的定时器
类型
分辨率
定时范围
定时器号
通用定时器
10ms
327.67s
T200~T245
100ms
3276.7s
T0~T199
积算定时器
1ms
32.767s
T246~T249
100ms
3276.7s
T250~T255
1)通用定时器
当通用定时器的线圈通电时,定时器开始定时,定时时间到时,它的常开触点闭合,常闭触点断开;通用定时器没有断电保持功能,在输入电路断开或停电时被复位。
图9通用定时器指令
2)积算定时器
积算定时器在输入电路接通时开始计时,当输入电路断开或停电时,当前值保持不变。
需要用复位电路对其进行复位。
图10积算定时器指令
3.内部计数器指令
FX2N系列的内部计数器是在执行扫描周期时对内部器件(如X、Y、M、S、T和C)的信号计数,计数脉冲为ON或OFF的持续时间应该比扫描周期长。
1)16位加计数器
16位加计数器的设定值为1~32767。
图1116位加计数器指令
2)32位双向计数器
32位双向计数器的设定值为-2147483648~+2147483647,其加/减计数方式由对应的特殊辅助继电器M8200~M8234设定,对应的辅助继电器为ON,为减计数器,反之为加计数器。
图1232位双向计数器指令
3)16位电池后备/锁存计数器和32位电池后备/锁存双向计数器
使用电池后备/锁存功能的计数器在电源断电时可以保持其状态信息,重新送电后立即按断电时的状态恢复工作,其他工作方式与16位加计数器和32位双向计数器相类似。
4.高速计数器指令
FX2N系列PLC共有21点高速计数器(C235~C255),相对于普通计数器,高速计数器用于频率高于机内扫描频率的机外脉冲计数。
由于计数信号频率高,计数以中断的方式工作,计数器的起动、复位、或计数的方向的变化也多使用机外信号。
高速计数器可分为单相单计数输入高速计数器、单相双计数输入高速计数器和A-B相双计数输入高速计数器。
1.单相单计数输入高速计数器
单相单计数输入高速计数器X000~X007为高速计数器对应的输入端子的元件号,U、D分别为加、减计数输入,R为复位输入,S为置位输入。
C235~C245为单相单计数输入高速计数器,其中C235~C240为单相单计数器输入无起动/复位端的高速计数器,C241~C245为单相单计数器输入带起动/复位端的高速计数器,C235~C240只能用RST指令来复位,C241~C245可以用RST来复位,也可以用它本身的复位端来复位。
可以用特殊辅助继电器M8235~M8245来设置C235~C245的计数方向,对应的特殊辅助继电器为ON时为减计数器,为OFF时为加计数器。
图13单相单计数输入高速计数器指令
2.单相双计数输入高速计数器
图14单相双计数输入高速计数器指令
3.A-B相双计数输入高速计数器
图15A-B相型双计数输入高速计数器指令
二、三菱FX2N系列PLC的应用指令
1.应用指令的基本规则
FX2N系列PLC在梯形图中使用功能框表示功能指令。
如图16所示,X0的常开触点是应用指令的执行条件,其后的方框图即为功能框。
在功能框中表示指令的名称、相关数据或数据的存储地址。
图16应用指令格式
1)应用指令的助记符
应用指令的名称用助记符的形式表示,助记符是该指令的英文缩写词。
2)数据长度
应用指令按处理数据的长度分为16位指令和32位指令。
其中32位指令在助记符前加“D”。
如图28中的“MOV”之前加上“D”,表示DMOV为32位数据传送指令。
3)应用指令的操作数
操作数是应用指令涉及或产生的数据。
有的应用指令没有操作数,大多数应用指令有1~4个操作数。
操作数分为源操作数、目标操作数和其他操作数。
源操作数是指令执行后不改变其内容的操作数,用[S]表示。
目标操作数是指令执行后将改变其内容的操作数,用[D]表示。
源操作数或目标操作数不止一个时,可以表示为[S1]、[S2]、[D1]、[D2]等。
n或m表示其他操作数,常用来表示常数或操作数和目标操作数的补充说明。
其他操作数较多时,可以表示为n1、n2、m1、m2等。
如图28所示,因为是32位传送指令,所以(D11,D10)为源操作数,(D21、D20)为目标操作数。
4.应用指令的执行形式
应用指令的执行形式分为连续执行型和脉冲执行型。
在指令助记符后面加上“P”为脉冲执行型。
2.程序控制指令
1)条件跳转指令
图17条件跳转指令
2)子程序指令
子程序指令包括子程序调用CALL指令和子程序返回SRET指令。
图18子程序指令
3)中断指令
FX2N系列PLC的中断事件包括输入中断、定时中断和高速计数器中断,发生中断事件时,CPU停止执行当前的工作,立即去相应的中断子程序。
这一过程不受PLC扫描工作方式的影响,因此PLC能迅速响应中断事件。
图19中断的指针
特殊辅助继电器M805△为ON时(△=0~8),禁止执行相应的中断I△□□(△=0~8,□□是与中断有关的数字)。
M8059为ON时,关闭所有的计数器中断。
[练习]
分析程序执行情况。
3.数据处理指令
1)比较指令
比较指令(CMP)是比较源操作数[S1]和[S2],比较的结果用目标操作数[D]的状态来表示。
源操作数[S1]和[S2]可以取所有字元件,目标操作数[D]可以取Y、M、S。
图20比较指令
区间比较指令(ZCP)是将一个源数据[S]和两个源操作数[S1]和[S2]之间的数据进行代数比较,比较的结果送到目标操作数[D]中。
源操作数[S1]和[S2]可以取所有字元件,目标操作数[D]可以取Y、M、S。
图21区间比较指令
触点型比较指令相当于一个触点,执行时比较源操作数[S1]和[S2],满足比较条件则触点闭合,源操作数可以取所有的数据类型。
图22触点型比较指令
区间复位指令(ZRST)是将[D1]~[D2]指定的元件号范围内的同类元件成批复位。
目标操作数[D1]和[D2]可以取T、C、D或Y、M、S,[D1]和[D2]应为同一类元件,[D1]的元件号应小于[D2]的元件号。
图23区间复位指令
2)传送指令
传送指令MOV将源数据[S]传送到指定目标[D]中,[S]可以取所有数据类型,[D]可以是KnY、KnM、KnS、T、C、D、V和Z。
2)移位传送
移位传送指令SMOV将4位十进制源数据(S)中指定位数的数据传送到4位十进制目标操作数(D)中指定的位置。
指令中的常数m1、m2和n的取值范围为1~4,分别对应个位~千位。
图24传送指令
取反传送指令CML将源元件[S]中的数据逐位取反,并传送到指定目标[D]中。
块传送指令BMOV将源操作数[S]指定的元件开始的n个数据组成的数据传送到指定的目标[D]。
源操作数[S]可以取KnX、KnY、KnM、KnS、T、C、D、V、Z和文件寄存器,目标操作数[D]可以取KnY、KnM、KnS、T、C、D、V、Z和文件寄存器。
多点传送指令FMOV将单个单元[S]中的数据传送到指定目标地址[D]开始的n个元件中,传送后n个元件中的数据完全相同。
源操作数[S]可以取所有的数据类型,目标操作数[D]可以取KnY、KnM、KnS、T、C、D、V和Z,n为常数,n512。
数据交换指令XCH是将两个目标元件[D1]和[D2]中的内容相交换。
目标操作数[D1]和[D2]可以取KnY、KnM、KnS、T、C、D、V和Z。
图25传送指令
3)循环指令和移位指令
循环移位指令包括右循环移位指令(ROR)、左循环移位指令(ROL)、带进位的右循环移位指令(RCR)、带进位的左循环移位指令(RCL)。
它们只有目标操作数[D],可以取KnY、KnM、KnS、T、C、D、V和Z。
图26循环指令
移位指令包括位右移(SFTR)、位左移(SFTL)、字右移(W