6.1 PLC内部数据寄存器资源6.3传送类指令6.2 应用指令的表示方法及其格式、类型6.4 比较指令6.5 算术运算指令6.6 循环 与移位指令6.8 本章小结6.7 应用指令一的实训6.1 PLC内部数据寄存器资源PLC在进行输入、输出处理、模拟量控制、位 置控制时,需要许多数据寄存器存储数据和参数。包括输入的X区域,输出的Y区域,辅助继电器M区域,状态寄存器区域,定时器、计数器等。数 据寄存器为16位,最高位可为符号位。可用两个数据寄存器来存储32位数据,最高位仍可为符号位。本节对专用数据寄存器D的类型6.1.1 数据寄存器(D)数据寄存器包括以下三类。1.通用数据寄存器(D0~D199)2.断电保持数据寄存器(D200~D7999)3. 特殊数据寄存器(D8000~D8255)6.1.2 数据格式1.位元件与位元件的组合 X0、Y2、S20、M5等都是 位(bit)元件,位元件用来表示开关量的状态,如常开触点的通、断,线圈的通电和断电等如图6-1所示,X3-X0这4个位构成一个字, 即寄存器则该寄存器的两进制数为1010,十进制数为10,十六进制数为A。在三菱PLC的程序里,十进制用“K”来表示,用十进制表示上 述的数据为:K10,十六进制用“H” 来表示,用十六进制表示上述的数据为:HA。上图的元件组合可表示为K1X0,K1是1个字,X0 是最低位。FX系列PLC用KnP的形式表示连续的位元件组,每组由4个连续的位元件组成,P为位元件的首地址(最低位),n为组数(n= l~8),表示几个数。例如K2M0表示2个字再如:K4Y0表示Y17—Y0组成,如果数据为H7E96或K32406,其位的数据情况 见下 在应用指令中,操作数的形式有以下几种:K(十进制常数),H(十六进制常数),KnX、KnY、KnM、KnS、T、C、D、V 和Z。2.字元件 一个字由16个二进制位组成,字元件用来处理数据,定时器和计数器的设定值寄存器PLC可以按以下三种编码方式存 取字数据: (1)二进制补码再将-3进行补码运算又可回到+3最大的16位正数为0111 1111 1111 1111,对应的十进制 数为32 767。而-32767为1000 0000 0000 0001,最小的负数是1000 0000 0000 0000,是- 32768。故16位数据正负范围是:32767到-32768。(2)十六进制编码二进制数0111 1110 1001 0110可以 转换为十六进制数7E96。又例如二进制数1011 0111 1011 0110可以转换为十六进制数B7B6。 (3)BCD码 BCD(Binary Coded Decimal)码是按二进制编码的十进制数。每位十进制数用4位二进制数来表示,0~9对应的二 进制数为0000~1001,各位十进制数之间采用逢十进1的运算规则。16位BCD码对应4位十进制数,允许的最大数字为9 999,最 小的数字为0000。6.1.3 变址寄存器(V/Z) FX2N系列PLC有V0~V7和Z0~Z7共16个变址寄存 器,它们都是16位的寄存器。变址寄存器V/Z实际上是一种特殊用途的数据寄存器 其作用相当于微机中的变址寄存器,用于改变元件的 编号(变址)例如V0=5,则执行D20V0时,被执行的编号为D25(D20+5)变址寄存器可以象其它数据寄存器一样进行读写,需要进 行32位操作时,可将V、Z串联使用(Z为低位,V为高位)。对于32位指令,V为高16位,Z为低16位。32位指令中V、Z自动组对使 用。这时变址指令只需指定Z,Z就能代表V和Z的组合。(略)6.2 应用指令的表示方法及其格式、类型6.2.1 应用指令的表示方 法 例如图6-8中的指令助记符MOV( Move)用来表示数据传送指令图6-8中的[S]表示源(source)操作数,[D ]表示目标(Destination)操作数。当X1的常开触点接通时,将数据H00FF送到数据寄存器K4Y0中,见图6-9:6.2. 2 32位指令与脉冲执行指令如图6-10所示,助记符MOV之前的“D”表示处理32位(bit)双字数据,这时相邻的两个数据寄存器 组成数据寄存器对。该指令将D21和D20中的数据传送到D15和D14中去为了避免出现错误,建议使用首地址为偶数的操作数2、 脉冲执 行指令图6-10中MOV后面的“P”表示脉冲(Pulse)执行,即仅在X1由OFF变为ON状态时执行一次。如果将图6-10中的X1 改为上升沿检测触点(触点中间有一个向上的箭头),如图6-12所示,6.3传送类指令6.3.1 传送指令MOV(FNC 12)图6- 13 MOV指令示例一图6-14 MOV指令示例二图6-15 MOV指令练习程序 【例6.1】 由Y17-Y0控制16 个彩灯的亮灭。按下启动按钮X0后,Y7-Y0控制的灯亮,Y17-Y10控制的灯灭;5s后,Y7-Y0控制的灯灭,Y17-Y10控制 的灯亮,如此循环。按下停止按钮X1,彩灯都灭。彩灯控制梯形图如图6-16所示,试分析程序的整个执行过程。 【例6.2】一 台洗衣机具有强洗、中洗、弱洗三挡控制功能,对应的控制开关分别为X0、X1、X2。强洗过程是:洗衣机正转7秒、停3秒,反转7秒、停3 秒,中洗过程是:洗衣机正转5秒、停5秒,反转5秒、停5秒,弱洗过程是洗衣机正转4秒、停6秒,反转4秒、停6秒。按下启动按钮X6,洗 衣机开始洗衣,按下停止按钮X7,洗衣机停止洗衣。其梯形图程序如图6-17所示,试分析其程序执行过程。图6-17 洗衣机强、中、弱洗 控制梯形图6.3.2.移位传送(FNC 13)将D1中转换后的BCD码右起第4位(m1=4)开始的2位(m2=2)移到目标操作数D 2右起的第3位(n=3)和第2位, D2的第1位和第4位不受移位传送指令的影响。【例6.3】 假设接在X3~X0的拨码开关输入的B CD码为个位,接在X17~X10的两个拨码开关输入的BCD码为百位和十位,将它们结合为3位BCD码,将结果放在D1中。其对应的梯形 图程序如图6-18所示,试分析程序的执行过程。图6-18 3位BCD码组合梯形图6.3.3 取反传送指令(FNC 14)【例6.4 】 用CML指令实现【例6.1】中的彩灯控制的梯形图程序如图6-19所示,试分析程序的执行过程。6.3.4 块传送指令(FNC 1 5) 【例6.5】 假设有一D0-D9数据区,当X1为ON时,将D0-D9的数据传送到D50-D59 中去,当X1为OFF 时,数据又从D50-D59传送到D0-D9 中。对应的梯形图程序如图6-20所示,试分析程序的执行过程。6.3.5 多点传送指令( FNC 16)如图6-21所示梯形图,当X2为ON时,可以将常数0送到D100~D199共100个(n=100)数据寄存器中,从而 实现数据的初始化。图6-21 数据初始化6.3.6 数据交换指令XCH(FNC 17)【例6.5】 现有D0-D4数据区和D10- D14数据区,当X1为ON时,两个数据区做数据交换。其梯形图程序如图6-22所示,试分析程序的执行过程。【例6.6】 假设需要将D 0中的BCD数据输出,将低8位送到Y27-Y20,高8位送到Y7-Y0。由X3控制程序执行。对应的梯形图程序如图6-23所示,试分 析程序的执行过程。6.3.7 BCD变换指令(FNC 18)【例6.7】 用一组7段数码显示器和“翻页”的方式显示计数器C1~C1 0的当前值。每按一次X1外接按钮,显示下一个计数器的值。显示到头,则重新显示C1的值。BCD指令将计数器的当前值转换为BCD码后, 送给Y17~Y0控制的4位7段数码显示器。每次按下按钮X1,变址寄存器V0的值被加1,程序的梯形图如图6-24所示。试分析程序的执 行过程。6.3.8 BIN变换指令(FNC 19)【例6.8】 X17-X0接有4个拨码开关,可设置定时器的定时时间,时间范围为0 -9999秒,按下启动按钮X20后启动定时,设定时间到,则Y17-Y0显示BCD码倒计时时间,Y20为ON。按下X21,显示和输出 均复位。对应的梯形图程序如图6-25所示,试分析程序的执行过程。6.4 比较指令6.4.1 比较指令CMP(FNC 10) 【例6.9】 有D0-D4数据区,当X1为ON时,找出D0-D4中最大的数,并输出到D0。对应的梯形图程序如图6-26所示,试分 析程序的执行过程。【例6.10】 设计洗衣机控制程序,要求设置单按键启停,单按键设置强、中、弱洗,并设有强、中、弱三灯,及启停灯。 【例6.11】 有一罐装流水线,若每秒罐装5瓶以上,说明速度过高,将产生高速报警;若每秒的罐装速度大于2瓶、小于等于5瓶,说明工作 正常;若每秒的罐装数量小于等于2瓶,说明速度过低,将产生低速报警。X6为启动按钮,X7为停止按钮,X0为计数检测,高报警输出为Y3 ,合格输出为Y4,低报警输出为Y5。图6-28 罐装流水线报警控制梯形图程序6.4.2 区间比较指令ZCP(FNC 11)【例6. 12】 对于【例6.11】,如果采用ZCP指令,则对应的梯形图程序如图6-29所示,试分析程序的执行过程。6.4.3 触点型比较指 令(FUN 224~246)表6-1 触点型比较指令表【例6.13】 以【例6.9】为例,用触点型指令设计,则梯形图如图6-30所 示,试分析程序的执行过程。6.5 算术运算指令算术运算包括ADD(二进制加)、SUB(二进制减)、MUL(二进制乘)、DIV(二进 制除)指令和INC(二进制加1)、DEC(二进制减1)6种指令。每个数据的最高位为符号位(0为正,1为负),所有的运算均为代数运算 。在32位运算中被指定的字编程元件为低位字,下一个字编程元件为高位字。 如果运算结果为0,则零标志M8020置1;如果16位运算结 果超过32 767或32位运算结果超过2 147 483 647,则进位标志M8022置1;如果16位运算结果小于-32 768或 32位运算结果小于-2147483 648,则借位标志M8021置1。6.5.1 加法指令ADD(FNC 20)6.5.2 减法指 令SUB(FNC 21)6.5.3 乘法指令MUL(FNC 22)6.5.4 除法指令DIV(FNC 23)6.5.5 二进制数加 1、减1指令【例6.13】 假设开机时将10存入D0,作为原始数据。D0中的数据每2秒会自动增5,当数据大于等于8000时,数据还 原为10。另有D10和D20的数据会随D0的变化而变化,D10为D0数据的4分之1,D20为D0中数据的3倍。对应的梯形图程序如图 6-31所示,试分析程序的执行过程。【例6.14】 如图6-32所示为用算术运算指令设计的两种单按键启停,按下按钮时灯亮,再次按下 按钮时,灯灭。试分析该程序的执行过程。【例6.15】 现有D0-D9共十个数,分别去掉一个最大数和一个最小数,求其余8个数的平均值 ,将结果送至D10。试设计满足上述要求的梯形图程序。当X1为ON时,执行9个比较运算和交换运算,把最大的数送至D0,再执行8个比较 运算和交换运算,把最小的数送至D9,再将D1到D8进行累加送至D12,最后D12除以8,将商送至D10,余数送至D11。6.6 循 环与移位指令循环与移位指令是使位数据或字数据向指定方向循环、移位的指令。从指令的功能来说,循环移位是指数据在本字节或双字内的移动, 是一种环形移动;而非循环移位是线性的移位,数据移出部分丢失,移入部分从其他数据获得6.6.1 右、左循环移位指令【例6.16】 设 计一循环移位的16位彩灯控制程序,移位的时间间隔为0.5s,开机之前设置彩灯的初值为两个灯亮,20秒内循环左移1位,再过20秒改为 循环右移1位,2分钟后换三个灯亮,同样左右循环移位,再过2分钟后改为4个灯亮,同样左右循环移位。再过2分钟,改为2个灯亮,重复上述 过程。T3用来产生周期为0.5s的移位脉冲序列。试设计满足上述控制要求的梯形图程序。6.6.2 带进位的右、左循环移位指令6.6. 3 位右移和位左移指令用位右移SFTR与位左移SFTL实现【例6.16】的控制要求,可将后面的两行程序做如下修改:该段程序是用SF TL控制灯的移位,我们可以把顺序控制中的状态看成是灯,像这样M0->M1->M2->M3->M4->M5->M6这样一个接着一个传 递,像流水灯一样,下面这个机械手程序就是通过位左移SFTL来实现的,见图6-36:【例6.17】对于例【5.4】,试用左移SFTL 指令来实现机械手捡球装置控制程序。图6-37中的M0-M9为直线传递,位左移指令按图中顺序移位,以达到顺控效果。6.6.4 字右移 和字左移指令【例6.18】 设计一个梯形图程序,当X0为ON时,计算D0-D99累加和的最后4个字(16位),用作检验码,送入D1 00中。6.6.5 移位寄存器写入与读出指令【例6.19】设计一梯形图控制程序,要求是:当按下X20按钮时,来自X17-X0的产品 编码被送入100个寄存器堆栈中。当按下X21时,对应于先入的产品编码先输出,并显示到Y17-Y00。【例6.20】设计一八工位排队 呼叫系统,其控制要求谁先按下按钮,小车先到该工位停4秒,然后相应下一个呼叫,谁先按下按钮排在前面。表6-2 八工位小车I/O端 口分配6.7 应用指令一的实训6.7.1触摸屏简介PLC内部数据寄存器的数据大多都是通过触摸屏或工业计算机界面输入的,该界面称为 人机界面,它是操作人员和机器设备之间双向沟通的桥梁,它通过通讯口与PLC连接,可以方便地将PLC内部寄存器和输入/输出继电器进行画 面的映射定义,并且加以编辑和控制,从而使得操作和控制工控设备更加容易。6.7.2 触摸屏的使用国产品牌的触摸屏主要有MCGS、威纶 、步科、信捷等,进口品牌的触摸屏主要有西门子、三菱、施耐德等。这里以三菱公司的F940GOT-SWD(320240)型号触摸屏为 例进行简单介绍6.7.3绝对值编码器简介绝对值编码器是一种用于定位的传感器, 绝对值较普通编码器有掉电记忆功能。常用的绝对值编码器 的外形和内部结构如图6-52所示。6.6.4实训内容【实训2】:X7-X0接拨码盘,Y16-Y0接数码管,Y17接蜂鸣器。按下启动 按钮,定时器按拨码盘的设定时间开始倒计时,时间到则Y17为ON。接线图如图6-54。【实训4 】:完成【例6.20】八工位排队呼叫 系统的接线、调试。系统接线图如图6-56所示。6.7 本章小结 PLC的数据寄存器包括输入的X区域,输出的Y区域,辅助继电器M区域,状态寄存器区域,定时器、计数器、数据寄存器D、变址寄存器等。数据寄存器为16位,最高位可为符号位。可用两个数据寄存器来存储32位数据,最高位仍可为符号位。本章对数据表达的一般格式作出了详细的阐述,有十进制、十六进制等数据格式。 本章只对四大类的应用指令的使用作了详细阐述,主要是想突出重点,这四类分别为MOV类、比较类、算术计算类及移位类等, 助记符有l到4个操作数,[S]表示源(source)操作数,[D]表示目标(Destination)操作数。源操作数或目标操作数不止一个时,可以表示为[S1]、[S2]、[D1]、[D2]等。有些还有n或m表示其他操作数。本章作业习题四一、 填空题1---13二、问答题 1、3、5、7、9四、 编程题 1、2、3、4 本章学习结束。Goodbye! |
|