PLC原理及其应用_第1页
PLC原理及其应用_第2页
PLC原理及其应用_第3页
PLC原理及其应用_第4页
PLC原理及其应用_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,讲解内容: 第七章S7-200PLC功能指令及应用 7.1 传送、移位和填充指令 7.2 运算和数学指令 7.3 表功能指令 7.4 转换指令 7.5子程序指令 7.6时钟指令 7.7中断 7.8高速计数器指令 7.9高速脉冲输出指令 7.10PID指令 学习说明 : 本章是学习PLC程序设计知识。重点掌握: 1 传送类指令、运算指令 2 子程序、时钟指令、中断 3 PID指令、高速计数器指令、高速脉冲输出指令,PLC原理及其应用,2,7.1 传送、移位和填充指令,7.1.1 传送类指令 7.1.2 移位与循环指令 7.1.3 字节交换指令 7.1.4 填充指令,3,7.1 传送、移位和填

2、充指令,指令功能:使能输入有效时,把单一字节数据(字、双字或实数)传送到OUT 所指的存储单元中。传送过程不改变数据原值。 使用说明: 操作码中的B(字节)、W(字)、D(双字)、R(实数)代表被传送数据的类型。 源存储单源和目的存储单元的长度相同,但源存储单元可以为常数。,1.单一传送指令(Move),4,例1:PLC开机运行时,字变量VW10设初值1000、字节变量VB0清零。,单一传送指令简单应用,理解下面梯形图的意思:,5,例2:按下启动按钮I0.0 8个彩灯同时点亮,按下停止按钮I0.1 8个彩灯同时熄灭,用数据传送指令实现,8个彩灯分别由Q0.0-Q0.7驱动。,单一传送指令简单应

3、用,思考:若8盏灯分别接Q0.0Q0.7,每间隔1个同时点亮,应如何操作?,6,例3:设液体混合控制中,液体搅拌所需时间有两种选择,分别是20min和10min,分别设置两个按钮选择时间,I1,0选择20min,I1.1选择10min,I0.2为启动搅拌,Q0.0控制液体搅拌.,单一传送指令简单应用,思考: 如果将MOVW指令换为MOVB指令,是否可行,为什么? 网络4中,分析I0.2什么情况下可以这样使用?,7,7.1.1 传送类指令,指令功能:使能输入有效时,把IN开始的连续N个同类型的存储单元的数据送到OUT开始的连续N个存储单元中。传送过程不改变数据原值。 使用说明: 操作码中的B(字

4、节)、W(字)、D(双字)代表被传送数据的类型。 源存储单源和目的存储单元的长度相同,N可为常数也可为字节长存储单元,最大值为255。,2.块传送指令(Block Move),8,3.字节立即传送指令(Move Byte Immediate),7.1.1 传送类指令,使用说明: 传送字节立即读指令中,IN的操作数只能为IB。 传送字节立即写指令中,OUT的操作数只能为QB 。,9,传送字节立即读、写指令指令功能: 传送字节立即读(BIR)指令功能:当使能输入端有效时,立即读取输入端(IN)指定字节地址的物理输入点(IB)的值,并写入OUT指定字节地址的存储单元中。 传送字节立即写(BIW)指令

5、功能:当使能输入端有效时,立即将IN单元指定字节地址的内容写到OUT所指定字节存储单元的物理区及输出映像寄存器。,3.字节立即传送指令(Move Byte Immediate)(续),10,7.1.2 移位与循环指令,1.移位指令(Shift) 指令类型: 右移位指令、左移位指令 右移位指令:字节右移位指令、字右移位指令、双字右移位指令 左移位指令:字节左移位指令、字左移位指令、双字左移位指令,11,1)右移位指令,我们先看他们的梯形图形式, 都是以指令盒形式编程,他们都是由移位条件、移位前的存储单元、移位后的存储单元、移位次数 存储单元组成。不同的是移位前和移位后的存储单元的长度不同,指令功

6、能:移位条件成立,把IN中的数据右移N位后,再将结果存到OUT 所指定的存储单元中.,我们看以下移位的操作过程,移位条件成立,低位移出高位补零,移出端每出一位,移出值都被放到SMI.1中, ,移位结束,SM1.1中存的是最后移出的那位的值,当存储单元的内容全部移出时如果移位结果为0.零标志位SM1.0被置1,如果移位的次数超过了存储单元的位数,超出次数无效,12,2)左移位指令,指令功能:移位条件成立,把IN中的数据左移N位后,再将结果存到OUT 所指定的存储单元中.,如果移位的次数超过了存储单元的位数,超出次数无效.,13,2.循环移位指令(Rotate) 指令类型: 循环右移指令、循环左移

7、指令 循环右移指令: 字节循环右移、字循环右移、双字循环右移 循环左移指令: 字节循环左移、字循环左移、双字循环左移,7.1.2 移位与循环指令(续),14,1)循环右移指令,指令功能:移位条件成立,将IN存储单元的数据循环右移N位后,结果存到 OUT所指定的存储单元中.,15,2)循环左移指令,指令功能:移位条件成立,将IN存储单元的数据循环左移N位后,结果存到 OUT所指定的存储单元中.,16,移位与循环指令简单应用举例,17,3.寄存器移位指令(Shift register),梯形图,语句表,SHRB DATA, S-BIT, N,7.1.2 移位与循环指令(续),寄存器移位指令的操作数

8、: 移位条件:EN输入端由断变通时,进行一次移位,每移一位需要一个脉冲信号,移位几次就要有几个脉冲信号,因此移位条件一定是一个脉冲信号。 DATA:数据输入端,将该位的值移入移位寄存器;数据类型为BOOL变量。 S_BIT:移位寄存器的最低位的地址,数据类型为BOOL变量。 N:指定移位寄存器的长度和移动方向。N存储单元的长度为字节型,最大为64,N为正时,在输入端的上升沿,DATA数据输入端的数据由低位移入,最高位被移到溢出位。N为负时,从最高位移入,最低位被移到溢出位。,18,3.寄存器移位指令(Shift register)(续),19,移位与循环指令应用举例,例1:用I0.0控制16个

9、彩灯循环移位,从左到右以2s的速度依次2个为一组点亮;保持任意时刻只有2个灯亮,到达最右端后,再依次点亮,按下I0.1后,彩灯循环停止.,20,移位与循环指令应用举例,例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后停,接着L8、L12喷0.5s后停,L1喷0.5s后停,如此循环下去,直至按下停止按钮。,如何编程?,21,7.1.3.字节交换指令(

10、Swap Bytes) 字节交换(Swap Bytes)指令,将字型输入数据IN的高字节内容与低字节内容互相交换。交换结果仍存放在输入(IN)指定的地址中。IN操作数数据类型为无符号整数型(WORD)。,7.1.4.填充指令(Memory Fill) 填充指令的功能:将字型输入数据IN填充到从OUT开始的N个字存储单元中. 操作数数据类型:IN、OUT为字型, N为字节型,取值范围1255的整数。,7.1 传送、移位和填充指令,22,7.2运算和数学指令,7.2.1 加减指令,23,7.2运算和数学指令(续),7.2.2 一般乘、除法指令,操作数数据类型:分别是有符号整数(INT)、有符号双整

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

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

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

14、指令输入输出均为INT,双字自减指令输入输出均为DINT。如下图(b)所示(图中 处可为B、W、DW)。,7.2运算和数学指令(续),30,7.2.6 逻辑运算指令,1.逻辑“与”运算指令(Logic And) 2.逻辑“或”运算指令(Logic Or) 3.逻辑“异或”运算指令(Logic Exclusive Or) 4.取反指令(Logic Invert),7.2运算和数学指令(续),31,7.3表功能指令,数据表的作用:用来存放字型数据的表格,数据表的格式,注:表格最多可存放100个数据,不包括最大填表数(TL)和实际填表数(EC),32,7.3表功能指令(续),表操作指令,33,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,则从表格的顶端开始搜索。,34,例1:,表功能指令举例,例2:,例3:,35,例4:对模拟量采样10次,采样值填入表中,为后续的操作作准备,表功能指令举例,36,7.4数据的转换,数据转换指令格式,37,7.4数据的转换 (续),数据转换指令格式(续),实数四舍五入为双整数 实数取整为双整数,38,数据的转换简单举例,例:将VW10中的整数与VD100中的实数190.5相加。,自学: 7.4.2编码和译码指令 7.4.3段码指令 7.4.4ASC码转换指令 7.4.5字符串转换指令,39,7.5时钟指令,时钟缓冲区,使用说明: T缓冲区的所有单元地址数据类型为字

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

18、6:00时关灯,42,时钟指令举例,例2:编写一段程序,要求可实现读写 实时时钟,并使用LED数码管显示分钟. 时钟缓冲区从VB100开始.,主程序:,子程序:,把时间日期等数值放入时间缓冲区,43,7.6子程序,7.6.1建立子程序 从“编辑”菜单点击“插入”再点击子程序,如下图所示。,44,7.6子程序,7.6.1建立子程序 从指令树,用鼠标右键单击“程序块”并从弹出菜单中选择“插入”子程序,如下图所示,45,7.6子程序,7.6.1建立子程序 从“程序编辑器”窗口,鼠标右键单击子程序SBR-0,并从弹出快捷键菜单中选择“插入”子程序,如下图所示,子程序标签,点击可编辑子程序,46,7.6

19、子程序(续),7.6.2子程序指令,子程序的指令格式,47,7.6子程序(续),7.6.2子程序指令 使用说明: CPU221、CPU222、CPU224最多可以有64个子程序,CPU224XP、CPU226最多可以有128个子程序。 如果子程序的内部又对另一子程序执行调用指令,则这种子程序称为嵌套,子程序的嵌套深度最多为8级。 当一个子程序被调用时,系统自动保存当前的堆栈值,并把栈顶置1,堆栈中其他值为0,子程序占有控制权,子程序执行结束,通过返回指令自动恢复原来的逻辑堆栈值,调用程序又重新取得控制权。 当子程序在一个周期内多次被调用时,子程序中不能使用上升沿、下降沿、定时器和计数器指令。

20、累加器可以在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时即不保存也不恢复。,48,7.7.1中断的分类及中断优先级,1.中断的分类 (,7.7 中 断,中断的类别,通讯中断(6个),I/O中断,时基中断,输入中断(8个),输出中断,高速计数器中断(14个),高速脉冲输出中断(2个),定时中断(2个),定时器中断(2个),49,2.中断优先级别 (1)通信中断(最高优先级) (2)输入/输出中断(中等优先级) (3)时基中断(最低优先级),7.7 中 断(续),3.中断排队,50,4.CPU响应中断的原则 当不同优先级别的中断事件同时发出申请中断时,CPU先响应优先级别高的中

21、断事件。 在相同优先级别的中断事件中,CPU按先来先服务的原则处理中断事件。 CPU任何时刻只执行一个中断程序.当CPU正在处理某中断时,不会被别的中断程序甚至是更优先级别更高的中断程序所打断,一直执行到结束.新出现的中断事件需要排队,等待处理。,7.7 中 断(续),51,7.7.2中断指令,7.7 中 断(续),52,7.7.3中断程序的构成,1.中断程序的组成: 中断程序的名称、中断程序指令、中断程序无条件返回指令 2.中断程序的编写要求: 短小精悍、执行时间短。 3.编制方法 用编程软件时,在“编辑”菜单下“插入”中选择“中断”,则自主的生成一个新的中断程序编号,进入该程序的编辑区,在

22、此即可编写中断程序。,7.7 中 断(续),53,例1:对模拟量输入信号AIW0每隔10ms采样一次.,中断编程举例,主程序,中断程序,54,例2:在I0.0的上升沿通过中断使Q0.0立即置位,在I0.1的下降沿通过中断使Q0.0立即复位,中断编程举例,主程序,中断程序0,中断程序1,55,例3:定时中断的定时时间最大为255sm,用定时中断0实现周期为2s的高精度定时.,中断编程举例,主程序,中断程序0,56,例4:使用定时中断实现对100ms定时周期进行计数.,中断编程举例,主程序,中断程序0,57,7.8.1高速计数器介绍 1.数量及编号,7.8高速计数器指令,2.中断事件类型 高速计数

23、器的中断事件类型有3种: (1)当前值等于设定值中断 (2)输入方向改变中断 (3)外部复位中断,58,7.8.1高速计数器介绍 3.高速计数器的工作模式 (1)高速计数器的计数方式 单相计数,内部方向控制; 单相计数,外部方向控制; 双相增/减计数,双脉冲输入 A/B相正交脉冲输入计数 (2)计数器的工作模式 无复位,无启动输入; 有复位,无启动输入; 有复位,有启动输入;,7.8高速计数器指令,59,(3)高速计数器的输入点和工作模式,60,7.8.2高速计数器指令,高速计数器指令格式,HDEF HSC,MODE,HSC N,61,1、高速计数器使用的特殊继电器,7.8.3高速计数器的使用

24、方法,62,7.8.3高速计数器的使用方法(续),1)状态字节,63,7.8.3高速计数器的使用方法(续),2)控制字节,64,7.8.3高速计数器的使用方法(续),3)高速计数器的数值寻址,65,2. 使用高速计数器编程步骤 1)对高速计数器进行初始化,7.8.3高速计数器的使用方法(续),选择计数器号及工作模式 设置控制字节 执行HDEF指令 设定当前值和预设值 设置中断事件并全局开中断 执行HSC指令,激活高速计数器,若计数器在运行中改变设置须执行下列工作:,根据需要来设置控制字节 设置计数器方向(可选) 设定初始值和预设值(可选) 执行HSC指令,66,例1:要对一高速事件精确控制,计

25、数方向用一个外部信号控制,并能实现外部复位。计数当前值达到24产生中断,重新从0计数,对中断次数进行累计。所用的主机型号为CPU221。 设计步骤: 选择高速计数器HC0,并确定工作方式4。 令SM37=16#F8 执行HDEF指令,输入端HC为0,MODE为4。 装入当前值,令SMD38=0。 装入设定值,令SMD42=24。 执行中断连接ATCH指令,输入端INT为INT0,EVNT为12。,高速计数器应用举例,67,主程序,初始化子程序SBR-0,PLC程序:,中断程序,68,例2:设置一个两相正交4倍高速计数器,计数当前值为1000时,当前值清0,继续计数到1000,该计数器有启动和复

26、位输入端,所用的主机型号为CPU226。,高速计数器应用举例,主程序:,初始化程序:,中断:,69,7.10高速脉冲输出指令,7.10.1、高速脉冲输出的基本概念 1.具有高速脉冲输出端的PLC主机的输出类型:晶体管输出 2.输出端子的确定:Q0.0、Q0.1 3.高速脉冲的输出方式: 高速脉冲串输出(PTO):可以控制输出一串占空比为50%的脉冲。,宽度可调脉冲输出(PWM):可以控制输出一串占空比可调的脉冲。,70,7.10.2高速脉冲指令及特殊寄存器 1.特殊标志寄存器,71,(1)状态字节中每一位的含义,注:状态字节只用于PTO输出,72,(2)控制字节,73,2.脉冲输出指令(Pul

27、se Output),功能描述:检测用程序设置的特殊存储器位,激活由控制器 定义的脉冲操作,从Q0.0和Q0.1输出高速脉冲。PTO输出和PWM输出都由PLS指令激活.,梯形图:,语句表:PLS Q,74,7.10.3 PTO的使用,1.周期和脉冲数 周期:单位可以是微秒s或毫秒ms;为16位无符号数据,周期变化范围是5065535s或265535ms,通常应设定周期值为偶数,若设置为奇数,则会引起输出波形占空比的轻微失真。如果编程时设定周期单位小于最小值,系统默认按最小值进行设置。 脉冲数:用双字长无符号数表示,脉冲数取值范围间。如果编程时指定脉冲数为0,则系统默认

28、脉冲数为1个。,75,(2)控制字节,76,7.10.2高速脉冲指令及特殊寄存器 1.特殊标志寄存器,77,2.PTO的种类,单段管线:管线中只能存放一个脉冲串的控制参数(即入口),一旦启动了一个脉冲串进行输出时,就必须利用指令按照对下一脉冲串波形的要求立即更新特殊寄存器,并再次执行脉冲串输出指令.当前脉冲串输出完成后,自动输出下一个脉冲串重复这一操作可实现多个脉冲串的连续输出. 多段管线:是指在变量V存储器区中建立一个包络表。包络表中存储各个脉冲串的参数,相当于有多个脉冲串的入口。使用PLS指令启动,CPU自动从包络表中按顺序读出每个脉冲串的参数进行输出。一个包络表可以包含1255个脉冲串.

29、,7.10.3 PTO的使用(续),78,3.段包络表格式,7.10.3 PTO的使用(续),79,4.中断事件类型,PTO输出可以采用中断方式进行控制,各种型号的PLC可用的PTO输出的中断事件有两个,分别为: 中断事件19:PTO0脉冲串输出完成中断 中断事件20: PTO1脉冲串输出完成中断,7.10.3 PTO的使用(续),80,5.PTO的使用,1)单管线编程步骤 对单管线程序组成 :主程序、初始化子程序,中断程序(可选) 初始化子程序中编写步骤: 设置PTO控制字节; 写入第一脉冲的周期值 写入第一脉冲串所要发出的脉冲数 连接中断事件和中断程序,允许中断(可选) 执行PLS指令 根

30、据修改的内容,写入控制字节,为更改周期值和脉冲个数作准备 如果要修改PTO的周期、脉冲数,可以在子程序或中断程序中执行; 写入周期数或脉冲数 执行PLS指令,81,6.PTO编程举例,例1.Q0.0输出脉冲串:第一个脉冲串周期值为500ms,脉冲个数为5个;I0.0接通第二个脉冲串周期值为1000ms,脉冲个数为5个;下一个脉冲串周期值为500ms,脉冲个数为5个; 程序组成: 一个主程序:一次性调用初始化子程序SBR-0,I0.0接通时调用SBR-1,改变周期数. SBR-0:设定第一个脉冲串的脉冲个数、周期并发出起始脉冲串. SBR-1:改变脉冲串周期并发出第二个脉冲串.,82,控制系统程

31、序,主程序:,83,写入控制字节,准备装入周期值和脉冲个数,装入周期值500ms,装入脉冲个数5,执行PLS指令,编程Q0.0为PTO模式,再写入控制字节,为更改周期值做准备,SBR-0子程序:,控制系统程序,84,周期为改为1000ms,写入特殊寄存器,执行PLS指令,确认更改生效并发出脉冲串,从子程序中返回,如果当前周期为1000ms,将其改为500ms, 写入特殊寄存器.,执行PLS指令,确认更改生效并发出脉冲串,SBR-1子程序:,控制系统程序,从子程序中返回,85,6.PTO的使用(续),2)多段管线编程步骤 多段管线程序主要组成 :主程序(调用初始化子程序)、初始化子程序、包络表子

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

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

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

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

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

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

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

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论