《特殊功能指令》 ppt课件_第1页
《特殊功能指令》 ppt课件_第2页
《特殊功能指令》 ppt课件_第3页
《特殊功能指令》 ppt课件_第4页
《特殊功能指令》 ppt课件_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

1、第6章 特殊功能指令6.1 立刻类指令立刻类指令6.2 中断指令中断指令6.3 高速计数器与高速脉冲输出高速计数器与高速脉冲输出6.4 PID控制控制6.5 时钟指令时钟指令6.1 立刻类指令立刻类指令立刻读指令用于输入立刻读指令用于输入I接点,立刻读指令读取实践输接点,立刻读指令读取实践输入点的形状时,并不更新该输入点对应的输入映像入点的形状时,并不更新该输入点对应的输入映像存放器的值。如:当实践输入点位是存放器的值。如:当实践输入点位是1时,其对时,其对应的立刻触点立刻接通;当实践输入点位是应的立刻触点立刻接通;当实践输入点位是0时,时,其对应的立刻触点立刻断开。其对应的立刻触点立刻断开。

2、立刻输出指令用于输出立刻输出指令用于输出Q线圈,执行指令时,立刻线圈,执行指令时,立刻将新值写入实践输出点和对应的输出映像存放器。将新值写入实践输出点和对应的输出映像存放器。 立刻类指令与非立刻类指令不同,非立刻指令仅立刻类指令与非立刻类指令不同,非立刻指令仅将新值读或写入输入将新值读或写入输入/输出映像存放器。输出映像存放器。 立刻读立刻读 立刻输出立刻输出表表6-1 立刻类指令的格式及阐明立刻类指令的格式及阐明 6.2 中断指令 1. 中断源的类型中断源的类型 中断源即发出中断恳求的事件,又叫中中断源即发出中断恳求的事件,又叫中断事件。为了便于识别,系统给每个中断源断事件。为了便于识别,系

3、统给每个中断源都分配一个编号,称为中断事件号。都分配一个编号,称为中断事件号。S7-200系列可编程控制器最多有系列可编程控制器最多有34个中断源,分为个中断源,分为三大类:通讯中断、输入三大类:通讯中断、输入/输出中断和时基中输出中断和时基中断。断。6.2.1 中断源中断源1通讯中断通讯中断 n在自在口通讯方式下,用户可经过编程来设置波特率、奇偶校验和通讯协议等参数。用户经过编程控制通讯端口的事件为通讯中断。 2I/O中断中断 n I/O中断包括外部输入上升下降沿中断、高速计数器中断和高速脉冲输出中断。S7-200用输入I0.0、I0.1、I0.2或I0.3上升下降沿产生中断。这些输入点用于

4、捕获在发生时必需立刻处置的事件。高速计数器中断指对高速计数器运转时产生的事件实时呼应,包括当前值等于预设值时产生的中断,计数方向的改动时产生的中断或计数器外部复位产生的中断。脉冲输出中断是指预定数目脉冲输出完成而产生的中断。 3时基中断时基中断 n定时中断用于支持一个周期性的活动。周期时间从1毫秒至255毫秒,时基是1毫秒。运用定时中断0,必需在SMB34中写入周期时间;运用定时中断1,必需在SMB35中写入周期时间。n定时中断可以用来对模拟量输入进展采样或定期执行PID回路。定时器T32/T96中断指允许对定时间间隔产生中断。这类中断只能用时基为1ms的定时器T32/T96构成。当中断被启用

5、后,当前值等于预置值时,在S7-200执行的正常1毫秒定时器更新的过程中,执行衔接的中断程序。 2. 中断优先级和排对等候中断优先级和排对等候 n优先级是指多个中断事件同时发出中断恳求时,CPU对中断事件呼应的优先次序。S7-200规定的中断优先由高到低依次是:通讯中断、I/O中断和定时中断。每类中断中不同的中断事件又有不同的优先权,如表6-2所示。n一个程序中总共可有128个中断。S7-200在中断各自的优先级组内按照先来先效力的原那么为中断提供效力。在任何时辰,只能执行一个中断程序。一旦一个中断程序开场执行,那么不断执行至完成。不能被另一个中断程序打断,即使是更高优先级的中断程序。中断程序

6、执行中,新的中断恳求按优先级排队等候。中断队列能保管的中断个数有限,假设超出,那么会产生溢出。中断队列的最多中断个数和溢出标志位如表6-3所示6.2.2 中断指令中断指令 中断指令有4条,包括开、关中断指令,中断衔接、分别指令。指令格式如下表所示。LADSTLENIDISIATCH INT,EVNTDTCH EVNT 操作数及操作数及数据类型数据类型无无无无INT:常量:常量 0-127EVNT:常量,:常量,CPU 224: 0-23; 27-33INT/EVNT数据类型数据类型:字节:字节 EVNT:常量,:常量,CPU 224: 0-23; 27-33数据类型:字节数据类型:字节1. 开

7、、关中断指令开、关中断指令 n开中断ENI指令全局性允许一切中断事件。关中断DISI指令全局性制止一切中断事件,中断事件的每次出现均被排队等候,直至运用全局开中断指令重新启用中断。nPLC转换到RUN运转方式时,中断开场时被禁用,可以经过执行开中断指令,允许一切中断事件。执行关中断指令会制止处置中断,但是现用中断事件将继续排队等候。 2. 中断衔接、分别指令中断衔接、分别指令 n中断衔接指令ATCH指令将中断事件EVNT与中断程序号码INT相衔接,并启用中断事件。n分别中断DTCH指令取消某中断事件EVNT与一切中断程序之间的衔接,并禁用该中断事件。n留意:一个中断事件只能衔接一个中断程序,但

8、多个中断事件可以调用一个中断程序。1. 中断程序的概念中断程序的概念 n中断程序是为处置中断事件而事先编好的程序。中断程序不是由程序调用,而是在中断事件发生时由操作系统调用。在中断程序中不能改写其他程序运用的存储器,最好运用部分变量。中断程序应实现特定的义务,应“越短越好,中断程序由中断程序号开场,以无条件前往指令CRETI终了。在中断程序中制止运用DISI、ENI、HDEF、LSCR和END指令 6.2.3 中断程序中断程序 2. 建立中断程序的方法建立中断程序的方法 n方法一:从“编辑菜单选择插入Insert 中断Interrupt。n方法二:从指令树,用鼠标右键单击“程序块图标并从弹出菜

9、单选择插入Insert 中断Interrupt。n方法三:从“程序编辑器窗口,从弹出菜单用鼠标右键单击插入Insert 中断Interrupt。n程序编辑器从先前的POU显示更改为新中断程序,在程序编辑器的底部会出现一个新标志,代表新的中断程序。6.2.4 程序举例 【例6-1】编写由I0.1的上升沿产生的中断事件的初始化程序。分析:查表6-2可知,I0.1上升沿产生的中断事件号为2。所以在主程序中用ATCH指令将事件号2和中断程序0衔接起来,并全局开中断。程序如以下图所示LD SM0.1 /初次扫描时,ATCH INT_0 2 /将INT_0 和EVNT2衔接ENI /并全局启用中断LD S

10、M5.0 /假设检测到I/O错误,DTCH 2 /禁用用于I0.1的上升沿中断本网络为选项LD M5.0 / 当M5.0=1时DISI /禁用一切的中断主程序主程序【例6-2】编程完成采样任务,要求每10ms采样一次。分析:完成每10ms采样一次,需用定时中断,查表6-2可知,定时中断0的中断事件号为10。因此在主程序中将采样周期10ms即定时中断的时间间隔写入定时中断0的特殊存储器SMB34,并将中断事件10和INT-0衔接,全局开中断。在中断程序0中,将模拟量输入信号读入,程序如以下图所示。LD I0.0MOVB 10, SMB34 / 将采样周期设为100毫秒ATCH INT_0, 10

11、 / 将事件10衔接INT_0ENI / 全局开中断主程序主程序中断程序中断程序 LD SM0.0 MOVW AIW0, VW100 /读入模拟量AIW0 【例6-3】利用定时中断功能编制一个程序,实现如下功能:当I0.0由OFFON,Q0.0亮1s,灭1s,如此循环反复直至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. 实训目的实训目的 n1熟习中断指令的运用方法。熟习中断

12、指令的运用方法。n2掌握定时中断设计程序的方法。掌握定时中断设计程序的方法。 6.2.5 中断程序编程实训2. 实训内容实训内容 n1利用利用T32定时中断编写程序,要求产定时中断编写程序,要求产生占空比为生占空比为50%,周期为,周期为4s的的方波信号。的的方波信号。n2用定时中断实现喷泉的模拟控制,控用定时中断实现喷泉的模拟控制,控制要求。制要求。 3. 参考程序参考程序 n产生占空比为50%,周期为4s的的方波信号,主程序和中断程序如下:主程序主程序 INT-0 4. 输入并调试程序输入并调试程序 n用形状图监视程序的运转,并记录察看到用形状图监视程序的运转,并记录察看到的景象。的景象。

13、 6.3 高速计数器与高速脉冲输出6.3 高速计数器与高速脉冲输出 n前面讲的计数器指令的计数速度受扫描周期的影响,对比CPU扫描频率高的脉冲输入,就不能满足控制要求了。为此,SIMATIC S7-200系列PLC设计了高速计数功能HSC,其计数自动进展不受扫描周期的影响,最高计数频率取决于CPU的类型,CPU22x系列最高计数频率为30KHz,用于捕捉比CPU扫描速更快的事件,并产生中断,执行中断程序,完成预定的操作。高速计数器最多可设置12种不同的操作方式。用高速计数器可实现高速运动的准确控制。SIMATIC S7-200 CPU22x系列PLC还设有高速脉冲输出,输出频率可达20KHz,

14、用于PTO输出一个频率可调,占空比为50%的脉冲和PWM输出占空比可调的脉冲,高速脉冲输出的功能可用于对电动机进展速度控制及位置控制和控制变频器使电机调速 6.3.1 占用输入/输出端子 1. 高速计数器占用输入端子高速计数器占用输入端子 nCPU224有六个高速计数器,其占用的输入有六个高速计数器,其占用的输入端子如表端子如表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

15、占用输入占用输入/输出端子输出端子 1. 高速计数器占用输入端子高速计数器占用输入端子n各高速计数器不同的输入端有公用的功能,如:时钟脉冲端、方向控制端、复位端、起动端。n留意:同一个输入端不能用于两种不同的功能。但是高速计数器当前方式未运用的输入端均可用于其他用途,如作为中断输入端或作为数字量输入端。例如,假设在方式2中运用高速计数器HSC0,方式2运用I0.0和I0.2,那么I0.1可用于边缘中断或用于HSC3。2. 高速脉冲输出占用的输出端子高速脉冲输出占用的输出端子 nS7-200有PTO、PWM两台高速脉冲发生器。 PTO脉冲串功能可输出指定个数、指定周期的方波脉冲占空比50%;PW

16、M功能可输出脉宽变化的脉冲信号,用户可以指定脉冲的周期和脉冲的宽度。假设一台发生器指定给数字输出点Q0.0,另一台发生器那么指定给数字输出点Q0.1。当PTO、PWM发生器控制输出时,将制止输出点Q0.0、Q0.1的正常运用;当不运用PTO、PWM高速脉冲发生器时,输出点Q0.0、Q0.1恢复正常的运用,即由输出映像存放器决议其输出形状。6.3.2 高速计数器的任务方式 1. 高速计数器的计数方式高速计数器的计数方式 n1单路脉冲输入的内部方向控制加/减计数。即只需一个脉冲输入端,经过高速计数器的控制字节的第3位来控制造加计数或者减计数。该位=1,加计数;该位=0,减计数。如图6-6所示内部方

17、向控制的单路加/减计数 。n2单路脉冲输入的外部方向控制加/减计数。即有一个脉冲输入端,有一个方向控制端,方向输入信号等于1时,加计数;方向输入信号等于0时,减计数。如图6-7所示外部方向控制的单路加/减计数1内部方向控制的单路加内部方向控制的单路加/减计数减计数2外部方向控制的单路加外部方向控制的单路加/减计数减计数3两路脉冲输入的单相加两路脉冲输入的单相加/减计数。减计数。 即有两个脉冲输入端,一个是加计数即有两个脉冲输入端,一个是加计数脉冲,一个是减计数脉冲,计数值为两个脉冲,一个是减计数脉冲,计数值为两个输入端脉冲的代数和。输入端脉冲的代数和。 即有两个脉冲输入端,输入的两路脉冲A 相

18、、B相,相位互差90正交,A 相超前B相90时,加计数;A 相滞后B相90时,减计数。在这种计数方式下,可选择1x 方式单倍频,一个时钟脉冲计一个数和4x 方式四倍频,一个时钟脉冲计四个数。 4两路脉冲输入的双相正交计数。两路脉冲输入的双相正交计数。2. 高速计数器的任务方式高速计数器的任务方式 n高速计数器有12种任务方式,方式0方式2采用单路脉冲输入的内部方向控制加/减计数;方式3方式5采用单路脉冲输入的外部方向控制加/减计数;方式6方式8采用两路脉冲输入的加/减计数;方式9方式11采用两路脉冲输入的双相正交计数。nS7-200 CPU224有 HSC0-HSC5六个高速计数器,每个高速计

19、数器有多种不同的任务方式。HSC0选用某个高速计数器在某种任务方式下任务后,高速计数器所运用的输入不是恣意选择的,必需按系统指定的输入点输入信号。如HSC16.3.3 高速计数器的控制字和形状字 高速计数器的任务方式和输入端子的关系及阐明高速计数器的任务方式和输入端子的关系及阐明 6.3.3 高速计数器的控制字和形状字 1. 控制字节控制字节 n定义了计数器和任务方式之后,还要设置定义了计数器和任务方式之后,还要设置高速计数器的有关控制字节。每个高速计高速计数器的有关控制字节。每个高速计数器均有一个控制字节,它决议了计数器数器均有一个控制字节,它决议了计数器的计数允许或禁用,方向控制仅限方式的

20、计数允许或禁用,方向控制仅限方式0、1和和2或对一切其他方式的初始化计数方或对一切其他方式的初始化计数方向,装入当前值和预置值。控制字节每个向,装入当前值和预置值。控制字节每个控制位的阐明如下表所示。控制位的阐明如下表所示。HSC0HSC1HSC2HSC3HSC4HSC5说明SM37.0SM47.0SM57.0SM147.0复位有效电平控制:0=复位信号高电平有效;1=低电平有效SM47.1SM57.1起动有效电平控制:0=起动信号高电平有效;1=低电平有效SM37.2.SM47.2SM57.2SM147.2正交计数器计数速率选择:0=4计数速率;1=1计数速率SM37.3SM47.3SM57

21、.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.6SM57.6SM137.6SM147.6SM157.6向HSC写入新当前值:0 = 无更新1 = 更新当前值SM37.7SM47.7SM57.7SM137.7SM147.7SM157.7HSC允许:0 = 禁用HSC 1

22、 = 启用HSCHSC的控制字节的控制字节 2. 形状字节 n每个高速计数器都有一个形状字节,形状位表示当前计数方向以及当前值能否大于或等于预置值。每个高速计数器形状字节的形状位如下表所示:HSC0HSC1HSC2HSC3HSC4HSC5说明SM36.5SM46.5SM56.5SM136.5SM146.5SM156.5当前计数方向状态位:0 = 减计数;1 = 加计数SM36.6SM46.6SM56.6SM136.6SM146.6SM156.6当前值等于预设值状态位:0 = 不相等;1 = 等于SM36.7SM46.7SM56.7SM136.7SM146.7SM156.7当前值大于预设值状态位

23、:0 = 小于或等于;1 = 大于6.3.4 高速计数器指令及举例 1. 高速计数器指令高速计数器指令 n高速计数器指令有两条:高速计数器定义指令高速计数器指令有两条:高速计数器定义指令HDEFHDEF如下表所示:如下表所示:LADSTLHDEF HSC,MODEHSC N功能说明高速计数器定义指令HDEF高速计数器指令HSC操作数HSC:高速计数器的编号,为常量(05)数据类型:字节MODE工作模式,为常量(011)数据类型:字节N:高速计数器的编号,为常量(05)数据类型:字ENO=0的出错条件SM4.3(运行时间),0003(输入点冲突),0004(中断中的非法指令),000A(HSC重

24、复定义)SM4.3 (运行时间),0001(HSC在HDEF之前),0005(HSC/PLS同时操作)1. 高速计数器指令高速计数器指令n1高速计数器定义指令高速计数器定义指令HDEF。指令指定高速。指令指定高速计数器计数器HSCx的任务方式。任务方式的选择即的任务方式。任务方式的选择即选择了高速计数器的输入脉冲、计数方向、复位选择了高速计数器的输入脉冲、计数方向、复位和起动功能。每个高速计数器只能用一条和起动功能。每个高速计数器只能用一条“高速计高速计数器定义指令。数器定义指令。n2高速计数器指令高速计数器指令HSC。根据高速计数器控制。根据高速计数器控制位的形状和按照位的形状和按照HDEF

25、指令指定的任务方式,控指令指定的任务方式,控制高速计数器。参数制高速计数器。参数N指定高速计数器的号码。指定高速计数器的号码。 2. 高速计数器指令的运用高速计数器指令的运用 n1每个高速计数器都有一个每个高速计数器都有一个32位当前值和一个位当前值和一个32位预置值,位预置值,当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和新预置值,必需设置控制字节,令其第五位和第六位当前值和新预置值,必需设置控制字节,令其第五位和第六位为为1,允许更新预置值和当前值,新当前值和新预置值写入特殊,允许更新预置值和当前值,新当前值和新预置值写

26、入特殊内部标志位存储区。然后执行内部标志位存储区。然后执行HSC指令,将新数值传输到高速指令,将新数值传输到高速计数器。当前值和预置值占用的特殊内部标志位存储区如表计数器。当前值和预置值占用的特殊内部标志位存储区如表6-10所示。除控制字节以及新预设值和当前值坚持字节外,还可所示。除控制字节以及新预设值和当前值坚持字节外,还可以运用数据类型以运用数据类型HC 要装入的数值HSC0HSC1HSC2HSC3HSC4HSC5新的当前值SMD38SMD48SMD58SMD138SMD148SMD158n2执行HDEF指令之前,必需将高速计数器控制字节的位设置成需求的形状,否那么将采用默许设置。默许设置

27、为:复位和起动输入高电平有效,正交计数速率选择4方式。执行HDEF指令后,就不能再改动计数器的设置,除非CPU进入停顿方式。n3执行HSC指令时,CPU检查控制字节和有关的当前值和预置值。 2. 高速计数器指令的运用高速计数器指令的运用 3. 高速计数器指令的初始化 n高速计数器指令的初始化的步骤:高速计数器指令的初始化的步骤:n1 1用初次扫描时接通一个扫描周期的特殊内部用初次扫描时接通一个扫描周期的特殊内部存储器存储器SM0.1SM0.1去调用一个子程序,完成初始化操作。去调用一个子程序,完成初始化操作。由于采用了子程序,在随后的扫描中,不用再调由于采用了子程序,在随后的扫描中,不用再调用

28、这个子程序,以减少扫描时间,使程序构造更用这个子程序,以减少扫描时间,使程序构造更好。好。n2 2 在初始化的子程序中,根据希望的控制设在初始化的子程序中,根据希望的控制设置控制字置控制字SMB37SMB37、SMB47SMB47、SMBSMB、SMB147SMB147、SMB157SMB157,如设置,如设置SMB47=16#F8SMB47=16#F8,那么为:允许计,那么为:允许计数,写入新当前值,写入新预置值,更新计数方数,写入新当前值,写入新预置值,更新计数方向为加计数,假设为正交计数设为向为加计数,假设为正交计数设为4 4,复位和起,复位和起动设置为高电平有效。动设置为高电平有效。n

29、3 3执行执行HDEFHDEF指令,设置指令,设置HSCHSC的编号的编号0-50-5,设,设置任务方式置任务方式0-110-11。如。如HSCHSC的编号设置为的编号设置为1 1,任,任务方式输入设置为务方式输入设置为1111,那么为既有复位又有起动,那么为既有复位又有起动的正交计数任务方式。的正交计数任务方式。n4 4 用新的当前值写入用新的当前值写入3232位当前值存放器位当前值存放器SMD38SMD38,SMD48SMD48,SMD58 SMD58 ,SMDSMD, SMD148 SMD148, SMD158SMD158。如写入。如写入0 0,那么去除当前值,用指令,那么去除当前值,用

30、指令MOVD 0MOVD 0,SMD48SMD48实现。实现。5用新的预置值写入32位预置值存放器SMD42 ,SMD52, SMD62, SMD142 ,SMD152, SMD162。如执行指令MOVD 1000,SMD52,那么设置预置值为1000。假设写入预置值为16#00,那么高速计数器处于不任务形状。6为了捕捉当前值等于预置值的事件,将条件CV=PV中断事件事件13与一个中断程序相联络。7为了捕捉计数方向的改动,将方向改动的中断事件事件14与一个中断程序相联络。8为了捕捉外部复位,将外部复位中断事件事件15与一个中断程序相联络。9执行全局中断允许指令ENI允许HSC中断。10执行HS

31、C指令使S7-200对高速计数器进展编程。11终了子程序。n高速计数器指令的初始化的步骤:高速计数器指令的初始化的步骤:6.3.5 高速脉冲输出 1、脉冲输出、脉冲输出PLS指令指令n脉冲输出PLS指令功能:使能有效时,检查用于脉冲输出Q0.0或Q0.1的特殊存储器位SM,然后执行特殊存储器位定义的脉冲操作。指令格式如下:PLS Q控制字节和参数的特殊存储器控制字节和参数的特殊存储器 n每个PTO/PWM发生器都有一个控制字节8位、一个脉冲计数值无符号的32位数值和一个周期时间和脉宽值无符号的16位数值。这些值都放在特定的特殊存储区SM,如表6-12所示。执行PLS指令时,S7-200读这些特

32、殊存储器位SM,然后执行特殊存储器位定义的脉冲操作,即对相应的PTO/PWM发生器进展编程。 2. 用于脉冲输出用于脉冲输出Q0.0或或Q0.1的特殊存储器的特殊存储器 2形状字节的特殊存储器形状字节的特殊存储器n除了控制信息外,还有用于PTO功能的形状位,如下表所示。程序运转时,根据运转形状使某些位自动置位。可以经过程序来读取相关位的形状,用此形状作为判别条件,实现相应的操作。Q0.0和Q0.1对PTO/PWM输出的控制字节Q0.0Q0.1说明SM67.0SM77.0PTO/PWM刷新周期值 0 :不刷新;1 :刷新SM67.1SM77.1PWM刷新脉冲宽度值 0 :不刷新;1:刷新SM67

33、.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 :允许Q0.0和Q0.1对PTO/PWM输出的周期值Q0.0Q0.1说明SMW68SMW78PTO/PWM周期时间值(范围:2至 65 535)Q0.0和Q0.1对PTO/PWM输出的脉宽值

34、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.1说明SMB166SMB176段号(仅用于多段PTO操作),多段流水线PTO运行中的段的编号SMW168SMW178包络表起始位置,用距离V0的字节偏移量表示(仅用于多段PTO操作)Q0.0和Q0.

35、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.1。在Q0.0或Q0.1运用PTO或PWM功能时,PTO/PWM发生器控制输出,并制止输出点的正常运用,输出波形不受输出映像存放器形状、输出强迫、执行立刻输出指令的影

36、响;在Q0.0或Q0.1位置没有运用PTO或PWM功能时,输出映像存放器控制输出,所以输出映像存放器决议输出波形的初始和终了形状,即决议脉冲输出波形从高电平或低电平开场和终了,使输出波形有短暂的不延续,为了减小这种不延续有害影响,应留意:n1可在起用PTO或PWM操作之前,将用于Q0.0和Q0.1的输出映像存放器设为0。n2PTO/PWM输出必需至少有10%的额定负载,才干完成从封锁至翻开以及从翻开至封锁的顺利转换,即提供陡直的上升沿和下降沿 4. PTO的运用的运用nPTO是可以指定脉冲数和周期的占空比为50%的高速脉冲串的输出。形状字节中的最高位空闲位用来指示脉冲串输出能否完成。可在脉冲串

37、完成时起动中断程序,假设运用多段操作,那么在包络表完成时起动中断程序。1周期和脉冲数周期和脉冲数n周期范围从50微秒至65,535微秒或从2毫秒至65,535毫秒,为16位无符号数,时基有s和ms两种,经过控制字节的第三位选择。留意:n假设周期 2个时间单位,那么周期的默许值为2个时间单位。n周期设定奇数微秒或毫秒例如75毫秒,会引起波形失真。n脉冲计数范围从1至4,294,967,295,为32位无符号数,如设定脉冲计数为0,那么系统默许脉冲计数值为1。2PTO的种类及特点的种类及特点nPTO功能可输出多个脉冲串,现用脉冲串输出完成时,新的脉冲串输出立刻开场。这样就保证了输出脉冲串的延续性。

38、PTO功能允许多个脉冲串排队,从而构成流水线。流水线分为两种:单段流水线和多段流水线。单段流水线单段流水线n单段流水线是指:流水线中每次只能存储一个脉冲串的控制参数,初始PTO段一旦起动,必需按照对第二个波形的要求立刻刷新SM,并再次执行PLS指令,第一个脉冲串完成,第二个波形输出立刻开场,反复此这一步骤可以实现多个脉冲串的输出。n单段流水线中的各段脉冲串可以采用不同的时间基准,但有能够造脉冲串之间的不平稳过渡。输出多个高速脉冲时,编程复杂。多段流水线多段流水线n多段流水线是指在变量存储区V建立一个包络表。包络表存放每个脉冲串的参数,执行PLS指令时,S7 200 PLC自动按包络表中的顺序及

39、参数进展输出脉冲串。包络表中每段脉冲串的参数占用8个字节,由一个16位周期值2字节、一个16位周期增量值2字节和一个32位脉冲计数值4字节组成。包络表的格式如表6-13所示。n多段流水线的特点是编程简单,可以经过指定脉冲的数量自动添加或减少周期,周期增量值为正值会添加周期,周期增量值为负值会减少周期,假设为零,那么周期不变。在包络表中的一切的脉冲串必需采用同一时基,在多段流水线执行时,包络表的各段参数不能改动。多段流水线常用于步进电机的控制。3多段流水线多段流水线PTO初始化和操作步骤初始化和操作步骤n用一个子程序实现PTO初始化,初次扫描SM0.1时从主程序调用初始化子程序,执行初始化操作。

40、以后的扫描不再调用该子程序,这样减少扫描时间,程序构造更好。多段流水线多段流水线PTO的操作步骤的操作步骤n1、初次扫描SM0.1时将输出Q0.0或Q0.1复位置0,并调用完成初始化操作的子程序。n2、在初始化子程序中,根据控制要求设置控制字并写入SMB67或SMB77特殊存储器。如写入16#A0选择微秒递增或16#A8选择毫秒递增,两个数值表示允许PTO功能、选择PTO操作、选择多段操作、以及选择时基微秒或毫秒。n3、将包络表的首地址16位写入在SMW168或SMW178。n4、在变量存储器V中,写入包络表的各参数值。一定要在包络表的起始字节中写入段数。在变量存储器V中建立包络表的过程也可以

41、在一个子程序中完成,在此只须调用设置包络表的子程序。n5、设置中断事件并全局开中断。假设想在PTO完成后,立刻执行相关功能,那么须设置中断,将脉冲串完成事件中断事件号19衔接一中断程序。n6、执行PLS指令,使S7-200为PTO/PWM发生器编程,高速脉冲串由Q0.0或Q0.1输出。n7、退出子程序。 5. PWM的运用的运用nPWM是脉宽可调的高速脉冲,经过控制脉宽和脉冲的周期,实现控制义务。 1周期和脉宽周期和脉宽n周期和脉宽时基为:微秒或毫秒,均为16位无符号数。n周期的范围从50微秒至65,535微秒,或从2毫秒至65,535毫秒。假设周期 = 周期,占空比=100%,输出延续接通。

42、假设脉宽= 0,占空比为0%,那么输出断开。 2更新方式更新方式n有两种改动PWM波形的方法:同步更新和异步更新。n同步更新:不需改动时基时,可以用同步更新。执行同步更新时,波形的变化发生在周期的边缘,构成平滑转换。n异步更新:需求改动PWM的时基时,那么应运用异步更新。异步更新使高速脉冲输出功能被瞬时禁用,与PWM波形不同步。这样能够呵斥控制设备震动。n常见的PWM操作是脉冲宽度不同,但周期坚持不变,即不要求时基改动。因此先选择适宜于一切周期的时基,尽量运用同步更新。3PWM初始化和操作步骤初始化和操作步骤n用初次扫描位用初次扫描位SM0.1使输出位复位为使输出位复位为0,并调用初始化,并调

43、用初始化子程序。这样可减少扫描时间,程序构造更合理。子程序。这样可减少扫描时间,程序构造更合理。n在初始化子程序中设置控制字节。如将在初始化子程序中设置控制字节。如将16#D3时基微秒时基微秒或或16#DB时基毫秒写入时基毫秒写入SMB67 或或SMB77,控制功能,控制功能为:允许为:允许PTO/PWM功能、选择功能、选择PWM操作、设置更新脉操作、设置更新脉冲宽度和周期数值、以及选择时基微秒或毫秒。冲宽度和周期数值、以及选择时基微秒或毫秒。n在在SMW68或或SMW78中写入一个字长的周期值。中写入一个字长的周期值。n在在SMW70或或SMW80中写入一个字长的脉宽值。中写入一个字长的脉宽

44、值。n执行执行PLS指令,使指令,使S7-200为为PWM发生器编程,并由发生器编程,并由Q0.0或或Q0.1输出。输出。n6可为下一输出脉冲预设控制字。在可为下一输出脉冲预设控制字。在SMB67或或SMB77中写中写入入16#D2微秒或微秒或16#DA毫秒控制字节中将制止改毫秒控制字节中将制止改动周期值,允许改动脉宽。以后只需装入一个新的脉宽值,动周期值,允许改动脉宽。以后只需装入一个新的脉宽值,不用改动控制字节,直接执行不用改动控制字节,直接执行PLS指令就可改动脉宽值。指令就可改动脉宽值。n退出子程序。退出子程序。6.3.6 高速输入、高速输出指令编程实训1. 实训目的实训目的n1掌握高

45、速处置类指令的组成、相关特殊存储器的设置、指令的输入及指令执行后的结果,进一步熟习指令的作用和运用方法。n2经过实训的编程、调试练习察看程序执行的过程,分析指令的任务原理,熟习指令的详细运用,掌握编程技巧和才干。 2. 实训内容实训内容n用脉冲输出指令PLS和高速输出端子Q0.0给高速计数器HSC提供高速计数脉冲信号,由于要运用高速脉冲输出功能,必需选用直流电源型的CPU模块。输入侧的公共端与输出侧的公共端相连,高速输出端Q0.0接到高速输入端I0.0,24V电源正端与输出侧的1L+端子相连。有脉冲输出时Q0.0与I0.0对应的LED亮。在子程序0中,把中断程序0与中断事件12CV=PV时产生

46、中断衔接起来。n外部接线图如以下图外部接线图如以下图 S7-200CPUI0.0 Q0.0 M L+ 1L1M 1MDC24V3. 读懂程序并输入程序读懂程序并输入程序n给程序加注释,给网络加注释,在注释中阐明程序的功能和指令的功能。4. 编译运转和调试程序编译运转和调试程序n 察看Q0.1和Q0.2对应的LED的形状,并记录。用形状表监视HSC0的当前值变化情况。n根据察看结果画出HSC0,Q0.0,Q0.1之间对应的波形图。6.4 PID控制1. PID算法 n在工业消费过程控制中,模拟信号PID由比例、积分、微分构成的闭合回路调理是常见的一种控制方法。运转PID控制指令,S7-200将根

47、据参数表中的输入丈量值、控制设定值及PID参数,进展PID运算,求得输出控制值。参数表中有9个参数,全部为32位的实数,共占用36个字节。PID控制回路的参数表如下表所示。6.4.1 PID指令 地址偏移量参数数据格式参数类型说明0过程变量当前值PVn双字 ,实数输入必须在0.0至1.0范围内。4给定值SPn双字 ,实数输入必须在0.0至1.0范围内8输出值Mn双字 ,实数输入/输出在0.0至1.0范围内12增益Kc双字 ,实数输入比例常量,可为正数或负数16采样时间Ts双字 ,实数输入以秒为单位,必须为正数20积分时间Ti双字 ,实数输入以分钟为单位,必须为正数。24微分时间Td双字 ,实数

48、输入以分钟为单位,必须为正数。28上一次的积分值Mx双字 ,实数输入/输出0.0和1.0之间(根据PID运算结果更新)32上一次过程变量PVn-1双字 ,实数输入/输出最近一次PID运算值PID回路参数表地址参数数值VB0过程变量当前值PVn水位检测计提供的模拟量经A/D转换后的标准化数值VB4给定值SPn0.7VB8输出值MnPID回路的输出值(标准化数值)VB12增益Kc0.3VB16采样时间Ts0.1VB20积分时间Ti30VB24微分时间Td0(关闭微分作用)VB28上一次积分值Mx根据PID运算结果更新VB32上一次过程变量PVn-1最近一次PID的变量值2. PID控制回路选项 n

49、在很多控制系统中,有时只采用一种或两种控制回路。例如,能够只需求比例控制回路或比例和积分控制回路。经过设置常量参数值选择所需的控制回路。n1假设不需求积分回路即在PID计算中无“I,那么应将积分时间Ti设为无限大。由于积分项Mx的初始值,虽然没有积分运算,积分项的数值也能够不为零。n2假设不需求微分运算即在PID计算中无“D,那么应将微分时间Td设定为0.0。n3假设不需求比例运算即在PID计算中无“P,但需求I或ID控制,那么应将增益值Kc指定为0.0。由于Kc是计算积分和微分项公式中的系数,将循环增益设为0.0会导致在积分和微分项计算中运用的循环增益值为1.0。3. 回路输入量的转换和规范

50、化 n每个回路的给定值和过程变量都是实践数值,其大小、范围和工程单位能够不同。在PLC进展PID控制之前,必需将其转换成规范化浮点表示法。步骤如下:n1将实践从16位整数转换成32位浮点数或实数。 n2将实数转换成0.0至1.0之间的规范化数值。 4. PID回路输出转换为成比例的整数 n程序执行后,PID回路输出0.0和1.0之间的规范化实数数值,必需被转换成16位成比例整数数值,才干驱动模拟输出。nPID回路输出成比例实数数值=PID回路输出规范化实数值-偏移量*取值范围n程序如下:nMOVRVD108, AC0 /将PID回路输出送入AC0。n-R0.5, AC0 /双极数值减偏移量0.

51、5nR64000.0, AC0 /AC0的值*取值范围,变为成比例实数数值nROUNDAC0,AC0 /将实数四舍五入取整,变为32位整数nDTI AC0, AC0 /32位整数转换成16位整数nMOVWAC0, AQW0 /16位整数写入AQW05. PID指令 nPID指令:使能有效时,根据回路参数表 (TBL)中的输入丈量值、控制设定值及PID参数进展PID计算。格式如下表所示。LADSTL说明PID TBL,LOOPTBL:参数表起始地址VB,数据类型:字节LOOP:回路号,常量(0-7),数据类型:字节n阐明:阐明:n1程序中可运用八条程序中可运用八条PID指令,分别指令,分别编号编号0-7,不能反复运用。,不能反复运用。n2使使ENO = 0的错误条件:的错误条件:0006间间接地址,接地址,SM1.1溢出,参数表起始溢出,参数表起始地址或指令中指定的地址或指令中指定的PID回路指令号码操回路指令号码操作数超出范围。作数超出范围。n3PID指令不对参数表输入值进展范指令不对参数表输入值进展范围检查。必需保证过程变量和给定值积围检查。必需保证过程变量和给定值积分项前值和过程变量前值在分项前值和过程变量前值在0.0和和1.0之之间。间。6.4.2 PID控制功能的运用

温馨提示

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

评论

0/150

提交评论