《电气控制与plc应用技术7.ppt》由会员分享,可在线阅读,更多相关《电气控制与plc应用技术7.ppt(116页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第7 7章章 S7-200 S7-200 PLC的功能指令的功能指令教学内容:教学内容:7.1数据处理指令数据处理指令7.2数据运算指令数据运算指令7.3中断程序与中断指令7.4高速计数器与高速脉冲输出指令 7.5PID回路指令2021/9/151u PLC PLC实际上就是工业控制计算机。它具有计算机控制实际上就是工业控制计算机。它具有计算机控制系统的功能,例如算术逻辑运算、程序流控制、通信系统的功能,例如算术逻辑运算、程序流控制、通信等等极为强大的功能。这些功能通常是通过功能指令等等极为强大的功能。这些功能通常是通过功能指令的形式来实现的。的形式来实现的。u 功能指令(功能指令(Func
2、tionInstruction)又称为应用指令,)又称为应用指令,它是指令系统中应用于复杂控制的指令。功能指令包它是指令系统中应用于复杂控制的指令。功能指令包括:数据处理指令、算术逻辑运算指令、表功能指令、括:数据处理指令、算术逻辑运算指令、表功能指令、转换指令、中断指令、高速处理指令等等。转换指令、中断指令、高速处理指令等等。这些功能这些功能指令实际上是厂商为满足各种客户的特殊需要而开发指令实际上是厂商为满足各种客户的特殊需要而开发的通用子程序。的通用子程序。第第第第7 7 7 7章章章章 PLCPLC的功能指令的功能指令的功能指令的功能指令2021/9/1527.1.17.1.1数据传送指
3、令数据传送指令数据传送指令数据传送指令1.单一传送指令单一传送指令使使能能输输入入有有效效时时,把把一一个个单单字字节节无无符符号号数数据据由由IN传送到传送到OUT所指的字节存储单元。所指的字节存储单元。指令格式:指令格式:MOVB IN,OUT MOVB IN,OUT 使使能能输输入入有有效效时时,立立即即读读取取单单字字节节物物理理输输入入区区(IB)(IB)数据数据ININ,并传送到,并传送到OUTOUT所指的字节存储单元。所指的字节存储单元。指令格式:指令格式:BIR IN,OUT BIR IN,OUT (2)传送字节立即读指令:)传送字节立即读指令:BIR(1)字节传送指令:)字节
4、传送指令:MOVB7.1数据处理指令数据处理指令2021/9/1537.1.17.1.1数据传送指令数据传送指令数据传送指令数据传送指令使使能能输输入入有有效效时时,立立即即将将IN单单元元的的字字节节数数据写到据写到OUT所指的所指的物理输出区物理输出区(QB)(QB)。指令格式:指令格式:BIW IN,OUT BIW IN,OUT(3)传送字节立即写指令:)传送字节立即写指令:BIW(4)字传送指令:)字传送指令:MOVW使使能能输输入入有有效效时时,把把一一个个单单字字长长有有符符号号整整数由数由IN传送到传送到OUT所指的字存储单元。所指的字存储单元。指令格式:指令格式:MOVWIN,
5、OUT2021/9/1547.1.17.1.1数据传送指令数据传送指令数据传送指令数据传送指令使使能能输输入入有有效效时时,把把一一个个双双字字长长有有符符号号整整数由数由IN传送到传送到OUT所指的双字存储单元。所指的双字存储单元。指令格式:指令格式:MOVDIN,OUT使使能能输输入入有有效效时时,把把一一个个32位位实实数数由由IN传传送到送到OUT所指的双字存储单元。所指的双字存储单元。指令格式:指令格式:MOVRIN,OUT(6)实数传送指令:)实数传送指令:MOVR(5)双字传送指令:)双字传送指令:MOVD2021/9/1557.1.17.1.1数据传送指令数据传送指令数据传送指
6、令数据传送指令 2.2.块传送指令块传送指令使使能能输输入入有有效效时时,把把从从输输入入字字IN开开始始的的N个个字字型型数数据据传传送送到到从从OUT开开始始的的N个个字字存存储储单元。单元。指令格式:指令格式:BMWIN,OUT,N使使能能输输入入有有效效时时,把把从从输输入入字字节节IN开开始始的的N个个字字节节型型数数据据传传送送到到从从OUT开开始始的的N个个字字节存储单元。节存储单元。指令格式:指令格式:BMBIN,OUT,N(2)字块传送指令:)字块传送指令:BMW(1)字节块传送指令:)字节块传送指令:BMB2021/9/1567.1.17.1.1数据传送指令数据传送指令数据
7、传送指令数据传送指令使使能能输输入入有有效效时时,把把从从输输入入双双字字IN开开始始的的N个个双双字字型型数数据据传传送送到到从从OUT开开始始的的N个个双双字存储单元。字存储单元。指令格式:指令格式:BMDIN,OUT,N(3)双字块传送指令:)双字块传送指令:BMD3.字节交换指令字节交换指令SWAP,字字节节交交换换指指令令。当当使使能能输输入入有有效效时时,将将字字型型输输入入数数据据IN高高位位字字节节与与低低位位字字节节进进行行交交换换,交交换换的的结结果果输输出出到到IN存存储储器器单单元元中。因此又可称为中。因此又可称为半字交换指令半字交换指令。指令格式:指令格式:SWAPI
8、N2021/9/1577.1.17.1.1数据传送指令数据传送指令数据传送指令数据传送指令4.4.存储器填充指令存储器填充指令FILL,存存储储器器填填充充指指令令。当当使使能能输输入入有有效效时时,将将字字型型输输入入值值IN填填充充至至从从OUT开开始始的的N个个字字的的存存储储单单元元中中。N为为字字节节型型,可可取取1255的正数。的正数。指令格式:指令格式:FILLIN,OUT,N例:例:SWAP VW10 /SWAP VW10 /若(若(VW10VW10)为)为11111111 0000000011111111 00000000 则指令执行后,则指令执行后,(VW10VW10)为?
9、)为?FILL 10,VW1OFILL 10,VW1O,8 82021/9/1587.1.27.1.2移位与循环指令移位与循环指令移位与循环指令移位与循环指令u 移位指令是对移位指令是对无符号数无符号数进行的处理,执行时只考虑进行的处理,执行时只考虑要移位的存储单元的每一位数字状态,而不管数据的要移位的存储单元的每一位数字状态,而不管数据的值的大小。值的大小。本类指令在一个数字量输出点对应多个相本类指令在一个数字量输出点对应多个相对固定状态的情况下有广泛的应用。对固定状态的情况下有广泛的应用。1.1.左移和右移左移和右移将输入将输入IN中的数的各位向右或向左移动中的数的各位向右或向左移动N位后
10、,送给输出位后,送给输出OUT。左移和右移根据所移位的数的长度分别又可分为字节型、左移和右移根据所移位的数的长度分别又可分为字节型、字型、双字型。字型、双字型。2021/9/1597.1.27.1.2移位与循环指令移位与循环指令移位与循环指令移位与循环指令移位特点:移位特点:移位数据存储单元的移出端与移位数据存储单元的移出端与SM1.1SM1.1(溢出错误标志位)相连,(溢出错误标志位)相连,所以最后被移出的位被放到所以最后被移出的位被放到SM1.1SM1.1位存储单元。位存储单元。移位时移位时,移出位进入移出位进入SM1.1SM1.1,另一端自动补,另一端自动补0 0。SM1.1SM1.1始
11、终存放最后始终存放最后一次被移出的位。一次被移出的位。移位次数与移位数据的长度有关,如果所需移位次数大于移位数移位次数与移位数据的长度有关,如果所需移位次数大于移位数据的位数,则超出的次数无效。据的位数,则超出的次数无效。如果移位操作使数据变为如果移位操作使数据变为0 0,则零标志位(,则零标志位(SM1.0SM1.0)自动置位。)自动置位。移位指令影响的特殊存储器位:移位指令影响的特殊存储器位:SM1.0SM1.0;SM1.1SM1.1。移位次数移位次数N N为字节型数据。为字节型数据。2021/9/15107.1.27.1.2移位与循环指令移位与循环指令移位与循环指令移位与循环指令(1)字
12、节左移和字节右移指令:)字节左移和字节右移指令:SLB,SRB使使能能输输入入有有效效时时,把把字字节节输输入入数数据据IN左左移移或或右右移移N位位后后,再再将将结结果果输输出出到到OUT所所指指的的字字节节存存储储单单元元(在在语语句句表表中中,IN与与OUT使用同一个单元)。最大实际可移位次数为使用同一个单元)。最大实际可移位次数为8。指令格式:指令格式:SLB OUTSLB OUT,N N (字节左移)(字节左移)SRB OUTSRB OUT,N N (字节右移)(字节右移)2021/9/15117.1.27.1.2移位与循环指令移位与循环指令移位与循环指令移位与循环指令例:例:SLB
13、 MB0SLB MB0,2 2 SRB LB0 SRB LB0,3 3以第一条指令为例,指令执行情况如下表所示:以第一条指令为例,指令执行情况如下表所示:移位次数移位次数地址地址单元内容单元内容位位SM1.1说说明明0MB010110101X移位前(移位前(SM1.1不确定)不确定)1MB0011010101数左移,移出位数左移,移出位1进入进入SM1.1,右端补,右端补02MB0110101000数左移,移出位数左移,移出位0进入进入SM1.1,右端补,右端补02021/9/15127.1.27.1.2移位与循环指令移位与循环指令移位与循环指令移位与循环指令(2 2)字左移和字右移指令:)字
14、左移和字右移指令:SLWSLW,SRW SRW 指指令令盒盒与与字字节节移移位位比比较较,只只有有名名称称变变为为SHLSHL W W和和SHRSHR W W。最最大大实实际可移位次数为际可移位次数为1616。指令格式:指令格式:SLW OUTSLW OUT,N N (字左移)(字左移)SRW OUTSRW OUT,N N (字右移)(字右移)例:例:SRW LW0SRW LW0,3 3 指令执行情况如下表所示:指令执行情况如下表所示:移位次数移位次数地址地址单元内容单元内容位位SM1.1说说明明0LW01011010100110011X移位前(移位前(SM1.1不确定)不确定)1LW0010
15、11010100110011右移,右移,1进入进入SM1.1,左端补,左端补02LW000101101010011001右移,右移,1进入进入SM1.1,左端补,左端补03LW000010110101001100右移,右移,0进入进入SM1.1,左端补,左端补02021/9/15137.1.27.1.2移位与循环指令移位与循环指令移位与循环指令移位与循环指令指令格式:指令格式:SLDOUT,N(双字左移)(双字左移)SRDOUT,N(双字右移)(双字右移)例:例:SLDMD0,2SRDLD0,3(3 3)双字左移和双字右移指令:)双字左移和双字右移指令:SLDSLD,SRD SRD 指指令令盒
16、盒与与字字节节移移位位比比较较,只只有有名名称称变变为为SHLSHL DWDW和和SHRSHR DWDW,其他部分完全相同。最大实际可移位次数为,其他部分完全相同。最大实际可移位次数为3232。2021/9/15147.1.27.1.2移位与循环指令移位与循环指令移位与循环指令移位与循环指令2.循环左移、循环右移循环左移、循环右移循环移位特点:循环移位特点:移移位位数数据据存存储储单单元元的的移移出出端端与与另另一一端端相相连连,同同时时又又与与SM1.1SM1.1(溢溢出出)相相连连,所所以以最最后后被被移移出出的的位位被被移移到到另另一一端端的的同同时时,也也被被放放到到SM1.1SM1.
17、1位位存储单元。存储单元。移移位位次次数数与与移移位位数数据据的的长长度度有有关关,如如果果移移位位次次数数设设定定值值大大于于移移位位数数据据的的位位数数,则则执执行行循循环环移移位位之之前前,系系统统先先对对设设定定值值取取以以数数据据长长度度为为底底的的模模,用用小小于于数数据据长长度度的的结结果果作作为为实实际际循循环环移移位位的的次次数数。如如字字左左移移时时,若若移移位位次次数数设设定定为为3636,则则先先对对3636取取以以1616为为底底的的模模,得得到到小小于于1616的的结结果果4 4,故指令实际循环移位,故指令实际循环移位4 4次。次。如果移位操作使数据变为如果移位操作
18、使数据变为0 0,则零存储器位(,则零存储器位(SM1.0SM1.0)自动置位。)自动置位。移位指令影响的特殊存储器位:移位指令影响的特殊存储器位:SM1.0SM1.0(零);(零);SM1.1SM1.1(溢出)。(溢出)。移位次数移位次数N N为字节型数据。为字节型数据。2021/9/15157.1.27.1.2移位与循环指令移位与循环指令移位与循环指令移位与循环指令(1)字节循环左移和字节循环右移指令:)字节循环左移和字节循环右移指令:RLB,RRB使使能能输输入入有有效效时时,把把字字节节输输入入数数据据IN循循环环左左移移或或右右移移N位位后后,再再将将结结果果输输出出到到OUT所所指
19、指的的字字节节存存储储单单元元(在在语语句句表表中中,IN与与OUT使使用用同同一一个个单单元元)。循循环环移移位位是是环环形形的的,被被移移出出的的位位将将返返回回到到另另一一端端空空出出的的位位。实实际际移移位位次次数数为为设设定定值值取取以以8为为底底的的模模所所得的结果。得的结果。指令格式:指令格式:RLB OUTRLB OUT,N N (字节循环左移)(字节循环左移)RRB OUTRRB OUT,N N (字节循环右移)(字节循环右移)例:例:RLB MB0RLB MB0,2 2 RRB LB0 RRB LB0,3 3 2021/9/15167.1.27.1.2移位与循环指令移位与循
20、环指令移位与循环指令移位与循环指令(2)字循环左移和字循环右移指令:)字循环左移和字循环右移指令:RLW,RRW指指令令盒盒与与字字节节循循环环移移位位只只有有名名称称变变为为ROLW和和RORW,其其他他部部分分完完全全相相同同。使使能能输输入入有有效效时时,把把字字型型输输入入数数据据IN循循环环左左移移或或循循环环右右移移N位位后后,再再将将结结果果输输出出到到OUT所所指指的的字字存存储储单单元元。实实际际移移位位次次数数为为设设定定值值取取以以16为为底底的的模模所所得得的结果。的结果。指令格式:指令格式:RLW OUTRLW OUT,N N (字循环左移)(字循环左移)RRW OU
21、TRRW OUT,N N (字循环右移)(字循环右移)例:例:RLW MD0RLW MD0,2 2 RRW LD0 RRW LD0,3 3 2021/9/15177.1.27.1.2移位与循环指令移位与循环指令移位与循环指令移位与循环指令(3)双字循环左移和双字循环右移指令:)双字循环左移和双字循环右移指令:RLD,RRD指指令令盒盒与与字字节节循循环环移移位位只只有有名名称称变变为为ROLDW和和RORDW,其其他他部部分分完完全全相相同同。使使能能输输入入有有效效时时,把把双双字字型型输输入入数数据据IN循循环环左左移移或或循循环环右右移移N位位后后,再再将将结结果果输输出出到到OUT所所
22、指指的的双双字字存存储储单单元元(在在语语句句表表中中,IN与与OUT使使用用同同一一个个单单元元)。实实际际移移位位次次数为设定值取以数为设定值取以32为底的模所得的结果。为底的模所得的结果。指令格式:指令格式:RLDOUT,N(双字循环左移)(双字循环左移)RRDOUT,N(双字循环右移)(双字循环右移)例:例:RLDMD0,2RRDLD0,32021/9/15187.1.27.1.2移位与循环指令移位与循环指令移位与循环指令移位与循环指令以指令以指令RRWLW0,19为例,指令执行情况如下表所示:为例,指令执行情况如下表所示:移位次数移位次数地址地址单元内容单元内容位位SM1.1说说明明
23、0LW01011010100110011X移位前(移位前(SM1.1不确定)不确定)1LW011011010100110011右端右端1移入移入SM1.1和和LW0LW0左端左端 2LW011101101010011001右端右端1移入移入SM1.1和和LW0LW0左端左端3LW001110110101001100右端右端0移入移入SM1.1和和LW0LW0左端左端2021/9/15197.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令u转转换换指指令令是是指指对对操操作作数数的的类类型型进进行行转转换换,包包括括数数据据的的类类型型转转换换、码码的的类类型型转转换换以以及及
24、数据和码之间的类型转换。数据和码之间的类型转换。u 数数据据类类型型主主要要包包括括字字节节、整整数数、双双整整数数、实实数数,不不同同性性质质的的指指令令对对操操作作数数的的类类型型要要求求不不同同,类类型型转转换换指指令令可可将将固固定定的的一一个个数数值值用用到到不不同同类类型型要要求求的的指指令令,而而不不必必对对数数据进行针对类型的重新装载。据进行针对类型的重新装载。2021/9/15207.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令使使能能输输入入有有效效时时,将将二二进进制制编编码码的的十十进进制制数数值值IN转转换换成成整整数数,并并将将结结果果送送到到O
25、UT输输出出。输输入入和和输输出出均均为为字字,输输入入IN的的有有效效范范围围是是0至至9999。指令格式:指令格式:BCDIOUTLDI1.0/使能输入端BCDIAC0/AC0中的BCD码转换为整数1.BCD码与整数之间的转换指令码与整数之间的转换指令已知(已知(AC0AC0)=1234=1234,程序,程序运行后:(运行后:(AC0AC0)=04D2=04D2。程序实例:程序实例:(1)BCD码到整数:码到整数:BCDI2021/9/15217.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令(2)整数到)整数到BCD码:码:IBCD使使能能输输入入有有效效时时,将将字字
26、节节型型输输入入数数据据IN转转换换成成整整数数类类型型,并并将将结结果果送送到到OUT输输出出。字字节型是无符号的,所以没有符号扩展。节型是无符号的,所以没有符号扩展。指令格式:指令格式:BTIOUT使使能能输输入入有有效效时时,将将输输入入整整数数值值IN转转换换成成二二进进制制编编码码的的十十进进制制数数,并并将将结结果果送送到到OUT输出。输出。指令格式:指令格式:IBCDOUTSM1.6(非法非法BCD码码)(1)字节到整数:)字节到整数:BTI2.字节与字整数之间的转换指令字节与字整数之间的转换指令2021/9/15227.1.37.1.3数据转换指令数据转换指令数据转换指令数据转
27、换指令(2)整数到字节:)整数到字节:ITB使使能能输输入入有有效效时时,将将双双整整数数型型输输入入数数据据IN转转换换成成整整数数类类型型,并并将将结结果果送送到到OUT输输出出。输入数据超出整数范围则产生溢出。输入数据超出整数范围则产生溢出。指令格式:指令格式:DTIOUT使使能能输输入入有有效效时时,将将整整数数型型输输入入数数据据IN转转换换成成字字节节类类型型,并并将将结结果果送送到到OUT输输出出。输输入入数数据据超超出出字字节节范范围围(0255)则则产产生生溢溢出出。指令格式:指令格式:IBCDOUT(1)双整数到整数:)双整数到整数:DTI3.字型整数与双字整数之间的转换指
28、令字型整数与双字整数之间的转换指令2021/9/15237.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令(2)整数到双整数:)整数到双整数:ITD使使能能输输入入有有效效时时,将将整整数数型型输输入入数数据据IN转转换换成成双双整整数数类类型型(符符号号进进行行扩扩展展,符符号号位位扩展到高字),并将结果送到扩展到高字),并将结果送到OUT输出。输出。指令格式:指令格式:ITDOUT4.双字整数与实数之间转的换指令双字整数与实数之间转的换指令(1)双整数到实数:)双整数到实数:DTR使使能能输输入入有有效效时时,将将双双整整数数型型输输入入数数据据IN转换成实数型,并将结果
29、送到转换成实数型,并将结果送到OUT输出。输出。指令格式:指令格式:DTRIN,OUT2021/9/15247.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令使使能能输输入入有有效效时时,将将实实数数型型输输入入数数据据IN转转换换成成双双整整数数类类型型,并并将将结结果果送送到到OUT输输出出。两两条条指指令令的的区区别别是是:前前者者小小数数部部分分四四舍舍五五入入,而而后后者者小小数数部部分分直直接接舍舍去去。输输入入数数据据超超出出实实数范围则产生溢出。数范围则产生溢出。指令格式:指令格式:ROUNDIN,OUTTRUNCIN,OUT(2)实数到双整数:)实数到双整数
30、:ROUND,TRUNC2021/9/15257.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令使使能能输输入入有有效效时时,将将字字型型输输入入数数据据IN中中值值为为1的的最最低低有有效效位位的的位位号号编编码码成成4位位二二进进制制数数,输输出出到到OUT所所指指定定的的字字节节单单元元的的低低4位位。即即用用半半个个字字节节来来对对一一个个字字型型数数据据16位位中中的的1位位有效位进行编码。有效位进行编码。指令格式:指令格式:ENCOIN,OUT(1)编码指令:)编码指令:ENCO5.编码、译码指令编码、译码指令例:例:ENCO AC0,VB0 以本指令为例,指令执
31、行情况如表所示以本指令为例,指令执行情况如表所示:2021/9/15267.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令(2)译码指令:)译码指令:DECO使使能能输输入入有有效效时时,根根据据字字节节型型输输入入数数据据IN的的低低4位位所所表表示示的的位位号号将将OUT所所指指定定的的字字单单元元的的对对应应位位置置1,其其他他位位置置0。即即对对半半个个字字节节的的编编码码进进行行译译码码来来选选择择一一个个字字型型数数据据16位位中中的的1位。位。指令格式:指令格式:DECOIN,OUT例:例:DECOVB0,AC0本指令执行情况如表所示本指令执行情况如表所示:20
32、21/9/15277.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令SEG,七七段段译译码码指指令令。使使能能输输入入有有效效时时,将将字字节节型型输输入入数数据据IN的的低低4位位有有效效数数字字(160F)转转换换成成七七段段显显示示码码,并并将将其其输输出出到到OUT所指定的字节单元。所指定的字节单元。指令格式:指令格式:SEGIN,OUT6.段译码(段译码(SEG)指令)指令2021/9/15281、设、设AC1中的低中的低16位存有十六进制数位存有十六进制数16#8200,现执行以下指现执行以下指令,令,则指令的执行结果则指令的执行结果VB40中的内容是(中的内容是
33、()。)。A、0009HB、09HC、08HD、04H2、若、若VW10内容为内容为1011010100001001,则执行,则执行SWAPVW10指令指令后,后,VW10的内容变为的内容变为。3、若、若VB100内容为内容为00001001,则执行,则执行SRBVB100,10指令后,指令后,VB100的内容变为(的内容变为()A、不变、不变B、不确定、不确定C、00100001D、000000002021/9/1529u4、设、设VWl0中存有数据中存有数据123.9,现执行以下指令,则指令的执,现执行以下指令,则指令的执行结果是(行结果是()A、123.5B、124C、120D、123u
34、5、执行、执行FILL10,VW100,12指令后,下列描述正确的是(指令后,下列描述正确的是()A、将数据、将数据10填充到从填充到从VW100VW122共共12个字存储单元中个字存储单元中B、将数据、将数据12填充到从填充到从VW100VW120共共10个字存储单元中个字存储单元中C、将数据、将数据10重复填充重复填充12次到次到VW100字存储单元中字存储单元中D、将数据、将数据12重复填充重复填充10次到次到VW100字存储单元中字存储单元中2021/9/1530u6、若、若VB20=06,则执行,则执行SEGVB20,QB0指令后,在指令后,在Q0.0Q0.7输出为(输出为()A、0
35、0000110B、00000000C、01100000D、01111101u7、已知(已知(AC0)=0255,程序运行后:(,程序运行后:(AC0)=()2021/9/15317.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令7.ASCII码与十六进制数之间的转换指令码与十六进制数之间的转换指令ATH,ASCII码码到到十十六六进进制制数数指指令令。使使能能输输入入有有效效时时,将将从从IN开开始始的的长长度度为为LEN的的ASCII码码转转换换为为十十六六进进制制数数,并并将将结结果果送送到到OUT开开始始的的字字节节进进行行输输出出。ASCII字字符符串串的的最大长度为
36、最大长度为255字符。字符。指令格式:指令格式:ATHIN,OUT,LEN例:例:ATHVB100,VB200,3本指令执行情况如表所示本指令执行情况如表所示:2021/9/15327.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令HTA,十六进制数到,十六进制数到ASCII码指令。使能输入码指令。使能输入有效时,将从输入字节有效时,将从输入字节IN开始的十六进制数字转开始的十六进制数字转换成从换成从OUT开始的开始的ASCII字符。欲转换的十六进字符。欲转换的十六进制数字位数由长度(制数字位数由长度(LEN)指定。可转换的最大)指定。可转换的最大十六进制数字位数为十六进制数
37、字位数为255。指令格式:指令格式:HTAIN,OUT,LEN十六进制(十六进制(0 0F F)对应的合法的)对应的合法的ASCII码码字符是:字符是:3039和和41462021/9/15337.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令8.整数、双字整数、实数转换为整数、双字整数、实数转换为ASCII码指令码指令使使能能输输入入有有效效时时,将将输输入入端端(IN)的的有有符符号号整整数数转转换换成成ASCII字字符符串串,转转换换结结果果存存入入以以OUT为为起起始始字字节节地地址址的的8个个连连续续字字节节的的输输出出缓缓冲冲区区中中。指指令令格格式式操操作作数数
38、FMT指指定定ASCII码码字字符符串串中中分分隔隔符符的的位位置置和和表表示示方方法法,即即小小数数点点右右侧侧的的转转换换精精度度,以以及及是是否否将将小小数数点点显显示示为为逗逗号号或或点点号号。FMT占占用用一一个个字字节节,高高4位位必必须须为为0,低低4位位用用cnnn表表示示,C位位指指定定整整数数和和小小数数之之间间的的分分隔隔符符:C1,用用逗逗号号分分隔隔,C0,用用小小数数点点分分隔隔。输输出出缓缓冲冲器器中中小小数数点点右右侧侧的的位位数数由由nnn域域指指定定,nnn域域的的有有效效范范围围是是05。指指定定小小数数点点右右侧侧的的数数字字为为0会会使使显显示示的的数
39、数值值无无小小数数点点。对对于于大大于于5的的nnn数数值值为为非非法法格格式式,此此时时无无输输出出,用用ASCII空空格格填填充充输输出缓冲器。出缓冲器。指令格式:指令格式:ITAIN,OUT,FMT(1)整数到)整数到ASCII码:码:ITA2021/9/15347.1.37.1.3数据转换指令数据转换指令数据转换指令数据转换指令(2)双整数到)双整数到ASCII码:码:DTA 使使能能输输入入有有效效时时,将将输输入入端端(IN)的的实实数数转转换换成成ASCII字字符符串串,转转换换结结果果存存入入以以OUT为为起起始始字字节节地地址址的的315个个连连续续字字节节的的输输出出缓缓冲
40、冲区区中中。FMT占占用用一一个个字字节节,高高4位位用用ssss表表示示,ssss区区的的值值指指定定输输出出缓缓冲冲区区的的字字节节数数(315个个字字节节),0、1或或2个个字字节节无无效效。并并规规定定输输出出缓缓冲冲区区的的字字节节数数应应大大于于输输入入实实数数小小数数点点右右边边的位数。低的位数。低4位的定义与位的定义与ITA指令相同。指令相同。指令格式:指令格式:RTAIN,OUT,FMT 使使能能输输入入有有效效时时,将将输输入入端端(IN)的的有有符符号号双双整整数数转转换换成成ASCII字字符符串串,转转换换结结果果存存入入以以OUT为为起起始始字字节节地地址址的的12个
41、个连连续续字字节节的的输输出出缓缓冲冲区区中中。指指令令格格式式操作数操作数FMT与与ITA指令的指令的FMT定义相同。定义相同。指令格式:指令格式:DTAIN,OUT,FMT(3)实数到)实数到ASCII码:码:RTA2021/9/15357.1.47.1.4表功能指令表功能指令表功能指令表功能指令1.填表指令填表指令向表格向表格TBLTBL中增加一个字的数值中增加一个字的数值DATADATA。指令格式:指令格式:ATT DATA,TABLE ATT DATA,TABLE 数据在数据在S7-200S7-200的表格中的存储形式见下表:的表格中的存储形式见下表:设设TABLETABLE为为VW
42、200VW200 单元地址单元内容说明VW2000005VW200为表格的首地址,TL=5为表格的最大填表数VW2020004数据EC=4(EC100)为该表中的实际填表数VW2042345数据0VW2065678数据1VW2089876数据2VW2106543数据3VW212*无效数据2021/9/15367.1.47.1.4表功能指令表功能指令表功能指令表功能指令u程序实例:程序实例:LDI0.0/使能输入端使能输入端ATTVW100,VW200/向表中存数向表中存数ATT执行结果见下表:操作数单元地址填表前内容填表后内容注释DATAVW10012341234待填表数据TBLVW20000
43、050005最大填表数TLVW20200040005最大填表数ECVW20423452345数据0VW20656785678数据1VW20898769876数据2VW21065436543数据3VW212*1234将VW100内容填入表中每向表中存一个数据,实际的填表数EC就会自动加一,一个表最多可以有100条数据2021/9/15377.1.47.1.4表功能指令表功能指令表功能指令表功能指令2.2.表取数指令表取数指令u 从从表表中中移移出出一一个个字字型型数数据据可可有有两两种种方方式式:先先进进先先出出式式和和后后进进先先出出式式。一一个个数数据据从从表表中中取取出出之之后后,表表的的
44、实实际际填表数填表数ECEC值减值减1 1。u 如如果果指指令令试试图图从从空空表表中中取取走走一一个个数数值值,则则特特殊殊标标志志寄存器寄存器SM1.5SM1.5置位。置位。u 表取数指令影响的特殊存储器位:表取数指令影响的特殊存储器位:SM1.5SM1.5(表空)。(表空)。2021/9/15387.1.47.1.4表功能指令表功能指令表功能指令表功能指令(1)先进先出指令:)先进先出指令:FIFO当当使使能能输输入入有有效效时时,从从TBLTBL指指明明的的表表中中移移出出最最后后一一个字型数据并将其输出到个字型数据并将其输出到DATADATA所指定的字单元。所指定的字单元。LIFOL
45、IFO表表取取数数时时,移移出出的的数数据据是是最最后后进进入入表表中中的的数数据据。每每次次从从表表中中取取出出一一个个数数据据,剩剩余余数数据据位位置置保保持持不变,实际填表数不变,实际填表数ECEC会自动减会自动减1 1。指令格式:指令格式:LIFO TABLE,DATA LIFO TABLE,DATA 当当使使能能输输入入有有效效时时,从从TBLTBL指指明明的的表表中中移移出出第第一一个个字字型数据并将其输出到型数据并将其输出到DATADATA所指定的字单元。所指定的字单元。FIFOFIFO表表取取数数时时,移移出出的的数数据据总总是是最最先先进进入入表表中中的的数数据据。每每次次从
46、从表表中中移移出出一一个个数数据据,剩剩余余数数据据依依次次上上移移一一个字单元位置,同时实际填表数个字单元位置,同时实际填表数ECEC会自动减会自动减1 1。指令格式:指令格式:FIFO TABLE,DATA FIFO TABLE,DATA(2)后进先出指令:)后进先出指令:LIFO2021/9/15397.1.47.1.4表功能指令表功能指令表功能指令表功能指令表查找指令:表查找指令:FND?通通过过表表查查找找指指令令可可以以从从字字型型数数表表中中找找出出符符合合条条件件的的数数据据所所在在的的表表中数据编号,编号范围是中数据编号,编号范围是0 09999。在梯形图中有在梯形图中有4
47、4个数据输入端:个数据输入端:TBLTBL表格的首表格的首地址,用以指明被访问的表格;地址,用以指明被访问的表格;PTNPTN是用来描是用来描述查表条件进行比较的数据;述查表条件进行比较的数据;CMDCMD是比较运算是比较运算符符“?”的编码,它是一个的编码,它是一个1 14 4的数值,分别的数值,分别代表、代表、运算符;运算符;INDXINDX用来存放表用来存放表中符号查找条件的数据编号。中符号查找条件的数据编号。由由PTNPTN和和CMDCMD就可以决定对表的查找条件。例就可以决定对表的查找条件。例如,如,PTNPTN为为161625552555,CMDCMD为为3 3,则查找条件为,则查
48、找条件为“25552555(1616进制)进制)”。3.3.查表指令查表指令 2021/9/15407.1.47.1.4表功能指令表功能指令表功能指令表功能指令表查找指令执行之前,应先对表查找指令执行之前,应先对INDXINDX的内容清的内容清0 0,当使能输入有效时,从,当使能输入有效时,从INDXINDX开始搜索表开始搜索表TBLTBL,寻找符合由,寻找符合由PTNPTN和和CMDCMD所决定的条件的数据,如果所决定的条件的数据,如果没有发现符合条件的数据,则没有发现符合条件的数据,则INDXINDX的值等于的值等于ECEC。如果找到一个符合条件。如果找到一个符合条件的数据,则将该数据的表
49、中编号装入的数据,则将该数据的表中编号装入INDXINDX中。中。表查找指令执行完成,找到一个符合条件的数据,如果想继续向下查表查找指令执行完成,找到一个符合条件的数据,如果想继续向下查找,必须先对找,必须先对INDXINDX加加1 1,以重新激活表查找指令。,以重新激活表查找指令。在语句表中运算符直接表示,而不用各自的编码。在语句表中运算符直接表示,而不用各自的编码。指令格式:指令格式:FND=TBL,PTN,INDXFND=TBL,PTN,INDX FND TBL,PTN,INDX FND TBL,PTN,INDX FND TBL,PTN,INDX FND TBL,PTN,INDX FND
50、 TBL,PTN,INDX如如果果查查找找由由指指令令ATTATT、LIFOLIFO和和FIFOFIFO生生成成的的表表时时,原原表表中中的的最最大大填填表表数数TLTL对该指令无意义,对该指令无意义,FNDFND指令的操作数指令的操作数TBLTBL的首地址是指向的首地址是指向ECEC的地址。的地址。2021/9/15417.2数据运算指令数据运算指令7.2.17.2.1加减乘除指令与加加减乘除指令与加加减乘除指令与加加减乘除指令与加1 1、减、减、减、减1 1指令指令指令指令1.1.加法运算指令加法运算指令u加加法法指指令令是是对对有有符符号号数数进进行行相相加加操操作作。包包括括:整整数数