六章节特殊功能指令.ppt

上传人:sccc 文档编号:5334803 上传时间:2023-06-27 格式:PPT 页数:81 大小:2.29MB
返回 下载 相关 举报
六章节特殊功能指令.ppt_第1页
第1页 / 共81页
六章节特殊功能指令.ppt_第2页
第2页 / 共81页
六章节特殊功能指令.ppt_第3页
第3页 / 共81页
六章节特殊功能指令.ppt_第4页
第4页 / 共81页
六章节特殊功能指令.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《六章节特殊功能指令.ppt》由会员分享,可在线阅读,更多相关《六章节特殊功能指令.ppt(81页珍藏版)》请在三一办公上搜索。

1、第六章 特殊功能指令,6.1 立即类指令,立即类指令是指执行指令时不受S7-200循环扫描工作方式的影响,而对实际的I/O点立即进行读写操作分为立即读指令和立即输出指令两大类,立即读 立即输出,立即读指令用于输入I接点,立即读指令读取实际输入点的状态时,并不更新该输入点对应的输入映像寄存器的值。如:当实际输入点(位)是1时,其对应的立即触点立即接通;当实际输入点(位)是0时,其对应的立即触点立即断开。立即输出指令用于输出Q线圈,执行指令时,立即将新值写入实际输出点和对应的输出映像寄存器。立即类指令与非立即类指令不同,非立即指令仅将新值读或写入输入/输出映像寄存器。,表6-1 立即类指令的格式及

2、说明,6.2 中断指令6.2.1 中断源,中断源即发出中断请求的事件,又叫中断事件。为了便于识别,系统给每个中断源都分配一个编号,称为中断事件号。S7-200系列可编程控制器最多有34个中断源,分为三大类:通信中断、输入/输出中断和时基中断。,1.中断源的类型,(1)通信中断,在自由口通信模式下,用户可通过编程来设置波特率、奇偶校验和通信协议等参数。用户通过编程控制通讯端口的事件为通信中断。,(2)I/O中断,I/O中断包括外部输入上升下降沿中断、高速计数器中断和高速脉冲输出中断。S7-200用输入(I0.0、I0.1、I0.2或I0.3)上升下降沿产生中断。这些输入点用于捕获在发生时必须立即

3、处理的事件。高速计数器中断指对高速计数器运行时产生的事件实时响应,包括当前值等于预设值时产生的中断,计数方向的改变时产生的中断或计数器外部复位产生的中断。脉冲输出中断是指预定数目脉冲输出完成而产生的中断。,(3)时基中断,时间中断包括定时中断和定时器中断。定时中断可用来支持一个周期性的活动。周期时间以1ms为单位,周期设定时间5ms255ms。定时中断0,把周期时间值写入SMB34;定时器中断1,把周期时间值写入SMB35。每当达到定时时间值,相关定时器溢出,执行中断。,定时器中断,是利用定时器来对一个指定的时间段产生中断。这类中断只能使用1ms通电和断电延时定时器T32和T96。当所用的当前

4、值等于预设值时,在主机正常的定时刷新中,执行中断程序。,定时中断可以用来对模拟量输入进行采样或定期执行PID回路。定时器T32/T96中断指允许对定时间间隔产生中断。这类中断只能用时基为1ms的定时器T32/T96构成。当中断被启用后,当前值等于预置值时,在S7-200执行的正常1毫秒定时器更新的过程中,执行连接的中断程序。,2.中断优先级和排对等候,优先级是指多个中断事件同时发出中断请求时,CPU对中断事件响应的优先次序。S7-200规定的中断优先由高到低依次是:通信中断、I/O中断和定时中断。每类中断中不同的中断事件又有不同的优先权,如表6-2.1/4表6-2.4/4所示。,表6-2.1/

5、4 中断事件及优先级,表6-2.2/4 中断事件及优先级,表6-2.3/4 中断事件及优先级,表6-2.4/4 中断事件及优先级,一个程序中总共可有128个中断。S7-200在中断各自的优先级组内按照先来先服务的原则为中断提供服务。在任何时刻,只能执行一个中断程序。一旦一个中断程序开始执行,则一直执行至完成。不能被另一个中断程序打断,即使是更高优先级的中断程序。中断程序执行中,新的中断请求按优先级排队等候。中断队列能保存的中断个数有限,若超出,则会产生溢出。中断队列的最多中断个数和溢出标志位见表6-3,表6-3 中断队列的最多中断个数和溢出标志位,6.2.2 中断指令,中断指令有4条:包括开、

6、关中断指令,中断连接、分离指令。指令格式如表6-4所示,表6-4 中断指令格式参p136,1.开、关中断指令,开中断(ENI)指令全局性允许所有中断事件。ENI关中断(DISI)指令全局性禁止所有中断事件,中断事件的每次出现均被排队等候,直至使用全局开中断指令重新启用中断。DISI,PLC转换到RUN(运行)模式时,中断开始时被禁用,可以通过执行开中断指令,允许所有中断事件。执行关中断指令会禁止处理中断,但是现用中断事件将继续排队等候。,2.中断连接、分离指令,中断连接指令(ATCH)指令将中断事件(EVNT)与中断程序号码(INT)相连接,并启用中断事件。ATCH INT EVENT,分离中

7、断指令(DTCH)取消某中断事件(EVNT)与所有中断程序之间的连接,并禁用该中断事件。DTCH EVENT注意:一个中断事件只能连接一个中断程序,但多个中断事件可以调用一个中断程序。,6.2.3 中断程序,1.中断程序的概念,中断程序是为处理中断事件而事先编好的程序。中断程序不是由程序调用,而是在中断事件发生时由操作系统调用。在中断程序中不能改写其他程序使用的存储器,最好使用局部变量。中断程序应实现特定的任务,应“越短越好”,中断程序由中断程序号开始,以无条件返回指令(CRETI)结束。在中断程序中禁止使用DISI(关中断)、ENI(开中断)和END指令,2.建立中断程序的方法,方法一:从“

8、编辑”菜单选择插入(Insert)中断(Interrupt)。方法二:从指令树,用鼠标右键单击“程序块”图标并从弹出菜单选择插入(Insert)中断(Interrupt)。方法三:从“程序编辑器”窗口,从弹出菜单用鼠标右键单击插入(Insert)中断(Interrupt)。,6.2.4 程序举例,示例:编写由I0.1的上升沿产生的中断事件的初始化程序。(P135)分析:查表6-2 可知,I0.1上升沿产生的中断事件号为2。所以在主程序中用ATCH指令将事件号2和中断程序0连接起来,并全局开中断。程序如图6-1所示,图6-1(P135),主程序 LD SM0.1/首次扫描时,ATCH INT_0

9、 2/将INT_0 和EVNT2连接 ENI/并全局启用中断 LD SM5.0/如果检测到I/O错误,DTCH 2/禁用用于I0.1的上升沿中断(本网络为选项)LD M5.0/当M5.0=1时 DISI/禁用所有的中断,6.3 高速计数器,前面讲的计数器指令的计数速度受扫描周期的影响,对比CPU扫描频率高的脉冲输入,就不能满足控制要求了。高速计数器(HSC)是用于对S7-200扫描速率无法控制的高速事件进行计数。其计数自动进行不受扫描周期的影响,最高计数频率取决于CPU的类型,CPU22x系列最高计数频率为30KHz,用于捕捉比CPU扫描速更快的事件,并产生中断,执行中断程序,完成预定的操作。

10、,1.CPU224 高速计数器地址 HSC0HSC52.中断事件类型 高速计数器计数和动作可采用中断方式进行控制。中断事件大致分为三种方式:当前值等于预设值中断、输入方向改变中断和外部复位中断。常用中断事件方式:当前值等于预设值时产生中断(记作中断事件13)。,高速计数器最多可设置12种不同的操作模式。用高速计数器可实现高速运动的精确控制。S7-200 CPU22x系列PLC还设有高速脉冲输出,输出频率可达20KHz,用于PTO(输出一个频率可调,占空比为50%的脉冲)和PWM(输出占空比可调的脉冲)高速脉冲输出的功能可用于对电动机进行速度控制及位置控制和控制变频器使电机调速,6.3.1 占用

11、输入/输出端子,1.高速计数器占用输入端子,CPU224有六个高速计数器,其占用的输入端子如表6-5所示。(P140)各高速计数器不同的输入端有专用的功能,如:时钟脉冲端、方向控制端、复位端、起动端。参见表6-6及p140,表6-5 高速计数器占用的输入端子,注意:同一个输入端不能用于两种不同的功能。但是高速计数器当前模式未使用的输入端均可用于其他用途,如作为中断输入端或作为数字量输入端。例如,如果在模式2中使用高速计数器HSC0,模式2使用I0.0和I0.2,则I0.1可用于边缘中断或用于HSC3。,2.高速脉冲输出占用的输出端子,S7-200有PTO、PWM两台高速脉冲发生器。PTO脉冲串

12、功能可输出指定个数、指定周期的方波脉冲(占空比50%);PWM功能可输出脉宽变化的脉冲信号,用户可以指定脉冲的周期和脉冲的宽度。,若一台发生器指定给数字输出点Q0.0,另一台发生器则指定给数字输出点Q0.1。当PTO、PWM发生器控制输出时,将禁止输出点Q0.0、Q0.1的正常使用;当不使用PTO、PWM高速脉冲发生器时,输出点Q0.0、Q0.1恢复正常的使用,即由输出映像寄存器决定其输出状态。,6.3.2 高速计数器的工作模式,1.高速计数器的计数方式,(1)单路脉冲输入的内部方向控制加/减计数。参p140即只有一个脉冲输入端,通过高速计数器的控制字节的第3位来控制作加计数或者减计数。(参见

13、表6-6)书p143该位=1,加计数;该位=0,减计数。如图6-2所示内部方向控制的单路加/减计数。,图6-2 单路脉冲输入内部方向控制的单路加/减计数,(2)单路脉冲输入的外部方向控制加/减计数。即有一个脉冲输入端,有一个方向控制端,方向输入信号等于1时,加计数;方向输入信号等于0时,减计数。如图6-3所示外部方向控制的单路加/减计数,图6-3 单路脉冲输入外部方向控制的单路加/减计数,(3)两路脉冲输入的单相加/减计数。即有两个脉冲输入端,一个是加计数脉冲,一个是减计数脉冲,计数值为两个输入端脉冲的代数和。如图6-4所示为两路脉冲输入的加/减计数,图6-4两路脉冲输入的加/减计数,(4)两

14、路脉冲输入的双相正交计数。即有两个脉冲输入端,输入的两路脉冲A 相、B相,相位互差90(正交),A 相超前B相90时,加计数;A 相滞后B相90时,减计数。在这种计数方式下,可选择1x 模式(单倍频,一个时钟脉冲计一个数)和4x 模式(四倍频,一个时钟脉冲计四个数)。如图6-5所示为两路脉冲输入的双相正交计数1x 模式,图6-5两路脉冲输入的双相正交计数1x 模式,2.高速计数器的工作模式,高速计数器有12种工作模式,模式0模式2采用单路脉冲输入的内部方向控制加/减计数;模式3模式5采用单路脉冲输入的外部方向控制加/减计数;模式6模式8采用两路脉冲输入的加/减计数;模式9模式11采用两路脉冲输

15、入的双相正交计数。,S7-200 CPU224有 HSC0-HSC5六个高速计数器,每个高速计数器有多种不同的工作模式。每种高速计数器所拥有的工作模式和其占有的输出端子的数目有关,如表6-6所示,表6-6 高速计数器的工作模式和输入端子的关系及说明,选用某个高速计数器在某种工作方式下工作后,高速计数器所使用的输入不是任意选择的,必须按系统指定的输入点输入信号。如HSC1在模式11下工作,就必须用:I0.6为A相脉冲输入端,I0.7为B相脉冲输入端,I1.0为复位端,I1.1为起动端.,6.3.3 高速计数器的控制字和状态字 1.控制字节,定义了计数器和工作模式之后,还要设置高速计数器的有关控制

16、字节。每个高速计数器均有一个控制字节,它决定了计数器的计数允许或禁用,方向控制(仅限模式0、1和2)或对所有其他模式的初始化计数方向,装入当前值和预置值。控制字节每个控制位的说明如表6-7所示。,表6-7 HSC的控制字节,2.状态字节,每个高速计数器都有一个状态字节,状态位表示当前计数方向以及当前值是否大于或等于预置值。每个高速计数器状态字节的状态位如表6-8,表6-8 高速计数器状态字节的状态位,6.3.4 高速计数器指令,1.高速计数器指令,高速计数器指令有两条:高速计数器定义指令HDEF使能输入有效时,为指定的高速计数器分配一种工作模式。HDEF HSC MODE,高速计数器指令HSC

17、使能输入有效时,根据高速计数器特殊存储器位的状态,并按照HDEF指令指定的模式,设置高速计数器并控制其工作。HSC N,表6-9高速计数器指令格式,(1)高速计数器定义指令HDEF。指令指定高速计数器(HSCx)的工作模式。工作模式的选择即选择了高速计数器的输入脉冲、计数方向、复位和起动功能。每个高速计数器只能用一条“高速计数器定义”指令。(2)高速计数器指令HSC。根据高速计数器控制位的状态和按照HDEF指令指定的工作模式,控制高速计数器。参数N指定高速计数器的号码。,2.高速计数器指令的使用(示例P144),(1)每个高速计数器都有一个32位当前值和一个32位预置值,当前值和预设值均为带符

18、号的整数值。要设置高速计数器的新当前值和新预置值,必须设置控制字节(表9-7),令其第五位和第六位为1,允许更新预置值和当前值,新当前值和新预置值写入特殊内部标志位存储区。然后执行HSC指令,将新数值传输到高速计数器。,(2)执行HDEF指令之前,必须将高速计数器控制字节的位设置成需要的状态,否则将采用默认设置。默认设置为:复位和起动输入高电平有效,正交计数速率选择4模式。执行HDEF指令后,就不能再改变计数器的设置,除非CPU进入停止模式。(3)执行HSC指令时,CPU检查控制字节和有关的当前值和预置值。,6.4 PID控制,预备知识:,当我们不完全了解一个系统和被控对象或不能通过有效的测量

19、手段来获得系统参数时,最适合用PID控制技术。(1)比例(P)控制其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差,(2)积分(I)控制控制器的输出与输入误差信号的积分成正比关系。比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。,(3)微分(D)控制 控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。,(4).PID控制器的参数整定 根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。,6.4.1 PID指令 1.PID算法,在工业生产

20、过程控制中,模拟信号PID(由比例、积分、微分构成的闭合回路)调节是常见的一种控制方法。运行PID控制指令,S7-200将根据参数表中的输入测量值、控制设定值及PID参数,进行PID运算,求得输出控制值。参数表中有9个参数,全部为32位的实数。PID控制回路的参数表如表6-10所示。,典型的PID算法包括三项:比例项、积分项和微分项。即:输出=比例项+积分项+微分项。计算机在周期性地采样并离散化后进行PID运算,算法如下:,Mn=Kc*(SPn-PVn)+Kc*(Ts/Ti)*(SPn-PVn)+Mx+Kc*(Td/Ts)*(PVn-1-PVn)PVn:过程变量当前值SPn:给定值 Kc:增益

21、Ts:采样时间 Ti:积分时间Td:微分时间 Mx:上一次的积分值 PVn-1:上一次过程变量,比例项Kc*(SPn-PVn):能及时地产生与偏差(SPn-PVn)成正比的调节作用,比例系数Kc越大,比例调节作用越强,系统的稳态精度越高,但Kc过大会使系统的输出量振荡加剧,稳定性降低。,积分项Kc*(Ts/Ti)*(SPn-PVn)+Mx:与偏差有关,只要偏差不为0,PID控制的输出就会因积分作用而不断变化,直到偏差消失,系统处于稳定状态,积分的作用是消除稳态误差,提高控制精度,但积分的动作缓慢,给系统的动态稳定带来不良影响,很少单独使用。从式中可以看出:积分时间常数增大,积分作用减弱,消除稳

22、态误差的速度减慢。,微分项Kc*(Td/Ts)*(PVn-1-PVn):根据误差变化的速度(既误差的微分)进行调节具有超前和预测的特点。微分时间常数Td增大时,超调量减少,动态性能得到改善,如Td过大,系统输出量在接近稳态时可能上升缓慢。,表6-10 PID控制回路的参数表,2.PID指令,PID指令:使能有效时,根据回路参数表(TBL)中的输入测量值、控制设定值及PID参数进行PID计算。格式如表6-11所示。,表6-11 PID指令格式,说明:(1)程序中可使用八条PID指令,分别编号0-7,不能重复使用。(2)PID指令不对参数表输入值进行范围检查。必须保证过程变量和给定值积分项当前值和

23、过程变量当前值在0.0和1.0之间。,6.4.2 PID控制功能的应用 1.控制任务,一恒压供水水箱,通过变频器驱动的水泵供水,维持水位在满水位的70%。过程变量PVn为水箱的水位(由水位检测计提供),设定值为70%,PID输出控制变频器,即控制水箱注水调速电机的转速。要求开机后,先手动控制电机,水位上升到70%时,转换到PID自动调节。,2.PID回路参数表,表6-12,3.程序分析,(1)I/O分配手动/自动切换开关I0.0 模拟量输入AIW0 模拟量输出AQW0,(2)程序结构由主程序,子程序,中断程序构成。主程序用来调用初始化子程序子程序用来建立PID回路初始参数表和设置中断,由于定时采样,所以采用定时中断(中断事件号为10),设置周期时间和采样时间相同(0.1s),并写入SMB34。中断程序用于执行PID运算,I0.0=1时,执行PID运算,本例标准化时采用单极性(取值范围32000)。语句表程序及梯形图程序 略,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号