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

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

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

1、第九章S7-200系列PLC功能指令及应用,操作数类型及长度指令的执行条件及执行形式 执行形式分为连续执行和脉冲执行。指令功能及ENO状态指令执行结果对特殊标志位的影响指令的机型适用范围,9.1 传送、比较类指令及应用,指令功能:使能输入有效时,把单一字节数据(字、双字或实数)传送到OUT所指的存储单元中。传送过程不改变数据原值。使用说明:操作码中的B(字节)、W(字)、D(双字)、R(实数)代表被传送数据的类型。源存储单源和目的存储单元的长度相同,但源存储单元可以为常数。,1.单一传送指令(Move),指令功能:使能输入有效时,把IN开始的连续N个同类型的存储单元的数据送到OUT开始的连续N

2、个存储单元中。传送过程不改变数据原值。使用说明:操作码中的B(字节)、W(字)、D(双字)代表被传送数据的类型。源存储单源和目的存储单元的长度相同,N可为常数也可为字节长存储单元,最大值为255。,2.块传送指令(Block Move),3.字节立即传送指令(Move Byte Immediate),使用说明:传送字节立即读指令中,IN的操作数只能为IB。传送字节立即写指令中,OUT的操作数只能为QB。,按下启动按钮I0.0 8个彩灯同时点亮,按下停止按钮I0.1 8个彩灯同时熄灭,用数据传送指令实现,8个彩灯分别由Q0.0-Q0.7驱动。,例1:单一传送指令简单应用,思考:若8盏灯分别接Q0

3、.0Q0.7,每间隔1个同时点亮,应如何操作?,设液体混合控制中,液体搅拌所需时间有两种选择,分别是20min和10min,分别设置两个按钮选择时间,I1,0选择20min,I1.1选择10min,I0.2为启动搅拌,Q0.0控制液体搅拌.,例2:单一传送指令简单应用,思考:如果将MOVW指令换为MOVB指令,是否可行,为什么?网络4中,分析I0.2什么情况下可以这样使用?,比较指令是将两个操作数按指定的条件比较,操作数可以是整数,也可以是实数,在梯形图中用带参数和运算符的触点表示比较指令,比较条件成立时,触点就闭合,否则断开。比较触点可以装入,也可以串、并联。比较指令为上、下限控制提供了极大

4、的方便。,9.1 传送、比较类指令及应用,“xx”表示比较运算符:=等于、小于、大于、=小于等于、=大于等于、不等于。“”表示操作数N1,N2的数据类型及范围:,B(Byte):字节比较(无符号整数)。I(INT)/W(Word):整数比较,(有符号整数)注意:LAD中用“I”,STL中用“W”。DW(Double Word):双字的比较(有符号整数),如:OD=VD24 MD1R(Real):实数的比较(有符号的双字浮点数,仅限于CPU214以上)N1,N2操作数的类型包括:I,Q,M,SM,V,S,L,AC,VD,LD,常数。,例:调整模拟调整电位器0,改变SMB28字节数值,当SMB28

5、数值小于或等于50时,Q0.0输出,其状态指示灯打开;当SMB28数值小于或等于150时,Q0.1输出,状态指示灯打开。,LD I0.0LPSAB=SMB28,150=Q0.1,整数字比较若VW0+10000为真,Q0.2有输出。程序常被用于显示不同的数据类型。还可以比较存储在可编程存中的两个数值(VW0 VW100)。,LD I0.3LPSAW VW0,+10000=Q0.2LRDAD VD6,5.001E-006,7.1.2 移位与循环指令,1.移位指令(Shift)指令类型:右移位指令、左移位指令右移位指令:字节右移位指令、字右移位指令、双字右移位指令左移位指令:字节左移位指令、字左移位

6、指令、双字左移位指令,1)右移位指令,我们先看他们的梯形图形式,都是以指令盒形式编程,他们都是由移位条件、移位前的存储单元、移位后的存储单元、移位次数存储单元组成。不同的是移位前和移位后的存储单元的长度不同,指令功能:移位条件成立,把IN中的数据右移N位后,再将结果存到OUT所指定的存储单元中.,我们看以下移位的操作过程,移位条件成立,低位移出高位补零,移出端每出一位,移出值都被放到SMI.1中,移位结束,SM1.1中存的是最后移出的那位的值,当存储单元的内容全部移出时如果移位结果为0.零标志位SM1.0被置1,如果移位的次数超过了存储单元的位数,超出次数无效,2)左移位指令,指令功能:移位条

7、件成立,把IN中的数据左移N位后,再将结果存到OUT所指定的存储单元中.,如果移位的次数超过了存储单元的位数,超出次数无效.,2.循环移位指令(Rotate)指令类型:循环右移指令、循环左移指令循环右移指令:字节循环右移、字循环右移、双字循环右移循环左移指令:字节循环左移、字循环左移、双字循环左移,7.1.2 移位与循环指令(续),1)循环右移指令,指令功能:移位条件成立,将IN存储单元的数据循环右移N位后,结果存到OUT所指定的存储单元中.,2)循环左移指令,指令功能:移位条件成立,将IN存储单元的数据循环左移N位后,结果存到OUT所指定的存储单元中.,移位与循环指令简单应用举例,3.寄存器

8、移位指令(Shift register),梯形图,语句表,SHRB DATA,S-BIT,N,7.1.2 移位与循环指令(续),寄存器移位指令的操作数:移位条件:EN输入端由断变通时,进行一次移位,每移一位需要一个脉冲信号,移位几次就要有几个脉冲信号,因此移位条件一定是一个脉冲信号。DATA:数据输入端,将该位的值移入移位寄存器;数据类型为BOOL变量。S_BIT:移位寄存器的最低位的地址,数据类型为BOOL变量。N:指定移位寄存器的长度和移动方向。N存储单元的长度为字节型,最大为64,N为正时,在输入端的上升沿,DATA数据输入端的数据由低位移入,最高位被移到溢出位。N为负时,从最高位移入,

9、最低位被移到溢出位。,3.寄存器移位指令(Shift register)(续),移位与循环指令应用举例,例1:用I0.0控制16个彩灯循环移位,从左到右以2s的速度依次2个为一组点亮;保持任意时刻只有2个灯亮,到达最右端后,再依次点亮,按下I0.1后,彩灯循环停止.,移位与循环指令应用举例,例2:用PLC构成对喷泉的控制,喷泉的12个喷水柱用L1-12表示,喷泉的布局如图所示.,控制要求:按下启动按钮后,L1喷0.5s后停,接着L2喷0.5s后停,接着L3喷0.5s后停,接着L4喷0.5s后停,接着L5、L9喷0.5s后停,接着L6、L10喷0.5s后停,接着L7、L11喷0.5s后停,接着L

10、8、L12喷0.5s后停,L1喷0.5s后停,如此循环下去,直至按下停止按钮。,如何编程?,7.1.3.字节交换指令(Swap Bytes)字节交换(Swap Bytes)指令,将字型输入数据IN的高字节内容与低字节内容互相交换。交换结果仍存放在输入(IN)指定的地址中。IN操作数数据类型为无符号整数型(WORD)。,7.1.4.填充指令(Memory Fill)填充指令的功能:将字型输入数据IN填充到从OUT开始的N个字存储单元中.操作数数据类型:IN、OUT为字型,N为字节型,取值范围1255的整数。,7.1 传送、移位和填充指令,7.2运算和数学指令,7.2.1 加减指令,7.2运算和数

11、学指令(续),7.2.2 一般乘、除法指令,操作数数据类型:分别是有符号整数(INT)、有符号双整数和实数,7.2运算和数学指令(续),7.2.3 完全整数乘、除法指令,数学运算结果对特殊继电器的影响:零标志位(零结果):SM1.0溢出标志位(溢出):SM1.1负标志位(负结果):SM1.2除数为零标志位(除数为0)SM1.3,7.2运算和数学指令(续),例:在程序初始化时,设AC1为1000,合上I0.0开关,AC1的值每隔10s减100,一直减到0为止.,运算指令应用举例,操作数数据类型:均为实数,7.2.4数学函数指令,数学函数指令功能:,1.平方根(Square Root)指令:实数的

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

13、果存放到输出端(OUT)指定的存储单元中去。数据类型输入、输出均为实数。数据类型输入、输出均为实数。4.正弦(sine)、余弦(cosine)和正切(tan)指令:将一个双字长的实数弧度值IN分别取正弦、余弦、正切,各得到32位的实数结果送到OUT。数据类型输入、输出均为实数。,7.2.5 增/减指令1.增指令(Increment)增指令包括字节自增、字自增和双字自增指令。字节自增指令输入输出均为字节,字自增指令输入输出均为INT,双字自增指令输入输出均为DINT。如下图(a)所示(图中 处可为B、W、DW)。2.减指令(Decrement)减指令包括字节自减、字自减和双字自减指令。字节减指令

14、输入输出均为字节,字自减指令输入输出均为INT,双字自减指令输入输出均为DINT。如下图(b)所示(图中 处可为B、W、DW)。,7.2运算和数学指令(续),7.2.6 逻辑运算指令,1.逻辑“与”运算指令(Logic And)2.逻辑“或”运算指令(Logic Or)3.逻辑“异或”运算指令(Logic Exclusive Or)4.取反指令(Logic Invert),7.2运算和数学指令(续),7.3表功能指令,数据表的作用:用来存放字型数据的表格,数据表的格式,注:表格最多可存放100个数据,不包括最大填表数(TL)和实际填表数(EC),7.3表功能指令(续),表操作指令,7.3表功能

15、指令(续),表操作指令(续),使用说明:TBL为表格的首地址(即最大填表数对应的地址),数据类型为字型,操作数据可为VW、IW、QW、MW、SMW、LW、T、C、等,查表指令的TBL为实际填表数所对应的地址。DATA为数据输入端或输出端时,数据类型均为整数。一个表最多可以有100条数据,数据编号范围为0-99。如果表出现溢出,SM11.4为1.读表的时候,如果读取的是空表,则1.5为1.查表指令中的CMD为1-4的数值,分别代表=、。INDX为搜索指针,数据类型为字型,从INDX所指的数据标号开始查找,并将搜索到的符合条件的数据编号放入INDX所指的存储器中。INDX的操作数为字型存储单元,将

16、INDX的值设为0,则从表格的顶端开始搜索。,例1:,表功能指令举例,例2:,例3:,例4:对模拟量采样10次,采样值填入表中,为后续的操作作准备,表功能指令举例,7.4数据的转换,数据转换指令格式,7.4数据的转换(续),数据转换指令格式(续),实数四舍五入为双整数实数取整为双整数,数据的转换简单举例,例:将VW10中的整数与VD100中的实数190.5相加。,自学:7.4.2编码和译码指令7.4.3段码指令7.4.4ASC码转换指令7.4.5字符串转换指令,7.5时钟指令,时钟缓冲区,使用说明:T缓冲区的所有单元地址数据类型为字节型,其操作数可以是IB、QB、VB、MB、SMB、SB、LB

17、、*VD、*LD、*AC。不要同时在主程序和中断程序中使用读时钟和系统设置时钟指令。对于没有使用过时钟指令、长时间断电或内存丢失后的PLC,在使用时钟指令前要通过STEP7软件“PLC”菜单对PLC时钟进行设定,然后才能开始使用时钟指令。时钟可以设定和PC中的时间一致,也可用设定实时时钟指令自由设定,但必须对时钟存储单元赋值,才能使用设定实时时钟指令。所有日期之间均使用BCD码表示系统不检查、不核实时钟各值的正确与否。,7.5时钟指令(续),时钟指令格式,时钟指令举例,例1:控制路灯晚18:00点开灯,早6:00时关灯,时钟指令举例,例2:编写一段程序,要求可实现读写实时时钟,并使用LED数码

18、管显示分钟.时钟缓冲区从VB100开始.,主程序:,子程序:,把时间日期等数值放入时间缓冲区,7.6子程序,7.6.1建立子程序从“编辑”菜单点击“插入”再点击子程序,如下图所示。,7.6子程序,7.6.1建立子程序从指令树,用鼠标右键单击“程序块”并从弹出菜单中选择“插入”子程序,如下图所示,7.6子程序,7.6.1建立子程序从“程序编辑器”窗口,鼠标右键单击子程序SBR-0,并从弹出快捷键菜单中选择“插入”子程序,如下图所示,子程序标签,点击可编辑子程序,7.6子程序(续),7.6.2子程序指令,子程序的指令格式,7.6子程序(续),7.6.2子程序指令使用说明:CPU221、CPU222

19、、CPU224最多可以有64个子程序,CPU224XP、CPU226最多可以有128个子程序。如果子程序的内部又对另一子程序执行调用指令,则这种子程序称为嵌套,子程序的嵌套深度最多为8级。当一个子程序被调用时,系统自动保存当前的堆栈值,并把栈顶置1,堆栈中其他值为0,子程序占有控制权,子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。当子程序在一个周期内多次被调用时,子程序中不能使用上升沿、下降沿、定时器和计数器指令。累加器可以在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时即不保存也不恢复。,7.7.1中断的分类及中断优先级,1.中断的分类(,

20、7.7 中 断,中断的类别,通讯中断(6个),I/O中断,时基中断,输入中断(8个),输出中断,高速计数器中断(14个),高速脉冲输出中断(2个),定时中断(2个),定时器中断(2个),2.中断优先级别(1)通信中断(最高优先级)(2)输入/输出中断(中等优先级)(3)时基中断(最低优先级),7.7 中 断(续),3.中断排队,4.CPU响应中断的原则当不同优先级别的中断事件同时发出申请中断时,CPU先响应优先级别高的中断事件。在相同优先级别的中断事件中,CPU按先来先服务的原则处理中断事件。CPU任何时刻只执行一个中断程序.当CPU正在处理某中断时,不会被别的中断程序甚至是更优先级别更高的中

21、断程序所打断,一直执行到结束.新出现的中断事件需要排队,等待处理。,7.7 中 断(续),7.7.2中断指令,7.7 中 断(续),7.7.3中断程序的构成,1.中断程序的组成:中断程序的名称、中断程序指令、中断程序无条件返回指令 2.中断程序的编写要求:短小精悍、执行时间短。3.编制方法 用编程软件时,在“编辑”菜单下“插入”中选择“中断”,则自主的生成一个新的中断程序编号,进入该程序的编辑区,在此即可编写中断程序。,7.7 中 断(续),例1:对模拟量输入信号AIW0每隔10ms采样一次.,中断编程举例,主程序,中断程序,例2:在I0.0的上升沿通过中断使Q0.0立即置位,在I0.1的下降

22、沿通过中断使Q0.0立即复位,中断编程举例,主程序,中断程序0,中断程序1,例3:定时中断的定时时间最大为255sm,用定时中断0实现周期为2s的高精度定时.,中断编程举例,主程序,中断程序0,例4:使用定时中断实现对100ms定时周期进行计数.,中断编程举例,主程序,中断程序0,7.8.1高速计数器介绍1.数量及编号,7.8高速计数器指令,2.中断事件类型高速计数器的中断事件类型有3种:(1)当前值等于设定值中断(2)输入方向改变中断(3)外部复位中断,7.8.1高速计数器介绍3.高速计数器的工作模式(1)高速计数器的计数方式 单相计数,内部方向控制;单相计数,外部方向控制;双相增/减计数,

23、双脉冲输入 A/B相正交脉冲输入计数(2)计数器的工作模式 无复位,无启动输入;有复位,无启动输入;有复位,有启动输入;,7.8高速计数器指令,(3)高速计数器的输入点和工作模式,7.8.2高速计数器指令,高速计数器指令格式,HDEF HSC,MODE,HSC N,1、高速计数器使用的特殊继电器,7.8.3高速计数器的使用方法,7.8.3高速计数器的使用方法(续),1)状态字节,7.8.3高速计数器的使用方法(续),2)控制字节,7.8.3高速计数器的使用方法(续),3)高速计数器的数值寻址,2.使用高速计数器编程步骤1)对高速计数器进行初始化,7.8.3高速计数器的使用方法(续),选择计数器

24、号及工作模式 设置控制字节 执行HDEF指令设定当前值和预设值设置中断事件并全局开中断 执行HSC指令,激活高速计数器,若计数器在运行中改变设置须执行下列工作:,根据需要来设置控制字节 设置计数器方向(可选)设定初始值和预设值(可选)执行HSC指令,例1:要对一高速事件精确控制,计数方向用一个外部信号控制,并能实现外部复位。计数当前值达到24产生中断,重新从0计数,对中断次数进行累计。所用的主机型号为CPU221。设计步骤:选择高速计数器HC0,并确定工作方式4。令SM37=16#F8 执行HDEF指令,输入端HC为0,MODE为4。装入当前值,令SMD38=0。装入设定值,令SMD42=24

25、。执行中断连接ATCH指令,输入端INT为INT0,EVNT为12。,高速计数器应用举例,主程序,初始化子程序SBR-0,PLC程序:,中断程序,例2:设置一个两相正交4倍高速计数器,计数当前值为1000时,当前值清0,继续计数到1000,该计数器有启动和复位输入端,所用的主机型号为CPU226。,高速计数器应用举例,主程序:,初始化程序:,中断:,7.10高速脉冲输出指令,7.10.1、高速脉冲输出的基本概念1.具有高速脉冲输出端的PLC主机的输出类型:晶体管输出 2.输出端子的确定:Q0.0、Q0.1 3.高速脉冲的输出方式:高速脉冲串输出(PTO):可以控制输出一串占空比为50%的脉冲。

26、,宽度可调脉冲输出(PWM):可以控制输出一串占空比可调的脉冲。,7.10.2高速脉冲指令及特殊寄存器1.特殊标志寄存器,(1)状态字节中每一位的含义,注:状态字节只用于PTO输出,(2)控制字节,2.脉冲输出指令(Pulse Output),功能描述:检测用程序设置的特殊存储器位,激活由控制器定义的脉冲操作,从Q0.0和Q0.1输出高速脉冲。PTO输出和PWM输出都由PLS指令激活.,梯形图:,语句表:PLS Q,7.10.3 PTO的使用,1.周期和脉冲数周期:单位可以是微秒s或毫秒ms;为16位无符号数据,周期变化范围是5065535s或265535ms,通常应设定周期值为偶数,若设置为

27、奇数,则会引起输出波形占空比的轻微失真。如果编程时设定周期单位小于最小值,系统默认按最小值进行设置。脉冲数:用双字长无符号数表示,脉冲数取值范围是14294967295之间。如果编程时指定脉冲数为0,则系统默认脉冲数为1个。,(2)控制字节,7.10.2高速脉冲指令及特殊寄存器1.特殊标志寄存器,2.PTO的种类,单段管线:管线中只能存放一个脉冲串的控制参数(即入口),一旦启动了一个脉冲串进行输出时,就必须利用指令按照对下一脉冲串波形的要求立即更新特殊寄存器,并再次执行脉冲串输出指令.当前脉冲串输出完成后,自动输出下一个脉冲串重复这一操作可实现多个脉冲串的连续输出.多段管线:是指在变量V存储器

28、区中建立一个包络表。包络表中存储各个脉冲串的参数,相当于有多个脉冲串的入口。使用PLS指令启动,CPU自动从包络表中按顺序读出每个脉冲串的参数进行输出。一个包络表可以包含1255个脉冲串.,7.10.3 PTO的使用(续),3.段包络表格式,7.10.3 PTO的使用(续),4.中断事件类型,PTO输出可以采用中断方式进行控制,各种型号的PLC可用的PTO输出的中断事件有两个,分别为:中断事件19:PTO0脉冲串输出完成中断 中断事件20:PTO1脉冲串输出完成中断,7.10.3 PTO的使用(续),5.PTO的使用,1)单管线编程步骤 对单管线程序组成:主程序、初始化子程序,中断程序(可选)

29、初始化子程序中编写步骤:设置PTO控制字节;写入第一脉冲的周期值写入第一脉冲串所要发出的脉冲数连接中断事件和中断程序,允许中断(可选)执行PLS指令根据修改的内容,写入控制字节,为更改周期值和脉冲个数作准备如果要修改PTO的周期、脉冲数,可以在子程序或中断程序中执行;写入周期数或脉冲数执行PLS指令,6.PTO编程举例,例1.Q0.0输出脉冲串:第一个脉冲串周期值为500ms,脉冲个数为5个;I0.0接通第二个脉冲串周期值为1000ms,脉冲个数为5个;下一个脉冲串周期值为500ms,脉冲个数为5个;程序组成:一个主程序:一次性调用初始化子程序SBR-0,I0.0接通时调用SBR-1,改变周期

30、数.SBR-0:设定第一个脉冲串的脉冲个数、周期并发出起始脉冲串.SBR-1:改变脉冲串周期并发出第二个脉冲串.,控制系统程序,主程序:,写入控制字节,准备装入周期值和脉冲个数,装入周期值500ms,装入脉冲个数5,执行PLS指令,编程Q0.0为PTO模式,再写入控制字节,为更改周期值做准备,SBR-0子程序:,控制系统程序,周期为改为1000ms,写入特殊寄存器,执行PLS指令,确认更改生效并发出脉冲串,从子程序中返回,如果当前周期为1000ms,将其改为500ms,写入特殊寄存器.,执行PLS指令,确认更改生效并发出脉冲串,SBR-1子程序:,控制系统程序,从子程序中返回,6.PTO的使用

31、(续),2)多段管线编程步骤多段管线程序主要组成:主程序(调用初始化子程序)、初始化子程序、包络表子程序,中断程序(可选)初始化子程序编程步骤:设置控制字节,按要求将控制字节写入SMB67和SMB77中;装入包络表首字节地址到SMW168中或SMW178中;调用包络表子程序执行中断事件和中断程序(可选),并全局开中断;指定高速脉冲输出端为Q0.0或Q0.1,并执行PLS指令。包络表子程序中的周期增量的计算公式:周期增量=(TEC-TIC)/Q TEC:该段结束周期时间 TIC:该段初始周期时间 Q:该段的脉冲数量,PTO编程举例,例2:控制要求 步进电机转动过程中,要从A点加速到B点后恒速运行

32、,又从C点开始减速到D点,完成这一过程时用指示灯显示。电机的转动受脉冲控制,A点和D点的脉冲频率为2kHz,B点和C点的频率为10kHz,加速过程的脉冲数为400个,恒速转动的脉冲数为4000个,减速过程脉冲数为200个。工作过程如下图所示。,1.建立包络表,7.10.2高速脉冲指令及特殊寄存器1.特殊标志寄存器,本控制系统由主程序、初始化子程序SBR_0、包络表子程序SBR_1和中断程序如图组成。,主程序:,控制系统程序,中断程序:,子程序SBR-0,装入控制字节,装入包络表起始地址,调用包络表子程序,将中断事件与中断事件号19联系起来,全局开中断,执行高速脉冲输出指令,包络表子程序SBR-

33、1:,1.周期和脉冲宽度 周期:单位可以是微秒s或毫秒ms;为16位无符号数据,周期变化范围是5065535s或265535ms.脉冲宽度:065535 s或 265535ms,如果脉冲周期小于最小值,系统自动默认为最小值;如果脉冲宽度=0,工作循环为0%,输出长期为0;如果脉冲宽度 脉冲周期,工作循环为100%,输出长期为1。.,7.10.4 PWM的使用,2.更新方式 同步更新:如果不改变时基,可以执行同步更新.同步更新时,波形的变化发生在周期的边缘,形成平滑转换.异步更新:如果要求改变时基,只能使用异步更新.异步更新有时会引起脉冲输出功能被瞬时禁止,或波形不同步,引发被控制的设备振动.因

34、此建议尽量使用同步更新 一定事先选择一个适合与所有时间周期的时间基准.,7.10.4 PWM的使用(续),3.PWM的使用1)PWM使用步骤:程序组成:主程序、初始化子程序、中断程序(可选)初始化子程序:设置第一个脉冲串的控制字节,按要求设置SMB67或MBS77写入第一个脉冲周期值和脉冲宽度,按要求将周期值写入SMW68或SMW78,脉宽值写入SMW70或SMW80执行PLS指令,7.10.4 PWM的使用(续),主程序:,例1:设计一程序,从Q0.0输出一串脉冲,该脉冲宽度的初始值为0.5秒,周期固定为5秒,其脉宽每周期递增0.5秒,当脉宽达到4.5秒时,脉宽每周期递减0.5秒,直到脉宽减

35、为0为止,以上过程重复进行.,2)PWM编程举例,初始化子程序SBR-0:,装入初始脉宽值,装入周期值,初始化控制输入字节,装入最大脉宽值,启动PWM,脉冲宽度小于4.5秒M0.0为1,全局开中断,中断程序:INT-0,中断程序:INT-1,7.11PLC对模拟量的处理及 PID 指令,7.11.1 PLC对模拟量的处理1.S7-200对模拟量的处理能力,7.11.1 PLC对模拟量的处理(续),2.S7-200对模拟量的处理方法,1)模拟量输入信号的处理:首先通过传感器和变送器将模拟量输入信号转换为标准量程的电压信号或电流信号;PLC通过模拟量输入接口电路(即A/D转换器)将输入的模拟量转换

36、成数字量;将所该数字量进行归一化处理.,2)模拟量输出信号的处理:PLC将与模拟量输出相对应的存储单元的数据转换为按工程量标定的整数值,存在模拟量输出映像寄存器中;PLC通过模拟量输出接口电路(即D/A转换器)将模拟量输出映像寄存器的值转化成模拟量进行输出.,7.11.2 PID算法,PID控制器的输入输出关系:,1.典型PID模拟量闭环控制系统图,7.11.2 PID算法(续),2.PID控制器中各部分的作用比例环节的作用:对偏差作出及时响应。积分环节的作用:可以消除系统静态误差,提高精度,加强对系统参数变化的适应力。微分环节的作用:可以克服惯性滞后,提高抗干扰能力和系统的稳定性,可以改善系

37、统的动态响应速度。,3.PID的组合选择,PD:关闭积分回路,Ti设为无穷大。虽然有初值,使积分项不为0,但其作用可忽略.PI:关闭微分回路,TD设为0。ID:关闭比例回路,Kc设为0,但积分项和微分项与Kc有关,PLC约定,此时积分项和微分项的增益为1。,7.11.2 PID算法(续),7.11.2 PID算法(续),PID控制器的输入输出关系:,典型PID模拟量闭环控制系统图,4、PID控制器的数字化,7.11.2 PID算法(续),7.11.2 PID算法(续),:第N个采样时刻的PID计算值:PID回路增益:积分项前值:采样时间:积分时间:微分时间:第N个采样时刻的设定值:第N个采样时

38、刻的过程变量值:第N-1个采样时刻的过程变量值,PID回路表,7.11.2 PID算法(续),4、PID控制器的数字化,7.11.2 PID算法(续),7.11.3 PID 回路控制指令,1.PID回路指令指令的功能:当使能输入端逻辑运算结果为1时,运用回路表中的输入信息和组态信息,对LOOP指定的回路进行PID 运算。TBL:回路表的起始字节地址,操作数限用VB区域(变量存储区)LOOP:是回路号,可以是07的整数,梯形图,语句表,PID TBL,LOOP,2.手动转换为自动操作方式时参数表的操作过程,1)使SPn(设定值)=PVn(过程变量)2)使PVn=PVn-1(前一次过程变量)3)使

39、手动方式的输出值=Mn(输出值)4)使Mn(输出值)=MX(积分项前值),7.10.3 PID 回路控制指令(续),7.11.3 PID 回路控制指令,3.PID指令的使用 使用PID指令的主要步骤:建立PID回路表对输入采样数据进行归一化处理对PID输出数据进行工程量的转化1)建立PID回路表在执行PID指令时,要对PID回路表进行初始化处理,即将PID回路表中有关参数按照指定的地址写入到PID回路表相应的存储单元中.,4、PID控制器的数字化,7.11.2 PID算法(续),PID回路表,7.11.2 PID算法(续),(1)将一个字长的模拟量转换为实数先将一个字长的模拟量(整数)转换为双

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

41、的回路输出;Offset:偏差,单极性取0;双极性取0.5。Span:值域,单极性取32000;双极性取64000;(2)将已标定的工程量的实际值的实数格式转换为16位的整数。将实数值取整,小数部分四舍五入,转换为双整数;将双整数转换为整数.,3)对PID输出数据进行工程量的转化,(1)程序组成:主程序、子程序、中断程序(2)在子程序中,先进行组态编程的初始化工作,然后 再设置定时中断,以便周期地执行PID指令。(3)在中断程序中要做三件事。将由模拟量输入模块提供的过程变量PVn转换成标准 化的实数并填入回路表中。设置PID指令的无扰动切换的条件,并执行PID指 令。将PID运算输出的标准化实

42、数值Mn先刻度化,然后 再转化为有符号整数,最后送至模拟量输出模块,以 实现对外部设备的控制。,7.11.4PID指令编程总结,PID 指令编程举例,例1:有一通过变频器驱动的水泵供水的恒压供水水箱,维持水位在 满水位的70%.开机后,手动控制电动机,水位上升到70%时,转化到PID自动调节.,主程序:,PID回路表初始化子程序SBR-0:,中断程序:,PID 指令编程举例,例2:某水箱有一条进水管和一条出水管,进水管的水流量随时间不断变化,要求控制出水管阀门的开度,使水箱里的水位始终保持在水满时液位的一半,系统采用PID控制,假设采用下列控制参数值:Kc=0.4;Ti=30min;Ts=0.2s;TD=15min,PID 指令编程举例,PID回路表,主程序:,PID回路表初始化子程序SBR-0:,子程序SBR-1:,中断程序:,本章结束,谢谢,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号