第6章特殊功能指令ppt课件.ppt

上传人:豆**** 文档编号:65777550 上传时间:2022-12-08 格式:PPT 页数:95 大小:1.14MB
返回 下载 相关 举报
第6章特殊功能指令ppt课件.ppt_第1页
第1页 / 共95页
第6章特殊功能指令ppt课件.ppt_第2页
第2页 / 共95页
点击查看更多>>
资源描述

《第6章特殊功能指令ppt课件.ppt》由会员分享,可在线阅读,更多相关《第6章特殊功能指令ppt课件.ppt(95页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第6章特殊功能指令ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望6.1 立即类指令立即类指令立立即即读读指令用于输入I接点,立即读指令读取实际输入点的状态时,并不更新该输入点对应的输入映像寄存器的值。如:当实际输入点(位)是1时,其对应的立即触点立即接通;当实际输入点(位)是0时,其对应的立即触点立即断开。立立即即输输出出指令用于输出Q线圈,执行指令时,立即将新值写入实际输出点和对应的输出映像寄存器。立即类指令与非立即类指令不同,非立即指令仅将新值读或

2、写入输入/输出映像寄存器。立即读立即读 立即输出立即输出表表6-1 立即类指令的格式及说明立即类指令的格式及说明 6.2 中断指令 1.中断源的类型中断源的类型 中断源即发出中断请求的事件,又叫中中断源即发出中断请求的事件,又叫中断事件。为了便于识别,系统给每个中断源断事件。为了便于识别,系统给每个中断源都分配一个编号,称为中断事件号。都分配一个编号,称为中断事件号。S7-200系列可编程控制器最多有系列可编程控制器最多有34个中断源,分为个中断源,分为三大类:通信中断、输入三大类:通信中断、输入/输出中断和时基输出中断和时基中断。中断。6.2.1 中断源中断源(1)通信中断)通信中断 n在自

3、由口通信模式下,用户可通过编程来设置波特率、奇偶校验和通信协议等参数。用户通过编程控制通讯端口的事件为通信中断。(2)I/O中断中断 n I/O中断包括外部输入上升下降沿中断、高速计数器中断和高速脉冲输出中断。S7-200用输入(I0.0、I0.1、I0.2或I0.3)上升下降沿产生中断。这些输入点用于捕获在发生时必须立即处理的事件。高速计数器中断指对高速计数器运行时产生的事件实时响应,包括当前值等于预设值时产生的中断,计数方向的改变时产生的中断或计数器外部复位产生的中断。脉冲输出中断是指预定数目脉冲输出完成而产生的中断。(3)时基中断)时基中断 n定时中断用于支持一个周期性的活动。周期时间从

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

5、类中断中不同的中断事件又有不同的优先权,如表6-2所示。n一个程序中总共可有128个中断。S7-200在中断各自的优先级组内按照先来先服务的原则为中断提供服务。在任何时刻,只能执行一个中断程序。一旦一个中断程序开始执行,则一直执行至完成。不能被另一个中断程序打断,即使是更高优先级的中断程序。中断程序执行中,新的中断请求按优先级排队等候。中断队列能保存的中断个数有限,若超出,则会产生溢出。中断队列的最多中断个数和溢出标志位如表6-3所示6.2.2 中断指令中断指令 中断指令有4条,包括开、关中断指令,中断连接、分离指令。指令格式如下表所示。LADSTLENIDISIATCH INT,EVNTDT

6、CH EVNT 操作数及操作数及数据类型数据类型无无无无INT:常量:常量 0-127EVNT:常量,:常量,CPU 224:0-23;27-33INT/EVNT数据类型:数据类型:字节字节 EVNT:常量,:常量,CPU 224:0-23;27-33数据类型:字节数据类型:字节1.开、关中断指令开、关中断指令 n开中断(ENI)指令全局性允许所有中断事件。关中断(DISI)指令全局性禁止所有中断事件,中断事件的每次出现均被排队等候,直至使用全局开中断指令重新启用中断。nPLC转换到RUN(运行)模式时,中断开始时被禁用,可以通过执行开中断指令,允许所有中断事件。执行关中断指令会禁止处理中断,

7、但是现用中断事件将继续排队等候。2.中断连接、分离指令中断连接、分离指令 n中断连接指令(ATCH)指令将中断事件(EVNT)与中断程序号码(INT)相连接,并启用中断事件。n分离中断(DTCH)指令取消某中断事件(EVNT)与所有中断程序之间的连接,并禁用该中断事件。n注意:一个中断事件只能连接一个中断程序,但多个中断事件可以调用一个中断程序。1.中断程序的概念中断程序的概念 n中断程序是为处理中断事件而事先编好的程序。中断程序不是由程序调用,而是在中断事件发生时由操作系统调用。在中断程序中不能改写其他程序使用的存储器,最好使用局部变量。中断程序应实现特定的任务,应“越短越好”,中断程序由中

8、断程序号开始,以无条件返回指令(CRETI)结束。在中断程序中禁止使用DISI、ENI、HDEF、LSCR和END指令 6.2.3 中断程序中断程序 2.建立中断程序的方法建立中断程序的方法 n方法一:从“编辑”菜单选择插入(Insert)中断(Interrupt)。n方法二:从指令树,用鼠标右键单击“程序块”图标并从弹出菜单选择插入(Insert)中断(Interrupt)。n方法三:从“程序编辑器”窗口,从弹出菜单用鼠标右键单击插入(Insert)中断(Interrupt)。n程序编辑器从先前的POU显示更改为新中断程序,在程序编辑器的底部会出现一个新标记,代表新的中断程序。6.2.4 程

9、序举例【例6-1】编写由I0.1的上升沿产生的中断事件的初始化程序。分析:查表6-2可知,I0.1上升沿产生的中断事件号为2。所以在主程序中用ATCH指令将事件号2和中断程序0连接起来,并全局开中断。程序如下图所示LD SM0.1 /首次扫描时,ATCH INT_0 2 /将INT_0 和EVNT2连接ENI /并全局启用中断LD SM5.0 /如果检测到I/O错误,DTCH 2 /禁用用于I0.1的上升沿中断(本网络为选项)LD M5.0 /当M5.0=1时DISI /禁用所有的中断主程序主程序【例6-2】编程完成采样工作,要求每10ms采样一次。分析:完成每10ms采样一次,需用定时中断,

10、查表6-2可知,定时中断0的中断事件号为10。因此在主程序中将采样周期(10ms)即定时中断的时间间隔写入定时中断0的特殊存储器SMB34,并将中断事件10和INT-0连接,全局开中断。在中断程序0中,将模拟量输入信号读入,程序如下图所示。LD I0.0MOVB 10,SMB34 /将采样周期设为100毫秒ATCH INT_0,10 /将事件10连接INT_0ENI /全局开中断主程序主程序中断程序中断程序 LD SM0.0 MOVW AIW0,VW100 /读入模拟量AIW0【例6-3】利用定时中断功能编制一个程序,实现如下功能:当I0.0由OFFON,Q0.0亮1s,灭1s,如此循环反复直

11、至I0.0由ONOFF,Q0.0变为OFF。LD I0.0EUATCH INT_0,21ENILDN M0.0A I0.0TON T32,+1000LD T32=M0.0LD I0.0EDDTCH 21DISI主程序主程序INT-0LDN Q0.0=Q0.01.实训目的实训目的 n(1)熟悉中断指令的使用方法。)熟悉中断指令的使用方法。n(2)掌握定时中断设计程序的方法。)掌握定时中断设计程序的方法。6.2.5 中断程序编程实训2.实训内容实训内容 n(1)利利用用T32定定时时中中断断编编写写程程序序,要要求求产产生占空比为生占空比为50%,周期为,周期为4s的的方波信号。的的方波信号。n(

12、2)用定时中断实现喷泉的模拟控制,控)用定时中断实现喷泉的模拟控制,控制要求。制要求。3.参考程序参考程序 n产生占空比为50%,周期为4s的的方波信号,主程序和中断程序如下:主程序主程序 INT-0 4.输入并调试程序输入并调试程序 n用状态图监视程序的运行,并记录观察到用状态图监视程序的运行,并记录观察到的现象。的现象。6.3 高速计数器与高速脉冲输出6.3 高速计数器与高速脉冲输出 n前面讲的计数器指令的计数速度受扫描周期的影响,对比CPU扫描频率高的脉冲输入,就不能满足控制要求了。为此,SIMATIC S7-200系列PLC设计了高速计数功能(HSC),其计数自动进行不受扫描周期的影响

13、,最高计数频率取决于CPU的类型,CPU22x系列最高计数频率为30KHz,用于捕捉比CPU扫描速更快的事件,并产生中断,执行中断程序,完成预定的操作。高速计数器最多可设置12种不同的操作模式。用高速计数器可实现高速运动的精确控制。SIMATIC S7-200 CPU22x系列PLC还设有高速脉冲输出,输出频率可达20KHz,用于PTO(输出一个频率可调,占空比为50%的脉冲)和PWM(输出占空比可调的脉冲),高速脉冲输出的功能可用于对电动机进行速度控制及位置控制和控制变频器使电机调速 6.3.1 占用输入/输出端子 1.高速计数器占用输入端子高速计数器占用输入端子 nCPU224有六个高速计

14、数器,其占用的输入有六个高速计数器,其占用的输入端子如表端子如表6-5所示。所示。高速计数器使用的输入端子HSC0I0.0,I0.1,I0.2HSC1I0.6,I0.7,I1.0,I1.1HSC2I1.2,I1.3,I1.4,I1.5HSC3I0.1HSC4I0.3,I0.4,I0.5HSC5I0.46.3.1 占用输入占用输入/输出端子输出端子 1.高速计数器占用输入端子高速计数器占用输入端子n各高速计数器不同的输入端有专用的功能,如:时钟脉冲端、方向控制端、复位端、起动端。n注意:同一个输入端不能用于两种不同的功能。但是高速计数器当前模式未使用的输入端均可用于其他用途,如作为中断输入端或作

15、为数字量输入端。例如,如果在模式2中使用高速计数器HSC0,模式2使用I0.0和I0.2,则I0.1可用于边缘中断或用于HSC3。2.高速脉冲输出占用的输出端子高速脉冲输出占用的输出端子 nS7-200有PTO、PWM两台高速脉冲发生器。PTO脉冲串功能可输出指定个数、指定周期的方波脉冲(占空比50%);PWM功能可输出脉宽变化的脉冲信号,用户可以指定脉冲的周期和脉冲的宽度。若一台发生器指定给数字输出点Q0.0,另一台发生器则指定给数字输出点Q0.1。当PTO、PWM发生器控制输出时,将禁止输出点Q0.0、Q0.1的正常使用;当不使用PTO、PWM高速脉冲发生器时,输出点Q0.0、Q0.1恢复

16、正常的使用,即由输出映像寄存器决定其输出状态。6.3.2 高速计数器的工作模式 1.高速计数器的计数方式高速计数器的计数方式 n(1)单路脉冲输入的内部方向控制加/减计数。即只有一个脉冲输入端,通过高速计数器的控制字节的第3位来控制作加计数或者减计数。该位=1,加计数;该位=0,减计数。如图6-6所示内部方向控制的单路加/减计数。n(2)单路脉冲输入的外部方向控制加/减计数。即有一个脉冲输入端,有一个方向控制端,方向输入信号等于1时,加计数;方向输入信号等于0时,减计数。如图6-7所示外部方向控制的单路加/减计数(1)内部方向控制的单路加)内部方向控制的单路加/减计数减计数(2)外部方向控制的

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

18、冲输入的内部方向控制加/减计数;模式3模式5采用单路脉冲输入的外部方向控制加/减计数;模式6模式8采用两路脉冲输入的加/减计数;模式9模式11采用两路脉冲输入的双相正交计数。nS7-200 CPU224有 HSC0-HSC5六个高速计数器,每个高速计数器有多种不同的工作模式。HSC0选用某个高速计数器在某种工作方式下工作后,高速计数器所使用的输入不是任意选择的,必须按系统指定的输入点输入信号。如HSC16.3.3 高速计数器的控制字和状态字 高速计数器的工作模式和输入端子的关系及说明高速计数器的工作模式和输入端子的关系及说明 6.3.3 高速计数器的控制字和状态字 1.控制字节控制字节 n定定

19、义义了了计计数数器器和和工工作作模模式式之之后后,还还要要设设置置高高速速计计数数器器的的有有关关控控制制字字节节。每每个个高高速速计计数数器器均均有有一一个个控控制制字字节节,它它决决定定了了计计数数器器的的计计数数允允许许或或禁禁用用,方方向向控控制制(仅仅限限模模式式0、1和和2)或或对对所所有有其其他他模模式式的的初初始始化化计计数数方方向向,装装入入当当前前值值和和预预置置值值。控控制制字字节节每每个个控制位的说明如下表所示。控制位的说明如下表所示。HSC0HSC1HSC2HSC3HSC4HSC5说明SM37.0SM47.0SM57.0SM147.0复位有效电平控制:0=复位信号高电

20、平有效;1=低电平有效SM47.1SM57.1起动有效电平控制:0=起动信号高电平有效;1=低电平有效SM37.2.SM47.2SM57.2SM147.2正交计数器计数速率选择:0=4计数速率;1=1计数速率SM37.3SM47.3SM57.3SM137.3SM147.3SM157.3计数方向控制位:0=减计数1=加计数SM37.4SM47.4SM57.4SM137.4SM147.4SM157.4向HSC写入计数方向:0=无更新1=更新计数方向SM37.5SM47.5SM57.5SM137.5SM147.5SM157.5向HSC写入新预置值:0=无更新1=更新预置值SM37.6SM47.6SM

21、57.6SM137.6SM147.6SM157.6向HSC写入新当前值:0=无更新1=更新当前值SM37.7SM47.7SM57.7SM137.7SM147.7SM157.7HSC允许:0=禁用HSC 1=启用HSCHSC的控制字节的控制字节 2.状态字节 n每个高速计数器都有一个状态字节,状态位表示当前计数方向以及当前值是否大于或等于预置值。每个高速计数器状态字节的状态位如下表所示:HSC0HSC1HSC2HSC3HSC4HSC5说明SM36.5SM46.5SM56.5SM136.5SM146.5SM156.5当前计数方向状态位:0=减计数;1=加计数SM36.6SM46.6SM56.6SM

22、136.6SM146.6SM156.6当前值等于预设值状态位:0=不相等;1=等于SM36.7SM46.7SM56.7SM136.7SM146.7SM156.7当前值大于预设值状态位:0=小于或等于;1=大于6.3.4 高速计数器指令及举例 1.高速计数器指令高速计数器指令 n高速计数器指令有两条:高速计数器定义指令高速计数器指令有两条:高速计数器定义指令HDEF如下表所示:如下表所示:LADSTLHDEF HSC,MODEHSC N功能说明高速计数器定义指令HDEF高速计数器指令HSC操作数HSC:高速计数器的编号,为常量(05)数据类型:字节MODE工作模式,为常量(011)数据类型:字节

23、N:高速计数器的编号,为常量(05)数据类型:字ENO=0的出错条件SM4.3(运行时间),0003(输入点冲突),0004(中断中的非法指令),000A(HSC重复定义)SM4.3(运行时间),0001(HSC在HDEF之前),0005(HSC/PLS同时操作)1.高速计数器指令高速计数器指令n(1)高速计数器定义指令高速计数器定义指令HDEF。指令指定高速指令指定高速计数器(计数器(HSCx)的工作模式。工作模式的选择即的工作模式。工作模式的选择即选择了高速计数器的输入脉冲、计数方向、复位选择了高速计数器的输入脉冲、计数方向、复位和起动功能。每个高速计数器只能用一条和起动功能。每个高速计数

24、器只能用一条“高速高速计数器定义计数器定义”指令。指令。n(2)高速计数器指令)高速计数器指令HSC。根据高速计数器控制根据高速计数器控制位的状态和按照位的状态和按照HDEF指令指定的工作模式,控指令指定的工作模式,控制高速计数器。参数制高速计数器。参数N指定高速计数器的号码。指定高速计数器的号码。2.高速计数器指令的使用高速计数器指令的使用 n(1)每个高速计数器都有一个)每个高速计数器都有一个32位当前值和一个位当前值和一个32位预置值,位预置值,当前值和预设值均为带符号的整数值。要设置高速计数器的新当当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和新预置值,必须设置控制字节

25、前值和新预置值,必须设置控制字节,令其第五位和第六位为令其第五位和第六位为1,允许更新预置值和当前值,新当前值和新预置值写入特殊内部,允许更新预置值和当前值,新当前值和新预置值写入特殊内部标志位存储区。然后执行标志位存储区。然后执行HSC指令,将新数值传输到高速计数指令,将新数值传输到高速计数器。当前值和预置值占用的特殊内部标志位存储区如表器。当前值和预置值占用的特殊内部标志位存储区如表6-10所示。所示。除控制字节以及新预设值和当前值保持字节外,还可以使用数据除控制字节以及新预设值和当前值保持字节外,还可以使用数据类型类型HCHC 要装入的数值HSC0HSC1HSC2HSC3HSC4HSC5

26、新的当前值SMD38SMD48SMD58SMD138SMD148SMD158新的预置值SMD42SMD52SMD62SMD142SMD152SMD162n(2)执行HDEF指令之前,必须将高速计数器控制字节的位设置成需要的状态,否则将采用默认设置。默认设置为:复位和起动输入高电平有效,正交计数速率选择4模式。执行HDEF指令后,就不能再改变计数器的设置,除非CPU进入停止模式。n(3)执行HSC指令时,CPU检查控制字节和有关的当前值和预置值。2.高速计数器指令的使用高速计数器指令的使用 3.高速计数器指令的初始化 n高速计数器指令的初始化的步骤:高速计数器指令的初始化的步骤:n(1)用首次扫

27、描时接通一个扫描周期的特殊内部存储器SM0.1去调用一个子程序,完成初始化操作。因为采用了子程序,在随后的扫描中,不必再调用这个子程序,以减少扫描时间,使程序结构更好。n(2)在初始化的子程序中,根据希望的控制设置控制字(SMB37、SMB47、SMB137、SMB147、SMB157),如设置SMB47=16#F8,则为:允许计数,写入新当前值,写入新预置值,更新计数方向为加计数,若为正交计数设为4,复位和起动设置为高电平有效。n(3)执行HDEF指令,设置HSC的编号(0-5),设置工作模式(0-11)。如HSC的编号设置为1,工作模式输入设置为11,则为既有复位又有起动的正交计数工作模式

28、。n(4)用新的当前值写入32位当前值寄存器(SMD38,SMD48,SMD58,SMD138,SMD148,SMD158)。如写入0,则清除当前值,用指令MOVD 0,SMD48实现。(5)用新的预置值写入32位预置值寄存器(SMD42,SMD52,SMD62,SMD142,SMD152,SMD162)。如执行指令MOVD 1000,SMD52,则设置预置值为1000。若写入预置值为16#00,则高速计数器处于不工作状态。(6)为了捕捉当前值等于预置值的事件,将条件CV=PV中断事件(事件13)与一个中断程序相联系。(7)为了捕捉计数方向的改变,将方向改变的中断事件(事件14)与一个中断程序

29、相联系。(8)为了捕捉外部复位,将外部复位中断事件(事件15)与一个中断程序相联系。(9)执行全局中断允许指令(ENI)允许HSC中断。(10)执行HSC指令使S7-200对高速计数器进行编程。(11)结束子程序。n高速计数器指令的初始化的步骤:高速计数器指令的初始化的步骤:6.3.5 高速脉冲输出 1、脉冲输出(、脉冲输出(PLS)指令)指令n脉冲输出(PLS)指令功能:使能有效时,检查用于脉冲输出(Q0.0或Q0.1)的特殊存储器位(SM),然后执行特殊存储器位定义的脉冲操作。指令格式如下:PLS Q()控制字节和参数的特殊存储器()控制字节和参数的特殊存储器 n每个PTO/PWM发生器都

30、有一个控制字节(8位)、一个脉冲计数值(无符号的32位数值)和一个周期时间和脉宽值(无符号的16位数值)。这些值都放在特定的特殊存储区(SM),如表6-12所示。执行PLS指令时,S7-200读这些特殊存储器位(SM),然后执行特殊存储器位定义的脉冲操作,即对相应的PTO/PWM发生器进行编程。2.用于脉冲输出(用于脉冲输出(Q0.0或或Q0.1)的特殊存储器的特殊存储器(2)状态字节的特殊存储器)状态字节的特殊存储器n除了控制信息外,还有用于PTO功能的状态位,如下表所示。程序运行时,根据运行状态使某些位自动置位。可以通过程序来读取相关位的状态,用此状态作为判断条件,实现相应的操作。Q0.0

31、和Q0.1对PTO/PWM输出的控制字节Q0.0Q0.1说明SM67.0SM77.0PTO/PWM刷新周期值 0:不刷新;1:刷新SM67.1SM77.1PWM刷新脉冲宽度值 0:不刷新;1:刷新SM67.2SM77.2PTO刷新脉冲计数值 0:不刷新;1:刷新SM67.3SM77.3PTO/PWM时基选择 0:1 s;1:1msSM67.4SM77.4PWM更新方法 0:异步更新;1:同步更新SM67.5SM77.5PTO操作 0:单段操作;1:多段操作SM67.6SM77.6PTO/PWM模式选择 0:选择PTO 1:选择PWMSM67.7SM77.7PTO/PWM允许 0:禁止;1:允许

32、Q0.0和Q0.1对PTO/PWM输出的周期值Q0.0Q0.1说明SMW68SMW78PTO/PWM周期时间值(范围:2至 65 535)Q0.0和Q0.1对PTO/PWM输出的脉宽值Q0.0Q0.1说明SMW70SMW80PWM脉冲宽度值(范围:0至65 535)脉冲输出(脉冲输出(Q0.0或或Q0.1)的特殊存储器)的特殊存储器 脉冲输出(脉冲输出(Q0.0或或Q0.1)的特殊存储器)的特殊存储器 Q0.0和Q0.1对PTO脉冲输出的计数值Q0.0Q0.1说明SMD72SMD82PTO脉冲计数值(范围:1至4 294 967 295)Q0.0和Q0.1对PTO脉冲输出的多段操作Q0.0Q0

33、.1说明SMB166SMB176段号(仅用于多段PTO操作),多段流水线PTO运行中的段的编号SMW168SMW178包络表起始位置,用距离V0的字节偏移量表示(仅用于多段PTO操作)Q0.0和Q0.1的状态位Q0.0Q0.1说明SM66.4SM76.4PTO包络由于增量计算错误异常终止 0:无错;1:异常终止SM66.5SM76.5PTO包络由于用户命令异常终止 0:无错;1:异常终止SM66.6SM76.6PTO流水线溢出 0:无溢出;1:溢出SM66.7SM76.7PTO空闲 0:运行中;1:PTO空闲 3.对输出的影响对输出的影响nPTO/PWM生成器和输出映像寄存器共用Q0.0和Q0

34、.1。在Q0.0或Q0.1使用PTO或PWM功能时,PTO/PWM发生器控制输出,并禁止输出点的正常使用,输出波形不受输出映像寄存器状态、输出强制、执行立即输出指令的影响;在Q0.0或Q0.1位置没有使用PTO或PWM功能时,输出映像寄存器控制输出,所以输出映像寄存器决定输出波形的初始和结束状态,即决定脉冲输出波形从高电平或低电平开始和结束,使输出波形有短暂的不连续,为了减小这种不连续有害影响,应注意:n(1)可在起用PTO或PWM操作之前,将用于Q0.0和Q0.1的输出映像寄存器设为0。n(2)PTO/PWM输出必须至少有10%的额定负载,才能完成从关闭至打开以及从打开至关闭的顺利转换,即提

35、供陡直的上升沿和下降沿 4.PTO的使用的使用nPTO是可以指定脉冲数和周期的占空比为50%的高速脉冲串的输出。状态字节中的最高位(空闲位)用来指示脉冲串输出是否完成。可在脉冲串完成时起动中断程序,若使用多段操作,则在包络表完成时起动中断程序。(1)周期和脉冲数)周期和脉冲数n周期范围从50微秒至65,535微秒或从2毫秒至65,535毫秒,为16位无符号数,时基有s和ms两种,通过控制字节的第三位选择。注意:n如果周期 2个时间单位,则周期的默认值为2个时间单位。n周期设定奇数微秒或毫秒(例如75毫秒),会引起波形失真。n脉冲计数范围从1至4,294,967,295,为32位无符号数,如设定

36、脉冲计数为0,则系统默认脉冲计数值为1。(2)PTO的种类及特点的种类及特点nPTO功能可输出多个脉冲串,现用脉冲串输出完成时,新的脉冲串输出立即开始。这样就保证了输出脉冲串的连续性。PTO功能允许多个脉冲串排队,从而形成流水线。流水线分为两种:单段流水线和多段流水线。单段流水线单段流水线n单段流水线是指:流水线中每次只能存储一个脉冲串的控制参数,初始PTO段一旦起动,必须按照对第二个波形的要求立即刷新SM,并再次执行PLS指令,第一个脉冲串完成,第二个波形输出立即开始,重复此这一步骤可以实现多个脉冲串的输出。n单段流水线中的各段脉冲串可以采用不同的时间基准,但有可能造脉冲串之间的不平稳过渡。

37、输出多个高速脉冲时,编程复杂。多段流水线多段流水线n多段流水线是指在变量存储区V建立一个包络表。包络表存放每个脉冲串的参数,执行PLS指令时,S7 200 PLC自动按包络表中的顺序及参数进行输出脉冲串。包络表中每段脉冲串的参数占用8个字节,由一个16位周期值(2字节)、一个16位周期增量值(2字节)和一个32位脉冲计数值(4字节)组成。包络表的格式如表6-13所示。n多段流水线的特点是编程简单,能够通过指定脉冲的数量自动增加或减少周期,周期增量值为正值会增加周期,周期增量值为负值会减少周期,若为零,则周期不变。在包络表中的所有的脉冲串必须采用同一时基,在多段流水线执行时,包络表的各段参数不能

38、改变。多段流水线常用于步进电机的控制。(3)多段流水线)多段流水线PTO初始化和操作步骤初始化和操作步骤n用一个子程序实现PTO初始化,首次扫描(SM0.1)时从主程序调用初始化子程序,执行初始化操作。以后的扫描不再调用该子程序,这样减少扫描时间,程序结构更好。多段流水线多段流水线PTO的的操作步骤操作步骤n1、首次扫描(SM0.1)时将输出Q0.0或Q0.1复位(置0),并调用完成初始化操作的子程序。n2、在初始化子程序中,根据控制要求设置控制字并写入SMB67或SMB77特殊存储器。如写入16#A0(选择微秒递增)或16#A8(选择毫秒递增),两个数值表示允许PTO功能、选择PTO操作、选

39、择多段操作、以及选择时基(微秒或毫秒)。n3、将包络表的首地址(16位)写入在SMW168(或SMW178)。n4、在变量存储器V中,写入包络表的各参数值。一定要在包络表的起始字节中写入段数。在变量存储器V中建立包络表的过程也可以在一个子程序中完成,在此只须调用设置包络表的子程序。n5、设置中断事件并全局开中断。如果想在PTO完成后,立即执行相关功能,则须设置中断,将脉冲串完成事件(中断事件号19)连接一中断程序。n6、执行PLS指令,使S7-200为PTO/PWM发生器编程,高速脉冲串由Q0.0或Q0.1输出。n7、退出子程序。5.PWM的使用的使用nPWM是脉宽可调的高速脉冲,通过控制脉宽

40、和脉冲的周期,实现控制任务。(1)周期和脉宽)周期和脉宽n周期和脉宽时基为:微秒或毫秒,均为16位无符号数。n周期的范围从50微秒至65,535微秒,或从2毫秒至65,535毫秒。若周期=周期,占空比=100%,输出连续接通。若脉宽=0,占空比为0%,则输出断开。(2)更新方式)更新方式n有两种改变PWM波形的方法:同步更新和异步更新。n同步更新:不需改变时基时,可以用同步更新。执行同步更新时,波形的变化发生在周期的边缘,形成平滑转换。n异步更新:需要改变PWM的时基时,则应使用异步更新。异步更新使高速脉冲输出功能被瞬时禁用,与PWM波形不同步。这样可能造成控制设备震动。n常见的PWM操作是脉

41、冲宽度不同,但周期保持不变,即不要求时基改变。因此先选择适合于所有周期的时基,尽量使用同步更新。(3)PWM初始化和操作步骤初始化和操作步骤I.用用首首次次扫扫描描位位(SM0.1)使使输输出出位位复复位位为为0,并并调调用用初初始始化化子程序。这样可减少扫描时间,程序结构更合理。子程序。这样可减少扫描时间,程序结构更合理。II.在在初初始始化化子子程程序序中中设设置置控控制制字字节节。如如将将16#D3(时时基基微微秒秒)或或16#DB(时时基基毫毫秒秒)写写入入SMB67 或或SMB77,控控制制功功能能为为:允允许许PTO/PWM功功能能、选选择择PWM操操作作、设设置置更更新新脉脉冲冲

42、宽度和周期数值、以及选择时基(微秒或毫秒)。宽度和周期数值、以及选择时基(微秒或毫秒)。III.在在SMW68或或SMW78中写入一个字长的周期值。中写入一个字长的周期值。IV.在在SMW70或或SMW80中写入一个字长的脉宽值。中写入一个字长的脉宽值。V.执执行行PLS指指令令,使使S7-200为为PWM发发生生器器编编程程,并并由由Q0.0或或Q0.1输出。输出。VI.6可可为为下下一一输输出出脉脉冲冲预预设设控控制制字字。在在SMB67或或SMB77中中写写入入16#D2(微微秒秒)或或16#DA(毫毫秒秒)控控制制字字节节中中将将禁禁止止改改变变周周期期值值,允允许许改改变变脉脉宽宽。

43、以以后后只只要要装装入入一一个个新新的的脉脉宽宽值值,不用改变控制字节,直接执行不用改变控制字节,直接执行PLS指令就可改变脉宽值。指令就可改变脉宽值。VII.退出子程序退出子程序。6.3.6 高速输入、高速输出指令编程实训1.实训目的实训目的n(1)掌握高速处理类指令的组成、相关特殊存储器的设置、指令的输入及指令执行后的结果,进一步熟悉指令的作用和使用方法。n(2)通过实训的编程、调试练习观察程序执行的过程,分析指令的工作原理,熟悉指令的具体应用,掌握编程技巧和能力。2.实训内容实训内容n用脉冲输出指令PLS和高速输出端子Q0.0给高速计数器HSC提供高速计数脉冲信号,因为要使用高速脉冲输出

44、功能,必须选用直流电源型的CPU模块。输入侧的公共端与输出侧的公共端相连,高速输出端Q0.0接到高速输入端I0.0,24V电源正端与输出侧的1L+端子相连。有脉冲输出时Q0.0与I0.0对应的LED亮。在子程序0中,把中断程序0与中断事件12(CV=PV时产生中断)连接起来。n外部接线图如下图外部接线图如下图 S7-200CPUI0.0 Q0.0 M L+1L1M 1MDC24V3.读懂程序并输入程序读懂程序并输入程序n给程序加注释,给网络加注释,在注释中说明程序的功能和指令的功能。4.编译运行和调试程序编译运行和调试程序n 观察Q0.1和Q0.2对应的LED的状态,并记录。用状态表监视HSC

45、0的当前值变化情况。n根据观察结果画出HSC0,Q0.0,Q0.1之间对应的波形图。6.4 PID控制1.PID算法 n在工业生产过程控制中,模拟信号PID(由比例、积分、微分构成的闭合回路)调节是常见的一种控制方法。运行PID控制指令,S7-200将根据参数表中的输入测量值、控制设定值及PID参数,进行PID运算,求得输出控制值。参数表中有9个参数,全部为32位的实数,共占用36个字节。PID控制回路的参数表如下表所示。6.4.1 PID指令 地址偏移量参数数据格式参数类型说明0过程变量当前值PVn双字,实数输入必须在0.0至1.0范围内。4给定值SPn双字,实数输入必须在0.0至1.0范围

46、内8输出值Mn双字,实数输入/输出在0.0至1.0范围内12增益Kc双字,实数输入比例常量,可为正数或负数16采样时间Ts双字,实数输入以秒为单位,必须为正数20积分时间Ti双字,实数输入以分钟为单位,必须为正数。24微分时间Td双字,实数输入以分钟为单位,必须为正数。28上一次的积分值Mx双字,实数输入/输出0.0和1.0之间(根据PID运算结果更新)32上一次过程变量PVn-1双字,实数输入/输出最近一次PID运算值PID回路参数表地址参数数值VB0过程变量当前值PVn水位检测计提供的模拟量经A/D转换后的标准化数值VB4给定值SPn0.7VB8输出值MnPID回路的输出值(标准化数值)V

47、B12增益Kc0.3VB16采样时间Ts0.1VB20积分时间Ti30VB24微分时间Td0(关闭微分作用)VB28上一次积分值Mx根据PID运算结果更新VB32上一次过程变量PVn-1最近一次PID的变量值2.PID控制回路选项 n在很多控制系统中,有时只采用一种或两种控制回路。例如,可能只要求比例控制回路或比例和积分控制回路。通过设置常量参数值选择所需的控制回路。n(1)如果不需要积分回路(即在PID计算中无“I”),则应将积分时间Ti设为无限大。由于积分项Mx的初始值,虽然没有积分运算,积分项的数值也可能不为零。n(2)如果不需要微分运算(即在PID计算中无“D”),则应将微分时间Td设

48、定为0.0。n(3)如果不需要比例运算(即在PID计算中无“P”),但需要I或ID控制,则应将增益值Kc指定为0.0。因为Kc是计算积分和微分项公式中的系数,将循环增益设为0.0会导致在积分和微分项计算中使用的循环增益值为1.0。3.回路输入量的转换和标准化 n每个回路的给定值和过程变量都是实际数值,其大小、范围和工程单位可能不同。在PLC进行PID控制之前,必须将其转换成标准化浮点表示法。步骤如下:(1)将实际从16位整数转换成32位浮点数或实数。(2)将实数转换成0.0至1.0之间的标准化数值。4.PID回路输出转换为成比例的整数 n程序执行后,PID回路输出0.0和1.0之间的标准化实数

49、数值,必须被转换成16位成比例整数数值,才能驱动模拟输出。nPID回路输出成比例实数数值=(PID回路输出标准化实数值-偏移量)*取值范围n程序如下:nMOVRVD108,AC0/将PID回路输出送入AC0。n-R0.5,AC0 /双极数值减偏移量0.5nR64000.0,AC0/AC0的值*取值范围,变为成比例实数数值nROUNDAC0,AC0/将实数四舍五入取整,变为32位整数nDTI AC0,AC0 /32位整数转换成16位整数nMOVWAC0,AQW0/16位整数写入AQW05.PID指令 nPID指令:使能有效时,根据回路参数表(TBL)中的输入测量值、控制设定值及PID参数进行PI

50、D计算。格式如下表所示。LADSTL说明PID TBL,LOOPTBL:参数表起始地址VB,数据类型:字节LOOP:回路号,常量(0-7),数据类型:字节n说明:说明:(1)程序中可使用八条PID指令,分别编号0-7,不能重复使用。(2)使ENO=0的错误条件:0006(间接地址),SM1.1(溢出,参数表起始地址或指令中指定的PID回路指令号码操作数超出范围)。(3)PID指令不对参数表输入值进行范围检查。必须保证过程变量和给定值积分项前值和过程变量前值在0.0和1.0之间。6.4.2 PID控制功能的应用 1.控制任务 n一恒压供水水箱,通过变频器驱动的水泵供水,维持水位在满水位的70%。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁