《第4章 PLC的数据处理功能及2应用.ppt》由会员分享,可在线阅读,更多相关《第4章 PLC的数据处理功能及2应用.ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学习内容, 数据传送指令及应用, 数据比较指令及应用, 数据移位指令及应用, 数据运算指令及应用, 数据转换指令及应用, 数据表指令及应用,了解数据转换指令与数据表指令的格式及应用; 理解整数、实数及逻辑运算指令的格式及应用; 掌握数据传送、比较及移位指令的格式及应用。 能使用PLC的数据传送、比较、运算、转换等指令,完成有关数据处理的实际工程任务。,学习目标:,PLC的数据处理功能主要包括数据的传送、比较、移位、转换、运算及各种数据表格处理等。PLC通过这些数据处理功能可方便地对生产现场的数据进行采集、分析和处理,进而实现对具有数据处理要求的各种生产过程的控制。例如过程控制系统中温度、压力、
2、流量的范围控制、PID控制及伺服系统的速度控制等等。,传送指令主要作用是将常数或某存储器中的数据传送到另一存储器中。它包括单一数据传送及成组数据传送两大类。通常用于设定参数、协助处理有关数据以及建立数据或参数表格等。,4.1 数据传送指令及应用,第4章 PLC数据处理功能及应用,1. 指令的格式及功能,梯形图LAD,语句表STL,MOV-X IN,OUT,功能: 当使能位EN为1时,把输入的数据(IN)传送到输出(OUT),4.1.1数据传送指令,说明: (1)操作码中的X代表被传送数据的长度,它包括四种数据长度,即字节(B)、字(W)、双字(D)和实数(R)。 (2)操作数的寻址范围要与指令
3、码中的X一致。其中字节传送时不能寻址专用的字及双字存储器,如T、C、及HC等;OUT寻址不能寻址常数。,2.指令编程举例,0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 1,0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 1,VB2,VB10,图4-1 MOV_X编程举例,4.1.2块传送指令 1指令格式及功能,梯形图LAD,语句表STL,BMX IN,OUT,N,功能: 当使能端EN为1时,把从IN存储单元开始的 连续的N个数据传送到从OUT开始的连续的N个存储单元中,说明: (1)操作码中的X表示数据类型,分为字节(B)、字(W)、双字(D)三种。 (2)操作数N指
4、定被传送数据块的长度,可寻址常数,也可寻址存储器的字节地址,不能寻址专用字及双字存储器,如T、C、及HC等,可取范围为1255。 (3)操作数IN 、OUT不能寻址常数,它们的寻址范围要与指令码中的X一致。其中字节块和双字块传送时不能寻址专用的字及双字存储器,如T、C、及HC等。,2指令编程举例,图4-2 块传送指令举例,4.1.3字节交换指令 1指令格式及功能,梯形图LAD,语句表STL,SWAP IN,功能: 当使能位EN为1时,将输入字IN中的高字节与低字节交换,说明:操作数IN不能寻址常数,只能对字地址寻址。,2指令编程举例,图4-3 字节交换指令编程,4.2 数据比较指令及应用,4.
5、2.1数据比较指令 1指令格式及功能,梯形图LAD,语句表STL,AXF IN1 ,IN2,OXF IN1 ,IN2,LDXF IN1 ,IN2,功能: 比较两个数IN1和IN2的大小,若比较式为真,则 该触点闭合。,说明: 操作码中的F代表比较符号,可分为“=”、“”、“=”、“”及“、指令不适用于CPU21X系列机型。为了实现这三种比较功能,在CPU21X系列机型编程时,可采用NOT指令与=、=、100,写成语句表程序即为: LD= VD10,100 NOT,2指令编程举例,图4-8 比较指令编程举例,4.3 数据移位指令及应用,4.3.1数据左右移位指令 1指令格式及功能,语句表STL,
6、SLX,SRX,OUT ,N,OUT ,N,功能: 当使能位EN为1时,把输入数据IN左移或右移N位后,再把结果输出到OUT,说明: 操作码中的X为移位数据长度,分为字节(B)、字(W)、双字(D)三种; N为数据移位位数,最大移位位数分别为8、16、32,对字节寻址,不能寻址专用的字及双字存储器,如T、C、及HC等; IN、OUT的寻址范围要与指令码中的X一致。不能对T、C等专用存储器寻址;OUT不能寻址常数; 左右移位指令影响特殊存储器的SM1.0和SM1.1位。,2指令编程举例,a)梯形图程序 b)移位结果 图4-14 左右移位指令编程举例,4.3.2数据循环左右移位指令,梯形图LAD,
7、功能:当使能位EN为1时,把输入数据IN循环左移或右移N位后,再把结果输出到OUT中,1指令格式及功能,说明: (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)字节循环左移或循环右移指令不适
8、用于CPU2141.01以下版本。,2指令编程举例,a)梯形图程序 b)移位过程 图4-15循环移位指令编程举例,4.4 数据运算指令及应用,1整数、双字整数加/减指令 指令格式及功能,4.4.1整数运算指令,梯形图LAD,功能:当使能位EN为1时,执行IN1+IN2或IN1-IN2操作,并将结果存入OUT,说明: 1)操作码中的X指定数据的长度,分别为整数(I)、双字整数(DI)两种。 2)操作数的寻址范围要与指令码中的X一致。其中双字整数加减指令不能对T、C等专用存储器寻址;OUT不能寻址常数。 3)该指令影响特殊内部寄存器位: SM1.0 (零); SM1.1 (溢出); M1.2(负)
9、。,4.4.1整数运算指令,指令编程举例,a)梯形图程序 b)语句表程序 图4-18 整数加法指令举例,2整数、双字整数乘/除指令 指令格式及功能,梯形图LAD,功能: 当使能位EN为1时,执行IN1*IN2或IN1/IN2操作,并将结果保存到OUT,除法运算不保留余数 对语句表指令则执行IN1*OUT=OUT或OUT/IN1=OUT的操作,说明: 1)操作码中的X指定数据长度,分为整数(I)、双字整数 (DI)两种情况; 2)操作数的寻址范围要与指令码中的X一致。OUT不能寻址 常数; 3)如果结果大于一个字输出,则设定溢出位; 4)该指令影响下列特殊内存位: SM1.0 (零); SM1.
10、1 (溢出); SM1.2 (负);SM1.3 (除数为0) 。,指令编程举例,a)梯形图程序 图419 整数乘除指令编程举例,b)运算过程,3整数乘/除到双字整数指令 指令格式及功能,梯形图LAD,功能: MUL指令当使能位EN为1时,把两个16位整数相乘,得到一个32位积(OUT) 对语句表指令则执行IN1*OUT=OUT操作 DIV指令当使能位EN为1时,把两个16位整数相除,得到32位结果(OUT),该结果的低16位是商,高16位是余数 对语句表指令则执行OUT/IN1=OUT操作,说明: 1)IN1指定乘数(除数),IN2指定被乘数(被除数),要按字寻址;OUT按双字寻址,不能寻址常
11、数及专用字、双字存储器T、C、HC等; 2)该指令影响下列特殊内存位: SM1.0 (零); SM1.1(溢出); SM1.3 (除数为0), SM1.2 (负)。,指令编程举例,a)梯形图程序 b)运算过程 图4-20 整数乘除到双字整数指令举例,4字节、字、双字加1/减1指令 指令格式及功能,梯形图LAD,功能: 当使能位EN为1时, INC_X对输入IN执行加1操作,DEC_X对输入IN执行减1操作,说明: 1)操作码中的X指定输入数据的长度,分别有字节(B)、字(W)和双字(DW)三种形式。 2)操作数的寻址范围要与指令码中的X一致。其中对字节操作时不能寻址专用的字及双字存储器,如T、
12、C、及HC等;对字操作时不能寻址专用的双字存储器HC;对双字操作时不能寻址专用的字存储器T、C等;OUT不能寻址常数。 3)字、双字增减指令是有符号的,影响特殊存储器位SM1.0和SM1.1的状态;字节增减指令是无符号的,影响特殊存储器位SM1.0、SM1.1和SM1.2的状态。,4字节、字、双字加1/减1指令,指令编程举例,图4-21 增1减1指令编程举例,a)梯形图程序,b)语句表程序,4.4.2实数运算指令,1实数加/减指令,指令格式及功能,功能: 当使能位EN为1时,执行实数IN1+IN2或IN1-IN2操作,并将结果保存到OUT 对语句表指令,则执行IN1+OUT=OUT或OUT-I
13、N1=OUT操作,梯形图LAD,说明: 1)IN1指定加数(减数),IN2指定被加数(被减数)。各操作数要按双字寻址,不能寻址专用的字及双字存储器,如T、C、及HC等;OUT不能寻址常数; 2)该指令影响下列特殊内部寄存器位: SM1.0 (零); SM1.1 (溢出); SM1.2 (负)。,指令编程举例,梯形图程序 b)运算结果 图4-22实数加减指令举例,2实数乘/除指令 指令格式及功能,梯形图LAD,功能: 当使能位EN为1时,执行实数IN1*IN2或IN1/IN2运算,并将结果保存到OUT 对语句表指令,则执行IN1*OUT=OUT或OUT/IN1=OUT操作,说明: 1)IN1指定
14、乘数(除数),IN2指定被乘数(被除数)。各操作数要按双字寻址,不能寻址专用的字及双字存储器,如T、C、及HC等;OUT不能寻址常数。,指令编程举例,2)该指令影响下列特殊内存位: SM1.0 (零);SM1.1(溢出或操作过程中生成非法数值或发现非法输入参数);SM1.2 (负);SM1.3 (除数为0)。,a)梯形图程序 b)执行结果 图4-23实数乘除指令编程及运行结果示意图,3实数的开方指令 (1)指令格式及功能,梯形图LAD,功能:当使能位EN为1时,将32位实数IN开方,得到的32位实数结果保存到OUT,说明: 1)操作数要按双字寻址,不能寻址某些专用的字及双字存储器T、C、HC等
15、,OUT不能对常数寻址; 2)此指令影响下列特殊内存位:SM1.0 (零);SM1.1 (溢出);SM1.2 (负)。,(2)指令编程举例,a)梯形图程序 b)执行结果 图4-24 实数开方指令举例,4三角运算指令 (1)指令格式及功能,功能: 当使能位EN为1时,分别对角度的弧度值IN进行正弦、余弦、正切运算,并将结果放置在OUT中,说明: 1)IN指定角度值,单位为弧度。欲将输入角从角度转换成弧度,需将角度值乘以1.745329E-2(约等于/180); 2)IN和OUT按双字寻址,不能寻址专用的字及双字存储器T、C、HC等,OUT不能寻址常数; 3)此指令影响下列特殊内存位:SM1.0
16、(零); SM1.1 (溢出); SM1.2 (负),4三角运算指令 (1)指令格式及功能,(2)指令编程举例,图4-25 求取角度正弦值得梯形图程序及运行结果,a)梯形图程序,b)执行结果,5自然对数/指数指令 (1)指令格式及功能,梯形图LAD,功能:当使能位EN为1时,LN指令计算输入数据IN的自然对数,EXP指令计算e的IN次方,结果都置于OUT,说明:1)操作数按双字寻址,但不能对专用字及双字 存储器T、C、HC等寻址,OUT不能寻址常数; 2)欲从自然对数值获得以10为底的对数值,需将自然对数值除以2.302585(约等于10的自然对数值); 3)此组指令影响下列特殊内存位:SM1
17、.0 (零);SM1.1 (溢出); SM1.2 (负)。,(2)指令编程举例,a)梯形图程序 b)执行结果 图4-26 自然对数、指数指令应用举例,4.4.3 逻辑运算指令 1 字节与、字与、双字与指令 (1)指令格式及功能,梯形图LAD,ANDX,语句表STL,IN1,OUT,功能: 当使能位EN为1时,将输入数据IN1与IN2(对语句表为OUT)进行按位相与运算,并将结果保存到OUT,说明: 1)X为该逻辑操作的数据长度,包含字节(B)、字(W)、双字(D)三种情况。 2)操作数的寻址范围要与操作码中的X一致,其中对字寻址的源操作数还可以有AI,双字寻址的源操作数可以有HC,目的操作数O
18、UT不能对常数寻址。,(2)指令编程举例,a)梯形图程序 b)执行结果 图4-27与运算指令编程及结果示意图,2字节或、字或、双字或指令 (1)指令格式及功能,梯形图LAD,ORX,语句表STL,IN1,OUT,功能:当使能位EN为1时,将输入数据IN1与IN2(对语句表 为OUT)进行按位相或运算,并将结果保存到OUT,说明: 1)X代表数据长度,包含字节(B)、字(W)、双字(D)三种情况。 2)各操作数的寻址范围要与操作码中的X一致,其中对字寻址的源操作数还可以有AI,双字寻址的源操作数可以有HC,目的操作数OUT不能对常数寻址。,(2)指令编程举例,常数,0000 1010,运算前VB
19、1,1100 0011,运算后VB1,1100 1011,a)梯形图程序 b)运算结果 图4-28或运算指令编程及结果示意图,3字节异或、字异或、双字异或指令 (1)指令格式及功能,梯形图LAD,XORX,语句表STL,IN1,OUT,功能:当使能位EN为1时,将输入数据IN1与IN2(对语句表为OUT)进行按位异或操作,并将结果保存到OUT,说明: 1)X代表数据长度,包含字节(B)、字(W)、双字(D)三种情况; 2)各操作数的寻址范围要与操作码中的X一致,其中对字寻址的源操作数还可以有AI,双字寻址的源操作数可以有HC,目的操作数OUT不能寻址常数。,运算前VB3,1100 1011,运
20、算前VB4,1110 0011,运算后VB5,0010 1000,a)梯形图程序 b)执行结果 图4-29异或运算指令编程及结果示意图,(2)指令编程举例,4字节取反、字取反、双字取反指令 (1)指令格式及功能,梯形图LAD,INVX,语句表STL,OUT,功能:当使能位EN为1时,把输入数据IN按位取反后保存到OUT,说明: 1)X为取反指令的数据长度(字节B、字W、双字D); 2)操作数的寻址范围要与操作码中的X一致。其中IN字寻址时,可寻T、C及AI;双字寻址时,可寻HC;OUT不能寻址常数。,(2)指令编程举例,图4-30 字取反指令的编程及运行结果,4.5 数据转换指令及应用,4.5
21、.1 整数与双字整数、双字整数与实数互换指令 1.整数与双字整数互换指令 (1)指令格式及功能,功能:当使能位EN为1时,将整数值IN转换为一个双字整数值,或将双字整数值IN转换为一个字整数值,结果存放到指定的存储器OUT中,说明: 1)执行I-DI指令,IN不能寻址HC;OUT不能寻址T、C、HC等存储器。执行DI-I指令,IN不能寻址T、C存储器;OUT不能寻址HC; 2)如果被转换的值太大而不能完全输出时,溢出位将被置位,输出不被影响。,(2)指令编程举例,a)梯形图程序 b)转换结果 图4-37 I_DI指令编程举例,2.双字整数与实数互换指令 (1)指令格式及功能,ROUND,IN,
22、OUT,TRUNC,IN,OUT,DTR,IN,OUT,功能: DTR 指令当使能位EN为1时,把32位有符号整数IN转换为32 位实数OUT ROUND指令当使能位EN为1时,把32位实数IN转换成一个双字整数值,实数的小数点部分四舍五入,结果存入OUT中 TRUNC指令当使能位EN为1时,把32位实数IN转换成一个双字整数值,仅实数的整数部分被转换,小数部分则被舍去,结果存入OUT中,说明: 1)操作数不能寻址一些专用的字及双字存储器,如T、C、HC等。OUT不能寻址常数; 2)这些指令影响特殊存储器位SM1.1的状态;,(2)指令编程举例,图4-38 求圆周长程序,当I0.0接通时 将园
23、的周长9876转换为双字整数装入AC1 双字整数转换为实数9876.0 将9876.0乘以得31026.34存AC1 转换为整数31026,4.5.2 BCD码与整数互换指令 1.指令格式及功能,梯形图LAD,语句表STL,IBCD,IN,OUT,BCDI,IN,OUT,功能:当使能位EN为1时,把输入的BCD码转换成整数I,或是把输入的整数I转换成BCD码,并将转换结果存入OUT,说明:操作数要按字寻址,其中OUT不能寻址AIW及常数。,2.指令编程举例,a)梯形图程序 b)转换结果 图4-39 IBCD、BCDI指令编程举例,4.5.3 ASCII码与16进制数互换指令 1.指令格式及功能
24、,梯形图LAD,语句表STL,ATH,IN,OUT, LEN,HTA,IN,OUT, LEN,功能: ATH指令当使能位EN为1时,把从IN字符开始,长度为LEN的ASC码字符串转换成从OUT开始的16进制数; HAT指令当使能位EN为1时,把从IN开始,长度为LEN的16进制数转换为从OUT开始的ASC码字符串,说明: 1)操作数LEN为要转换字符的长度,IN定义被转换字符的首地址,OUT定义转换结果的存放地址。 2)各操作数按字节寻址,不能对一些专用字及双字存储器如T、C、HC等寻址,LEN还可寻址常数。 3)ATH指令中,ASC码字符串的最大长度为255个字符;HTA指令中,可转换的16
25、进制数的最大个数也为255。合法的ASC码字符的16进制值在3039和4146之间。,2指令编程举例,a)梯形图程序 b)转换结果 图4-40 ATH指令编程举例,a)梯形图程序 b)转换结果 图4-41 HTA指令编程举例,2指令编程举例,4.5.4 译码、编码、段码指令 1.译码指令 (1)指令格式及功能,梯形图LAD,语句表STL,DECO,IN,OUT,功能:当使能位EN为1时,根据输入字节IN的低4位所表示的位号(十进制数)值,将输出字OUT相应位置1,其它位置0 。,说明:操作数IN不能寻址专用的字及双字存储器T、C、HC等;OUT不能对HC及常数寻址。, 指令应用,a)梯形图程序
26、 b)转换结果 图4-42 译码指令编程举例,2.编码指令 (1)指令格式及功能,梯形图LAD,语句表STL,ENCO,IN,OUT,功能:当使能位EN为1时,将输入字IN中最低有效位的位号,转换为输出字节OUT中的低4位数据。,说明:OUT不能寻址常数及专用的字、双字存储器T、C、HC等。,(2)指令编程举例,a)梯形图程序 b)转换结果 图4-43 编码指令编程举例,3.段码指令 (1)指令格式及功能,梯形图LAD,语句表STL,SEG,IN,OUT,功能:当使能位EN为1时,将输入字节IN的低四位有效数字值,转换为七段显示码,并输出到字节OUT,说明: 1)操作数IN、OUT寻址范围不包
27、括专用的字及双字存储器如T、C、HC等,其中OUT不能寻址常数。 2)七段显示码的编码规则如图4-38所示。,(2)指令编程举例,a)梯形图程序 b)执行结果 图4-45 段码指令举例,4.6 数据表指令及应用,4.6.1 填表指令 1指令格式及功能,梯形图LAD,语句表STL,ATT,DATA,TBL,功能:当使能位EN为1时,向表TBL中增加一个字值DATA,说明: 1)操作数DATA指定被填入表格中的数据;TBL指定表格的起始字节地址。两操作数均按字寻址,其中对DATA的寻址还包括AIW寄存器、AC累加器和常数。 2)使用填表指令之前,必须首先初始化表格,即通过初始化程序将表格的最大填表
28、数置入表中。 3)表中第一个数是最大填表数(TL),第二个数是实际填表数(EC),指出已填入表的数据个数,新的数据填加在表中上一个数据的后面。 4)每向表中填加一个新的数据,EC会自动加1。一张表除了TL和EC这两个参数外,还可以有最多100个填表数据。,2指令编程举例,图4-48 填表指令编程举例,执行ATT指令前 执行ATT指令后 VW10 VW20 TL VW20 VW22 EC VW22 VW24 d0 VW24 VW26 d1 VW25 VW28 d2 VW26 VW30 VW30 VW32 VW32 VW34 VW34,4.6.2 查表指令 1指令格式及功能,梯形图LAD,语句表S
29、TL,FND= FND FND,CRS,PATRN,INDX CRS,PATRN,INDX CRS,PATRN,INDX CRS,PATRN,INDX,功能:当使能位EN为1时,从表TBL中的第一个数据开始搜索符合参考数据PTN和条件CMD(=)、()、()的数据。如果发现一个符合条件的数据,则将该数据的位置号存入INDX中,1)操作数TBL指定表的起始地址,直接指向表中的实际填表数;PTN指定要查找的参考数据;INDX存放所查数据的所在位置;CMD指定被查数据与参考数据之间的关系:1为(=)、2为()、3为()。 2)除CMD外其余操作数均按字寻址。其中PTN还可以寻址常数。 3)找到一个符
30、合条件的数据后,为了查找下一个符合条件的数据,在激活查表指令前,必须先对INDX加1。如果没有发现符合条件的数据,那么INDX等于最大填表数EC;如果再次查表,需将INDX置0。,说明:,2指令编程举例,a) 查表指令梯形图程序,在I0.5上升沿时,从表VW200中查找与3130值相同的数据,并将找到的结果位置号存VW100中 转移数据所在的位置结果 数据位置结果加1,为下一次查找作准备,4.6.3存储器填充指令 1指令格式及功能,梯形图LAD,语句表STL,FILL,IN,OUT, N,功能:当使能位EN为1时,将指定的N个字(IN)填充到从输出字(OUT)开始的存储器中,说明:操作数N采用
31、字节寻址,也可寻址常数,其范围为1-255;OUT不能寻址常数。,2指令编程举例,a)梯形图程序 b)运行结果示意图 图4-50 填充指令举例,本章介绍了SIMATIC S7-200系列PLC的数据处理功能及应用。 1数据传送指令用于传送各类数据,使用时需注意被传送数据的格式及大小,以便保证PLC的准确操作; 2数据比较指令用于各类数据的比较,其比较的结果将产生一个逻辑条件,可用于控制线圈输出或进行其它操作; 3数据移位指令可用于数据的乘除操作以及顺序控制的场合; 4数据运算指令包括整数运算指令、实数运算指令及逻辑运算指令三大部分,整数运算指令、实数运算指令通常用于需要数据运算处理的控制设备中,如电子秤中金额与货物重量之间的换算等;逻辑操作指令常用于存储器的清零、设置初值等操作。数据运算指令增强了小型PLC对数据的处理能力。,本章小结,5数据转换指令主要用于不同数据格式间的转换,其目的是满足控制系统对不同数据格式的需要。 6表操作指令主要用于需要表格处理数据的场合,如预置控制系统的固有参数等。,