《可编程控制器》课程辅导资料

发布时间:2024-03-07 09:03:47浏览次数:24
可编程控制器辅导资料课程内容:我们这周主要学习课件第四章 PLC 的功能指令第 5 节数据处理指令的相关内容。希望通过下面的内容能使同学们加深对 PLC 的功能指令相关知识的理解。一、学习要求1.掌握数据处理指令的功能和应用;2.了解各种转换指令和表功能指令的作用。二、主要内容1.比较指令比较指令用于两个相同数据类型的有符号数或无符号数 IN1 和 IN2 的比较判断操作。比较运算符有:等于(=)、大于等于(>=)、小于等于(<=)、大于(>)、小于(<)、不等于(<>)。比较指令的原理:当比较数 1 和比较数 2 的关系符合比较符的条件时,比较触点闭合,后面的电路被接通。否则比较触点断开,后面的电路不接通。换句话说,比较触点相当于一个有条件的常开触点 ,当比较关系成立时,触点闭合;不成立时,触点断开。比较指令具体应用如图 1 所示。第 1 页 共 13 页 INDX 中。如果想继续查找符合条件的数据,必须先对 INDX 加 1,并重新激活查表指令,继续查找同样符合条件的数据在表中所处的位置。5. 转换指令 (1)数据类型转换① 字节型数据与字整数之间转换的指令图 11② 字整数与双字整数之间的转换图 12③BCD 码与整数之间的转换的指令格式第 10 页 共 13 页 图 13(2)编码和译码指令 ① 编码 ENCO,编码指令。使能输入有效时,将字型输入数据 IN 的最低有效位(值为 1 的位)的位号输出到 OUT 所指定的字节单元的低 4 位。 指令格式:ENCO IN, OUT ② 译码DECO,译码指令。使能输入有效时,将字节型输入数据 IN 的低 4 位所表示的位号对 OUT 所指定的字单元的对应位置 1,其他位置 0。指令格式: DECO IN, OUT (3)段译码指令 SEG,段译码指令。 使能输入有效时,将字节型输入数据 IN 的低 4 位有效数字产生相应的七段码,并将其输出到 OUT所指定的字节单元。第 11 页 共 13 页 图 14(4)字符串转换指令 ASCII① 码转换 16 进制指令 ATH 16② 进制到 ASCII 码 HTA图 15三、习题(单选题)1.语句“SLB OUT,N”描述的是( )。A.字节右移位 B.字节左移位 C.字右移位 D.字左移位2.语句“RRW OUT,N”描述的是( )。A.字节循环右移 B.字节循环左移 C.字循环右移 D.字循环左移3.以下指令符号不属于数据传送指令的是( )。A.MOVB B.BIR C.MOVD D.BMB4.以下关于移位寄存器指令对特殊继电器 SM1.0 和 SM1.1 的影响说法错误的是( )。第 12 页 共 13 页 A.当移位操作结果为 0 时,SM1.0 自动置位 B.SM1.1 置 1C.SM1.1 置 0 D.SM1.1 的状态由每次移出位的状态决定【习题答案】1、B 2、C 3、D 4、D第 13 页 共 13 页 图 1从字节比较指令例子中可以看出,当 VB0=VB1 或 VB2>100 时,Q0.0=1。从整数比较指令例子中可以看出,当 VW0<=VW2 并且 VW4>2000 时,Q0.0=1。 从双整数比较指令例子中可以看出,当 VD0<>VD4 或 VD8>100 时,Q0.0=1。 从实数比较指令例子中可以看出,当 VD0<=VD4 或 VD8>10.5 时,Q0.0=1。2.数据传送指令传送类指令用于在各个编程元件之间进行数据传送。根据每次传送数据的数量,可分为数据传送指令、数据块传送指令、字节交换指令。 (1)数据传送指令 MOVB、BIR、BIW、MOVW、MOVD、MOVR 数据传送指令每次传送 1 个数据,传送数据的类型分为字节传送、立即读字节、立即写字节、字传送、双字传送和实数传送。第 2 页 共 13 页 图 2注意:字节类传送类指令有 3 个,它们之间的功能是有区别的:① 即使 MOVB 的输入数据区是 IB,传送的数据也是本次扫描周期在输入采样阶段采集到的存放在输入映像寄存器中的数据;而 BIR 指令读取的是执行该指令瞬间输入字节的当时值。② 即使 MOVB 的输出数据区是 QB,执行指令时,数据也只送到输出映像寄存器中,要等到扫描周期的结束,在输出刷新阶段才输出到输出端子上;而 BIW 指令将立即写到输出端子上,而不是等到输出刷新阶段。 ③ 虽然 BIR 和 BIW 指令能够减小某些信号的滞后现象,但对整个系统来说,延长了程序的扫描时间,总体上反而扩大了滞后现象,所示不提倡频繁采用。(2)块传送指令BMB、BMW、BMD 块传送指令用来进行一次传送多个数据,将最多可达 255 个的数据组成一个数据块,数据块的类型可以是字节块(BWB)、字块(BMW)和双字块(BMD)。图 3(3)字节交换指令 SWAP 字节交换指令 SWAP,专用于 1 个字长的字型数据进行处理,指令功能是将字型输入数据 IN 的高第 3 页 共 13 页 位字节与低位字节进行交换,因此又可称为半字交换指令。在梯形图中,字节交换指令 SWAP 以功能框的形式编程,指令名称为:SWAP。当允许输入 EN 有效时,将 IN 中的数据进行半字交换,经常和边沿触发指令(EU 或 ED)配合使用,否则执行该指令偶数次等于每执行,且增加了扫描时间。在语句表中,SWAP 指令的指令格式为:SWAP IN图 43.移位指令 移位类指令在 PLC 控制中是比较常用的,根据移位的数据长度可分为字节型移位、字型移位和双字型移位,根据移位的方向可分为左移和右移,还可进行循环移位。 (1)左移和右移指令 左移或右移指令的功能是将输入数据 IN 左移或右移 N 位后,把结果送到 OUT。左移或右移指令的特点是: 被移位的数据是无符号的,移位次数 N 为字节型数据。在移位时,存放被移位数据的编程元件的移出端与特殊继电器 SM1.1 连接,移出位进入 SM1.1(溢出),另一端自动补 0。 移位次数 N 与移位数据的长度有关,如 N 小于实际的数据长度,则执行 N 次移位。如 N 大于数据长度,则执行移位的次数等于实际数据长度的位数。 左移和右移指令影响的特殊继电器:SM1.0(零),当移位操作结果为 0 时,SM1.0 自动置位;SM1.1(溢出),SM1.1 的状态由每次移出位的状态决定。① 左移位指令(SHL) 原理:使能输入有效时,将输入 IN 的无符号数字节、字或双字中的各位向左移 N 位后(右端补第 4 页 共 13 页 0),将结果输出到 OUT 所指定的存储单元中,如果移位次数大于 0,最后一次移出位保存在“溢出”存储器位 SM1.1。② 右移位指令(SHR) 原理:使能输入有效时,将输入 IN 的无符号数字节、字或双字中的各位向右移 N 位后,将结果输出到 OUT 所指定的存储单元中,移出位补 0,最后一移出位保存在 SM1.1。图 5注:在语句表中,OUT 与 IN 为同一个存储单元,如果梯形图中 IN 和 OUT 不是同一存储单元,在转换成语句表时,要先用传送指令(MOV)将 IN 中数据送到 OUT 中,再完成移位操作。(2)循环左移和循环右移指令 循环移位的特点: 被移位的数据是无符号的,移位次数 N 为字节型数据。 在移位时,存放被移位数据的编程元件的移出端既与另一端连接,又与特殊继电器 SM1.1 连接,移出位在被移到另一端的同时,也进入 SM1.1(溢出)。 移位次数 N 与移位数据的长度有关,如 N 小于实际的数据长度,则执行 N 次移位。如 N 大于数据长度,则执行移位的次数为 N 除以实际数据长度的余数。 循环移位指令影响的特殊继电器 :SM1.0(零),当移位操作结果为 0 时,SM1.0 自动置位;SM1.1(溢出),SM1.1 的状态由每次移出位的状态决定。第 5 页 共 13 页 循环移位的类型:① 字节循环左移和字节循环右移 ② 字循环左移和字循环右移 ③ 双字循环左移和双字循环右移 图 6(3)移位寄存器指令 SHRB(Shift Register Bit) 在顺序控制或步进控制中,应用移位寄存器编程是很方便的。移位寄存器有 3 个数据输入端: DATA:移位寄存器的数据输入端,数据类型为 BOOL(位); S_BIT:组成移位寄存器的最低位,数据类型为 BOOL(位); N:移位寄存器的长度和移位方向,-64≤N≤64,当 N>0 时为正向移位(从移位寄存器的最低位移入,由最高位移出),当 N<0 时为反向移位(从移位寄存器的最高位移入,由最低高位移出)。图 7① 移位寄存器的特点: 第 6 页 共 13 页 移位寄存器的数据类型无字节型、字型、双字型之分,移位寄存器的长度 N 由程序指定。 ② 移位寄存器的组成: 最低位为:S_BIT; 最高位的计算方法为:MSB=S_BIT+(|N|-1)/8(S7-200 的编址均为 8 进制,相加时要字节和字节相加,位和位相加,并且逢 8 进 1); 移位寄存器的组成:V23.4~V23.7、V24.0~V24.7、V25.0、V25.1、V25.2 ,共 15 位。 ③ 移位寄存器指令的功能:当允许输入端 EN 有效时,如果 N>0,将位数据 DATA 填入移位寄存器的最低位(S_BIT);如果N<0,则填入到移位寄存器的最高位,移位寄存器的其它位按照 N 指定的方向(正向或反向),依次串行移位。 移位寄存器的移出端与 SM1.1(溢出)连接。 移位寄存器指令影响的特殊继电器:SM1.0(零),当移位操作结果为 0 时,SM1.0 自动置位;SM1.1(溢出),SM1.1 的状态由每次移出位的状态决定。4.表功能指令在 S7-200 中的表格中,数据类型为字型数据,数据在表格中的存储形式如下表所示。图 8(1)填表指令 ATT(Add To Table) 填表指令的功能是将字型数据 DATA 填加到首地址为 TBL 的表格中。在梯形图中,填表指令以功第 7 页 共 13 页 能框的形式编程,指令名称为:AD_T_TBL。输入端 DATA 为字型数据输入端,TBL 为表格的首地址。当允许输入 EN 有效时,将输入的字型数据填写到指定的表格中。在填表时,新数据填写到表格中最后一个数据的后面,每填写一个数据,实际填表数 EC 将自动加 1。图 9(2)表中取数指令 在 S7-200 中,可以将表中的字型数据按照先进先出(FIFO)或后进先出(LIFO)的方式取出,送到指定的存储单元。每次取出一个数据,实际填表数 EC 自动减 1。①FIFO,先进先出指令 当使能输入有效时,从 TBL 指明的表中移出第一个字型数据并将其输出到 DATA 所指定的字单元。 FIFO 表取数特点:取数时,移出的数据总是最先进入表中的数据。每次从表中移出一个数据,剩余数据依次上移一个字单元位置,同时实际填表数 EC 会自动减 1。 指令格式: FIFO TBL, DATA 图 10第 8 页 共 13 页 ②LIFO,后进先出指令 当使能输入有效时,从 TBL 指明的表中移出最后一个字型数据并将其输出到 DATA 所指定的字单元。 LIFO 表取数特点: 取数时,移出的数据是最后进入表中的数据。每次从表中取出一个数据,剩余数据位置保持不变,实际填表数 EC 会自动减 1。 指令格式: LIFO TBL, DATA (3)查表指令 FND 查表指令 FND 的功能是从首地址为 TBL 的字型数据表中,找出符合 PTN 及 CMD 条件的数据在表中的编号(编号范围为 0~99),并将编号存放到 INDX 中。在梯形图中,查表指令以功能框的形式编程,指令名称为:TBL_ FIND。它共有 5 个数据输入端:EN: 查表允许信号端,EN=1 时,查表;TBL:表格的首地址,字型地址;PTN:用于比较的数据,即给定值;INDX:用来存放表中符合查表条件的数据的地址;CMD:比较运算符号?的编码:1:=(等于);2:<>(不等于);3:<(小于);4:>(大于)。在执行查表指令前,应先对 INDX 的内容清 0。当允许输入 EN 有效时,从 INDX 开始搜索 TBL,查找符合给定值(PTN)和条件(CMD)的数据,如果没有发现符合条件的数据,则将表的实际长度(EC)存放到 INDX 中。如果找到一个符合条件的数据,则将该数据的表中地址(数据编号)存放到第 9 页 共 13 页
文档格式: docx,价格: 5下载文档
返回顶部