电气控制与PLC S7 200系列PLC功能指令及应用教学PPT

上传人:re****.1 文档编号:571389443 上传时间:2024-08-10 格式:PPT 页数:128 大小:3.19MB
返回 下载 相关 举报
电气控制与PLC S7 200系列PLC功能指令及应用教学PPT_第1页
第1页 / 共128页
电气控制与PLC S7 200系列PLC功能指令及应用教学PPT_第2页
第2页 / 共128页
电气控制与PLC S7 200系列PLC功能指令及应用教学PPT_第3页
第3页 / 共128页
电气控制与PLC S7 200系列PLC功能指令及应用教学PPT_第4页
第4页 / 共128页
电气控制与PLC S7 200系列PLC功能指令及应用教学PPT_第5页
第5页 / 共128页
点击查看更多>>
资源描述

《电气控制与PLC S7 200系列PLC功能指令及应用教学PPT》由会员分享,可在线阅读,更多相关《电气控制与PLC S7 200系列PLC功能指令及应用教学PPT(128页珍藏版)》请在金锄头文库上搜索。

1、第九章第九章S7-200S7-200系列系列PLCPLC功能指令及应用功能指令及应用操作数类型及长度操作数类型及长度指令的执行条件及执行形式指令的执行条件及执行形式 执行形式分为连续执行和脉冲执行。执行形式分为连续执行和脉冲执行。指令功能及指令功能及ENO状态状态指令执行结果对特殊标志位的影响指令执行结果对特殊标志位的影响指令的机型适用范围指令的机型适用范围指令类型指令类型字节传送字节传送字传送字传送双字传送双字传送实数传送实数传送梯形图梯形图语句表语句表MOVB IN,OUTMOVW IN,OUTMOVD IN,OUTMOVR IN,OUT9.1 9.1 传送传送、比较类指令及应用、比较类指

2、令及应用指令功能指令功能:使能输入有效时,把单一字节数据(字、双字或实数)传送到:使能输入有效时,把单一字节数据(字、双字或实数)传送到OUTOUT所指的存储单元中。传送过程不改变数据原值。所指的存储单元中。传送过程不改变数据原值。使用说明使用说明: :操作码中的操作码中的B B(字节)、(字节)、W W(字)、(字)、D D(双字)、(双字)、R R(实数)代表被传送数据的(实数)代表被传送数据的类型。类型。源存储单源和目的存储单元的长度相同,但源存储单元可以为常数。源存储单源和目的存储单元的长度相同,但源存储单元可以为常数。1.1.单一传送指令单一传送指令(Move)(Move)指令类型指

3、令类型字节块传送字节块传送字块传送字块传送双字块传送双字块传送梯形图梯形图语句表语句表BMB IN,OUT,NBMW IN,OUT,NBMD IN,OUT,N指令功能:使能输入有效时,把指令功能:使能输入有效时,把ININ开始的连续开始的连续N N个同类型的存储单元的数个同类型的存储单元的数据送到据送到OUTOUT开始的连续开始的连续N N个存储单元中。传送过程不改变数据原值。个存储单元中。传送过程不改变数据原值。使用说明使用说明: :操作码中的操作码中的B B(字节)、(字节)、W W(字)、(字)、D D(双字)代表被传送数据的类型。(双字)代表被传送数据的类型。源存储单源和目的存储单元的

4、长度相同,源存储单源和目的存储单元的长度相同,N N可为常数也可为字节长存储可为常数也可为字节长存储单元单元, ,最大值为最大值为255255。2.2.块传送指令(块传送指令(Block MoveBlock Move)指令类型指令类型传送字节立即读指令传送字节立即读指令传送字节立即写指令传送字节立即写指令梯形图梯形图语句表语句表BIR IN,OUTBIW IN,OUT操作数操作数IN:IB; OUT:字节字节IN:字节;:字节; OUT: QB3.3.字节立即传送指令(字节立即传送指令(Move Byte ImmediateMove Byte Immediate)使用说明使用说明: :传送字节

5、立即读指令中传送字节立即读指令中,IN,IN的操作数只能为的操作数只能为IBIB。传送字节立即写指令中传送字节立即写指令中,OUT,OUT的操作数只能为的操作数只能为QB QB 。 按下启动按钮按下启动按钮I0.0I0.0 8 8个彩灯同时点亮个彩灯同时点亮, ,按下停止按钮按下停止按钮I0.1I0.1 8 8个彩灯同时熄灭个彩灯同时熄灭, ,用数据传送指令实现用数据传送指令实现,8,8个彩灯分别由个彩灯分别由Q0.0-Q0.0-Q0.7-Q0.7驱动。驱动。例例1:单一传送指令简单应用:单一传送指令简单应用思考思考: :若若8 8盏灯分别接盏灯分别接Q0.0Q0.7,Q0.0Q0.7,每间隔

6、每间隔1 1个同时点亮个同时点亮, ,应如何操作应如何操作? ? 设液体混合控制中设液体混合控制中, ,液体搅拌所需时间有两种选择液体搅拌所需时间有两种选择, ,分别是分别是20min20min和和10min,10min,分别设置两个按钮选择时间分别设置两个按钮选择时间,I1,0,I1,0选择选择20min,I1.120min,I1.1选择选择10min,I0.210min,I0.2为启动搅拌为启动搅拌,Q0.0,Q0.0控制液体搅拌控制液体搅拌. .例例2:单一传送指令简单应用:单一传送指令简单应用思考思考: :如果将如果将MOVWMOVW指令指令换为换为MOVBMOVB指令指令, ,是是否

7、可行否可行, ,为什么为什么? ?网络网络4 4中中, ,分析分析I0.2I0.2什么情况下可什么情况下可以这样使用以这样使用? ?比较指令是将两个操作数按指定的条件比较,操作数比较指令是将两个操作数按指定的条件比较,操作数可以是整数,也可以是实数,在梯形图中用带参数和可以是整数,也可以是实数,在梯形图中用带参数和运算符的触点表示比较指令,比较条件成立时,触点运算符的触点表示比较指令,比较条件成立时,触点就闭合,否则断开。就闭合,否则断开。比较触点可以装入,也可以串、并联。比较指令为上、比较触点可以装入,也可以串、并联。比较指令为上、下限控制提供了极大的方便。下限控制提供了极大的方便。9.1

8、9.1 传送传送、比较类比较类指令及应用指令及应用“xx”表示比较运算符:表示比较运算符:= 等于等于 、 小于、小于、大于、大于、= 小于等于小于等于、 = 大于等于大于等于、不等于。不等于。“”表示操作数表示操作数N1,N2的数据类型及范围:的数据类型及范围:B(Byte):字节比较(无符号整数)。):字节比较(无符号整数)。I(INT)/ W(Word):整数比较,(有符号整数)注意:):整数比较,(有符号整数)注意:LAD中用中用“I”,STL中用中用“W”。DW(Double Word):双字的比较(有符号整数),):双字的比较(有符号整数), 如:如:OD= VD24 MD1R(R

9、eal):实数的比较(有符号的双字浮点数,仅限于):实数的比较(有符号的双字浮点数,仅限于CPU214以上)以上)N1,N2操作数的类型包括:操作数的类型包括:I,Q,M,SM,V,S,L,AC,VD,LD,常数。,常数。例:调整模拟调整电位器例:调整模拟调整电位器0,改变,改变SMB28字节数值,当字节数值,当SMB28数值小于或等于数值小于或等于50时,时,Q0.0输出,其状态指示灯打开;当输出,其状态指示灯打开;当SMB28数值小于或等于数值小于或等于150时,时,Q0.1输出,状态指示灯打开。输出,状态指示灯打开。LD I0.0LPSAB= SMB28, 150= Q0.1整数字比较若

10、整数字比较若VW0 +10000为真,为真,Q0.2有输出。有输出。 程序常被用于显示不同的数据类型。还可程序常被用于显示不同的数据类型。还可以比较存储在可编程存中的两个数值(以比较存储在可编程存中的两个数值(VW0 VW100)。)。 LDI0.3LPSAWVW0,+10000=Q0.2LRDADVD6,5.001E-0067.1.2 移位与循环指令移位与循环指令1.1.移位指令(移位指令(ShiftShift) 指令类型指令类型: : 右移位指令、左移位指令右移位指令、左移位指令右移位指令右移位指令: :字节右移位指令、字右移位指字节右移位指令、字右移位指令、双字右移位指令令、双字右移位指

11、令左移位指令左移位指令: :字节左移位指令、字左移位指字节左移位指令、字左移位指令、双字左移位指令令、双字左移位指令1)1)右移位指令右移位指令指令类型指令类型字节右移位字节右移位字右移位字右移位双字右移位双字右移位梯形图梯形图语句表语句表SRB OUT,NSRW OUT,NSRD OUT,N操作数类型操作数类型ININ、OUTOUT:字节:字节N N:字节,最大实际:字节,最大实际可移次数为可移次数为8 8ININ、OUTOUT:字:字N N:字节,最大实际:字节,最大实际可移次数为可移次数为1616ININ、OUTOUT:双字:双字N N:字节,最大实际:字节,最大实际可移次数为可移次数为

12、3232我们先看他们的梯形图形式我们先看他们的梯形图形式, 都是以指令盒形式编程都是以指令盒形式编程,他们都是由移位条件、移位前的存储单元、移位后的存储单元、移位次数他们都是由移位条件、移位前的存储单元、移位后的存储单元、移位次数存储单元组成。不同的是移位前和移位后的存储单元的长度不同存储单元组成。不同的是移位前和移位后的存储单元的长度不同指令功能指令功能: :移位条件成立移位条件成立, ,把把ININ中的数据右移中的数据右移N N位后位后, ,再将结果存到再将结果存到OUTOUT所指定的存储单元中所指定的存储单元中. .我们看以下移位的操作过程,移位条件成立,低位移出高位补零我们看以下移位的

13、操作过程,移位条件成立,低位移出高位补零,移出端每出一位移出端每出一位,移出值都被放到移出值都被放到SMI.1中中,移位结束移位结束,SM1.1中存的是最后移出的那位的值中存的是最后移出的那位的值,当存储单元的内容全部移出时当存储单元的内容全部移出时如果移位结果为如果移位结果为如果移位结果为如果移位结果为0.0.零标志位零标志位零标志位零标志位SM1.0SM1.0被置被置被置被置1 1如果移位的次数超过了存储单元的位数,超出次数无效2)2)左移位指令左移位指令指令类型指令类型字节左移位字节左移位字左移位字左移位双字左移位双字左移位梯形图梯形图语句表语句表SLB OUT,NSLW OUT,NSL

14、D OUT,N操作数类型操作数类型ININ、OUTOUT:字节:字节N N:字节,最大实际:字节,最大实际可移次数为可移次数为8 8ININ、OUTOUT:字:字N N:字节,最大实际:字节,最大实际可移次数为可移次数为1616ININ、OUTOUT:双字:双字N N:字节,最大实际:字节,最大实际可移次数为可移次数为3232指令功能指令功能: :移位条件成立移位条件成立, ,把把ININ中的数据左移中的数据左移N N位后位后, ,再将结果存到再将结果存到OUTOUT所指定的存储单元中所指定的存储单元中. .如果移位的次数超过了存储单元的位数,超出次数无效. 2.循环移位指令(循环移位指令(R

15、otate) 指令类型:指令类型: 循环右移指令、循环右移指令、循循环左移指令环左移指令循环右移指令循环右移指令: : 字节循环右移、字节循环右移、字循环右移、双字循环右移字循环右移、双字循环右移循环左移指令循环左移指令: : 字节循环左移、字节循环左移、字循环左移、双字循环左移字循环左移、双字循环左移7.1.2 移位与循环指令移位与循环指令(续续)1)1)循环右移指令循环右移指令指令类型指令类型字节循环右移位字节循环右移位字循环右移位字循环右移位双字循环右移位双字循环右移位梯形图梯形图语句表语句表RRB OUT,NRRW OUT,NRRD OUT,N操作数类型操作数类型ININ、OUTOUT

16、:字节:字节N N:字节:字节ININ、OUTOUT:字:字N N:字节:字节ININ、OUTOUT:双字:双字N N:字节:字节指令功能指令功能: :移位条件成立移位条件成立, ,将将ININ存储单元的数据循环右移存储单元的数据循环右移N N位后位后, ,结果存到结果存到OUTOUT所指定的存储单元中所指定的存储单元中. .2)2)循环左移指令循环左移指令指令类型指令类型字节循环左移位字节循环左移位字循环左移位字循环左移位双字循环左移位双字循环左移位梯形图梯形图语句表语句表RLB OUT,NRLW OUT,NRLD OUT,N操作数类型操作数类型ININ、OUTOUT:字节:字节N N:字节

17、:字节ININ、OUTOUT:字:字N N:字节:字节ININ、OUTOUT:双字:双字N N:字节:字节指令功能指令功能:移位条件成立移位条件成立,将将IN存储单元的数据循环左移存储单元的数据循环左移N位后位后,结果存到结果存到OUT所指定的存储单元中所指定的存储单元中.移位与循环指令简单应用举例移位与循环指令简单应用举例 3.寄存器移位指令(寄存器移位指令(Shift register)梯形图梯形图语句表语句表SHRB DATA, S-BIT, N7.1.2 移位与循环指令移位与循环指令(续续) 寄存器移位指令的操作数:寄存器移位指令的操作数: 移位条件:移位条件:ENEN输入端由断变通时

18、,进行一次移位,输入端由断变通时,进行一次移位,每移一位需要一个脉冲信号每移一位需要一个脉冲信号, ,移位几次就要有几个移位几次就要有几个脉冲信号,因此移位条件一定是一个脉冲信号。脉冲信号,因此移位条件一定是一个脉冲信号。 DATADATA:数据输入端,将该位的值移入移位寄存数据输入端,将该位的值移入移位寄存器;数据类型为器;数据类型为BOOLBOOL变量。变量。 S_BITS_BIT:移位寄存器的最低位的地址,数据类型移位寄存器的最低位的地址,数据类型为为BOOLBOOL变量。变量。 N N:指定移位寄存器的长度和移动方向。指定移位寄存器的长度和移动方向。N N存储存储单元的长度为字节型,最

19、大为单元的长度为字节型,最大为6464,N N为正时,在输为正时,在输入端的上升沿,入端的上升沿,DATADATA数据输入端的数据由低位移数据输入端的数据由低位移入,最高位被移到溢出位。入,最高位被移到溢出位。N N为负时,从最高位移为负时,从最高位移入,最低位被移到溢出位。入,最低位被移到溢出位。3.寄存器移位指令(寄存器移位指令(Shift register)(续续)移位与循环指令应用举例移位与循环指令应用举例例例1:用用I0.0控制控制16个彩灯循环移位个彩灯循环移位,从左到右以从左到右以2s的速度依次的速度依次2个为个为一组点亮一组点亮;保持任意时刻只有保持任意时刻只有2个灯亮个灯亮,

20、到达最右端后到达最右端后,再依次点亮再依次点亮,按下按下I0.1后后,彩灯循环停止彩灯循环停止.移位与循环指令应用举例移位与循环指令应用举例例例2:用用PLC构成对喷泉的控制构成对喷泉的控制,喷泉的喷泉的12个喷水柱用个喷水柱用L1-12表示表示,喷喷泉的布局如图所示泉的布局如图所示.输入输入PLCPLC地址地址说明说明输出输出PLCPLC地址地址说明说明I0.0I0.0启动按钮启动按钮Q0.0Q0.3Q0.0Q0.3L1L4L1L4I0.1I0.1停止按钮停止按钮Q0.4Q0.4L5L5、L9L9Q0.5Q0.5L6L6、L10L10Q0.6Q0.6L7L7、L11L11Q0.7Q0.7L8

21、L8、L12L12控制要求控制要求:按下启动按钮后按下启动按钮后,L1喷喷0.5s后停后停,接着接着L2喷喷0.5s后停后停,接着接着L3喷喷0.5s后停后停,接着接着L4喷喷0.5s后停后停,接着接着L5、L9喷喷0.5s后停,接着后停,接着L6、L10喷喷0.5s后停,接着后停,接着L7、L11喷喷0.5s后停,接后停,接着着L8、L12喷喷0.5s后停,后停,L1喷喷0.5s后后停停,如此循环下去,直至按下停止按如此循环下去,直至按下停止按钮。钮。如何编程如何编程? 7.1.3.字节交换指令(字节交换指令(Swap Bytes)字节交换(字节交换(Swap Bytes)指令,将字型输入数

22、据)指令,将字型输入数据IN的高字节内容与低字节内容的高字节内容与低字节内容互相交换。交换结果仍存放在输入(互相交换。交换结果仍存放在输入(IN)指定的地址中。)指定的地址中。IN操作数数据类型为操作数数据类型为无符号整数型无符号整数型(WORD)。 7.1.4.填充指令(填充指令(Memory Fill)填充指令的功能:将字型输入数据填充指令的功能:将字型输入数据IN填充到从填充到从OUT开始的开始的N个字存储单元中个字存储单元中.操作数数据类型操作数数据类型:IN、OUT为字型为字型, N为字节型,取值范围为字节型,取值范围1255的整数。的整数。指令形式指令形式梯形图梯形图语句表语句表字

23、节交换指令字节交换指令SWAP IN填充指令填充指令FILL IN,OUT,N 7.1 7.1 传送、移位和填充指令传送、移位和填充指令7.27.2运算和数学指令运算和数学指令7.2.1 7.2.1 7.2.1 7.2.1 加加加加减减减减指令指令指令指令梯形图梯形图梯形图梯形图语句表语句表语句表语句表指令功能指令功能指令功能指令功能+I IN1,OUT+D IN1,OUT+R IN1,OUT加法指令加法指令:实现整实现整数、双整数、实数、双整数、实数的加法运算。数的加法运算。IN1+IN2=OUT- I IN1,OUT- D IN1,OUT- R IN1,OUT减法指令减法指令:实现整实现整

24、数、双整数、实数、双整数、实数的减法运算。数的减法运算。IN1-IN2=OUT7.27.2运算和数学指令运算和数学指令( (续续) )7.2.2 7.2.2 7.2.2 7.2.2 一般乘、一般乘、一般乘、一般乘、除法除法除法除法指令指令指令指令梯形图梯形图梯形图梯形图语句表语句表语句表语句表指令功能指令功能指令功能指令功能 MUL IN1,OUT乘法指令乘法指令:实现整实现整数、双整数、实数、双整数、实数的乘法运算。数的乘法运算。IN1 IN2=OUTDIV IN1,OUT除法指令除法指令:实现整实现整数、双整数、实数、双整数、实数的除法运算。数的除法运算。IN1/IN2=OUT操作数数据类

25、型:分别是有符号整数(操作数数据类型:分别是有符号整数(操作数数据类型:分别是有符号整数(操作数数据类型:分别是有符号整数(INTINT)、有符号双)、有符号双)、有符号双)、有符号双整数和实数整数和实数整数和实数整数和实数7.27.2运算和数学指令运算和数学指令( (续续) )7.2.3 7.2.3 7.2.3 7.2.3 完全整数乘、完全整数乘、完全整数乘、完全整数乘、除法除法除法除法指令指令指令指令梯形图梯形图梯形图梯形图语句表语句表语句表语句表指令功能指令功能指令功能指令功能 I IN1,OUT D IN1,OUT R IN1,OUT完全整数乘法指完全整数乘法指令令:两个两个16位整位

26、整数相乘,得到一数相乘,得到一个个32位整数乘积。位整数乘积。- I IN1,OUT- D IN1,OUT- R IN1,OUT完全整数除法指完全整数除法指令令:两个两个16位整位整数相除,得到一数相除,得到一个个32位的结果,位的结果,高高 16位为余数,位为余数,低低16位为商。位为商。数学运算结果对特殊继电器的影响数学运算结果对特殊继电器的影响:零标志位(零结果)零标志位(零结果):SM1.0溢出标志位(溢出)溢出标志位(溢出):SM1.1负标志位(负结果)负标志位(负结果):SM1.2除数为零标志位(除数为除数为零标志位(除数为0)SM1.37.27.2运算和数学指令运算和数学指令(

27、(续续) )例例:在程序初始化时在程序初始化时,设设AC1为为1000,合上合上I0.0开关开关,AC1的值的值每隔每隔10s减减100,一直减到一直减到0为止为止.运算指令应用举例运算指令应用举例指令指令类型类型 平方根平方根自然对数自然对数指数指数正弦正弦余弦余弦正切正切梯形梯形图图语句语句表表SQRT IN,OUT LN IN,OUTEXP IN,OUTSIN IN,OUTCOS IN,OUTTAN IN,OUT操作数数据类型:均为实数操作数数据类型:均为实数操作数数据类型:均为实数操作数数据类型:均为实数7.2.4数学函数指令数学函数指令数学函数指令功能:数学函数指令功能:1.平方根(

28、平方根(Square Root)指令:)指令: 实数的开方指令(实数的开方指令(SQRT):把输入端(把输入端(IN)的)的32位实数开方,得到位实数开方,得到32位实数结果,并把结果存放到输出端(位实数结果,并把结果存放到输出端(OUT)指定的存储单元中去。数)指定的存储单元中去。数据类型输入、输出均为实数。据类型输入、输出均为实数。 2.自然对数(自然对数(Natural Logarithm)指令:)指令:自然对数指令(自然对数指令(LN):将输入端(将输入端(IN)的)的32位实数取自然对数,结果存位实数取自然对数,结果存放到输出端(放到输出端(OUT)指定的存储单元中去。数据类型输入、

29、输出均为实)指定的存储单元中去。数据类型输入、输出均为实数。数。 求常数对数(求常数对数(lgx):即以即以10为底的对数)时,只要将其自然对数(为底的对数)时,只要将其自然对数(lnx)除以除以2.302585即可。数据类型输入、输出均为实数。即可。数据类型输入、输出均为实数。3. 指数(指数(Natural Exponential)指令:)指令:自然指数指令(自然指数指令(EXP):将输入端():将输入端(IN)的)的32位实数取以位实数取以e为底的指数,为底的指数,结果存放到输出端(结果存放到输出端(OUT)指定的存储单元中去。数据类型输入、输出)指定的存储单元中去。数据类型输入、输出均

30、为实数。数据类型输入、输出均为实数。均为实数。数据类型输入、输出均为实数。4. 正弦(正弦(sine)、余弦()、余弦(cosine)和正切()和正切(tan)指令:)指令: 将一个双字长的实数弧度值将一个双字长的实数弧度值IN分别取正弦、余弦、正切,各得到分别取正弦、余弦、正切,各得到32位位的实数结果送到的实数结果送到OUT。数据类型输入、输出均为实数。数据类型输入、输出均为实数。7.2.5 7.2.5 增增/ /减指令减指令1. 增指令(增指令(Increment)增指令包括字节自增、字自增和双字自增指令。字节自增指令输入输出增指令包括字节自增、字自增和双字自增指令。字节自增指令输入输出

31、均为字节,字自增指令输入输出均为均为字节,字自增指令输入输出均为INT,双字自增指令输入输出均为,双字自增指令输入输出均为DINT。如下图(。如下图(a)所示(图中)所示(图中 处可为处可为B、W、DW)。)。2.减指令(减指令(Decrement)减指令包括字节自减、字自减和双字自减指令。字节减指令输入输出均减指令包括字节自减、字自减和双字自减指令。字节减指令输入输出均为字节,字自减指令输入输出均为为字节,字自减指令输入输出均为INT,双字自减指令输入输出均为,双字自减指令输入输出均为DINT。如下图(。如下图(b)所示(图中)所示(图中 处可为处可为B、W、DW)。)。7.2运算和数学指令

32、运算和数学指令(续续)7.2.6 7.2.6 逻辑运算指令逻辑运算指令1.逻辑逻辑“与与”运算指令(运算指令(Logic And)2.逻辑逻辑“或或”运算指令(运算指令(Logic Or)3.逻辑逻辑“异或异或”运算指令(运算指令(Logic Exclusive Or)4.取反指令(取反指令(Logic Invert)7.2运算和数学指令运算和数学指令(续续)7.3表功能指令表功能指令数据表的作用数据表的作用:用来存放字型数据的表格用来存放字型数据的表格字地址字地址单元内容单元内容说明说明VW2000004表地址表地址,TL(最大填表数最大填表数)VW2020003EC(实际填表数实际填表数)

33、VW2041233数据数据0VW2064566数据数据1VW2087890数据数据2VW210XXXX数据表的格式数据表的格式注注:表格最多可存放表格最多可存放100个数据个数据,不包括最大填表数不包括最大填表数(TL)和实际填表数和实际填表数(EC)7.3表功能指令表功能指令(续续)指令名称指令名称指令名称指令名称梯形图梯形图梯形图梯形图语句表语句表语句表语句表指令功能指令功能指令功能指令功能表存数指令表存数指令( (填表指令填表指令) )ATT DATA,TBL向表向表TBLTBL中增加一个字型数据中增加一个字型数据DATA,DATA,新填的数据放在表格中最后一个数新填的数据放在表格中最后

34、一个数据的后面据的后面,EC,EC的值自动加的值自动加1.1.先进先出指令先进先出指令FIFO TABLE,DATA将表将表TBLTBL中的第一个字型数据删除中的第一个字型数据删除, ,并将它放到并将它放到DATADATA指定的存储单元指定的存储单元, ,表中其余的数值项都向前移动一个表中其余的数值项都向前移动一个位置位置,EC,EC的值自动减的值自动减1.1.后进先出指令后进先出指令LIFO TABLE,DATA将表将表TBLTBL中的最后一个字型数据删中的最后一个字型数据删除除, ,并将它放到并将它放到DATADATA指定的存储单指定的存储单元元, , 剩余数值位置保持不变剩余数值位置保持

35、不变, ,同时同时ECEC的值自动减的值自动减1.1.表操作指令表操作指令7.3表功能指令表功能指令(续续)指令名称指令名称指令名称指令名称梯形图梯形图梯形图梯形图语句表语句表语句表语句表指令功能指令功能指令功能指令功能查表指令查表指令FND=TBL,PTN,INDEX从从INDXINDX开始搜索表(开始搜索表(TBLTBL),寻找满足查找条件),寻找满足查找条件的数据。的数据。TBLTBL指明被访问表格的首地址;指明被访问表格的首地址;PTNPTN端用端用来描述查表时进行比较的数据;命令参数来描述查表时进行比较的数据;命令参数CMDCMD表表明查找条件,它是一个明查找条件,它是一个1414的

36、数值,分别代表的数值,分别代表= =、符号,符号,INDXINDX用来指定表中符合查找用来指定表中符合查找条件的数据的编号。条件的数据的编号。表操作指令表操作指令(续续)使用说明使用说明:TBL:TBL为表格的首地址为表格的首地址( (即最大填表数对应的地址即最大填表数对应的地址),),数据类型为字型数据类型为字型, ,操作数据可为操作数据可为VWVW、IWIW、QWQW、MWMW、SMWSMW、LWLW、T T、C C、等,查表指令的、等,查表指令的TBLTBL为实际填表数所对应的地址。为实际填表数所对应的地址。DATADATA为数据输入端或输出端时,数据类型均为整数。为数据输入端或输出端时

37、,数据类型均为整数。一个表最多可以有一个表最多可以有100100条数据,数据编号范围为条数据,数据编号范围为0-990-99。如果表出现溢出,。如果表出现溢出,SM11.4SM11.4为为1.1.读表读表的时候的时候, ,如果读取的是空表如果读取的是空表, ,则则1.51.5为为1.1.查表指令中的查表指令中的CMDCMD为为1-41-4的数值的数值, ,分别代表分别代表= =、。、。INDXINDX为搜索指针,数据类型为为搜索指针,数据类型为字型,从字型,从INDXINDX所指的数据标号开始查找,并将搜索到的符合条件的数据编号放入所指的数据标号开始查找,并将搜索到的符合条件的数据编号放入IN

38、DXINDX所指的所指的存储器中。存储器中。INDXINDX的操作数为字型存储单元,将的操作数为字型存储单元,将INDXINDX的值设为的值设为0 0,则从表格的顶端开始搜索。,则从表格的顶端开始搜索。例1:表功能指令举例表功能指令举例例2:例3:例4:对模拟量采样10次,采样值填入表中,为后续的操作作准备表功能指令举例表功能指令举例指令类型指令类型 字节与整数字节与整数整数与字节整数与字节整数与双整数整数与双整数双整数与整数双整数与整数梯形图梯形图语句表语句表BTI IN,OUT ITB IN,OUTITD IN,OUTDTI IN,OUT7.4数据的转换数据的转换数据转换指令格式数据转换指

39、令格式指令类型指令类型 实数到双整数实数到双整数双整数到实双整数到实数数BCD码到码到整数整数整数到整数到BCD码码梯形图梯形图语句表语句表ROUND IN,OUTTRUNC IN,OUTDTR IN,OUTBCDTI IN,OUTITBCD IN,OUT7.4数据的转换数据的转换 (续续)数据转换指令格式数据转换指令格式(续续)实数四舍五入为双整数实数四舍五入为双整数实数取整为双整数实数取整为双整数数据的转换简单举例数据的转换简单举例例:将例:将VW10中的整数与中的整数与VD100中的实数中的实数190.5相加。相加。自学自学: :7.4.27.4.2编码和译码指令编码和译码指令7.4.3

40、7.4.3段码指令段码指令7.4.4ASC7.4.4ASC码转换指令码转换指令7.4.57.4.5字符串转换指令字符串转换指令7.5时钟指令时钟指令时钟缓冲区使用说明使用说明: :TT缓冲区的所有单元地址数据类型为字节型缓冲区的所有单元地址数据类型为字节型, ,其操作数可以是其操作数可以是IBIB、QBQB、VBVB、MBMB、SMBSMB、SBSB、LBLB、* *VDVD、 * * LDLD、 * * ACAC。不要同时在主程序和中断程序中使用读时钟和系统设置时钟指令。不要同时在主程序和中断程序中使用读时钟和系统设置时钟指令。对于没有使用过时钟指令、长时间断电或内存丢失后的对于没有使用过时

41、钟指令、长时间断电或内存丢失后的PLCPLC,在使用时钟指令前,在使用时钟指令前要通过要通过STEP7STEP7软件软件“PLC”PLC”菜单对菜单对PLCPLC时钟进行设定,然后才能开始使用时钟指令。时钟进行设定,然后才能开始使用时钟指令。时钟可以设定和时钟可以设定和PCPC中的时间一致,也可用设定实时时钟指令自由设定,但必须对时中的时间一致,也可用设定实时时钟指令自由设定,但必须对时钟存储单元赋值,才能使用设定实时时钟指令。钟存储单元赋值,才能使用设定实时时钟指令。所有日期之间均使用所有日期之间均使用BCDBCD码表示码表示系统不检查、不核实时钟各值的正确与否。系统不检查、不核实时钟各值的

42、正确与否。7.5时钟指令时钟指令(续续)时钟指令格式时钟指令格式指令名称指令名称梯形图梯形图语句表语句表指令功能指令功能设定实时时钟指令(Set Real-time Clock)TODR T系统将包含当系统将包含当前时间和日期前时间和日期的一个的一个8 8字节的字节的缓冲区装入缓冲区装入PLCPLC的时钟中去的时钟中去. .读实时时钟指令(Read Real-Time Clock)TODW T系统读当前时系统读当前时间和日期间和日期, ,并把并把它装入一个它装入一个8 8字字节的缓冲区节的缓冲区时钟指令举例时钟指令举例例例1 1:控制路灯晚:控制路灯晚18:0018:00点开灯,早点开灯,早6

43、:006:00时关灯时关灯时钟指令举例时钟指令举例例例2 2:编写一段程序:编写一段程序, ,要求可实现读写要求可实现读写实时时钟实时时钟, ,并使用并使用LEDLED数码管显示分钟数码管显示分钟. .时钟缓冲区从时钟缓冲区从VB100VB100开始开始. .主程序主程序:子程序子程序:把时间日期把时间日期等数值放入等数值放入时间缓冲区时间缓冲区7.6子程序子程序7.6.17.6.1建立子程序建立子程序从从“编辑编辑”菜单点击菜单点击“插入插入”再点击子程序,再点击子程序,如下图所示。如下图所示。7.6子程序子程序7.6.17.6.1建立子程序建立子程序从指令树,用鼠标右键单击从指令树,用鼠标

44、右键单击“程序块程序块”并从弹出菜单并从弹出菜单中选择中选择“插入插入”子程序子程序,如下图所示,如下图所示7.6子程序子程序7.6.17.6.1建立子程序建立子程序从从“程序编辑器程序编辑器”窗口,鼠标右键单击窗口,鼠标右键单击子程序子程序SBR-0,并从弹出快捷键菜单中选,并从弹出快捷键菜单中选择择“插入插入”子程序子程序,如下图所示,如下图所示子程序标签,子程序标签,点击可编辑子点击可编辑子程序程序7.6子程序子程序(续续)7.6.27.6.2子程序指令子程序指令子程序的指令格式子程序的指令格式程序名称程序名称梯形图梯形图语句表语句表指令功能指令功能子程序子程序调用指令调用指令CALL

45、SBR-0调用条件成立,调用条件成立,PLCPLC执行相应的执行相应的子程序子程序子程序条子程序条件返回指令件返回指令CRET结束条件成立,结束条件成立,结束子程序,返结束子程序,返回调用处。回调用处。子程序无条子程序无条件返回指令件返回指令无无RET子程序无条件返子程序无条件返回,系统自动生回,系统自动生成。成。7.6子程序子程序(续续)7.6.27.6.2子程序指令子程序指令使用说明使用说明: :CPU221CPU221、CPU222CPU222、CPU224CPU224最多可以有最多可以有6464个子程序,个子程序,CPU224XPCPU224XP、CPU226CPU226最多可以有最多

46、可以有128128个子程序。个子程序。如果子程序的内部又对另一子程序执行调用指令,则这种如果子程序的内部又对另一子程序执行调用指令,则这种子程序称为嵌套,子程序的嵌套深度最多为子程序称为嵌套,子程序的嵌套深度最多为8 8级。级。当一个子程序被调用时,系统自动保存当前的堆栈值,并当一个子程序被调用时,系统自动保存当前的堆栈值,并把栈顶置把栈顶置1 1,堆栈中其他值为,堆栈中其他值为0 0,子程序占有控制权,子程序,子程序占有控制权,子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。程序又重新取得控制权。当子程序在一

47、个周期内多次被调用时,子程序中不能使用当子程序在一个周期内多次被调用时,子程序中不能使用上升沿、下降沿、定时器和计数器指令。上升沿、下降沿、定时器和计数器指令。累加器可以在调用程序和被调用子程序之间自由传递,所累加器可以在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时即不保存也不恢复。以累加器的值在子程序调用时即不保存也不恢复。7.7.17.7.1中断的分类及中断优先级中断的分类及中断优先级 1.1.中断的分类中断的分类 (7.7 中中 断断中断的类别中断的类别通讯中断(通讯中断(6个)个)I/O中断中断时基中断时基中断输入中断(输入中断(8个)个)输出中断输出中断高速计数器

48、中断(高速计数器中断(14个)个)高速脉冲输出中断(高速脉冲输出中断(2个)个)定时中断(定时中断(2个)个)定时器中断(定时器中断(2个)个)2.中断优先级别中断优先级别(1 1)通信中断(最高优先级)通信中断(最高优先级)(2 2)输入)输入/ /输出中断(中等优先级)输出中断(中等优先级)(3 3)时基中断(最低优先级)时基中断(最低优先级)7.7 中中 断断(续续)3.中断排队中断排队4.CPU4.CPU响应中断的原则响应中断的原则当不同优先级别的中断事件同时发出申请中当不同优先级别的中断事件同时发出申请中断时断时,CPU,CPU先响应优先级别高的中断事件。先响应优先级别高的中断事件。

49、在相同优先级别的中断事件中在相同优先级别的中断事件中,CPU,CPU按先来先按先来先服务的原则处理中断事件。服务的原则处理中断事件。CPUCPU任何时刻只执行一个中断程序任何时刻只执行一个中断程序. .当当CPUCPU正在正在处理某中断时处理某中断时, ,不会被别的中断程序甚至是更优不会被别的中断程序甚至是更优先级别更高的中断程序所打断先级别更高的中断程序所打断, ,一直执行到结束一直执行到结束. .新出现的中断事件需要排队新出现的中断事件需要排队, ,等待处理。等待处理。7.7 中中 断断(续续)7.7.27.7.2中断指令中断指令梯形图梯形图 语句表语句表指令功能指令功能ATCH INT,

50、EVNT中断连接指令中断连接指令:用来建立中断事件用来建立中断事件(EVNT)与与中断程序中断程序(INT)之间的联系之间的联系DTCH EVNT中断分离指令中断分离指令:用来断开中断事件用来断开中断事件(EVNT)与与中断程序中断程序(INT)之间的联系之间的联系ENI开中断开中断: :全局性地允许所有被连接的中断事全局性地允许所有被连接的中断事件件DISI 关中断关中断: :全局性地禁止所有的中断事件全局性地禁止所有的中断事件 7.7 中中 断断(续续)7.7.37.7.3中断程序的构成中断程序的构成 1.1.中断程序的组成:中断程序的组成: 中断程序的名称、中断程序指令、中断程序无条件中

51、断程序的名称、中断程序指令、中断程序无条件返回指令返回指令 2.2.中断程序的编写要求:中断程序的编写要求: 短小精悍、执行时间短。短小精悍、执行时间短。 3.3.编制方法编制方法 用编程软件时用编程软件时,在,在“编辑编辑”菜单下菜单下“插入插入”中中选择选择“中断中断”,则自主的生成一个新的中断程序编,则自主的生成一个新的中断程序编号,进入该程序的编辑区,在此即可编写中断程序。号,进入该程序的编辑区,在此即可编写中断程序。7.7 中中 断断(续续) 例例1:1:对模拟量输入信号对模拟量输入信号AIW0AIW0每隔每隔10ms10ms采样一次采样一次. .中断编程举例中断编程举例主程序主程序

52、中断程序中断程序 例例2:2:在在I0.0的上升沿通过中断使的上升沿通过中断使Q0.0立即置位立即置位, ,在在I0.1的下降沿通过中断使的下降沿通过中断使Q0.0立即复位立即复位中断编程举例中断编程举例主程序主程序中断程序中断程序0中断程序中断程序1 例例3:3:定时中断的定时时间最大为定时中断的定时时间最大为255sm,255sm,用定时中断用定时中断0 0实现周期为实现周期为2s2s的高精度定时的高精度定时. .中断编程举例中断编程举例主程序主程序中断程序中断程序0 例例4:4:使用定时中断实现对使用定时中断实现对100ms100ms定时周期进行计数定时周期进行计数. .中断编程举例中断

53、编程举例主程序主程序中断程序中断程序07.8.17.8.1高速计数器介绍高速计数器介绍1.1.数量及编号数量及编号 CPUCPU类型类型CPU221CPU221CPU222CPU222CPU224CPU224CPU226CPU226高速计数高速计数器个数器个数4个4个6个6个高速计数高速计数器编号器编号HC0HC3-HC5HC0HC3-HC5HC0-HC5HC0-HC5 7.8高速计数器指令高速计数器指令 2.2.中断事件类型中断事件类型高速计数器的中断事件类型有高速计数器的中断事件类型有3 3种种: :(1)(1)当前值等于设定值中断当前值等于设定值中断(2)(2)输入方向改变中断输入方向改

54、变中断(3)(3)外部复位中断外部复位中断7.8.17.8.1高速计数器介绍高速计数器介绍3.3.高速计数器的工作模式高速计数器的工作模式(1)(1)高速计数器的计数方式高速计数器的计数方式 单相计数单相计数, ,内部方向控制内部方向控制; ; 单相计数单相计数, ,外部方向控制外部方向控制; ; 双相增双相增/ /减计数减计数, ,双脉冲输入双脉冲输入 A/BA/B相正交脉冲输入计数相正交脉冲输入计数(2)(2)计数器的工作模式计数器的工作模式 无复位无复位, ,无启动输入无启动输入; ; 有复位有复位, ,无启动输入无启动输入; ; 有复位有复位, ,有启动输入有启动输入; ; 7.8高速

55、计数器指令高速计数器指令 (3)(3)高速计数器的输入点和工作模式高速计数器的输入点和工作模式 模式模式描述描述占用的输入端子及功能占用的输入端子及功能HSC0I0.0I0.1I0.2HSC1I0.6I0.7I0.2I1.1HSC2I1.2I1.3I1.1I1.5HSC3I0.1HSC4I0.3I0.4I0.5HSC5I0.40带有内部方向控制带有内部方向控制的单相计数器的单相计数器时钟时钟1时钟时钟复位复位2时钟时钟复位复位启动启动3带有外部方向控制带有外部方向控制的单相计数器的单相计数器时钟时钟方向方向4时钟时钟方向方向复位复位5时钟时钟方向方向复位复位启动启动6带有增减计数时钟的带有增减

56、计数时钟的双相计数器双相计数器增时钟增时钟减时钟减时钟7增时钟增时钟减时钟减时钟复位复位8增时钟增时钟减时钟减时钟复位复位启动启动9A/BA/B正交计数器正交计数器时钟时钟A A时钟时钟B B10时钟时钟A A时钟时钟B B复位复位11时钟时钟A A时钟时钟B B复位复位启动启动7.8.27.8.2高速计数器指令高速计数器指令高速计数器指令格式高速计数器指令格式指令名称指令名称梯形图梯形图语句表语句表指令功能指令功能定义高速计数器指令定义高速计数器指令 (Hight Speed Counter Definition) 使使能能输输入入有有效效时时,为为指指定定的的高高速速计计数数器器分分配配一

57、一种种工工作作模模式式,即即用用来来建建立立高高速速计计数数器器与与工工作作模模式之间的联系。式之间的联系。高速计数器指令高速计数器指令 (Hight Speed Counter)使能输入有效时,使能输入有效时,根据高速计数器特根据高速计数器特殊存储器位的状态,殊存储器位的状态,并按照并按照HDEF指令指指令指定的工作模式,设定的工作模式,设置高速计数器并控置高速计数器并控制其工作。制其工作。HDEF HSC,MODEHSC N1 1、高速计数器使用的特殊继电器、高速计数器使用的特殊继电器高速计数高速计数器编号器编号状态字节状态字节控制字节控制字节初始值初始值预设值预设值当前值当前值HSC0S

58、MB36SMB37SMD38SMD42HC0HSC1SMB46SMB47SMD48SMD52HC1HSC2SMB56SMB57SMD58SMD62HC2HSC3SMB136SMB137SMD138SMD142HC3HSC4SMB146SMB147SMD148SMD152HC4HSC5SMB156SMB157SMD158SMD162HC57.8.37.8.3高速计数器的使用方法高速计数器的使用方法HSC0HSC1HSC2HSC3HSC4HSC5含含 义义SM36.0SM46.0SM56.0SM136.0SM146.0SM156.0未未 用用SM36.1SM46.1SM56.1SM136.1SM1

59、46.1SM156.1SM36.2SM46.2SM56.2SM136.2SM146.2SM156.2SM36.3SM46.3SM56.3SM136.3SM146.3SM156.3SM36.4SM46.4SM56.4SM136.4SM146.4SM156.4SM36.5SM46.5SM56.5SM136.5SM146.5SM156.5当前计数方向状态位当前计数方向状态位0=0=减计数减计数;1=;1=加计数加计数SM36.6SM46.6SM56.6SM136.6SM146.6SM156.6当前值等于预设值状态位当前值等于预设值状态位0=0=不等于不等于;1=;1=等于等于SM36.7SM46.7

60、SM56.7SM136.7SM146.7SM156.7当前值大于预设值状态位当前值大于预设值状态位0=0=小于、等于小于、等于;1=;1=大于大于7.8.37.8.3高速计数器的使用方法高速计数器的使用方法( (续续) )1)1)状态字节状态字节HSC0HSC1HSC2HSC3HSC4HSC5含含 义义适用的适用的HSCHSCSM37.0SM47.0SM57.0SM137.0SM147.0SM157.0复位有效电平复位有效电平: :0=0=高电平有效高电平有效;1=;1=低电平有效低电平有效0,1,2,4SM37.1SM47.1SM57.1SM137.1SM147.1SM157.1启动有效电平

61、启动有效电平: :0=0=高电平有效高电平有效;1=;1=低电平有效低电平有效1,2SM37.2SM47.2SM57.2SM137.2SM147.2SM157.2正交计数器的倍率选择正交计数器的倍率选择: :0=40=4倍率倍率;1=1;1=1倍率倍率0,1,2,4SM37.3SM47.3SM57.3SM137.3SM147.3SM157.3计数方向控制位计数方向控制位: :0=0=减计数减计数;1=;1=加计数加计数0,1,2,3,4,5SM37.4SM47.4SM57.4SM137.4SM147.4SM157.4向向HSCHSC写入计数方向写入计数方向0=0=不更新不更新;1=;1=更新更

62、新0,1,2,3,4,5SM37.5SM47.5SM57.5SM137.5SM147.5SM157.5向向HSCHSC写入新的预设值写入新的预设值0=0=不更新不更新;1=;1=更新更新0,1,2,3,4,5SM37.6SM47.6SM57.6SM137.6SM147.6SM157.6向向HSCHSC写入新的初始值写入新的初始值0=0=不更新不更新;1=;1=更新更新0,1,2,3,4,5SM37.7SM47.7SM57.7SM137.7SM147.7SM157.7启用启用HSC:HSC:0=0=关关HSC;1=HSC;1=开开HSCHSC0,1,2,3,4,57.8.37.8.3高速计数器的

63、使用方法高速计数器的使用方法( (续续) )2)2)控制字节控制字节计数器号计数器号HSC0HSC1HSC2HSC3HSC4HSC5初始值初始值SMD38SMD48SMD58SMD138SMD148SMD158预设值预设值SMD42SMD52SMD62SMD142SMD152SMD162当前值当前值HC0HC1HC2HC3HC4HC57.8.37.8.3高速计数器的使用方法高速计数器的使用方法( (续续) )3)3)高速计数器的数值寻址高速计数器的数值寻址2. 2. 使用高速计数器编程步骤使用高速计数器编程步骤1)1)对高速计数器进行初始化对高速计数器进行初始化7.8.37.8.3高速计数器的

64、使用方法高速计数器的使用方法( (续续)选择计数器号及工作模式选择计数器号及工作模式 设置控制字节设置控制字节 执行执行HDEFHDEF指令指令设定当前值和预设值设定当前值和预设值设置中断事件并全局开中断设置中断事件并全局开中断 执行执行HSCHSC指令指令, ,激活高速计数器激活高速计数器 若计数器在运行中改变设置须执行下列工作若计数器在运行中改变设置须执行下列工作: :根据需要来设置控制字节根据需要来设置控制字节 设置计数器方向设置计数器方向( (可选可选) ) 设定初始值和预设值设定初始值和预设值( (可选可选) )执行执行HSCHSC指令指令 例例1:1:要要对对一一高高速速事事件件精

65、精确确控控制制,计计数数方方向向用用一一个个外外部部信信号号控控制制,并并能能实实现现外外部部复复位位。计计数数当当前前值值达达到到2424产产生生中中断断,重重新新从从0 0计计数数,对对中中断断次次数数进进行行累累计计。所所用用的的主主机机型型号号为为CPU221CPU221。设计步骤:设计步骤:选择高速计数器选择高速计数器HC0HC0,并确定工作方式并确定工作方式4 4。令令SM37=16#F8 SM37=16#F8 执行执行HDEFHDEF指令,输入端指令,输入端HCHC为为0 0,MODEMODE为为4 4。装入当前值,令装入当前值,令SMD38=0SMD38=0。装入设定值,令装入

66、设定值,令SMD42=24SMD42=24。执行中断连接执行中断连接ATCHATCH指令,输入端指令,输入端INTINT为为INT0INT0,EVNTEVNT为为1212。 高速计数器应用举例高速计数器应用举例主程序主程序初始化子程序初始化子程序SBR-0SBR-0PLCPLC程序程序: :中断程序中断程序例例2:2:设设置置一一个个两两相相正正交交4 4倍倍高高速速计计数数器器, ,计计数数当当前前值值为为10001000时时, ,当当前前值值清清0,0,继继续续计计数数到到1000,1000,该该计计数数器器有有启启动动和和复复位位输输入入端端, ,所所用用的的主主机机型型号号为为CPU2

67、26CPU226。高速计数器应用举例高速计数器应用举例主程序主程序: :初始化程序初始化程序: :中断中断: :7.107.10高速脉冲输出指令高速脉冲输出指令 7.10.17.10.1、高速脉冲输出的基本概念、高速脉冲输出的基本概念1.1.具有高速脉冲输出端的具有高速脉冲输出端的PLCPLC主机的输出类型主机的输出类型: :晶体管输出晶体管输出 2.2.输出端子的确定输出端子的确定:Q0.0:Q0.0、Q0.1 Q0.1 3.3.高速脉冲的输出方式高速脉冲的输出方式: :高速脉冲串输出(高速脉冲串输出(PTOPTO):可以控制输出一串占空比为):可以控制输出一串占空比为50%50%的脉冲。的

68、脉冲。宽度可调脉冲输出(宽度可调脉冲输出(PWM):可以控制输出一串占空比可调的脉冲。):可以控制输出一串占空比可调的脉冲。7.10.27.10.2高速脉冲指令及特殊寄存器高速脉冲指令及特殊寄存器1.1.特殊标志寄存器特殊标志寄存器Q0.0Q0.1名称及功能描述名称及功能描述SMB66SMB76状态字节状态字节, ,在在PTOPTO方式下方式下, ,跟踪脉冲串的输出状态跟踪脉冲串的输出状态SMB67SMB77控制字节控制字节, ,控制控制PTO/PWMPTO/PWM脉冲输出的基本功能脉冲输出的基本功能SMW68SMW78周期值周期值,PTO/PWM,PTO/PWM周期值周期值, ,数字类型数字

69、类型: :字字范围范围:2-65535ms:2-65535ms或或10-6553510-65535s sSMW70SMW80PWMPWM脉宽值脉宽值, ,数字类型数字类型: :字字 范围范围:0-65535(ms:0-65535(ms或或s)s)SMD72SMD82PTOPTO脉冲数脉冲数, ,数字类型数字类型: :双字双字 范围范围:1-4,294,967,295:1-4,294,967,295SMB166SMB176段号段号, ,多段管线多段管线PTOPTO进行中的段的编号进行中的段的编号SMW168SMW178多段管线多段管线PTOPTO包络表起始字节的地址包络表起始字节的地址(1)(1

70、)状态字节中每一位的含义状态字节中每一位的含义状态位状态位SMX6.0SMX6.3SMX6.4SMX6.5SMX6.6SMX6.7 功能功能描述描述不用不用PTOPTO因增因增量计算错量计算错误终止误终止0:0:无错无错1:1:有错有错PTOPTO因用因用户命令终户命令终止止0:0:无错无错1:1:终止终止PTOPTO管线管线溢出溢出0:0:无溢出无溢出1:1:有溢出有溢出PTOPTO空闲空闲0:0:执行中执行中1:1:空闲空闲注注: :状态字节只用于状态字节只用于PTOPTO输出输出Q0.0 的的控制位控制位Q0.1 的的控制位控制位功能描述功能描述SM67.0 SM77.0PTO/PWMP

71、TO/PWM更新周期值更新周期值,0:,0:不更新不更新;1:;1:允许更新允许更新SM67.1 SM77.1PWMPWM更新脉冲宽度更新脉冲宽度, 0:, 0:不更新不更新;1:;1:允许更新允许更新SM67.2 SM77.2PTOPTO更新输出脉冲数更新输出脉冲数, 0:, 0:不更新不更新;1:;1:允许更新允许更新SM67.3 SM77.3PTO/PWMPTO/PWM时间基准选择时间基准选择:0:0: s s单位时基单位时基,1: ,1: m ms s单位时基单位时基SM67.4 SM77.4PWMPWM更新方式更新方式:0:0:异步更新异步更新;1:;1:同步更新同步更新SM67.5

72、 SM77.5PTOPTO单单/ /多段方式多段方式:0:0:单段管线单段管线;1:;1:多段管线多段管线SM67.6 SM77.6PTO/PWMPTO/PWM模式选择模式选择:0:0:选用选用PTOPTO模式模式;1:;1:选用选用PWMPWM模式模式SM67.7 SM77.7PTO/PWMPTO/PWM脉冲输出脉冲输出:0:0:禁止禁止;1:;1:允许允许(2)(2)控制字节控制字节2.2.脉脉 冲冲 输输 出出 指指 令令 (Pulse (Pulse Output)Output) 功能描述:检测用程序设置的特殊存储器位,激活由控制器功能描述:检测用程序设置的特殊存储器位,激活由控制器定义

73、的脉冲操作,从定义的脉冲操作,从Q0.0Q0.0和和Q0.1Q0.1输出高速脉冲。输出高速脉冲。PTOPTO输出和输出和PWMPWM输出都由输出都由PLSPLS指令激活指令激活. .梯形图梯形图:语句表语句表:PLS Q 7.10.3 PTO7.10.3 PTO的使用的使用1.周期和脉冲数周期和脉冲数周周期期:单单位位可可以以是是微微秒秒s或或毫毫秒秒ms;为为16位位无无符符号号数数据据,周周期期变变化化范范围围是是5065535s或或265535ms,通通常常应应设设定定周周期期值值为为偶偶数数,若若设设置置为为奇奇数数,则则会会引引起起输输出出波波形形占占空空比比的的轻轻微微失失真真。如

74、如果果编编程程时时设设定定周周期期单单位小于位小于最小值最小值,系统默认按,系统默认按最小值最小值进行设置。进行设置。脉脉冲冲数数:用用双双字字长长无无符符号号数数表表示示,脉脉冲冲数数取取值值范范围围是是14294967295之之间间。如如果果编编程程时时指指定定脉脉冲冲数数为为0,则则系统默认脉冲数为系统默认脉冲数为1个。个。Q0.0 的的控制位控制位Q0.1 的的控制位控制位功能描述功能描述SM67.0 SM77.0PTO/PWMPTO/PWM更新周期值更新周期值,0:,0:不更新不更新;1:;1:允许更新允许更新SM67.1 SM77.1PWMPWM更新脉冲宽度更新脉冲宽度, 0:,

75、0:不更新不更新;1:;1:允许更新允许更新SM67.2 SM77.2PTOPTO更新输出脉冲数更新输出脉冲数, 0:, 0:不更新不更新;1:;1:允许更新允许更新SM67.3 SM77.3PTO/PWMPTO/PWM时间基准选择时间基准选择:0:0: s s单位时基单位时基,1: ,1: m ms s单位时基单位时基SM67.4 SM77.4PWMPWM更新方式更新方式:0:0:异步更新异步更新;1:;1:同步更新同步更新SM67.5 SM77.5PTOPTO单单/ /多段方式多段方式:0:0:单段管线单段管线;1:;1:多段管线多段管线SM67.6 SM77.6PTO/PWMPTO/PW

76、M模式选择模式选择:0:0:选用选用PTOPTO模式模式;1:;1:选用选用PWMPWM模式模式SM67.7 SM77.7PTO/PWMPTO/PWM脉冲输出脉冲输出:0:0:禁止禁止;1:;1:允许允许(2)(2)控制字节控制字节7.10.27.10.2高速脉冲指令及特殊寄存器高速脉冲指令及特殊寄存器1.1.特殊标志寄存器特殊标志寄存器Q0.0Q0.1名称及功能描述名称及功能描述SMB66SMB76状态字节状态字节, ,在在PTOPTO方式下方式下, ,跟踪脉冲串的输出状态跟踪脉冲串的输出状态SMB67SMB77控制字节控制字节, ,控制控制PTO/PWMPTO/PWM脉冲输出的基本功能脉冲

77、输出的基本功能SMW68SMW78周期值周期值,PTO/PWM,PTO/PWM周期值周期值, ,数字类型数字类型: :字字范围范围:2-65535ms:2-65535ms或或10-6553510-65535s sSMW70SMW80PWMPWM脉宽值脉宽值, ,数字类型数字类型: :字字 范围范围:0-65535(ms:0-65535(ms或或s)s)SMD72SMD82PTOPTO脉冲数脉冲数, ,数字类型数字类型: :双字双字 范围范围:1-4,294,967,295:1-4,294,967,295SMB166SMB176段号段号, ,多段管线多段管线PTOPTO进行中的段的编号进行中的段

78、的编号SMW168SMW178多段管线多段管线PTOPTO包络表起始字节的地址包络表起始字节的地址2.PTO的种类的种类单段管线单段管线:管线中只能存放一个脉冲串的控制参数管线中只能存放一个脉冲串的控制参数(即即入口入口),一旦启动了一个脉冲串进行输出时,就必须,一旦启动了一个脉冲串进行输出时,就必须利用指令按照对下一脉冲串波形的要求立即更新特殊利用指令按照对下一脉冲串波形的要求立即更新特殊寄存器寄存器,并再次执行脉冲串输出指令并再次执行脉冲串输出指令.当前脉冲串输出当前脉冲串输出完成后完成后,自动输出下一个脉冲串重复这一操作可实现自动输出下一个脉冲串重复这一操作可实现多个脉冲串的连续输出多个

79、脉冲串的连续输出. 多段管线多段管线:是指在变量是指在变量V存储器区中建立一个包络表。存储器区中建立一个包络表。包络表中存储各个脉冲串的参数,相当于有多个脉冲包络表中存储各个脉冲串的参数,相当于有多个脉冲串的入口。使用串的入口。使用PLS指令启动,指令启动,CPU自动从包络表中自动从包络表中按顺序读出每个脉冲串的参数进行输出。一个包络表按顺序读出每个脉冲串的参数进行输出。一个包络表可以包含可以包含1255个脉冲串个脉冲串.7.10.3 PTO7.10.3 PTO的使用的使用( (续续) )3.段包络表格式段包络表格式字节偏移地址字节偏移地址名称名称描述描述VBVBn n段标号段标号段数,为段数

80、,为12551255,数,数0 0将产生非致命错误,不产生将产生非致命错误,不产生PTOPTO输出输出VWVWn+1n+1段段1 1初始周期,取值为初始周期,取值为265535265535msms或或50-65535 50-65535 s sVWVWn+3n+3每个周期的脉冲增量,取值范围每个周期的脉冲增量,取值范围-32767-+32767-32767-+32767msms或或 s sVDVDn+5n+5输出脉冲数,取值范围输出脉冲数,取值范围1429496729514294967295VWVWn+9n+9段段2 2初始周期,取值为初始周期,取值为265535265535msms或或50-6

81、5535 50-65535 s sVWVWn+11n+11每个周期的脉冲增量,取值范围每个周期的脉冲增量,取值范围-32767-+32767-32767-+32767VDVDn+13n+13输出脉冲数,取值范围输出脉冲数,取值范围1429496729514294967295VWVWn+17n+17段段3 3初始周期,取值为初始周期,取值为265535265535msms或或50-65535 50-65535 s sVWVWn+19n+19每个周期的脉冲增量,取值范围每个周期的脉冲增量,取值范围-32767-+32767-32767-+32767VDVDn+21n+21输出脉冲数,取值范围输出脉

82、冲数,取值范围14294967295142949672957.10.3 PTO7.10.3 PTO的使用的使用( (续续) )4.中断事件类型中断事件类型PTO输输出出可可以以采采用用中中断断方方式式进进行行控控制制,各各种种型型号号的的PLC可可用用的的PTO输输出出的的中中断断事事件件有有两个,分别为:两个,分别为: 中断事件中断事件19:PTO0脉冲串输出完成中断脉冲串输出完成中断 中断事件中断事件20: PTO1脉冲串输出完成中断脉冲串输出完成中断7.10.3 PTO7.10.3 PTO的使用的使用( (续续) )5.PTO的使用的使用1)单管线编程步骤)单管线编程步骤 对单管线程序组

83、成对单管线程序组成 :主程序、初始化子程序,中断程序(可选)主程序、初始化子程序,中断程序(可选) 初始化子程序中编写步骤初始化子程序中编写步骤: :设置设置PTO控制字节;控制字节;写入第一脉冲的周期值写入第一脉冲的周期值写入第一脉冲串所要发出的脉冲数写入第一脉冲串所要发出的脉冲数连接中断事件和中断程序,允许中断(可选)连接中断事件和中断程序,允许中断(可选)执行执行PLS指令指令根根据据修修改改的的内内容容,写写入入控控制制字字节节,为为更更改改周周期期值值和和脉脉冲冲个个数数作作准备准备如如果果要要修修改改PTO的的周周期期、脉脉冲冲数数,可可以以在在子子程程序序或或中中断断程程序序中中

84、执执行;行;写入周期数或脉冲数写入周期数或脉冲数执行执行PLS指令指令6.PTO编程举例编程举例例例 1.Q0.0输输 出出 脉脉 冲冲 串串 :第第 一一 个个 脉脉 冲冲 串串 周周 期期 值值 为为500ms,脉脉冲冲个个数数为5个个;I0.0接接通通第第二二个个脉脉冲冲串串周周期期值为1000ms,脉脉冲冲个个数数为5个个;下下一一个个脉脉冲冲串串周周期期值值为为500ms,脉冲个数脉冲个数为5个个;程序程序组成成:一一个个主主程程序序:一一次次性性调用用初初始始化化子子程程序序SBR-0,I0.0接通接通时调用用SBR-1,改,改变周期数周期数.SBR-0:设定定第第一一个个脉脉冲冲

85、串串的的脉脉冲冲个个数数、周周期期并并发出出起始脉冲串起始脉冲串.SBR-1:改:改变脉冲串周期并脉冲串周期并发出第二个脉冲串出第二个脉冲串.控制系统程序控制系统程序 主程序主程序: 写入控制字节,准备装入周期值和脉冲个数写入控制字节,准备装入周期值和脉冲个数装入周期值装入周期值500ms装入脉冲个数装入脉冲个数5执行执行PLS指令,编程指令,编程Q0.0为为PTO模式模式再写入控制字节,为更改周期值做准备再写入控制字节,为更改周期值做准备SBR-0子程序子程序:控制系统程序控制系统程序 周期为周期为改为改为10001000ms,ms,写入特殊寄存器写入特殊寄存器执行执行PLSPLS指令指令,

86、 ,确认更改生效并发出脉冲串确认更改生效并发出脉冲串从子程序中返回从子程序中返回如果当前周期为如果当前周期为10001000ms,ms,将其改为将其改为500500ms,ms,写入特殊寄存器写入特殊寄存器. .执行执行PLSPLS指令指令, ,确认更改生效并发出脉冲串确认更改生效并发出脉冲串SBR-1子程序子程序:控制系统程序控制系统程序从子程序中返回从子程序中返回6.PTO的使用的使用(续续)2)多段管)多段管线编程步程步骤多段多段管线程序主要组成管线程序主要组成 :主程序(调用初始化子程序)、初始化子程主程序(调用初始化子程序)、初始化子程序、包络表子程序,中断程序(可选)序、包络表子程序

87、,中断程序(可选) 初始化子程序编程步骤:初始化子程序编程步骤:设置控制字置控制字节,按要求将控制字,按要求将控制字节写入写入SMB67和和SMB77中;中;装入包装入包络表首字表首字节地址到地址到SMW168中或中或SMW178中;中;调用包用包络表子程序表子程序执行中断事件和中断程序(可行中断事件和中断程序(可选),并全局开中断;),并全局开中断;指定高速脉冲指定高速脉冲输出端出端为Q0.0或或Q0.1,并,并执行行PLS指令。指令。包络表子程序中的周期增量的计算公式:包络表子程序中的周期增量的计算公式: 周期增量周期增量= (TEC-TIC)/Q TEC:该段段结束周期束周期时间 TIC

88、:该段初始周期段初始周期时间 Q:该段的脉冲数量段的脉冲数量PTO编程举例编程举例例例2:控制要求控制要求 步步进进电电机机转转动动过过程程中中,要要从从A点点加加速速到到B点点后后恒恒速速运运行行,又又从从C点点开开始始减减速速到到D点点,完完成成这这一一过过程程时时用用指指示示灯灯显显示示。电电机机的的转转动动受受脉脉冲冲控控制制,A点点和和D点点的的脉脉冲冲频频率率为为2kHz,B点点和和C点点的的频频率率为为10kHz,加加速速过过程程的的脉脉冲冲数数为为400个个,恒恒速速转转动动的的脉脉冲冲数数为为4000个个,减减速速过过程程脉脉冲冲数数为为200个。个。工作过程如下图所示。工作

89、过程如下图所示。 1.1.建立包络表建立包络表V V变量存储地址变量存储地址名称名称实际功能实际功能参数名称参数名称参数值参数值VBVB400400段数段数决定连续输出脉冲决定连续输出脉冲串的数量串的数量总包络表段数总包络表段数3VWVW401401段段1 1电动机加速阶段电动机加速阶段初始周期初始周期500 sVWVW403403周期增量周期增量-1 sVDVD405405输出脉冲输出脉冲400VWVW409409 段段2 2电动机恒速阶段电动机恒速阶段初始周期初始周期100 sVWVW411411周期增量周期增量0 sVDVD413413输出脉冲输出脉冲4000VWVW417417 段段3

90、 3电动机减速阶段电动机减速阶段初始周期初始周期100 sVWVW419419周期增量周期增量2 sVDVD421421输出脉冲输出脉冲2007.10.27.10.2高速脉冲指令及特殊寄存器高速脉冲指令及特殊寄存器1.1.特殊标志寄存器特殊标志寄存器Q0.0Q0.1名称及功能描述名称及功能描述SMB66SMB76状态字节状态字节, ,在在PTOPTO方式下方式下, ,跟踪脉冲串的输出状态跟踪脉冲串的输出状态SMB67SMB77控制字节控制字节, ,控制控制PTO/PWMPTO/PWM脉冲输出的基本功能脉冲输出的基本功能SMW68SMW78周期值周期值,PTO/PWM,PTO/PWM周期值周期值

91、, ,数字类型数字类型: :字字范围范围:2-65535ms:2-65535ms或或10-6553510-65535s sSMW70SMW80PWMPWM脉宽值脉宽值, ,数字类型数字类型: :字字 范围范围:0-65535(ms:0-65535(ms或或s)s)SMD72SMD82PTOPTO脉冲数脉冲数, ,数字类型数字类型: :双字双字 范围范围:1-4,294,967,295:1-4,294,967,295SMB166SMB176段号段号, ,多段管线多段管线PTOPTO进行中的段的编号进行中的段的编号SMW168SMW178多段管线多段管线PTOPTO包络表起始字节的地址包络表起始字

92、节的地址本本控控制制系系统统由由主主程程序序、初初始始化化子子程程序序SBR_0SBR_0、包包络络表表子子程序程序SBR_1SBR_1和中断程序如图组成。和中断程序如图组成。主程序:主程序:控制系统程序控制系统程序中断程序:中断程序:子程序子程序SBR-0装入控装入控制字节制字节装入包络装入包络表起始地址表起始地址调用包络表子程调用包络表子程序序将中断事件与中将中断事件与中断事件号断事件号1919联系联系起来起来全局开中断全局开中断执行高速脉冲输执行高速脉冲输出指令出指令包络表子程序包络表子程序SBR-1:1.周期和脉冲宽度周期和脉冲宽度 周期:单位可以是微秒周期:单位可以是微秒s或毫秒或毫

93、秒ms;为;为16位无符位无符号数据,周期变化范围是号数据,周期变化范围是5065535s或或265535ms. 脉冲宽度脉冲宽度:065535 s或或 265535ms,如果脉冲周如果脉冲周期小于最小期小于最小值,系,系统自自动默默认为最小最小值; 如果脉如果脉冲冲宽度度=0,工作循,工作循环为0%,输出出长期期为0;如果;如果脉冲脉冲宽度度 脉冲周期,工作循脉冲周期,工作循环为100%,输出出长期期为1。 . 7.10.4 PWM7.10.4 PWM的使用的使用 2.更新方式更新方式 同步更新同步更新: :如果不改变时基如果不改变时基,可以执行同步更可以执行同步更新新.同步更新时同步更新时

94、,波形的变化发生在周期的边波形的变化发生在周期的边缘缘,形成平滑转换形成平滑转换. 异异步步更更新新:如如果果要要求求改改变变时时基基,只只能能使使用用异异步步更新更新. 异异步步更更新新有有时时会会引引起起脉脉冲冲输输出出功功能能被被瞬瞬时时禁禁止止,或或波波形形不不同同步步,引引发发被被控控制制的的设设备备振振动动. 因因此建议尽量使用同步更新此建议尽量使用同步更新 一一定定事事先先选选择择一一个个适适合合与与所所有有时时间间周周期期的的时时间基准间基准.7.10.4 PWM7.10.4 PWM的使用的使用( (续续) ) 3.PWM的使用的使用1)PWMPWM使用步骤:使用步骤:程序组成

95、:程序组成:主程序、初始化子程序、中断程序(可选)主程序、初始化子程序、中断程序(可选)初始化子程序:初始化子程序:设置第一个脉冲串的控制字节,按要求设置设置第一个脉冲串的控制字节,按要求设置SMB67或或MBS77写入第一个脉冲周期值和脉冲宽度,按要求将周期值写写入第一个脉冲周期值和脉冲宽度,按要求将周期值写入入SMW68或或SMW78,脉宽值写入,脉宽值写入SMW70或或SMW80执行执行PLS指令指令 7.10.4 PWM7.10.4 PWM的使用的使用( (续续) ) 主程序主程序:例例1:1:设计一程序设计一程序, ,从从Q0.0Q0.0输出一串脉冲输出一串脉冲, ,该脉冲宽度的初始

96、值该脉冲宽度的初始值为为0.50.5秒秒, ,周期固定为周期固定为5 5秒秒, , 其脉宽每周期其脉宽每周期递增递增0.50.5秒秒, , 当脉宽当脉宽达到达到4.54.5秒时秒时, ,脉宽每脉宽每周期递减周期递减0.50.5秒秒, ,直到直到脉宽减为脉宽减为0 0为止为止, ,以上以上过程重复进行过程重复进行. .2)PWM编程举例编程举例初始化子程初始化子程序序SBR-0:装入初始脉宽值装入初始脉宽值装入周期值装入周期值初始化控制输入字节初始化控制输入字节装入最大脉宽值装入最大脉宽值启动启动PWM脉冲宽度小于脉冲宽度小于4.5秒秒M0.0为为1全局开中断全局开中断中断程序中断程序:INT-

97、0中断程序中断程序:INT-17.11PLC7.11PLC对模拟量的处理及对模拟量的处理及 PID PID 指令指令 7.11.1 PLC7.11.1 PLC对模拟量的处理对模拟量的处理1.S7-2001.S7-200对模拟量的处理能力对模拟量的处理能力 CPU221CPU221CPU222CPU222CPU224CPU224CPU224XPCPU224XPCPU226CPU226本机输入本机输入/ /输出输出6DI6DI4DO4DO8DI8DI6DO6DO14DI14DI10DO10DO14DI,2AI14DI,2AI10DO,1AO10DO,1AO24DI24DI16DO16DO数字量数字

98、量I/OI/O映像区映像区256(128256(128入入/128/128出出) )模拟量模拟量I/OI/O映像区映像区无无32(1632(16入入/16/16出出) )64(3264(32入入/32/32出出) ) 7.11.1 PLC7.11.1 PLC对模拟量的处理对模拟量的处理( (续续) )2.S7-2002.S7-200对模拟量的处理方法对模拟量的处理方法1)1)模拟量输入信号的处理模拟量输入信号的处理: :首先通过传感器和变送器将模拟量输入信号转换为标首先通过传感器和变送器将模拟量输入信号转换为标准量程的电压信号或电流信号准量程的电压信号或电流信号; ;PLCPLC通过模拟量输入

99、接口电路通过模拟量输入接口电路( (即即A/DA/D转换器转换器) )将输入的将输入的模拟量转换成数字量模拟量转换成数字量; ;将所该数字量将所该数字量进行归一化处理进行归一化处理. .2)2)模拟量输出信号的处理模拟量输出信号的处理: :PLCPLC将与模拟量输出相对应的将与模拟量输出相对应的存储单元的数据转换为存储单元的数据转换为按工程量标定的整数值按工程量标定的整数值, ,存在模拟量输出映像寄存器中存在模拟量输出映像寄存器中; ;PLCPLC通过模拟量输出接口电路通过模拟量输出接口电路( (即即D/AD/A转换器转换器) )将模拟量将模拟量输出映像寄存器的值转化成模拟量进行输出输出映像寄

100、存器的值转化成模拟量进行输出. .7.11.2 PID7.11.2 PID算法算法PID控制器的输入输出关系:控制器的输入输出关系:1.典型典型PID模拟量闭环控制系统图模拟量闭环控制系统图7.11.2 PID7.11.2 PID算法算法( (续续) )2. PID2. PID控制器中各部分的作用控制器中各部分的作用比例环节的作用比例环节的作用:对偏差作出及时响应。对偏差作出及时响应。积分环节的作用:可以消除系统静态误积分环节的作用:可以消除系统静态误差,提高精度,加强对系统参数变化的适差,提高精度,加强对系统参数变化的适应力。应力。微分环节的作用:可以克服惯性滞后,微分环节的作用:可以克服惯

101、性滞后,提高抗干扰能力和系统的稳定性,可以改提高抗干扰能力和系统的稳定性,可以改善系统的动态响应速度。善系统的动态响应速度。3.PID3.PID的组合选择的组合选择PD:关闭积分回路, Ti设为无穷大。虽然有初值,使积分项不为0,但其作用可忽略.PI:关闭微分回路, TD设为0。 ID:关闭比例回路, Kc设为0,但积分项和微分项与Kc有关,PLC约定,此时积分项和微分项的增益为1。7.11.2 PID7.11.2 PID算法算法( (续续) )7.11.2 PID7.11.2 PID算法算法( (续续) )PID控制器的输入输出关系:控制器的输入输出关系:典型典型PID模拟量闭环控制系统图模

102、拟量闭环控制系统图4、PID控制器的数字化控制器的数字化7.11.2 PID7.11.2 PID算法算法( (续续) )7.11.2 PID7.11.2 PID算法算法( (续续) ):第第N N个采样时刻的个采样时刻的PIDPID计算值计算值:PID:PID回路增益回路增益: :积分项前值积分项前值: :采样时间采样时间: :积分时间积分时间: :微分时间微分时间: :第第N N个采样时刻的设定值个采样时刻的设定值: :第第N N个采样时刻的过程变量值个采样时刻的过程变量值: :第第N-1N-1个采样时刻的过程变量值个采样时刻的过程变量值, ,参数参数地址偏移量地址偏移量数据格式数据格式I/

103、OI/O类型类型描述描述过程变量当前值过程变量当前值PVnPVn(反馈值)(反馈值)0 0双字,实数双字,实数I I过程变量,过程变量,0.01.00.01.0给定值给定值SPnSPn(设定植)(设定植)4 4双字,实数双字,实数I I给定值,给定值,0.01.00.01.0输出值输出值MnMn8 8双字,实数双字,实数I/OI/O输出值,输出值,0.01.00.01.0增益增益KcKc1212双字,实数双字,实数I I比例增益,正、负比例增益,正、负采样时间采样时间TsTs1616双字,实数双字,实数I I单位为单位为s,s,正数正数积分时间积分时间TiTi2020双字,实数双字,实数I I

104、单位为分钟单位为分钟, ,正数正数微分时间微分时间TdTd2424双字,实数双字,实数I I单位为分钟单位为分钟, ,正数正数积分项前值积分项前值MXMX2828双字,实数双字,实数I/OI/O积分项前值,积分项前值,0.00.10.00.1过程变量前值过程变量前值PVn-1PVn-1(反馈前项)(反馈前项)3232双字,实数双字,实数I/OI/O最近一次执行最近一次执行PIDPID指令指令的过程变量的过程变量PIDPID回路表回路表回路表回路表7.11.2 PID7.11.2 PID算法算法( (续续) )4、PID控制器的数字化控制器的数字化7.11.2 PID7.11.2 PID算法算法

105、( (续续) )7.11.3 PID 7.11.3 PID 回路控制指令回路控制指令 1.PID回路指令回路指令指令的功能指令的功能:当使能输入端逻辑运算结果为当使能输入端逻辑运算结果为1时时, 运用回路表运用回路表中的输入信息和组态信息,对中的输入信息和组态信息,对LOOP指定的回路进行指定的回路进行PID 运运算。算。TBL:回路表的起始字节地址,操作数限用回路表的起始字节地址,操作数限用VB区域区域(变量存储变量存储区区) LOOP:是回路号,可以是是回路号,可以是07的整数的整数 梯形图梯形图语句表语句表PID TBL,LOOP2.手动转换为自动操作方式时参数表的操作过程手动转换为自动

106、操作方式时参数表的操作过程1)使)使SPn(设定值)(设定值)=PVn(过程变量)(过程变量)2)使)使PVn = PVn-1(前一次过程变量)(前一次过程变量)3)使手动方式的输出值)使手动方式的输出值=Mn(输出值)(输出值)4)使)使Mn(输出值)(输出值)=MX(积分项前值)(积分项前值)7.10.3 PID 7.10.3 PID 回路控制指令回路控制指令( (续续) )7.11.3 PID 7.11.3 PID 回路控制指令回路控制指令 3.PID指令的使用指令的使用 使用使用PIDPID指令的主要步骤指令的主要步骤: :建立建立PID回路表回路表对输入采样数据进行归一化处理对输入采

107、样数据进行归一化处理对对PID输出数据进行工程量的转化输出数据进行工程量的转化1)1)建立建立PIDPID回路表回路表在执行在执行PID指令时指令时,要对要对PID回路表进行初始化处理回路表进行初始化处理,即将即将PID回路表中有关参数按照指定的地址写入到回路表中有关参数按照指定的地址写入到PID回路表相应的回路表相应的存储单元中存储单元中. 4、PID控制器的数字化控制器的数字化7.11.2 PID7.11.2 PID算法算法( (续续) )参数参数地址偏移量地址偏移量数据格式数据格式I/OI/O类型类型描述描述过程变量当前值过程变量当前值PVnPVn(反馈值)(反馈值)0 0双字,实数双字

108、,实数I I过程变量,过程变量,0.01.00.01.0给定值给定值SPnSPn(设定植)(设定植)4 4双字,实数双字,实数I I给定值,给定值,0.01.00.01.0输出值输出值MnMn8 8双字,实数双字,实数I/OI/O输出值,输出值,0.01.00.01.0增益增益KcKc1212双字,实数双字,实数I I比例增益,正、负比例增益,正、负采样时间采样时间TsTs1616双字,实数双字,实数I I单位为单位为s,s,正数正数积分时间积分时间TiTi2020双字,实数双字,实数I I单位为分钟单位为分钟, ,正数正数微分时间微分时间TdTd2424双字,实数双字,实数I I单位为分钟单

109、位为分钟, ,正数正数积分项前值积分项前值MXMX2828双字,实数双字,实数I/OI/O积分项前值,积分项前值,0.00.10.00.1过程变量前值过程变量前值PVn-1PVn-1(反馈前项)(反馈前项)3232双字,实数双字,实数I/OI/O最近一次执行最近一次执行PIDPID指令指令的过程变量的过程变量PIDPID回路表回路表回路表回路表7.11.2 PID7.11.2 PID算法算法( (续续) )(1)将一个字长的模拟量转换为实数将一个字长的模拟量转换为实数先将一个字长的模拟量(整数)转换为双整数先将一个字长的模拟量(整数)转换为双整数再将双整数转换为实数再将双整数转换为实数(2)将

110、模拟量的实数形式转换(将模拟量的实数形式转换(0.0-1.0)的无量纲的相对值)的无量纲的相对值,放入回路表中放入回路表中 转化公式转化公式: RNorm=RRaw/Span+Offset 其中其中: RNorm:为工程实际值的归一化值为工程实际值的归一化值 RRaw:工程实际值的实数形式(一个字长模拟量输入值转化为实工程实际值的实数形式(一个字长模拟量输入值转化为实数)数) Span:值域,单极性取值域,单极性取32000;双极性取双极性取64000; Offset:偏差,单极性取:偏差,单极性取0;双极性取;双极性取0.5。2)对输入采样数据进行归一化处理对输入采样数据进行归一化处理(1)

111、将将PID计算出的(计算出的(0.0-1.0)输出值转换为工程量标定的实数值)输出值转换为工程量标定的实数值 转换公式转换公式: Rscal=(Mn-Offset) Span Rscal :为按工程量标定的实数格式的回路输出;:为按工程量标定的实数格式的回路输出; Mn:为归一化实数格式的回路输出;:为归一化实数格式的回路输出; Offset:偏差,单极性取:偏差,单极性取0;双极性取;双极性取0.5。 Span:值域,单极性取值域,单极性取32000;双极性取双极性取64000; (2)将已标定的工程量的实际值的实数格式转换为将已标定的工程量的实际值的实数格式转换为16位的整数。位的整数。

112、将实数值取整将实数值取整,小数部分四舍五入小数部分四舍五入,转换为双整数转换为双整数; 将双整数转换为整数将双整数转换为整数.3)对对PID输出数据进行工程量的转化输出数据进行工程量的转化(1)程序组成)程序组成:主程序、子程序、中断程序主程序、子程序、中断程序(2)在子程序中,先进行组态编程的初始化工作,然后)在子程序中,先进行组态编程的初始化工作,然后 再设置定时中断,以便周期地执行再设置定时中断,以便周期地执行PID指令。指令。(3)在中断程序中要做三件事。)在中断程序中要做三件事。 将由模拟量输入模块提供的过程变量将由模拟量输入模块提供的过程变量PVn转换成标准转换成标准 化的实数并填

113、入回路表中。化的实数并填入回路表中。 设置设置PID指令的无扰动切换的条件,并执行指令的无扰动切换的条件,并执行PID指指 令。令。 将将PID运算输出的标准化实数值运算输出的标准化实数值Mn先刻度化,然后先刻度化,然后 再转化为有符号整数,最后送至模拟量输出模块,以再转化为有符号整数,最后送至模拟量输出模块,以 实现对外部设备的控制。实现对外部设备的控制。7.11.4PID7.11.4PID指令编程总结指令编程总结 PID 指令编程举例指令编程举例例例1:有一通过变频器驱动的水泵供水的恒压供水水箱:有一通过变频器驱动的水泵供水的恒压供水水箱,维持水位在维持水位在 满水满水位的位的70%.开机

114、后开机后,手动控制电动机手动控制电动机,水位上升到水位上升到70%时时,转化到转化到PID自动调自动调节节.地址地址参数参数描述描述VD100VD100过程变量当前值过程变量当前值PVnPVn水位检测计提供的模拟量经水位检测计提供的模拟量经A/DA/D转换后的标准化数值转换后的标准化数值VD104VD104给定值给定值SPnSPn0.70.7VD108VD108输出值输出值MnMnPIDPID回路输出值回路输出值( (标准化数值标准化数值) )VD112VD112增益增益KcKc0.30.3VD116VD116采样时间采样时间TsTs0.1s0.1sVD120VD120积分时间积分时间TiTi

115、30min30minVD124VD124微分时间微分时间TdTd0min(0min(关闭微分作用关闭微分作用) )VD128VD128积分项前值积分项前值MXMX根据根据PIDPID运算结果更新运算结果更新VD132VD132过程变量前值过程变量前值PVn-1PVn-1最近一次最近一次PIDPID的变量值的变量值 主程序主程序:PID回路表初始化子程序回路表初始化子程序SBR-0: 中断程序中断程序: PID 指令编程举例指令编程举例例例2:某水箱有一条进水管和一条出水管,进水管的:某水箱有一条进水管和一条出水管,进水管的水流量随时间不断变化,要求控制出水管阀门的水流量随时间不断变化,要求控制

116、出水管阀门的开度,使水箱里的水位始终保持在水满时液位的开度,使水箱里的水位始终保持在水满时液位的一半,系统采用一半,系统采用PID控制,假设采用下列控制参数控制,假设采用下列控制参数值:值:Kc=0.4; Ti=30min ;Ts=0.2s; TD=15min PID 指令编程举例指令编程举例PID回路表回路表地址地址参数参数描述描述VD200VD200过程变量当前值过程变量当前值PVnPVn水位检测计提供的模拟量经水位检测计提供的模拟量经A/DA/D转换后的标准化数值转换后的标准化数值VD204VD204给定值给定值SPnSPn0.50.5VD208VD208输出值输出值MnMnPIDPID

117、回路输出值回路输出值( (标准化数值标准化数值) )VD212VD212增益增益KcKc0.40.4VD216VD216采样时间采样时间TsTs0.2s0.2sVD220VD220积分时间积分时间TiTi30min30minVD224VD224微分时间微分时间TdTd15min(15min(关闭微分作用关闭微分作用) )VD228VD228积分项前值积分项前值MXMX根据根据PIDPID运算结果更新运算结果更新VD232VD232过程变量前值过程变量前值PVn-1PVn-1最近一次最近一次PIDPID的变量值的变量值主程序主程序:PID回路表初始化子程序回路表初始化子程序SBR-0:子程序子程序SBR-1:中断程序中断程序:

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

最新文档


当前位置:首页 > 大杂烩/其它

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