模块三数据处功能指令的应用

上传人:大米 文档编号:567925718 上传时间:2024-07-22 格式:PPT 页数:107 大小:4.25MB
返回 下载 相关 举报
模块三数据处功能指令的应用_第1页
第1页 / 共107页
模块三数据处功能指令的应用_第2页
第2页 / 共107页
模块三数据处功能指令的应用_第3页
第3页 / 共107页
模块三数据处功能指令的应用_第4页
第4页 / 共107页
模块三数据处功能指令的应用_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《模块三数据处功能指令的应用》由会员分享,可在线阅读,更多相关《模块三数据处功能指令的应用(107页珍藏版)》请在金锄头文库上搜索。

1、 s7-200系列 刘晗 主讲 西门子西门子PLC应用技术应用技术模块三模块三 数据处理功能指令的应用数据处理功能指令的应用3.1 数据传送指令简介3.2 移位和循环移位指令3.3 数据比较指令及其应用3.4 数据转换指令及其应用3.5 算术逻辑运算指令3.1数据传送指令数据传送指令的作用是把常数或某存储器中的数据传送到另一存储器中。它包括单一数据传送及成组数据传送两大类。 3.1.1数据传送指令数据传送指令把输入端(IN)指定的数据传送到输出端(OUT),传送过程中数据值保持不变。数据传送指令按操作数据的类型可分为字节传送(MOVB)指令、字传送(MOVW)指令、双字传送(MOVD)指令、实

2、数传送(MOVR)指令。其指令格式及功能如表3-1所示。表3-1 数据传送指令的格式及功能LADSTLMOVB IN,OUTMOVW IN,OUTMOVD IN,OUTMOVR IN,OUT操作数IN:VB、IB、QB、MB、SB、SMB、LB、常量OUT: VB、IB、QB、MB、SB、SMB、LB、ACIN:VW、IW、QW、MW、SW、SMW、LW、T、C、AIW、常量、ACOUT: VW、IW、T、C、QW、MW、IN:VD、ID、QD、MD、SD、SMD、LD、HC、AC、常量OUT: VD、ID、QD、MD、SD、SMD、LD、ACIN:VD、ID、QD、MD、SD、SMD、LD、

3、AC、常量OUT: VD、ID、QD、MD、SD、SMD、LD、AC功能使能端EN(为1)有效时,将一个输入IN的字节、字/整数、双字/双整数或实数送到OUT指定的存储器输出,传送后存储器IN中的内容不变。数据传送指令的用法如图3-1所示图3-1 数据传送指令的用法在图3-1(a)所示的梯形图中,当输入继电器I0.0的常开触点闭合时,字节传送(MOVB)指令将输入继电器I1.0I1.7中的数据传送到输入继电器I2.0I2.7中;当输入继电器I0.1的常开触点闭合时,字传送(MOVW)指令将常数3276传送到内部标志位存储器M1.0M2.7 (共16位)中;当输入继电器I0.2的常开触点闭合时,

4、双字传送(MOVD)指令将变量存储器V1.0V4.7(32位)中的数据传送到变量存储器V4.0V7.7(32位)中;当输入继电器I0.3的常开触点闭合时,实数传送指令(MOVR)将特殊标志位存储器SM1.0SM4.7(32位)中的数据传送到特殊标志位存储器SM5.0SM8.7(32位)中。 3.1.2 数据块传送指令 数据块传送指令是把从输入端(IN)指定地址的N个连续字节、字、双字的内容传送到从输出端(OUT)指定开始的N个连续字节、字、双字的存储单元中去。传送过程中各存储单元的内容不变。N为1255。 数据块传送指令按操作数据的类型可分为字节块传送(BMB)指令、字块传送(BMW)指令、双

5、字块传送(BMD)指令。其指令格式及功能如表3-2所示。表3-2 数据传送指令的格式及功能LADSTLBMB IN,OUT,NBMW IN,OUT,NBMD IN,OUT,N操作数IN:VB、 IB、QB、MB、 SB、SMB、 LB。OUT:VB、IB、QB、 MB、SB、SMB、 LBIN:VW、 IW、QW、 MW、 SW、SMW、 LW、 T、C、 AIW。OUT:VW、 IW、QW、MW、 SW、SMW、 LW、T、 C、 AQW 数据类型:字IN/ OUT:VD、 ID、 QD、 MD、 SD、 SMD、 LD数据类型:双字功能使能输入有效时,即EN=1时,把从输入IN开始的N个字

6、节(字、双字)传送到以输出OUT开始的N个字节(字、双字)中数据块传送指令的用法如图3-2所示。图3-2 数据块传送指令的用法 在图3-2(a)所示的梯形图中,当输入继电器I0.0的常开触点闭合时,字节块传送(BMB)指令将I1.0I4.7中的数据传送至S1.0S4.7中;当输入继电器I0.1的常开触点闭合时,字块传送(BMW)指令将S1.0S4.7中的数据传送至M1.0M4.7中;当输入继电器I0.2的常开触点闭合时,双字块传送(BMD)指令将I1.0I10.7中的数据传送至S1.0S10.7中。 3.1.3 字节交换、字节立即读写指令 1. 字节交换指令:字节交换指令用来交换输入字IN的最

7、高位字节和最低位字节。其指令格式及功能如表3-3所示。 LADSTL功能及说明SWAP IN功能:使能输入EN有效时,将输入字IN的高字节与低字节交换,结果仍放在IN中。IN:VW、IW、 QW、 MW、 SW、 SMW、 T、 C、 LW、 AC。数据类型:字字节交换指令用法如图字节交换指令用法如图3-3所示。所示。图3-3 字节交换指令的用法 LD I0.1SWAP VW50表3-3 字节交换指令的格式及功能 2. 字节立即读写指令 字节立即读指令(MOV-BIR)读取实际输入端IN给出的1个字节的数值,并将结果写入OUT所指定的存储单元,但输入映像寄存器未更新。 字节立即写指令(MOV-

8、BIW)从输入IN所指定的存储单元中读取1个字节的数值并写入(以字节为单位)实际输出OUT端的物理输出点,同时刷新对应的输出映像寄存器。其指令格式及功能如表3-4所示。 表3-4 字节立即读指令的格式及功能 LADSTL功能及说明 BIR IN,OUT功能:字节立即读。IN: IB;OUT:VB、 IB、 QB、 MB、 SB、 SMB、 LB、 AC。 数据类型:字节BIW IN,OUT功能:字节立即写IN:VB、 IB、 QB、 MB、 SB、 SMB、 LB、 AC、常量;OUT:QB 。数据类型:字节 3.2 移位和循环移位指令 移位指令分为左、右移位和循环左、右移位及寄存器移位指令三

9、大类。前两种移位指令按操作数的长度可分为字节型、字型、双字型三种。 3.2.1右移位指令SHR 右移位指令SHR(Shift Right)就是当使能端有效时,把输入端(IN)指定的数据右移N位,结果存入指定的输出(OUT)单元中,左端移出位补0,最后一个移出位保存在溢出标志位存储器SM1.1中。如果移出位结果为0,则零标志位SM1.0置1。 右移位指令按操作数的类型可分为字节右移位(SHR-B)指令、字右移位(SHR-W)指令、双字右移位(SHR-DW)指令。其指令格式及功能如表3-5所示。 表3-5 右移位指令SHR的指令格式及功能 LADSTLSRB OUT,NSRW OUT,NSRD O

10、UT,N操作数IN:VB、 IB、 QB、 MB、 SB、 SMB、 LB、AC、常数。OUT:VB、 IB、QB、 MB、 SB、 SMB、 LB、AC。数据类型:字节IN:VW、 IW、QW、 MW、 SW、 SMW、LW、T、 C、AIW、AC、常数。OUT:VW、IW、 QW、 MW、SW、SMW、LW、 T、 C、AC。 数据类型:字IN:VD、ID、QD、MD、SD、SMD、LD、HC、AC、常量OUT: VD、ID、QD、MD、SD、SMD、LD、AC. 数据类型:双字功能使能输入有效时,即EN=1时,把从输入IN开始的字节(字、双字)数右移N位后,结果输到OUT存储单元中。移出

11、位补0,最后一个移出位保存在溢出标志位存储器SM1.1中右移位指令的用法如图3-4所示,当使能端EN=1时,其移位过程如图3-4(c)。 图3-4 右移位指令的用法 3.2.2 左移位指令SHL 右移位指令SHL(Shift Left)就是当使能端有效时,把输入端(IN)指定的数据左移N位,结果存入指定的输出(OUT)单元中,右端移出位补0,最后一个移出位保存在溢出标志位存储器SM1.1中。如果移出位结果为0,则零标志位SM1.0置1左移位指令按操作数的类型可分为字节左移位(SHR-B)指令、字左移位(SHL-W)指令、双字左移位(SHL-DW)指令。其指令格式及功能如表3-6所示。 左移位指

12、令的用法如图3-5所示。当使能端EN=1时,其移位过程如图3-5(c)。图3-5 左移位指令的用法 表3-6 左移位指令SHL的指令格式及功能 LADSTLSLB OUT,NSLW OUT,NSLD OUT,N操作数IN:VB、 IB、 QB、 MB、 SB、 SMB、 LB、AC、常数。OUT:VB、 IB、QB、 MB、 SB、 SMB、 LB、AC。数据类型:字节IN:VW、 IW、QW、 MW、 SW、 SMW、LW、T、 C、AIW、AC、常数。OUT:VW、IW、 QW、 MW、SW、SMW、LW、 T、 C、AC。 数据类型:字IN:VD、ID、QD、MD、SD、SMD、LD、H

13、C、AC、常量OUT: VD、ID、QD、MD、SD、SMD、LD、AC. 数据类型:双字功能使能输入有效时,即EN=1时,把从输入IN开始的字节(字、双字)数左移N位后,结果输出OUT存储单元中。移出位补0,最后一个移出位保存在溢出标志位存储器SM1.1中循环右移位指令的用法如图3-6所示。当使能端EN=1时,其移位过程如图3-6(c)。图3-6 循环右移位指令的用法3.2.4 循环左移位指令ROL 循环左移位指令(Rotate Left)就是把输入端(IN)指定的数据循环左移N位,其结果存入指定的输出单元(OUT)中。最后一个移出位保存在溢出标志位存储器SM1.1中。当移出位结果为0,则零

14、标志位SM1.0置1。循环左移位指令按操作数的类型可分为字节循环左移位(ROL-B)指令、字循环左移位(ROL-W)指令、双字循环左移位(ROL-DW)指令。其指令格式及功能如表3-8所示。LADSTLRLB OUT,NRLW OUT,NRLD OUT,N操作数IN:VB、IB、QB、 MB、 SB、 SMB、 LB、AC、常数。OUT:VB、 IB、 QB、 MB、 SB、 SMB、 LB、AC。IN:VW、IW、 QW、 MW、 SW、SMW、LW、 T、 C、 AIW、AC、常数。数据类型:字IN:VD、ID、QD、MD、SD、SMD、LD、HC、AC、常量OUT: VD、ID、QD、M

15、D、SD、SMD、LD、AC. 数据类型:双字表3-8 循环左移位指令的指令格式及功能 循环左移位指令的用法如图3-7所示,当使能端EN=1时,其移位过程如图3-7(c)。图3-7 循环左移位指令的用法【例3-1】用I0.0控制接在Q0.0Q0.7上的8个彩灯循环移位,从右到左以0.5s的速度依次点亮,保持任意时刻只有一个指示灯亮,到达最左端后,再从右到左依次点亮。LD SM0.1 /首次扫描时MOVB 1 QB0 /置8位彩灯初态LD I0.0 /T37产生周期为 AN T37 0.5s的移位脉冲 TON T37 +5 LD T37 /每来一个脉冲RLB QB0 1 彩灯循环左移1位 图3-

16、8 8个彩灯循环点亮程序 分析:8个彩灯循环移位控制,可以用字节的循环移位指令。根据控制要求,首先应置彩灯的初始状态为QB0=1,即右边第一盏灯亮;接着灯从右到左以0.5s的速度依次点亮,即要求字节QB0中的“1”用循环左移位指令每0.5s移动一位,因此须在ROL-B指令的EN端接一个0.5s的移位脉冲(可用定时器指令实现)。梯形图程序和语句表程序如图3-8所示。移位寄存器指令(Shift Register)是可以指定移位寄存器的长度和移位方向的移位指令。其指令格式如图3-9所示。STL为SHRB DATA, S-BIT, N 3.2.5 移位寄存器指令(SHRB)图3-9 移位寄存器指令格式

17、 说明:说明: (1)EN为使能输入端,连接移位脉冲信号,DATA为数据输入端,连接输入移位寄存器的二进制数值。每次使能有效时,在每个扫描周期内,且在EN端的上升沿对DATA端采样一次,移位寄存器指令SHRB将DATA数值移入移位寄存器中,整个移位寄存器移动1位。S_BIT指定移位寄存器的最低位。N指定移位寄存器的长度和移位方向,移位寄存器的最大长度为64位,N为正值表示左移位,输入数据(DATA)移入移位寄存器的最低位(S_BIT),并移出移位寄存器的最高位,移出的数据被放置在溢出内存位(SM1.1)中。N为负值表示右移位,输入数据移入移位寄存器的最高位中,并移出最低位(S-BIT)。移出的

18、数据被放置在溢出内存位(SM1.1)中。 (2)DATA和S-BIT的操作数为I、Q、M、SM、T、C、V、S、L。数据类型为BOOL变量。N的操作数为VB、IB、QB、MB、SB、SMB、LB、AC、常量。数据类型为字节。(3)使ENO=0的错误条件:0006(间接地址),0091(操作数超出范围),0092(计数区错误)。(4)移位指令影响特殊内部标志位:SMl.1(为移出的位设置溢出位)。 【例3-2】用PLC构成喷泉的控制。用灯L1L12分别代表喷泉的12个喷水注。 (1)控制要求:按下起动按钮后,隔灯闪烁,L1亮0.5秒后灭,接着L2亮0.5秒后灭, 接着L3亮0.5秒后灭,接着L4

19、亮0.5秒后灭,接着L5、L9亮0.5秒后灭,接着L6、L10亮0.5秒后灭,接着L7、L11亮0.5秒后灭,接着L8、L12亮0.5秒后灭,L1亮0.5秒后灭,如此循环下去,直至按下停止按钮。如图3-10所示。 图3-10 喷泉模拟控制示意图(2)I/O分配如下表3-9输入PLC地址电气符号功能说明I0.0SB1起动按钮,常开I0.1SB2停止按钮,常闭输出PLC地址电气符号 功能说明PLC地址电气符号功能说明Q0.0HL1灯L1Q0.4HL5灯L5Q0.1HL2灯L2Q0.5HL6灯L6Q0.2HL3灯L3Q0.6HL7灯L7Q0.3HL4灯L4Q0.7HL8灯L8表3-9 I/O端口分配

20、表 (3)喷泉模拟控制的PLC梯形图如图3-12所示。 分析:应用移位寄存器控制,根据喷泉模拟控制的8位输出(Q0.0Q0.7),须指定一个8位的移位寄存器(M10.1M11.0),移位寄存器的S-BIT位为M10.1,并且移位寄存器的每一位对应一个输出。如图3-11所示。图3-11 移位寄存器的位与输出的对应关系第八个脉冲到来时M11.0置位为1,同时通过与T37并联的M11.0常开触点使M10.0置位为1T38构成0.5s产生一个机器扫描周期脉冲的脉冲发生器 项目实施 任务1.1:设计一个按钮控制的8彩灯依次点亮的PLC控制系统要求:当按下启动按钮SB1时,点亮彩灯L1,之后每按一次SB2

21、彩灯后移一位彩灯亮,按钮SB3为停止按钮,如果按下停止按钮SB3时,所有的彩灯都熄灭。(1)I/O端口分配根据控制要求,一个按钮控制的8彩灯依次点亮的PLC控制系统的I/O端口分配如表3-10所示。输入信号输出信号PLC地址电气符号功能说明PLC地址电气符号功能说明I0.0SB1启动按钮,常开Q0.0Q0.8L1L88个彩灯I0.1SB2控制按钮,常开I0.2SB3停止按钮,常开表3-10 I/O端口分配表(2)按钮控制的8彩灯依次点亮的PLC控制系统的外部接线图如图3-13所示。 图3-13 彩灯依次点亮的PLC外部接线(3)程序设计根据控制要求,其对应得梯形图程序如图3-14所示。图3-1

22、4 按钮控制的彩灯依次点亮的PLC程序 控制要求:用HL1HL4四个霓虹灯,分别做成“欢迎光临”四个字。其闪烁要求见表3-11,其时间间隙为1s,反复循环进行。 步序灯号12345678HL1亮亮亮HL2亮亮亮HL3亮亮亮HL4亮亮亮表3-11 “欢迎光临”闪烁流程表任务1.2:设计霓虹灯闪烁的PLC控制(1)I/O端口分配根据控制要求,霓虹灯闪烁的PLC控制系统的I/O端子分配如表3-12所示输入信号输出信号PLC地址电气符号功能说明PLC地址电气符号功能说明I0.0SB1起动按钮,常开Q0.0HL1“欢“字灯Q0.1HL2“迎“字灯Q0.2HL3“光“字灯Q0.3HL4“临“字灯表3-12

23、 PLC输入输出端子分配(2)按钮控制的8彩灯依次点亮的控制系统的PLC外部接线如图3-15所示。图3-15 彩灯依次点亮的PLC外部接线(3)程序设计。根据控制要求,其对应得梯形图程序如图3-16所示霓虹灯PLC控制梯形图控制要求:如图3-17所示的天塔的灯光,可以用PLC控制灯光的闪耀移位及时序的变化等。控制要求如下:按起动按钮,L12L11L10L8L1L1、L2、L9L1、L5、L8L1、L4、L7L1、L3、L6L1L2、L3、L4、L5L6、L7、L8、L9L1、L2、L6L1、L3、L7L1、L4、L8L1、L5、L9L1L2、L3、L4、L5L6、L7、L8、L9L12L11L

24、10 循环下去,直至按下停止按钮。图3-17 天塔之光控制示意图任务任务1.3:天塔之光的模拟控制系统:天塔之光的模拟控制系统(1)I/O端口分配 根据控制要求,天塔之光的模拟控制系统的PLC输入输出端子分配如表3-13所示输入信号输出信号PLC地址电气符号功能说明PLC地址电气符号功能说明I0.0SB1启动按钮,常开Q0.0Q1.3L1L1212个彩灯I0.1SB2停止按钮,常闭表3-13 I/O端口分配表(2)程序设计 分析:根据灯光闪亮移位,分为19步,因此可以指定一个19位的移位寄存器(M10.1M10.7,M11.0M11.7,M12.0M12.3),移位寄存器的每一位对应一步。而对

25、于输出,如:L1(Q0.0)分别在“5、6、7、8、9、10、13、14、15、16、17”步时被点亮,即其对应的移位寄存器位“M10.5、M10.6、M10.7、M11.0、M11.1、M11.2、M11.5、M11.6、M12.0、M12.1”置位为1时,Q0.0置位为1,所以需要将这些位所对应的常开触点并联后输出Q0.0,以此类推其他的输出。移位寄存器移位脉冲和数据输入配合的关系如图3-18所示。图3-18 移位寄存器移位脉冲和数据输入配合的关系3.3 数据比较指令及应用数据比较指令及应用3.3.1数据比较指令 数据比较指令用于比较两个数据的大小,并根据比较的结果使触点闭合,进而实现某种

26、控制要求。它包括字节比较、字整数比较、双字整数比较及实数比较指令四种。1. 数据比较指令格式及功能见表3-14梯形图LAD语句表STL功能 LDXF IN1 ,IN2AXF IN1 ,IN2OXF IN1 ,IN2比较两个数IN1和IN2的大小,若比较式为真,则 该触点闭合。 表3-14 数据比较指令的指令格式及功能说明:1) STL中的操作码中的F代表比较符号,可分为“= =”、“”、“=”、“”及“”六种; 2) STL中的操作码中的X代表数据类型,分为字节(B)、字整数(I)、双字整数(D)和实数(R)四种。3) STL中的操作数的寻址范围要与指令码中的X一致。其中字节比较、实数比较指令

27、不能寻址专用的字及双字存储器,如T、C及HC等;字整数比较时不能寻址专用的双字存储器HC;双字整数比较时不能寻址专用的字存储器T、C等。4)字节指令是无符号的,字整数、双字整数及实数比较都是有符号的。5)比较指令中的、指令不适用于CPU21X系列机型。为了实现这三种比较功能,在CPU21X系列机型编程时,可采用NOT指令与=、=、=指令组合的方法实现。如要想表达VD10100,写成语句表程序即为: LD= VD10,100 NOT2指令用法举例如图3-20所示。 梯形图 语句表图图3-20 比较指令用法举例比较指令用法举例 【例3-3】设计一个密码锁程序,密码是352其控制要求如下: (1)

28、当开锁密码正确和有开锁信号(代表有钥匙)时,则发出开锁信号(Q0.0)。 (2) 当开锁密码错误和有开锁信号或按错键时,则发出 报警信号(Q0.1),同时还设有专用的报警键。 (3) 操作结束应复位,报警时可以复位。 (4) 设密码锁有六个按键(开锁键I0.0、1#密码键I0.1、2#密码键I0.2、3#密码键I0.3、复位键I0.4、报警键I0.5)。 根据控制要求,其对应的梯形图程序及分析如图3-21所示。图3-21 密码锁梯形图3.4 数据转换指令及应用 转换指令是对操作数的类型进行转换,并输出到指定目标地址中去。转换指令包括数据的类型转换、数据的编码和译码指令以及字符串类型转换指令。不

29、同功能的指令对操作数要求不同。类型转换指令可将固定的一个数据用到不同类型要求的指令中,包括字节与字整数之间的转换,整数与双整数的转换,双字整数与实数之间的转换,BCD码与整数之间的转换等。字节与字整数之间的转换的指令格式及功能如表3-16所示。LADSTLBTI IN,OUTITB IN,OUT操作数IN:VB、 IB、 QB、 MB、SB、SMB、LB、 AC、 常量、 数据类型:字节OUT:VW、 IW、 QW、 MW、 SW、 SMW、 LW、 T、 C AC数据类型:整数IN:VW、IW、QW、 MW、 SW、 SMW、 LW、 T、 C、 AIW、 AC、 常量、数据类型:整数OUT

30、:VB、 IB、 QB、 MB、 SB、 SMB、 LB、 AC、 数据类型:字节功能BTI指令将字节数值(IN)转换成整数值,并将结果置入OUT指定的存储单元。因为字节不带符号,所以无符号扩展ITB指令将字整数(IN)转换成字节,并将结果置入OUT指定的存储单元。输入的字整数0至255被转换。超出部分导致溢出,SM1.1=1。输出不受影响表3-16字节与字整数之间的转换的指令格式及功能 3.4.1字节与字整数之间的转换 字整数与双字整数之间的转换的指令格式及功能如表3-17所示。LADSTLITD IN,OUTDTI IN,OUT操作数IN:VW、IW、QW、MW、SW、SMW、LW、 T、

31、C、AIW、AC、常量数据类型:整数OUT:VD、ID、QD、MD、SD、SMD、LD、 ACIN:VD、ID、QD、MD、SD、SMD、LD、HC、 AC、常量数据类型:双整数OUT:VW、IW、QW、MW、SW、SMW、LW、T、C、AC功能ITD指令将整数值(IN)转换成双整数值,并将结果置入OUT指定的存储单元。符号被扩展DTI指令将双整数值(IN)转换成整数值,并将结果置入OUT指定的存储单元。如果转换的数值过大,则无法在输出中表示,产生溢出SM1.1=1,输出不受影响表3-17字整数与双字整数之间的转换的指令格式及功能3.4.2字整数与双字整数之间的转换字整数与双字整数之间的转换3

32、.4.4 BCD码与整数的转换LADSTLBCDI OUTIBCD OUT操作数IN:VW、IW、QW、MW、SW、SMW、LW、T、C、AIW、AC、常量。 数据类型:字OUT:VW、IW、QW、MW、SW、SMW、LW、T、C、AC。数据类型:字功能BCD-I指令将二进制编码的十进制数IN转换成整数,并将结果送入OUT指定的存储单元。IN的有效范围是BCD码 0至9999I-BCD指令将输入整数IN转换成二进制编码的十进制数,并将结果送入OUT指定的存储单元。IN的有效范围是0至9999BCD码与整数的转换的指令格式及功能如表3-19所示。3.4.5译码和编码指令LADSTLDECO IN

33、,OUTENCO IN,OUT操作数IN:VB、 IB、 QB、 MB、 SMB、 LB、 SB、 AC、常量。数据类型:字节OUT:VW、 IW、QW、MW、SMW、LW、SW、AQW、T、C、AC。数据类型:字IN:VW、IW、QW、MW、SMW、LW、SW、AIW、T、C、AC、常量。数据类型:字OUT:VB、IB、QB、MB、SMB、LB、SB、AC。数据类型:字节功能译码指令根据输入字节(IN)的低4位表示的输出字的位号,将输出字的相对应的位,置位为1,输出字的其他位均置位为0编码指令将输入字(IN)最低有效位(其值为1)的位号写入输出字节(OUT)的低4位中译码和编码指令的指令格式

34、及功能如表3-20所示。 表3-20 译码和编码指令的指令格式及功能【例3-4】译码编码指令用法举例,如图3-22所示若(AC2)=2,执行译码指令,则将输出字VW40的第二位置1,VW40中的二进制数为2#0000 0000 0000 0100;若(AC3)=2#0000 0000 0000 0100,执行编码指令,则输出字节VB50中的码为2。图3-22 译码编码指令举例LD I1.0DECO AC2, VW40 /译码ENCO AC3, VB50 /编码七段显示译码指令的指令格式及功能如表3-21所示。 表3-21 译码和编码指令的指令格式及功能 梯形图LAD语句表STL功能 SEG I

35、N,OUT 当使能位EN为1时,将输入字节IN的低四位有效数字值,转换为七段显示码,并输出到字节OUT 说明:1)STL中的操作数IN、OUT寻址范围不包括专用的字及双字存储器如T、C、HC等,其中OUT不能寻址常数。3.4.6七段显示译码指令2)七段显示码的编码规则如图3-23所示。图3-23 七段显示码的编码规则【例3-5】七段显示码指令用法举例,如图3-24所示。3-24 七段显示码指令的用法 a)梯形图程序 b)执行结果3.4.7 ASCII码与十六进制数之间的转换指令码与十六进制数之间的转换指令LADSTLATH IN,OUTHTA IN,OUT操作数IN/ OUT:VB、IB、QB

36、、MB、SB、SMB、LB。数据类型:字节LEN:VB、IB、QB、MB、SB、SMB、LB、AC、常量。数据类型:字节。最大值为255功能ASCII至HEX(ATH)指令将从IN开始的长度为LEN 的ASCII字符转换成十六进制数,放入从OUT开始的存储单元HEX至ASCII (HTA)指令将从输入字节(IN)开始的长度为LEN的十六进制数转换成ASCII字符,放入从OUT开始的存储单元表3-22 ASCII码与十六进制数之间的转换指令的指令格式及功能说明:1)STL中的操作数LEN为要转换字符的长度,IN定义被转换字符的首地址,OUT定义转换结果的存放地址。2)STL中的各操作数按字节寻址

37、,不能对一些专用字及双字存储器如T、C、HC等寻址,LEN还可寻址常数。3)ATH指令中,ASC码字符串的最大长度为255个字符;HTA指令中,可转换的16进制数的最大个数也为255。合法的ASC码字符的16进制值在3039和4146之间。【例3-6】ASCII码与十六进制数之间的转换指令的用法举例,如图3-25所示。图3-25 ASCII码与十六进制数之间的转换指令的用法 a)梯形图程序 b)执行结果算术运算指令包括加、减、乘、除运算和数学函数变换。逻辑运算包括逻辑与、或、非指令等。 3.5.1算术运算指令整数加法(ADD-I)和减法(SUB-I)指令:使能输入有效时,将两个16位符号整数相

38、加或相减,并产生一个16位的结果输出到OUT。 双整数加法(ADD-D)和减法(SUB-D)指令:使能输入有效时,将两个32位符号整数相加或相减,并产生一个32位结果输出到OUT。 整数与双整数加减法指令格式如表3-23所示。3.5 算术运算、逻辑运算指令算术运算、逻辑运算指令表3-23 整数与双整数加减法指令格式LADSTLMOVW IN1,OUT+I IN2,0UTMOVW IN1,OUT-I IN2,0UTMOVD IN1,OUT+D IN2,0UTMOVD IN1,OUT+D IN2,0UT操作数IN1/IN2:VW、IW、QW、MW、SW、SMW、LW、T、C、AIW、常量、AC、*

39、VD、*LD、*AC。数据类型:整数OUT: VW、IW、T、C、QW、MW、SW、SMW、LW、AC、*VD、*LD、*AC。数据类型:整数IN1/IN2:VD、ID、QD、MD、SD、SMD、LD、AC、HC、常量、*VD、*LD、*AC。数据类型:双整数OUT: VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*LD、*AC。数据类型:双整数功能IN1+IN2=OUTIN1-IN2=OUTIN1+IN2=OUTIN1-IN2=OUT说明:1)当INl、IN2和OUT操作数的地址不同时,在STL指令中,首先用数据传送指令将INl中的数值送入OUT,然后再执行加、减运算,即OUT+

40、IN2=OUT,OUT-IN2=OUT。为了节省内存,在整数加法的梯形图指令中,可以指定INl或IN2=OUT,这样可以不用数据传送指令。如指定IN1=OUT,则语句表指令为+I IN2,OUT;如指定IN2=OUT,则语句表指令为+I INl,OUT。在整数减法的梯形图指令中,可指定INl=OUT,则语句表指令为-I IN2,OUT。这个原则适用于所有的算术运算指令,且乘法和加法对应,减法和除法对应。 2)整数与双整数加减法指令影响算术标志位SMl.0(零标志位),SMl.1(溢出标志位)和SMl.2(负数标志位)。 【例3-7】 求5000加400的和,5000在数据存储器VW200中,结

41、果放入AC0。程序如图3-26所示。图3-26 整数加法指令举例L D I0.0 MOVW VW200,AC0 /VW200AC0+I +400, AC0 /VW200+400=AC0 整数乘法指令(MUL-I):使能输入有效时,将两个16位符号整数相乘,并产生一个16位积,从OUT指定的存储单元输出。 整数除法指令(DIV-I):使能输入有效时,将两个16位符号整数相除,并产生一个16位商,从OUT指定的存储单元输出,不保留余数。如果输出结果大于一个字,则溢出位SMl.1置位为1。 双整数乘法指令(MUL-D):使能输入有效时,将两个32位符号整数相乘,并产生一个32位乘积,从OUT指定的存

42、储单元输出。3.5.2 整数乘除法指令 双整数除法指令(DIV-D):使能输入有效时,将两个32位整数相除,并产生一个32位商,从OUT指定的存储单元输出,不保留余数。 整数乘法产生双整数指令(MUL):使能输入有效时,将两个16位整数相乘,得出32位乘积,从OUT指定的存储单元输出。 整数除法产生双整数指令(DIV):使能输入有效时,将两个16位整数相除,得出32位结果,从OUT指定的存储单元输出。其中,高16位放余数,低16位放商。 整数乘除法指令格式如表3-24所示。表3-24 整数乘除法指令格式LADSTLMOVW IN1,OUT*I IN2,OUTMOVW IN1,OUT/I IN2

43、,OUTMOVD IN1,OUT*D IN2,OUTMOVD IN1,OUT/D IN2,OUTMOVW IN1,OUTMUL IN2,OUTMOVW IN1,OUTDIV IN2,OUT操作数IN1/IN2:VW、IW、QW、MW、SW、SMW、LW、AC、常量、*VD、*LD、*AC。数据类型:整数OUT: VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*LD、*AC。数据类型:双整数功能IN1*IN2=OUTIN1/IN2=OUTIN1*IN2=OUTIN1/IN2=OUTIN1*IN2=OUTIN1/IN2=OUT说明:1)整数双整数乘除法指令操作数及数据类型和加减运算的相

44、同。2)操作数的寻址范围要与指令码中的一致。OUT不能寻址常数;3)如果结果大于一个字输出,则设定溢出位;4)该指令影响下列特殊内存位: SM1.0 (零);SM1.1 (溢出);SM1.2 (负);SM1.3 (除数为0) 。【例3-8】整数乘除指令用法举例,其梯形图及运算过程如图3-27所示。 图3-27 整数乘除指令用法应用a)梯形图程序 c)运算过程 实数加法指令(ADD-R)、法指令(SUB-R)指令:当使能输入有效时,将两个32位实数相加/减,并产生一个32位结果,从OUT指定的存储单元输出。 实数乘法指令(MUL-R)、除法指令(DIV-R):使能输入有效时,将两个32位实数相乘

45、/除,并产生一个32位的积/商,从OUT指定的存储单元输出。指令格式如表3-25所示。说明:1)各操作数要按双字寻址,不能寻址专用的字及双字存储器,如T、C、及HC等;OUT不能寻址常数; 2)该指令影响下列特殊内存位: SM1.0 (零);SM1.1(溢出);SM1.3 (除数为0);SM1.2 (负)。3.5.3实数加减乘除指令实数加减乘除指令LADSTLMOVD IN1,OUT+R IN2,0UTMOVD IN1,OUT-R IN2,0UTMOVD IN1,OUT*R IN2,0UTMOVD IN1,OUT/R IN2,0UT操作数IN1/IN2:VD、ID、QD、MD、SD、SMD、L

46、D、AC、常量、*VD、*LD、*AC 。 数据类型:实数OUT: VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*LD、*AC 。 数据类型:实数功能IN1+IN2=OUTIN1-IN2=OUTIN1*IN2=OUTIN1/IN2=OUT【例3-9】实数加减指令用法举例,其梯形图及运算结果如图3-28所示LD I0.0MOVD VD0 0,VD8+R VD4 4,VD8 图3-28 实数加减指令应用a)梯形图程序 b)语句表 c)运算过程3.5.43.5.4数学函数变换指令数学函数变换指令 数学函数变换指令包括平方根、自然对数、指数、三角函数等。.平方根(SQRT)指令对32位实

47、数(IN)取平方根,并产生一个32位实数结果,从OUT指定的存储单元输出。2.自然对数(LN)指令对IN中的数值进行自然对数计算,并将结果置于OUT指定的存储单元中。 求以10为底数的对数时,用自然对数除以2.302585(约等于10的自然对数)。3.自然指数(EXP)指令将IN取以e为底的指数,并将结果置于OUT指定的存储单元中。将“自然指数”指令与“自然对数”指令相结合,可以实现以任意数为底,任意数为指数的计算。4.三角函数指令将一个实数的弧度值IN分别求SIN、COS、TAN,得到实数运算结果,从OUT指定的存储单元输出。函数变换指令格式及功能如表3-26所示。LADSTLSQRT IN

48、,OUT LN IN,OUT EXP IN,OUT SIN IN,OUT COS IN,OUT TAN IN,OUT 操作数IN:VD、ID、QD、MD、SD、SMD、LD、AC、常量、*VD、*LD、*AC。数据类型:实数OUT: VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*LD、*AC。数据类型:实数功能三角函数指令:将一个实数的弧度值IN分别求SIN、COS、TAN,得到实数运算结果,从OUT指定的存储单元输出说明:说明:1)操作数要按双字寻址,不能寻址某些专用的字及双字存储器T、C、HC等,OUT不能对常数寻址;2)此指令影响下列特殊内存位:SM1.0 (零);SM1.

49、1 (溢出);SM1.2 (负)。表3-26 函数变换指令格式及功能【例3-11】函数变换指令用法举例,其梯形图及运算结果如图3-30所示。LD I0.0LN VD10,VD20EXP VD30,VD4 图3-30 函数变换指令的应用a)梯形图程序 b)语句表 c)运算过程3.5.5逻辑运算指令 逻辑运算是对无符号数按位进行与、或、异或和取反等操作。操作数的长度有B、W、DW。指令格式如表3-27所示。1.1.逻辑与逻辑与(WAND)(WAND)指令指令将输入INl、IN2按位相与,得到的逻辑运算结果,放人OUT指定的存储单元。 2.2.逻辑或逻辑或(WOR)(WOR)指令指令将输入INl、I

50、N2按位相或,得到的逻辑运算结果,放入OUT指定的存储单元。 3.逻辑异或(WXOR)指令。 将输入INl、IN2按位相异或,得到的逻辑运算结果,放入OUT指定的存储单元。 4.取反(1NV)指令 将输入IN按位取反,将结果放入OUT指定的存储单元。3.5.6 递增、递减指令 递增字节(字、双字)和递减字节指令在输入字节(字、双字) 上加1或减1,并将结果置入OUT指定的变量中。指令格式如表3-28所示。 1.递增字节(INC-B)/递减字节(DEC-B)指令 递增字节和递减字节指令在输入字节(IN)上加1或减1,并将结果置入OUT指定的变量中递增和递减字节运算不带符号。 2.递增字(INC-

51、W)/递减字(DEC-W)指令 递增字和递减字指令在输入字(IN)上加1或减1,并将结果置入OUT。递增和递减字运算带符号。 3.递增双字(INC-DW)/ 减双字(DEC-DW)指令 递增双字和递减双字指令在输入双字(IN)上加1或减1,并将结果置入OUT。递增和递减双字运算带符号。 表3-28 递增和递减指令的指令格式 LADSTLINCB OUT DECB OUTINCW OUT DECW OUTINCD OUT DECD OUT操作数IN:VB、IB、QB、MB、SB、SMB、LB、常量、AC、*VD、*LD、*AC。数据类型:字节OUT: VB、IB、QB、MB、SB、SMB、LB、

52、AC、*VD、*LD、*AC数据类型:字节IN:VW、IW、QW、MW、SW、SMW、LW、T、C、AIW、常量、AC、*VD、*LD、*AC。数据类型:整数OUT: VW、IW、T、C、QW、MW、SW、SMW、LW、AC、*VD、*LD、*AC。数据类型:整数IN:VD、ID、QD、MD、SD、SMD、LD、AC、HC、常量、*VD、*LD、*AC数据类型:双整数OUT: VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*LD、*AC数据类型:双整数功能字节加1字节减1字加1字减1双字加1双字减1说明:(1)EN采用一个机器扫描周期的短脉冲触发;使ENO = 0的错误条件:SM4

53、.3(运行时间),0006(间接地址),SM1.1(溢出)(2)影响标志位:SM1.0 (零),SM1.1(溢出),SM1.2(负数)。(3)在梯形图指令中,IN和OUT可以指定为同一存储单元,这样可以节省内存,在语句表指令中也不需使用数据传送指令。 表操作指令的作用是创建数据表格以及数据表格中数据的出入操作,可定义参数表及存储成组数据。 1. 填表指令填表指令格式及功能见表3-29 。 梯形图LAD语句表STL功能 ATT DATA,TBL 当使能位EN为1时,向表TBL中增加一个字值DATA 3.5.7数据表指令表3-29 填表指令格式及功能说明:说明:1)语句表STL中的操作数DATA指

54、定被填入表格中的数据;TBL指定表格的起始字节地址。两操作数均按字寻址,其中对DATA的寻址还包括AIW寄存器、AC累加器和常数。2)使用填表指令之前,必须首先初始化表格,即通过初始化程序将表格的最大填表数置入表中。3)表中第一个数是最大填表数(TL),第二个数是实际填表数(EC),指出已填入表的数据个数,新的数据填加在表中上一个数据的后面。4)每向表中填加一个新的数据,EC会自动加1。一张表除了TL和EC这两个参数外,还可以有最多100个填表数据。 【例3-13】填表指令的用法举例,设一表的起始地址为VW20,表格的最大填表数为6,已填入数据2个。现将VW10中的数据1234填入表中。其梯形

55、图及运算结果如图3-32所示。LD I0.0LD I0.0EUEUATT VW1ATT VW10 0,VW20VW20 b)语句表 a )梯形图程序梯形图程序 c)填表过程图3-32 逻辑运算指令用法应用2.查表查表指令指令梯形图LAD语句表STL功能 FND= TBL,PATRN,INDX FND TBL,PATRN,INDXFND TBL,PATRN,INDX 当使能位EN为1时,从表TBL中的第一个数据开始搜索符合参考数据PTN和条件CMD(=)、()、()的数据。如果发现一个符合条件的数据,则将该数据的位置号存入INDX中 查表指令格式及功能见表3-30 。表3-30查表指令格式及功能

56、说明:1)操作数TBL指定表的起始地址,直接指向表中的实际填表数;PTN指定要查找的参考数据;INDX存放所查数据的所在位置;CMD指定被查数据与参考数据之间的关系:1为(=)、2为()、3为()。2)除CMD外其余操作数均按字寻址。其中PTN还可以寻址常数。3)找到一个符合条件的数据后,为了查找下一个符合条件的数据,在激活查表指令前,必须先对INDX加1。如果没有发现符合条件的数据,那么INDX等于最大填表数EC;如果再次查表,需将INDX置0。【例3-15】查表指令的用法举例,设表格为VW200 ,表格中已填入数据6个,现从表格中查找十六进制数据3130。其查表的梯形图及查表过程如图3-3

57、3所示。LD I0.1 EU FND= VW202,16#3130,VW100/ 在I0.5上升沿时,从VW200中查找与3130值相同的数据,并将找到的结果位置号存VW100中MOVW VW100,VW200/转移数据所在的位置结果INCE VW100/数据位置 结果加1,为下一次查找作准备 a)查表梯形图程序 b)语句表 图3-33 查表指令应用 c)查表过程项目实施项目实施设计一个自动控制小车运行方向的程序,如图3-36所示。控制要求如下:(1)当小车所停位置限位开关SQ的编号大于呼叫位置按钮SB的编号时,小车向左运行到呼叫位置时停止。(2)当小车所停位置限位开关SQ的编号小于呼叫位置按

58、钮SB的编号时,小车向右运行到呼叫位置时停止。(3)当小车所停位置限位开关SQ的编号等于呼叫位置按钮SB的编号时,小车不动作。任务任务2.1:小车定位的:小车定位的PLC控制系统控制系统图3-36 小车运动示意图(1)I/O端口分配根据控制要求,小车定位的PLC控制系统的I/O端子分配如表3-33所示输入信号输出信号PLC地址电气符号功能说明PLC地址电气符号功能说明I0.0SB0启动按钮,常开Q0.0KM1小车右行接触器线圈I0.6SB6停止按钮,常开Q0.1KM2小车左行接触器线圈I0.1I0.5SB1SB5呼叫按钮,常开I1.1I1.5SQ1SQ51#5#位置开关表3-33 I/O端口分

59、配表(2)小车定位的PLC控制系统的PLC外部接线图如图3-37所示。 图3-37 小车定位的PLC控制系统的外部接线图图3-37 小车定位的PLC控制系统的外部接线图(3)程序设计。根据控制要求,其对应得梯形图程序如图3-38所示分析:当按钮接通或行程开关被压下时将呼叫按钮号和行程开关的位号用数据传送指令分别送到字节VB1和VB2中,按下起动按钮后,用比较指令将VB1和VB2进行比较,决定小车左、右行或停止,当按下停止按钮,小车停止,VB1、VB2清零。图3-38 小车运行方向的PLC控制系统任务2.2:抢答器的PLC控制系统设计一个抢答器的PLC控制系统的程序,模拟控制板如图3-39所示。

60、控制要求:系统初始上电后,主控人员在总控制台上单击“开始”按键后,允许各队人员开始抢答,即各队抢答按键有效。抢答过程中,14队中的任何一队抢先按下各自的抢答按键(S1、S2、S3、S4)后,该队指示灯(L1、L 2、L 3、L 4)点亮,LED数码显示系统显示当前的队号,并使蜂鸣器发出响声(持续2 s后停止),同时锁住抢答器,使其他组按键无效,直至本次答题完毕。主控人员对抢答状态确认后,单击“复位”按键,系统又继续允许各队人员开始抢答;直至又有一队抢先按下各自的抢答按键。 分析控制要求,4组抢答台使用的S1S4抢答按钮及主控人员操作的复位按钮SR、开始按钮SD作为PLC的输入信号,输出信号包括

61、七段数码管和蜂鸣器。七段数码管的每一段应分配一个输出信号,因此总共需要8个输出点。为保证只有最先抢到的台号被显示,各抢答台之间应设置互锁。复位按钮SR的作用有两个:一是复位抢答器,二是复位七段数码管,为下一次的抢答作准备。本任务中用到比较指令、七段数码管的驱动采用七段译码指令SEG。 (1)I/O端口分配根据控制要求,抢答器的PLC控制系统的PLI/O端子分配如表3-34所示。输入信号输出信号PLC地址电气符号功能说明PLC地址电气符号功能说明I0.0SD启动按钮,常开Q0.0Q0.6a、b、c、d、e、f、g数码显示输出I0.5SR复位按钮,常开Q1.0HA蜂鸣器I0.1I0.4S1S4抢答

62、按钮,常开表3-34 I/O端口分配表(2)抢答器的控制系统的PLC外部接线图如图3-40所示。 图3-40 PLC外部接线图任务2.3:饮料自动售货机控制系统图3-42为饮料自动售货机结构示意图。在该机中有两种已经配制好的饮料储液桶,一种为汽水,另一种为橙汁,分别由两个电磁阀控制放入杯中的饮料品种。控制要求: 图3-42 饮料自动售货机结构示意图自动售货机可投入1角、5角、1元的硬币。当投入的硬币总值超过2元时,汽水指示灯亮;当投入的硬币总值超过3元时,汽水及橙汁指示灯亮。当汽水指示灯亮时,按放汽水按钮,则排出汽水,8 s后,自动停止。在这段时间内,汽水指示灯闪烁。当橙汁按钮指示灯亮时,按放

63、橙汁按钮,则排出橙汁,8 s后,自动停止。在这段时间内橙汁指示灯闪烁。若投入硬币总值超过按钮所需的钱数(汽水2元,橙汁3元)时,找钱指示灯亮,并找出多余的钱。 (1)I/O端口分配根据控制要求,饮料自动售货机的PLC输入输出端子分配如表3-35所示输入PLC地址电气符号功能说明PLC地址电气符号功能说明I0.1ST11角投票光电开关,常开I0.4SB1汽水按钮,常开I0.2ST25角投票光电开关,常开I0.5SB2橙汁按钮,常开I0.3ST31元投票光电开关,常开I0.6ST4投钱光电开关,常开输出PLC地址电气符号功能说明PLC地址电气符号功能说明Q0.0HL1汽水指示灯Q0.2YV1放汽水

64、电磁阀Q0.1HL2橙汁指示灯Q0.3YV2放橙汁电磁阀Q0.4YA 投钱执行机构表3-35 I/O端口分配表(2)饮料自动售货机控制系统的PLC外部接线图如图3-43所示。 图3-43 饮料自动售货机的PLC外部接线图(3)程序设计。根据控制要求,主要设计思路:将1角、5角、1元的信息传入数据寄存器D中。将投票过程中的投票数据进行累加并存入数据寄存器D中,并与2元、3元进行比较。若数据寄存器D中数据大于2元,则汽水指示灯亮;若数据寄存器D中数据大于3元,则汽水和橙汁指示灯均发亮。根据以上思路,设计出饮料自动售货机PLC控制梯形图如图3-44所示。图3-44 饮料自动售货机的PLC控制系统的程

65、序任务2.4:停车场数码显示PLC控制系统某停车场最多可停50辆车,用2位数码管显示停车数量。用出入传感器检测进出车辆数,每进一辆车停车数量增1,每出一辆车停车数量减1。场内停车数量小于45时,入口处绿灯亮,允许入场;等于和大于45但小于50时,绿灯闪烁,提醒待进场车辆司机注意将满场;等于50时,红灯亮,禁止车辆入场。停车场输入、输出设备位置示意图如图3-45所示。图3-45 停车场输入/输出设备位置示意图(1)I/O端口分配据控制要求,停车场数码显示PLC控制系统I/O端子分配如表3-36所示。输入信号输出信号PLC地址电气符号功能说明PLC地址功能说明I0.0传感器IN检测进场车辆Q0.6Q0.0个位数显示I0.1传感器OUT检测出场车辆Q1.0绿灯,允许信号Q1.1红灯,禁行信号Q2.6Q2.0十位数显示表3-36 I/O端口分配表 (2)饮料自动售货机的PLC外部接线图如图3-46所示。通常传感器有3个端子,分别接PLC内部直流电源24V的正极、输入公共端1M(0V)和输入信号端I。在图3-45中,入口传感器IN接I0.0,出口传感器OUT接I0.1。 图3-46 停车场控制电路接线图(3)程序设计。停车场PLC控制电路如图3-47所示。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号