《功能指令及功能模块.ppt》由会员分享,可在线阅读,更多相关《功能指令及功能模块.ppt(61页珍藏版)》请在三一办公上搜索。
1、第5章 功能指令及功能模块简介,5.1 功能指令简介 在FX2系列PLC的功能指令编号FNC00FNC99中,有些功能号是预留的,所以实际功能指令只有85条。一条基本逻辑指令只完成一个特定的操作,而一条功能指令却能完成一系列的操作,相当于执行了一个子程序,所以功能指令的功能更加强大,使编程更加精练。基本指令和其梯形图符号之间是互相对应的。而功能指令采用梯形图和助记符相结合的形式,意在表达本指令要做什么。,5.1.1 数据类软元件,1数据寄存器(D),PLC在进行输入输出处理、模拟量控制、位置控制时,需要许多数据寄存器存储数据和参数。数据寄存器有以下几种类型:1、通用数据寄存器(D0D199)2
2、、断电保持数据寄存器(D200D999)3、特殊数据寄存器(D8000D8255)4、文件型数据寄存器(D1000D2999),图5.1 16位/32位数据表示形式,数据寄存器为16位,最高位为符号位。可用两个数据寄存器来存储32位数据,最高位仍为符号位。,2变址寄存器(V、Z各一点),图5.2 变址寄存器V、Z的组合 图5.3 变址寄存器的应用,变址寄存器和数据寄存器一样是进行数据读写的16为数据寄存器,主要用于运算操作数地址的修改。进行32位运算时,将二者结合使用。,3指针(P/I),指针主要用于跳转中断等程序的入口地址,与跳转子程序中断程序等指令一起应用,地址号采用十进制数分配。指针P用
3、于跳转指令;指针I用于中断指令。同一个指针编号不能重复使用。,指针P的使用,指针I的使用,图5.5 输入中断指针的格式 图5.6 定时器中断指针格式,4、字元件与双字元件,(1)字元件1个字元件是由16位的存储单元构成,最高位(第16位)为符号位,第115位为数值位。下图所示为16位数据寄存器D0图示。,(2)双字元件,可以使用两个字元件组成双字元件,以组成32位数据操作数。双字元件是由相邻的寄存器组成,在下图中由D11和D10组成。低16位数据存放在低位组件D10中,高16位数据存放在高位组件D11中,存放原则是:低对低,高对高。双字元件中第32位为符号位,第131位为数值位。,3功能指令中
4、的位组件,将多个位组件按四位一组的原则来组合,也就是说用4位BCD码来表示1位十进制数,这样就能在程序中使用十进制数据了。组合方法的助记符是:Kn最低位位组件号 如KnX、KnY、KnM即是位组件组合,其中“K”表示后面跟的是十进制数,“n”表示四位一组的组数,,16位数据:K1K4,32位数据:K1K8。数据中的最高位是符号位。如:K2M0:由M0M3和M4M7两组位组件组成一个8位数据,其中M7是最高位,M0是最低位。K4M10:由M10M25四组位组件组成一个16位数据,其中M25是最高位,M10是最低位。,注意:当一个16位数据传送到目组件K1M0K3M0时,由于目标组件不到16位,所
5、以将只传送16位数据中的低位数据,高位数据将不传送。32位数据传送也一样。由于数据只能是16位或32位这两种格式,因此当用,K1K3组成字时,其高位不足16位部分均作0处理。如执行图所示指令时,源数据只有12位,而目标寄存器D20是16位的,传送结果D20的高4位自动添0,如图所示。这时最高位的符号位必然是0,也就是说,只能是正数(符号位的判别是:正0负1)。,(4)功能指令中的16位数据,因为几乎所有寄存器的二进制位数都是16位,所以功能指令中16位的数据都是以缺省形式给出。如图 所示即为一条16位MOV指令:MOV指令的含义是,当X000接通时,将十进制数100传送到16位的数据寄存器D1
6、0中去。当X000断开时,该指令被跳过不执行,源和目的内容都不变。,(5)功能指令中的32位数据,功能指令也能处理32位数据,这时需要在指令前缀符号(D),如图 所示即为一条32位MOV指令:凡是能前缀显式符号(D)的功能指令,就能处理32位数据。32位数据是由两个相邻寄存器构成的,但在指令中写出的是低位地址,源和目都是这样表达的。所以对上图所示32位MOV指令含义应该这样来理解:当X000接通时,将由D11和D10组成的32位源数据传送到由D13和D12组成的目标地址中去。,要避免出现类似下图所示指令的错误:源由D11和D10组成,而目由D12和D11组成,这里D11是源、目重复使用,就会引
7、起出错。所以建议32位数据首地址用偶地址。,5.1.2 FX2系列PLC功能指令的表示形式及使用要素,1功能指令的梯形图表示用功能框表示功能指令,即在功能框中用通用的助记符形式来表示,如图(a)所示,该指令的含义如图(b)所示。图(a)中X000常开接点是功能指令的执行条件,其后的方框即为功能指令。由图可见,功能指令同一般的汇编指令相似,也是由操作码和操作数两大部分组成。,(1)操作码部分功能框第一段为操作码部分,表达了该指令做什么。一般功能指令都是以指定的功能号来表示,如FNC45。但是,为了便于记忆,每个功指令都有一个助记符,对应FNC45的助记符是MEAN,表示“求平均值”。这样就能见名
8、知义,比较直观。在编程器或FXGP软件中输入功能指令时,输入的是功能号FNC45,显示的却是助记符MEAN。不过,在FXGP软件中也可直接输入助记符MEAN。,注意:本书在介绍各功能指令时,将以图(a)的形式同时给出功能号和对应的助记符,但并不意味着在FXGP软件中输入功能指令时要两者一起送,而是按上述介绍,只要送入其中一个就行了。,(2)操作数部分,功能框的第一段之后都为操作数部分,表达了参加指令操作的操作数在那里。操作数部分部分组成:源操作数(源)目标操作数(目)数据个数源操作数:D0、D1和D2,数据个数K3指示源有3个;目操作数:D10。当X000接通时,MEAN指令的含义如图(b)所
9、示,即要取出D0D2的连续3个数据寄存器中的内容作算术平均后送入D10寄存器中。当X000断开时,此指令不执行。,操作数排列次序:源在前,目在后,数据个数在最后。有些功能指令还要求多个操作数,也有的功能指令不需要操作数。,功能指令的表示形式,5.1.3 FX2系列可编程控制器功能指令的分类及汇总见表5.1,功能指令举例,一、比较指令CMP1指令用法FNC10CMPS1 S2 D 其中S1、S2为两个比较的源操作数,D为比较结果标志软组件,指令中给出的是标志软组件的首地址。比较指令CMP,将源操作数S1和S2的数据进行比较,结果送到目标操作数D中,,再将比较结果写入指定的相邻三个标志软组件中。指
10、令中所有源数据均作为二进制数处理。图5.23所示为比较指令CMP的梯形图,对应的指令为:CMPKl00D10M0。,在图5.23中,如X010接通,则将执行比较操作,即将100减去D10中的内容,再将比较结果写入相邻三个标志软组M0M2中。标志位操作规则是:,若K100(D10),则M0被置1;若K100(D10),则M1被置1;若K100(D10),则M2被置1。可见CMP指令执行后,标志位中必有一个被置1,而其余二个均为0。CMP指令在作32位操作时,使用前缀(D):(D)CMPS1S2 D。CMP指令也可有脉冲操作方式,使用后(P):(D)CMP(P)S1S2 D,只有在驱动条件由OFF
11、ON时进行一次比较。,二、区间比较指令ZCP,1指令用法区间比较指令:FNC11 ZCP S1 S2 S3 DS1和S2为区间起点和终点,S3为另一比较软组件,D为标志软组件,给出的是标志软组件的首地址,区间比较指令ZCP可将某个指定的源数据S3与一个区间的数据进行代数比较,源数据S1和S2分别为区间的下限和上限,比较结果送到目标操作数D中,D由三个连续的标志位软组件组成。标志位操作规则是:若源数据S3处在上下限之间,则第二个标志位置1;若源数据S3小于下限,则第一个标志置1;若源数据S3大于上限,则第三个标志置1。ZCP指令执行后标志位必定有一个是1,其余两个是0。,图5.24 所示为区间比
12、较指令示例梯形图,对应指令为:ZCP Kl00 K200 C0M0。如果X010接通,则将执行区间比较操作,即将C0的内容与区间的上下限去比较,比较结果写入相邻三个标志位软组件M0M2中。,标志位操作规则是:若K100C0,则M0被置1;若K100C0K200,则M1被置1;若K200C0,则M2被置1。,三、BIN加法指令ADD,二进制加法指令:FNC20ADDS1 S2 D S1、S2为加数源组件,D为和的目组件。功能:将指定的两个源中有符数,进行二进制加法,然后将和送入指定的目的中。,图5.36为加法指令ADD的示例梯形图,对应的指令为:ADDKl0D10D20。在图5.36中,如X01
13、0接通,执行加法运算,即将10与D10中的内容相加,结果送入D20中,并根据运算的结果使相应的标志位置1。ADD指令32位方式:(D)ADDD10D20 D30。,指令中给出的源、目是其首地址,如对加数1来说,低16位在D10中,高16位在相邻下一数据寄存器D11中,两者组成一个32位的加数1。同理,D21和D20组成了另一个加数2;D31和D30组成和数。为避免重复使用某软组件,建议用偶数组件号。,四、BIN减法指令,1指令用法二进制减法指令:FNC21SUBS1 S2 D S1、S2为被减数和减数源组件,D为差目组件。功能:将指定两个源软组件中有符数,进行二进制代数减法,相减结果差送入指定
14、的目组件中。,图5.37为减法指令SUB的示例梯形图,对应的指令为:SUBKl0D10D20。在图5.37中,如X010接通,执行减法运算,将10与D10中的内容相减,结果送入D20中,并根据运算的结果使相应的标志位置1。SUB指令的32位脉冲操作格式为:(D)SUB(P)SD,这时,指令中给出的是源、目软组件的首地址。,5.2 功能指令应用实例,5.2.1 用PLC控制3台电动机控制要求:三台电机相隔5秒启动,各自运行10秒钟停止,循环往复,要求应用比较指令设计PLC程序。,图5.8 梯形图,5.2.2 密码锁的控制程序,试用比较指令设计该程序。密码锁为4键,若按H65,则输入正确后延时2秒
15、钟,开照明;若按H78,输入正确后延时3秒钟,开空调。要求画出梯形图,写出指令。,图5.9 密码锁控制程序的梯形图,5.2.3 自动售货机的PLC控制,一、题目内容1、此售货机可以投入1元、5元、10元硬币。2、当投入的硬币超过12元时,牛奶按钮指示灯亮;当投入的硬币超过15元时,牛奶及咖啡指示灯都亮。3、当牛奶按钮指示灯亮时,按牛奶按钮,则牛奶排出7秒种后自动停止,这段时间内牛奶指示灯闪烁。4、当咖啡按钮指示灯亮时,按咖啡按钮,则咖啡排出7秒种后自动停止,这段时间内咖啡指示灯闪烁。5、若投入的硬币超过按钮所需的钱数(牛奶12元,咖啡15元)时,找钱指示灯亮,表示找钱动作,并退出多余的钱。,二
16、、分析过程,1、应用比较指令来判断是否符合咖啡或牛奶排出的条件。2、正确区分计数器的预设值和当前值的区别,顾客投入的钱币应作为计数器的当前值。3、顾客投入的钱币有1元、5元、10元三种,需要使用加法指令进行累加,从而得到货币总额。4、当顾客结束消费后,应当利用减法指令从货币总额中扣除顾客所消费的金额。,三、解题过程,图5.10 自动售货机的I/O连接图,图5.11 全自动售货机的梯形图,5.3 可编程控制器特殊功能模块的应用,5.3.1 三菱FX2系列PLC的特殊功能模块使用通则 图5.12 特殊功能模块与PLC主机的连接,图5.13 特殊功能模块的系统框图,图5.14 梯形图格式,图5.15
17、 梯形图 图5.16 梯形图格式,图5.17 梯形图 图5.18 程序示例,图5.19 初始参数的设定,5.3.2 三菱FX2系列PLC的模拟量输入模块(A/D转换模块)1模拟量的基本概念 图5.20 模拟电信号的产生过程,图5.21 常见的几种模拟量变化曲线,图5.22 模拟量与数字量之间的相互转化关系,图5.23 可编程控制器的模拟量控制系统框图,图5.24 梯形图,图5.25 液压系统原理图,图5.26 初始化程序的梯形图,图5.27 调整程序,图5.28 控制程序,图5.29 例5.6梯形图,5.4 思考练习题,1什么是开关量与模拟量?什么是开关量与模拟量控制系统?2模拟量具有哪些基本性质?3在工业控制中标准的模拟信号指的是什么?4FX-4AD模块有哪些用途?怎样编程序?5FX-2DA模块有哪些用途?怎样编程序?6跳转发生后,CPU还是否对被跳转指令跨越的程序段逐行扫描,逐行执行。被跨越的程序中的输出继电器、定时器及计数器的工作状态怎样?7试比较中断子程序和普通子程序的异同点。8试编写一个数字时钟的程序。要求有时、分、秒的输出显示,应有启动、清除及时间调整功能。9如何用双按钮控制5台电动机的启动/停止?10试用DECO指令实现某喷水池花式喷水的控制。第一组喷嘴4s第二组喷嘴2s二组喷嘴2s停止1s,重复上述过程。,
链接地址:https://www.31ppt.com/p-6245382.html