




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章 PLC的数据处理功能及应用学习目标:了解数据转换指令与数据表指令的格式及应用;理解整数、实数及逻辑运算指令的格式及应用;掌握数据传送、比较及移位指令的格式及应用。PLC的数据处理功能主要包括数据的传送、比较、移位、转换、运算及各种数据表格处理等。PLC通过这些数据处理功能可方便地对生产现场的数据进行采集、分析和处理,进而实现对具有数据处理要求的各种生产过程的自动控制。例如过程控制系统中温度、压力、流量的范围控制、PID控制及伺服系统的速度控制等等。4.1数据传送指令及应用传送指令主要作用是将常数或某存储器中的数据传送到另一存储器中。它包括单一数据传送及成组数据传送两大类。通常用于设定参数、协助处理有关数据以及建立数据或参数表格等。4.1.1数据传送指令1指令格式及功能(见表4-1) 表4-1 数据传送指令的格式和功能梯形图LAD语句表STL功 能操作码操作数MOV_XENIN OUTMOV_XIN ,OUT当使能位EN为1时,把输入的数据IN传送到输出OUT说明:1)操作码中的X代表被传送数据的长度,它包括四种数据长度,即字节(B)、字(W)、双字(D)和实数(R)。2)操作数的寻址范围要与指令码中的X一致。其中字节传送时不能寻址专用的字及双字存储器,如T、C、及HC等;OUT寻址不能寻址常数。2.指令编程举例例1 假定I0.0闭合,将VW2中的数据传送到VW10中,则对应的梯形图程序及传送结果如图4-1所示。0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 10 0 1 1 0 0 1 0 1 0 1 1 1 1 0 1VB2VB10图4-1 MOV_X编程举例4.1.2 块传送指令1指令格式及功能(见表4-2)表4-2 块传送指令的格式及功能梯形图LAD语句表STL功 能操作码操作数BLK MOV_XENIN N OUTBMXIN,OUT,N当使能位EN为1时,把从IN存储单元开始的连续的N个数据传送到从OUT开始的连续的N个存储单元中说明:1)操作码中的X表示数据类型,分为字节(B)、字(W)、双字(D)三种。2)操作数N指定被传送数据块的长度,可寻址常数,也可寻址存储器的字节地址,不能寻址专用字及双字存储器,如T、C、及HC等,可取范围为1255。 3)操作数IN 、OUT不能寻址常数,它们的寻址范围要与指令码中的X一致。其中字节块和双字块传送时不能寻址专用的字及双字存储器,如T、C、及HC等。2指令编程举例图4-2 块传送指令举例5632100125212VB10VB11VB12VB13VB14563210012548VB0VB1VB2VB3VB4例2 I0.1闭合时,将从VB0开始的连续4个字节传送到VW10VW13中。对应的梯形图程序及传送结果如图4-2所示。4.1.3字节交换指令1指令格式及功能(见表4-3)表4-3 字节交换指令的格式及功能梯形图LAD语句表STL功 能操作码操作数SWAPEN INSWAPIN当使能位EN为1时,将输入字IN中的高字节与低字节交换说明:操作数IN不能寻址常数,只能对字地址寻址。2指令编程举例例3 假定变量存储器VW4单元中存放一数据0A06。当I0.0由“0”变“1”后,SWAP指令将使VW4中内容的高字节与低字节交换,其结果使VW4中的内容变为060A,其梯形图程序及执行结果如图4-3所示。图4-3 字节交换指令编程0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 00 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0执行前VW4执行后VW44.1.4 数据传送指令上机实践实践1 存储器初始化1初始化程序的设计存储器初始化程序是用于开机运行时对某些存储器清0或置数的一种操作。通常采用传送指令来编程。若开机运行时将VB10清0、将VW100置数1800,则对应的梯形图程序如图4-4所示。图4-4 存储器的设置与清0初始化扫描脉冲使VB10清0使VW100置18002上机操作步骤及要求1)启动STEP 7-Micro/MIN 32,将程序录入到梯形图编辑器中,将数据VB10 10、VW100 100录入数据编辑器中;2) 下载梯形图程序及数据,使PLC进入梯形图监控状态,观察VB10和VW100的值;3) 点击运行按钮使PLC进入运行状态,观察VB10和VW100的值;4) 若将连续的某些存储单元清0或置入某数值应如何编程?如何在编程软件中进行监控操作?实践2 多台电动机的同时起停控制1程序设计设三台电动机分别由Q0.0、Q0.1、Q0.2驱动,I0.0为起动输入信号,I0.1为停止信号。则对应的梯形图程序如图4-5所示。图4-5 多台电动机的同时起停控制程序I0.0同时启动三台电动机I0.1同时停止三台电动机2上机操作步骤及要求1)根据题目要求,连接PLC输入输出接线;2)启动STEP 7-Micro/MIN 32,将程序录入下载到PLC中,并使PLC进入运行状态;3)使PLC进入梯形图监控状态,在未进行任何操作的前提下,观察QB0的值;交替按下启动、停止按钮,观察输入输出状态指示灯的状态及QB0的值。4)若三台电动机分别采用Q0.3、Q0.5、Q0.6控制,则应如何编写控制程序?实践3 多种预选值的选择控制1程序设计表4-4 I/O分配表类别元件名称端子号类别元件名称端子号输入选择时间1(30min)I0.0输入加热炉启动开关I0.3选择时间2(20min)I0.1输出加热接触器Q0.0选择时间3(10min)I0.2设某厂生产的三种型号产品所需加热时间分别为30、20、10min分钟。为方便操作,设置一个选择手柄来设定定时器的预置值,选择手柄分三个档位,每一档位对应一个预置值;另设一个起动开关,用于起动加热炉;加热炉由接触器通断。系统所用PLC的输入输出端子分配如表4-4所示,梯形图程序如图4-6所示。选择30分钟工作时间选择20分钟工作时间选择10分钟工作时间加热炉定时停止控制加热炉加热时间控制图4-6 预选时间控制程序2上机操作步骤及要求1)根据题目要求,连接PLC输入输出接线,起动STEP 7-Micro/MIN 32,将程序录入下载到PLC中,并使PLC进入运行状态;2)使PLC进入梯形图监控状态,观察VW10的值;交替操作I0.0、I0.1、I0.2,观察VW10的值;3)上机时为缩短观察时间,可将上述时间分别改为30s、20s、10s。4)三种预选值的选择,也可采用分别调用子程序的方法编程。实践4 开机时间的保存1程序设计为记录每次机器运行的开机时间,需在PLC程序设计时通过数据传送指令将其当前时间保存在某个指定的存储器中。假定机器启动按钮为I0.0,开机时间保存在VW1000开始的存储单元中,则其对应的梯形图程序如图4-7所示。建立开机时间存储地址指针开机时间读至VB100开始的连续的8个存储单元中将开机时间保存到VB1000开始的存储单元中修改开机时间存储地址指针图4-7 保存开机时间梯形图程序注:该例中日期时钟表示的格式是年、月、日、时、分、秒、0、星期,且为16进制数据。2上机操作步骤及要求1)启动STEP 7-Micro/MIN 32,将程序录入下载到PLC中,并使PLC进入运行状态;2)在PLC菜单中启动实时时钟;3)打开数据表监控器,按顺序输入VB100VB107、VW1000VW1007、VW1008VW1015及I0.0;4)进入数据表监控状态,交替强制I0.0得失电,观察VB00VB107、VW1000VW1007、VW1008VW1015的值。4.2 数据比较指令及应用4.2.1数据比较指令比较指令用于比较两个数据的大小,并根据比较的结果使触点闭合,进而实现某种控制要求。它包括字节比较、字整数比较、双字整数比较及实数比较指令四种。1指令格式及功能(见表4-5)表4-5 数据比较指令的格式及功能梯形图LAD语句表STL功 能操作码操作数IN1F XIN2LDXFAXFOXFIN1 ,IN2IN1 ,IN2IN1 ,IN2比较两个数IN1和IN2的大小,若比较式为真,则该触点闭合。说明:1)操作码中的F代表比较符号,可分为“=”、“”、“=”、“”及“”六种; 2)操作码中的X代表数据类型,分为字节(B)、字整数(I)、双字整数(D)和实数(R)四种。3)操作数的寻址范围要与指令码中的X一致。其中字节比较、实数比较指令不能寻址专用的字及双字存储器,如T、C、及HC等;字整数比较时不能寻址专用的双字存储器HC;双字整数比较时不能寻址专用的字存储器T、C等。4)字节指令是无符号的,字整数、双字整数及实数比较都是有符号的。5)指令中的比较符号、指令不适用于CPU21X系列机型。为了实现这三种比较功能,在CPU21X系列机型编程时,可采用NOT指令与=、=、=指令组合的方法实现。如要想表达VD10100,写成语句表程序即为: LD= VD10,100 NOT2指令编程举例图4-8 比较指令编程举例例4 若MW4中的数小于IW2中的数,则使M0.1复位;若MW4中的数据大于等于IW2,则使M0.1置位。对应的梯形图及语句表程序如图4-8所示。4.2.2 比较指令上机实践实践5 多台电动机分时起动控制起动按钮按下后,3台电动机每隔3 s钟分别依次起动,按下停止按钮,三台电动机同时停止。1程序设计设PLC的输入端子I0.0为起动按钮输入端,I0.1为停止按钮输入端,Q0.0、Q0.1、Q0.2分别为驱动三台电动机的电源接触器输出端子。其对应的梯形图程序如图4-9所示。图4-9三台电机分时启动梯形图程序置起停标志M0.0启动定时器T37,定时6 s 首台电动机起动3 s之后起动第二台电动机6 s之后起动第三台电动机2上机操作步骤及要求1)根据题目要求,连接PLC输入输出接线。2)启动STEP 7-Micro/MIN 32,将程序录入下载到PLC中,并使PLC进入运行状态;3)使PLC进入梯形图监控状态,观察定时器T37的当前值;按下起动按钮I0.0,观察T37当前值的变化情况及输出Q0.0Q0.2的工作情况;按下停止按钮I0.1,观察输出Q0.0Q0.2的工作情况。实践6 简单的定尺裁剪控制材料的定尺裁剪可通过对脉冲计数的方式进行控制。在电动机轴上装一多齿凸轮,用接近开关检测多齿凸轮,产生的脉冲输入至PLC的计数器。脉冲数的多少,反映了电动机转过的角度,进而间接地反映了材料前进的距离。1控制要求 电动机起动后计数器开始计数,计数至4900个脉冲时,使电动机开始减速,计数到5000个脉冲时,使电动机停止,同时剪切机动作将材料切断,并使脉冲计数复位。2PLC输入输出分配 根据控制要求列出的PLC输入输出端子分配如表4-6所示。表4-6端子分配输 入输 出元件名称端子号元件名称端子号元件名称端子号元件名称端子号启动按钮I0.0接近开关I0.2电机高速运转Q0.0剪切机Q0.2停止按钮I0.1剪切结束I0.3电机低速运转Q0.13程序设计 根据控制要求及PLC端子分配情况编写的梯形图程序如图4-10所示。图4-10 简单位置控制系统的PLC程序按下启动按钮I0.0, 若C20当前值小于4900,则Q0.0高速运行凸轮检测开关I0.2每动作一次,C20计数一次剪切结束I0.3闭合或按下停止按钮I0.1,C20复位若C20当前值大于4900则Q0.1低速运行计数值到,剪切机动作157 4上机操作步骤及要求1)根据题目要求,连接PLC输入输出接线;2)启动STEP 7-Micro/MIN 32,将程序录入下载到PLC中,并使PLC进入运行状态;3)为了能够观察到程序运行效果,可用PLC时钟脉冲SM0.5作为凸轮检测开关信号,若想节省实验时间,还可使C20预设值减小,如减小为1000,还可设小于800高速运行,高于800低速运行;4)使PLC进入梯形图监控状态,观察计数器C20的当前值;按下启动按钮I0.0,观察计数器C20当前值的变化情况及输出Q0.0Q0.2的工作情况。实践7 料斗方向自动控制1控制要求 料斗方向控制要求参见12.4节内容。2程序设计 根据料斗方向控制要求编制的PLC输入输出分配端子关系参见12.4节内容,对应的梯形图程序如图4-11所示。3上机操作步骤及要求1)根据题目要求,连接PLC输入输出接线。2)启动STEP 7-Micro/MIN 32,将程序录入下载到PLC中,并使PLC进入运行状态;3)打开状态表编辑器,使用强制、取消强制操作,观察料斗位置存储器VB0、呼叫位置存储器VB1的值,输出Q0.0、Q0.1的工作情况;4)打开计算机监控PLC模拟实验系统,在仿真界面中对小车进行呼叫操作,观察小车的运行情况。a)小车位置记录 b)小车呼叫记录c)小车起动停止、及运行方向判别控制图4-11 小车方向自动控制梯形图人工起动停止控制位置大于呼叫右行位置小于呼叫左行4.3 数据移位指令移位指令的作用是将存储器中的数据按要求进行某种移位操作。在控制系统中可用于数据的处理、跟踪、步进控制等。4.3.1数据左右移位指令1指令格式及功能(见表4-7)表4-7 数据左右移位指令的格式及功能梯形图LAD语句表STL功 能操作码操作数SHL_XENIN OUTN SHR_XENIN OUTN SLXSRXOUT ,NOUT ,N当使能位EN为1时,把输入数据IN左移或右移N位后,再把结果输出到OUT说明:1)操作码中的X为移位数据长度,分为字节(B)、字(W)、双字(D)三种;2)N为数据移位位数,对字节、字、双字的最大移位位数分别为8、16、32,字节寻址时,不能寻址专用的字及双字存储器,如T、C、及HC等;3)IN、OUT的寻址范围要与指令码中的X一致。不能对T、C等专用存储器寻址;OUT不能寻址常数;4)左右移位指令影响特殊存储器的SM1.0和SM1.1位。2指令编程举例例6 假定VW0中存有16进制数E2AD,现将其左移3位,I0.1为移位控制信号。对应的梯形图程序及移位过程如图4-12所示。a)梯形图程序 b)移位过程图4-12 左右移位指令编程举例移位之前1110 0010 1010 1101VW0X溢出位1100 0101 0101 1010 1第一次移位之后 VW2001000 1010 1011 0100 1第二次移位之后 VW2000001 0101 0110 1000 1第三次移位之后 VW2004.3.2数据循环左右移位指令1指令格式及功能(见表4-8)表4-8 数据循环左右移位指令的格式及功能梯形图LAD语句表STL功 能操作码操作数ROR_XENIN OUTN ROL_XENIN OUTN RLXRRXOUT ,NOUT ,N当使能位EN为1时,把输入数据IN循环左移或右移N位后,再把结果输出到OUT中说明:1)操作码中的X代表被移位的数据长度,分为字节(B)、字 (W)、双字(D)三种;2)N指定数据被移位的位数,对字节、字、双字的最大移位位数分别为8、16、32。通过字节寻址方式设置,不能对专用存储器T、C及HC寻址;3)IN、OUT的寻址范围要与指令码中的X一致。不能对T、C、HC等专用存储器寻址;OUT不能寻址常数;4)循环移位是环形的,即被移出来的位将返回到另一端空出来的位;5)左右循环移位指令影响特殊存储器的SM1.0和SM1.1位。6)字节循环左移或循环右移指令不适用于CPU2141.01以下版本。2指令编程举例例a)梯形图程序 b)移位过程图4-13循环移位指令编程举例1010 0000 0000 0000 1第一次循环移位之后 AC00101 0000 0000 0000 0第二次循环移位之后 AC0循环移位之前0100 0000 0000 0001VW200X溢出位7 假定 VW200中内容循环右移2位,I0.1为移位控制信号。对应的梯形图程序及运行结果如图4-13所示。4.3.3 数据移位指令上机实践实践8 8支彩灯依次向左循环点亮控制1.控制要求 按下启动按钮,8支彩灯自Q0.0开始每隔1s钟依次向左循环点亮,直到发出停止信号后熄灭。2程序设计 设I0.0为启动按钮,I0.1为停止按钮,Q0.0Q0.7驱动8支彩灯循环点亮。其梯形图程序如图4-14。移位数据预置移位脉冲发生器循环移位控制起停控制图4-14 8支彩灯依次向左循环点亮控制程序3.上机操作步骤及要求 1)根据题目要求,连接PLC输入输出接线;2)启动STEP 7-Micro/MIN 32,将程序录入下载到PLC中,并使PLC进入运行状态;3)进入PLC梯形图监控状态,按下启动按钮I0.0,观察八只彩灯的亮灭情况;按下停止按钮I0.1,观察八只彩灯的工作情况;4)进入PLC状态表监控状态,通过强制、取消强制操作,观察QB0的移位过程;5)本程序在停止操作时,可能会出现仍有某只彩灯不能熄灭的现象,试采取措施改进程序,以保证在停止时不会有彩灯继续点亮。实践9 数据乘除2n运算程序1程序设计 假定VW0中存有数据160,现将其除以8,结果保存在VW2中;将其乘以4,结果保存到VW4中。利用移位指令编程实现其运算结果的梯形图程序如图4-15所示。图4-15数据乘除2n运算梯形图程序1608运算,结果存入VW2中1604运算,结果存入VW4中2上机操作步骤及要求1)启动STEP 7-Micro/MIN 32,将程序录入到梯形图编辑器中,将数据VW0 160录入到数据编辑器中,然后将程序及数据下载到PLC中; 2)打开状态表编辑器,输入I0.0、VW0、VW2和VW4。使其进入监控状态,观察它们的结果; 3)强制I0.0得电,观察VW0、VW2和VW4的值如何变化。4.4 数据运算指令及应用数据运算指令主要实现对数值类数据的四则运算、函数运算及逻辑运算。多用于实现按数据的运算结果进行控制的场合,如自动配料系统、工程量的标准化处理、自动修改指针等。4.4.1整数运算指令1整数、双字整数加/减指令指令格式及功能(见表4-9)表4-9 整数、双字整数加/减指令的格式及功能梯形图LAD语句表STL功 能操作码操作数SUB_XENIN1IN2 OUTADD_XENIN1IN2 OUTXXIN1,OUTIN1,OUT当使能位EN为1时,执行IN1+IN2或IN1-IN2操作,并将结果存入OUT对语句表指令,则执行IN1+OUT或OUT-IN1操作,并将结果存入OUT说明:1)操作码中的X指定数据的长度,分别为整数(I)、双字整数(DI)两种。2)IN1、IN2指定加数(减数)及被加数(被减数);在语句表指令中取OUT等于IN2可减少存储空间。删除2)操作数的寻址范围要与指令码中的X一致。OUT不能寻址常数。3)该指令影响特殊内部寄存器位: SM1.0 (零); SM1.1 (溢出); M1.2(负)。指令编程举例例8 假定对常数5和常数3进行加法运算。如果采用语句表指令编程,则必须先将其中一个常数存入存储器或累加器中,然后再将另一个常数与存储器或累加器中内的数据进行加法运算,若采用梯形图指令编程,可直接将两数进行相加运算,对应的梯形图及语句表程序如图4-16所示。a)梯形图程序 b)语句表程序图4-16 整数加法指令举例2整数、双字整数乘/除指令指令格式及功能(见表4-10)表4-10 整数、双字整数乘/除指令的格式及功能梯形图LAD语句表STL功 能操作码操作数MUL_XENIN1IN2 OUTDIV_XENIN1IN2 OUT*X/XIN1,OUTIN1,OUT当使能位EN为1时,执行IN1*IN2或IN1/IN2操作,并将结果保存到OUT,除法运算不保留余数对语句表指令则执行IN1*OUT=OUT或OUT/IN1=OUT的操作 说明:1)操作码中的X指定数据长度,分为整数(I)、双字整数(DI)两种情况;2)IN1指定乘数(除数),IN2指定被乘数(被除数);删除2)操作数的寻址范围要与指令码中的X一致。OUT不能寻址常数;3)该指令影响下列特殊内存位: SM1.0 (零); SM1.1 (溢出); SM1.2 (负);SM1.3 (除数为0) 。指令编程举例例9 假定I0.0得电时,执行VW10乘以VW20、VD40除以VD50操作,并分别将结果存入VW30和VD60中。则对应的梯形图程序及运算过程如图4-17所示。300206000VW0VW20VW304000100 40VD40VD50VD60a)梯形图程序 b)运算过程图417 整数乘除指令编程举例3整数乘/除到双字整数指令指令格式及功能(见表4-11)表4-11 整数乘/除到双字整数指令的格式及功能梯形图LAD语句表STL功 能操作码操作数MULENIN1IN2 OUTMULIN1,OUT当使能位EN为1时,把两个16位整数相乘,得到一个32位积(OUT)对语句表指令则执行IN1*OUT=OUT操作DIVENIN1IN2 OUTDIVIN1,OUT当使能位EN为1时,把两个16位整数相除,得到32位结果(OUT),该结果的低16位是商,高16位是余数对语句表指令则执行OUT/IN1=OUT操作说明:1)IN1指定乘数(除数),IN2指定被乘数(被除数),要按字寻址;OUT按双字寻址,不能寻址常数及专用字、双字存储器T、C、HC等;2)在语句表中,32位OUT的低16位分别被用作乘数或被除数;删除2)该指令影响下列特殊内存位:SM1.0 (零), SM1.1(溢出), SM1.2 (负) , SM1.3 (除数为0)。指令编程举例例10 采用整数乘除到双字整数指令计算4000*20及4000/56的值。梯形图程序及运算过程如图4-18所示。 a)梯形图程序 b)运算过程图4-18 整数乘除到双字整数指令举例40002080000VW10VW12VD14400056 24 71VW20VW22VD244字节、字、双字加1/减1指令指令格式及功能(见表4-12)表4-12 字节、字、双字加1/减1指令的格式及功能梯形图LAD语句表STL功 能操作码操作数DEC_XENIN OUTINC_XENIN OUTINCXDECXOUTOUT当使能位EN为1时, INC_X对输入IN执行加1操作,DEC_X对输入IN执行减1操作说明:1)操作码中的X指定输入数据的长度,分别有字节(B)、字(W)和双字(DW)三种形式。2)操作数的寻址范围要与指令码中的X一致。其中对字节操作时不能寻址专用的字及双字存储器,如T、C、及HC等;对字操作时不能寻址专用的双字存储器HC;OUT不能寻址常数。3)字、双字增减指令是有符号的,影响特殊存储器位SM1.0和SM1.1的状态;字节增减指令是无符号的,影响特殊存储器位SM1.0、SM1.1和SM1.2的状态。指令编程举例例11 I0.2每接通一次,AC0的内容自动加1,VW100的内容自动减1。其梯形图程序及语句表程序如图4-19所示。 a)梯形图程序 b)语句表程序图4-19 增1减1指令编程举例4.4.2实数运算指令1实数加/减指令指令格式及功能(见表4-13)表4-13 实数加/减指令的格式及功能梯形图LAD语句表STL功 能操作码操作数SUB_RENIN1IN2 OUTADD_RENIN1IN2 OUTRRIN1,OUTIN1,OUT当使能位EN为1时,执行实数IN1+IN2或IN1-IN2操作,并将结果保存到OUT对语句表指令,则执行IN1+OUT=OUT或OUT-IN1=OUT操作说明:1)IN1指定加数(减数),IN2指定被加数(被减数)。各操作数要按双字寻址,不能寻址专用的字及双字存储器,如T、C、及HC等;OUT不能寻址常数; 2)在语句表中,32位OUT的低16位分别被用作乘数或被除数;删除2)该指令影响下列特殊内部寄存器位: SM1.0 (零); SM1.1 (溢出); SM1.2 (负)。指令编程举例例12 将VD0和VD4存储单元中的实数相加后存入VD8单元中。对应的梯形图程序及运算结果如图4-20所示。a) 梯形图程序 b)运算结果图4-20实数加减指令举例2实数乘/除指令指令格式及功能(见表4-14)表4-14 实数乘/除指令的格式及功能梯形图LAD语句表STL功 能操作码操作数DIV_RENIN1IN2 OUTMUL_RENIN1IN2 OUT*R/RIN1,OUTIN1,OUT当使能位EN为1时,执行实数IN1*IN2或IN1/IN2运算,并将结果保存到OUT对语句表指令,则执行IN1*OUT=OUT或OUT/IN1=OUT操作说明:1)IN1指定乘数(除数),IN2指定被乘数(被除数)。各操作数要按双字寻址,不能寻址专用的字及双字存储器,如T、C、及HC等;OUT不能寻址常数。2)该指令影响下列特殊内存位: SM1.0 (零);SM1.1(溢出或操作过程中生成非法数值或发现非法输入参数);SM1.2 (负);SM1.3 (除数为0)。指令编程举例例13 对VD0、VD4中的实数进行乘法运算,VD30、VD34中的实数进行除法运算,其结果分别保存到VD10和VD40中。梯形图程序及运算结果如图4-21所示。a)梯形图程序 b)执行结果图4-21实数乘除指令编程及运行结果示意图3实数的开方指令(1)指令格式及功能(见表4-15)表4-15 实数开方指令的格式及功能梯形图LAD语句表STL功 能操作码操作数SQRTENIN OUTSQRTIN,OUT当使能位EN为1时,将32位实数IN开方,得到的32位实数结果保存到OUT 说明:1)操作数要按双字寻址,不能寻址某些专用的字及双字存储器T、C、HC等,OUT不能对常数寻址;2)此指令影响下列特殊内存位:SM1.0 (零);SM1.1 (溢出); SM1.2 (负)。(2)指令编程举例例14 将VD0存储单元中的实数数据进行开方操作,结果存入VD10存储单元中。对应的梯形图程序及运行结果如图4-22所示。a)梯形图程序 b)执行结果图4-22 实数开方指令举例4三角运算指令(1)指令格式及功能(见表4-16)表4-16 三角运算指令的格式及功能梯形图LAD语句表STL功 能操作码操作数TANENIN OUTCOSENIN OUTSINENIN OUTSINCOSTANIN1,OUTIN1,OUTIN1,OUT当使能位EN为1时,分别对角度的弧度值IN进行正弦、余弦、正切运算,并将结果放置在OUT中说明:1)IN指定角度值,单位为弧度。欲将输入角度转换成弧度,需将角度值乘以1.745329E-2(约等于/180);2)IN和OUT按双字寻址,不能寻址专用的字及双字存储器T、C、HC等,OUT不能寻址常数;3)此指令影响下列特殊内存位:SM1.0 (零); SM1.1 (溢出); SM1.2 (负)(2)指令编程举例例15 求角度63.5的正弦值,并将其结果存储在VD22存储单元中。对应的梯形图程序及运行结果如图4-23所示。图4-23 求取角度正弦值得梯形图程序及运行结果a)梯形图程序b)执行结果5自然对数/指数指令(1)指令格式及功能(见表4-17)表4-17 自然对数/指数指令的格式及功能梯形图LAD语句表STL功 能操作码操作数LNENIN OUTEXPENIN OUTLNEXPIN1,OUTIN1,OUT当使能位EN为1时,LN指令计算输入数据IN的自然对数,EXP指令计算e的IN次方,结果都置于OUT说明:1)操作数按双字寻址,但不能对专用字及双字存储器T、C、HC等寻址,OUT不能寻址常数;2)欲从自然对数值获得以10为底的对数值,需将自然对数值除以2.302585(约等于10的自然对数值);3)此组指令影响下列特殊内存位:SM1.0 (零);SM1.1 (溢出); SM1.2 (负)。(2)指令编程举例a)梯形图程序 b)执行结果图4-24 自然对数、指数指令应用举例例16 计算VD10中数据的自然对数值,结果存入VD20单元;计算以e为底的VD30中数据的指数值,结果存入VD40单元。对应的梯形图程序及执行结果如图4-24所示。4.4.3 逻辑运算指令逻辑操作指令的作用是对已知数据进行逻辑与、逻辑或、逻辑异或及逻辑取反等操作,可用于存储器的清零、设置标志位等。1 字节与、字与、双字与指令(1)指令格式及功能(见表4-18)表4-18 字节与、字与、双字与指令的格式及功能梯形图LAD语句表STL功 能操作码操作数WAND_XENIN1IN2 OUTANDXIN1,OUT当使能位EN为1时,将输入数据IN1与IN2(对语句表为OUT)进行按位相与运算,并将结果保存到OUT说明:1)X为该逻辑操作的数据长度,包含字节(B)、字(W)、双字(D)三种情况。2)操作数的寻址范围要与操作码中的X一致,其中对字寻址的源操作数还可以有AI,双字寻址的源操作数可以有HC,目的操作数OUT不能对常数寻址。(2)指令编程举例例17 保留VB2的高四位,屏蔽VB2的低四位。对应的梯形图程序及运算结果如图4-25所示。a)梯形图程序 b)执行结果图4-25与运算指令编程及结果示意图2字节或、字或、双字或指令(1)指令格式及功能(见表4-19)表4-19 字节或、字或、双字或指令的格式及功能梯形图LAD语句表STL功 能操作码操作数WOR_XENIN1IN2 OUTORXIN1,OUT当使能位EN为1时,将输入数据IN1与IN2(对语句表为OUT)进行按位相或运算,并将结果保存到OUT说明:1)X代表数据长度,包含字节(B)、字(W)、双字(D)三种情况。2)各操作数的寻址范围要与操作码中的X一致,其中对字寻址的源操作数还可以有AI,双字寻址的源操作数可以有HC,目的操作数OUT不能对常数寻址。(2)指令编程举例例18 用于将字或字节中的某些位置“1”。梯形图程序及运算结果如图4-26所示。图中变量VB1的各位与十六进制常数160A相“或”,因为160A的第3位和第1位为1,所以不论VB1这两位为1还是为0,运算结果VB1的这两位都被置为1,其余各位不变。常数0000 1010运算前VB11100 0011运算后VB11100 1011a)梯形图程序 b)运算结果图4-26或运算指令编程及结果示意图3字节异或、字异或、双字异或指令(1)指令格式及功能(见表4-20)表4-20 字节异或、字异或、双字异或指令的格式及功能梯形图LAD语句表STL功 能操作码操作数WXOR_XENIN1IN2 OUTXORX IN1,OUT当使能位EN为1时,将输入数据IN1与IN2(对语句表为OUT)进行按位异或操作,并将结果保存到OUT说明:1)X代表数据长度,包含字节(B)、字(W)、双字(D)三种情况;2)各操作数的寻址范围要与操作码中的X一致,其中对字寻址的源操作数还可以有AI,双字寻址的源操作数可以有HC,目的操作数OUT不能寻址常数。(2)指令编程举例例19 可以用来判断数据中的哪些位发生了变化。分析图4-27所示程序的执行情况。运算前VB31100 1011运算前VB41110 0011运算后VB50010 1000a)梯形图程序 b)执行结果图4-27异或运算指令编程及结果示意图两个相同的字节“异或”运算的结果是各位均为0。我们不妨假设VB3和VB4中存放的是前后两次采集的8位数字量的状态,它们进行异或运算的结果如果不是全0,那就说明其中某些位的状态发生了变化。状态发生了变化的位,异或的结果为1。4字节取反、字取反、双字取反指令(1)指令格式及功能(见表4-21)表4-21 字节取反、字取反、双字取反指令的格式及功能梯形图LAD语句表STL功 能操作码操作数INV_XENIN OUTINVXOUT当使能位EN为1时,把输入数据IN按位取反后保存到OUT说明:1)X为取反指令的数据长度(字节B、字W、双字D);2)操作数的寻址范围要与操作码中的X一致。其中IN字寻址时,可寻T、C及AI;双字寻址时,可寻HC;OUT不能寻址常数。(2)指令编程举例例20 I0.0接通时将常数16#0094取反,其梯形图程序及运算结果如图4-28所示。图4-28 字取反指令的编程及运行结果常数1001 0100执行后VW00110 10114.4.4 数据运算指令上机实践实践10 计算绝对值1程序设计 求VW100中负整数的绝对值,并将求得的结果存放在VW100中,梯形图程序如图4-29所示。图4-29求绝对值编程举例如果VW100中的数为负数,则将其求反加1即得到原数的绝对值2上机操作步骤及要求1)启动STEP 7-Micro/MIN 32,将程序录入到梯形图编辑器中;2)打开数据编辑器,键入VB100 -34;3)下载梯形图程序及数据块;4)打开状态表编辑器,输入要观察的数据,使PLC处运行状态,观察VW100中数值的变化情况。实践11 用模拟电位器调节定时器设定值用模拟电位器调节定时器T37的设定值,要求定时范围为520s。CPU221和CPU222只有一个模拟电位器,其他的CPU都有两个模拟电位器。CPU将电位器0和电位器1的位置转换为0255的数字值,然后分别存入特殊存储器字节SMB28和SMB29中。用螺刀调整电位器的位置,即可改变SMB28和SMB29中的值。1程序设计要求在输入信号I0.4得电的情况下,用模拟量电位器0来设置定时器T37的设定值,设定的范围为520s,即从电位器读出的数字0255对应于定时器520s的定时值。设从电位器读出的数字为N,则100ms定时器的设定值为: (20050)*N/255+50=150*N/255+50 (100ms)为保证运算精度,采用实数运算指令作乘除运算,运算的结果取整后在加50存入VW50中。对应的梯形图程序如图4-30所示。2上机操作步骤及要求1)启动STEP 7-Micro/MIN 32,将程序录入下载到PLC中,并使PLC进入运行状态;2)打开状态表编辑器,输入SMB28、VD10、VD20、VD30、VD40、VW50,进入状态表监控状态,观察各变量的状态值;3)强制I0.4得电,用螺刀调整模拟量电位器0的位置,观察SMB28、VW50的值。4)采用其他运算指令重新编程,监控运行结果。在I0.4接通将模拟量电位器0的值传送给AC0;将SMB28的内容转为实数存于VD10将定时器设定值的最大值与最小值之差乘以读取的模拟量电位器的值将乘除运算的结果除以模拟量电位器的最大值255.0将上述运算结果取整加上定时器的最小值50后存入VW50中将转换的结果VW50中的数作为T37的设定值图4-30 模拟电位器调节定时器设定值实践12 触摸屏或组态软件数据显示PLC程序设计通过VW10VW28将VW1000VW1099中的100个数据分10页显示到触摸屏或监控软件中,其显示界面如图4-31所示。按一下“首页”按钮,数据显示第一页;按“下页”按钮,数据向下翻页显示,若翻到最后一页再按“下页”按钮时,数据将返回第一页;按“上页”按钮,数据向上翻页显示,若翻到第一页再按“上页”按钮时,数据将返回最后一页。设30.0为首次显示按钮,30.1为上页显示按钮,M30.2为下页显示按钮,则对应的首页数据显示梯形图如图4-32所示,向下翻
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏师范大学招聘工作人员78人(第一批)考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025北京十一未来城学校春季招聘模拟试卷及答案详解(名校卷)
- 2025河北唐山市滦州市森林草原消防专业队员招聘7人模拟试卷及答案详解(夺冠系列)
- 2025江苏灌云万邦人力资源有限公司招聘工作人员模拟试卷及答案详解(典优)
- 2025航天六院内蒙古航天红峡化工有限公司招聘30人模拟试卷及参考答案详解1套
- 2025北京儿童医院顺义妇儿医院招聘编制外6人模拟试卷及1套完整答案详解
- 2025年河北唐山滦南县专项选聘教师11名模拟试卷及完整答案详解
- 山东省淄博市桓台第一中学2024-2025学年高一上学期期中质量检测化学(A)试卷(无答案)
- 2025劳动合同续签申请书模板汇编
- 2025年四川省广元市剑阁县中考化学诊断试卷(含答案)
- 2025年全国国家版图知识竞赛题库及答案(中小学组)
- 机加工安全生产培训考核试题及答案(班组级)(精)
- 电梯从业证考试试题及答案解析
- 2024年武汉商学院公开招聘辅导员笔试题含答案
- 钢结构厂房装修施工方案报告
- 2024年国庆中秋安全教育主题班会《欢度双节 安全护航》主题安全教育【课件】
- GA 38-2021银行安全防范要求
- 新版GMP教程第五章设备课件
- 企业融资计划书2022
- 99S203 消防水泵接合器安装图集
- 多发性大动脉炎
评论
0/150
提交评论