可编程控制器的指令系统5_第1页
可编程控制器的指令系统5_第2页
可编程控制器的指令系统5_第3页
可编程控制器的指令系统5_第4页
可编程控制器的指令系统5_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、电气控制及电气控制及PLCPLC技术技术电气工程学院电气工程学院 自动化系自动化系杨霞杨霞20142014年年1 1月月电气控制及电气控制及PLCPLC技术技术 电气控制及电气控制及PLCPLC技术技术高速计数器在程序中使用时的地址编号用高速计数器在程序中使用时的地址编号用HCn来表来表示(在非程序中有时用示(在非程序中有时用HSCn),),HC表编程元件表编程元件名称为高速计数器,名称为高速计数器,n为编号。为编号。电气控制及电气控制及PLCPLC技术技术3122电气控制及电气控制及PLCPLC技术技术电气控制及电气控制及PLCPLC技术技术电气控制及电气控制及PLCPLC技术技术电气控制及

2、电气控制及PLCPLC技术技术电气控制及电气控制及PLCPLC技术技术每个高速计数器都有固定的特殊功能存储器与每个高速计数器都有固定的特殊功能存储器与之相配合,完成高速计数功能。之相配合,完成高速计数功能。电气控制及电气控制及PLCPLC技术技术电气控制及电气控制及PLCPLC技术技术电气控制及电气控制及PLCPLC技术技术4.高速计数器使用原理高速计数器使用原理电气控制及电气控制及PLCPLC技术技术(1)用首次扫描时接通一个扫描周期的特殊内部存储器)用首次扫描时接通一个扫描周期的特殊内部存储器SM0.1去调用一个子程去调用一个子程序,完成初始化操作。序,完成初始化操作。 (2) 在初始化的

3、子程序中,根据希望的控制设置控制字(在初始化的子程序中,根据希望的控制设置控制字(SMB37、SMB47、SMB137、SMB147、SMB157) (3)执行)执行HDEF指令,设置指令,设置HSC的编号(的编号(0-5),设置工作模式(),设置工作模式(0-11)。)。 (4) 用新的当前值写入用新的当前值写入32位当前值寄存器(位当前值寄存器(SMD38,SMD48,SMD58 ,SMD138, SMD148, SMD158)。)。 (5)用新的预置值写入)用新的预置值写入32位预置值寄存器(位预置值寄存器(SMD42 ,SMD52, SMD62, SMD142 ,SMD152, SMD

4、162) (6)、 (7) 、(8)中断事件(事件中断事件(事件13、14、15)与一个中断程序相联系。)与一个中断程序相联系。(9)执行全局中断允许指令()执行全局中断允许指令(ENI)允许)允许HSC中断中断 (10)执行)执行HSC指令使指令使S7-200对高速计数器进行编程。对高速计数器进行编程。(11)结束子程序。)结束子程序。电气控制及电气控制及PLCPLC技术技术(1)主程序)主程序 用首次扫描时接通一个扫描周期的特殊内部存储器用首次扫描时接通一个扫描周期的特殊内部存储器SM0.1去调用一个子程序,完成初始化操作。去调用一个子程序,完成初始化操作。v定义定义HSC1的工作模式为模

5、式的工作模式为模式11(两路脉冲输入的双相正交计数,具有(两路脉冲输入的双相正交计数,具有复位和起动输入功能),设置复位和起动输入功能),设置SMB47=16#F8(允许计数,更新新当前值,(允许计数,更新新当前值,更新新预置值,更新计数方向为加计数,若为正交计数设为更新新预置值,更新计数方向为加计数,若为正交计数设为4,复位和,复位和起动设置为高电平有效)。起动设置为高电平有效)。HSC1的当前值的当前值SMD48清零,预置值清零,预置值SMD52=50,当前值,当前值 = 预设值,产生中断(中断事件预设值,产生中断(中断事件13),中断事件),中断事件13连接中断程序连接中断程序INT-0

6、。(2)初始化的子程序)初始化的子程序电气控制及电气控制及PLCPLC技术技术(2)初始化的子程序)初始化的子程序电气控制及电气控制及PLCPLC技术技术(3)中断程序)中断程序INT_0 电气控制及电气控制及PLCPLC技术技术电气控制及电气控制及PLCPLC技术技术(1)周期和脉冲数)周期和脉冲数(2)PTO的种类的种类(3)中断事件类型)中断事件类型(4)PTO的使用的使用电气控制及电气控制及PLCPLC技术技术(1)控制要求)控制要求 步进电机转动过程中,要从步进电机转动过程中,要从A点加速到点加速到B点点后恒速运行,又从后恒速运行,又从C点开始减速到点开始减速到D点,完成这点,完成这

7、一过程时用指示灯显示。电机的转动受脉冲控一过程时用指示灯显示。电机的转动受脉冲控制,制,A点和点和D点的脉冲频率为点的脉冲频率为2kHz,B点和点和C点点的频率为的频率为10kHz,加速过程的脉冲数为,加速过程的脉冲数为400个,个,恒速转动的脉冲数为恒速转动的脉冲数为4000个,减速过程脉冲数个,减速过程脉冲数为为200个。个。电气控制及电气控制及PLCPLC技术技术(2)程序实现)程序实现 确定脉冲发生器及工作模式确定脉冲发生器及工作模式 设置控制字节设置控制字节 写入周期值、周期增量值和脉冲数写入周期值、周期增量值和脉冲数 装入包络表首地址装入包络表首地址 中断调用中断调用 执行执行PL

8、S指令指令 (3)分析)分析 本控制系统主程序、初始化子程序本控制系统主程序、初始化子程序SBR_1、包络表子程序、中断程序组成。包络表子程序、中断程序组成。电气控制及电气控制及PLCPLC技术技术 用用Q0.0作为高速脉冲输出,对应的控制字节为作为高速脉冲输出,对应的控制字节为SMB67,如果,如果希望定义的输出脉冲操作为希望定义的输出脉冲操作为PTO操作,允许脉冲输出,多段操作,允许脉冲输出,多段PTO脉冲串输出,时基为脉冲串输出,时基为ms,设定周期值和脉冲数,则应向,设定周期值和脉冲数,则应向SMB67写入写入2#10101101,即,即16#AD。 通过修改脉冲输出(通过修改脉冲输出

9、(Q0.0或或Q0.1)的特殊存储器)的特殊存储器SM区(包括区(包括控制字节),既更改控制字节),既更改PTO或或PWM的输出波形,然后再执行的输出波形,然后再执行PLS指令。指令。 所有控制位、周期、脉冲宽度和脉冲计数值的默认值所有控制位、周期、脉冲宽度和脉冲计数值的默认值均为零。向控制字节(均为零。向控制字节(SM67.7或或SM77.7)的)的PTO/PWM允许位允许位写入零,然后执行写入零,然后执行PLS指令,将禁止指令,将禁止PTO或或PWM波形的生成。波形的生成。电气控制及电气控制及PLCPLC技术技术 PTO/PWM生成器和输出映像寄存器共用生成器和输出映像寄存器共用Q0.0和

10、和Q0.1。在。在Q0.0或或Q0.1使用使用PTO或或PWM功能时,功能时,PTO/PWM发生器控制输出,并禁发生器控制输出,并禁止输出点的正常使用,输出波形不受输出映像寄存器状态、输出止输出点的正常使用,输出波形不受输出映像寄存器状态、输出强制、执行立即输出指令的影响;在强制、执行立即输出指令的影响;在Q0.0或或Q0.1位置没有使用位置没有使用PTO或或PWM功能时,输出映像寄存器控制输出,所以输出映像寄功能时,输出映像寄存器控制输出,所以输出映像寄存器决定输出波形的初始和结束状态,即决定脉冲输出波形从高存器决定输出波形的初始和结束状态,即决定脉冲输出波形从高电平或低电平开始和结束,使输

11、出波形有短暂的不连续,为了减电平或低电平开始和结束,使输出波形有短暂的不连续,为了减小这种不连续有害影响,小这种不连续有害影响,(1)可在起用)可在起用PTO或或PWM操作之前,将用于操作之前,将用于Q0.0和和Q0.1的输出的输出映像寄存器设为映像寄存器设为0。(2)PTO/PWM输出必须至少有输出必须至少有10%的额定负载,才能完成从关的额定负载,才能完成从关闭至打开以及从打开至关闭的顺利转换,即提供陡直的上升沿和闭至打开以及从打开至关闭的顺利转换,即提供陡直的上升沿和下降沿。下降沿。电气控制及电气控制及PLCPLC技术技术PTO是可以指定脉冲数和周期的占空比为是可以指定脉冲数和周期的占空

12、比为50%的高速脉冲串的输的高速脉冲串的输出。状态字节中的最高位(空闲位)用来指示脉冲串输出是否完出。状态字节中的最高位(空闲位)用来指示脉冲串输出是否完成。可在脉冲串完成时起动中断程序,若使用多段操作,则在包成。可在脉冲串完成时起动中断程序,若使用多段操作,则在包络表完成时起动中断程序。络表完成时起动中断程序。(1)周期和脉冲数)周期和脉冲数周期范围从周期范围从50微秒至微秒至65,535微秒或从微秒或从2毫秒至毫秒至65,535毫秒,为毫秒,为16位无符号数,时基有位无符号数,时基有s和和ms两种,通过控制字节的第三位选择。两种,通过控制字节的第三位选择。如果周期如果周期 2个时间单位,则

13、周期的默认值为个时间单位,则周期的默认值为2个时间单位。个时间单位。周期设定奇数微秒或毫秒(例如周期设定奇数微秒或毫秒(例如75毫秒),会引起波形失真。毫秒),会引起波形失真。脉冲计数范围从脉冲计数范围从1至至4,294,967,295,为,为32位无符号数,如设定脉位无符号数,如设定脉冲计数为冲计数为0,则系统默认脉冲计数值为,则系统默认脉冲计数值为1。电气控制及电气控制及PLCPLC技术技术(2)PTO的种类及特点的种类及特点 PTO功能可输出多个脉冲串,现用脉冲串输出完成时,新的脉功能可输出多个脉冲串,现用脉冲串输出完成时,新的脉冲串输出立即开始。这样就保证了输出脉冲串的连续性。冲串输出

14、立即开始。这样就保证了输出脉冲串的连续性。PTO功功能允许多个脉冲串排队,从而形成流水线。流水线分为两种:单能允许多个脉冲串排队,从而形成流水线。流水线分为两种:单段流水线和多段流水线。段流水线和多段流水线。 单段流水线是指:流水线中每次只能存储一个脉冲串的控制参单段流水线是指:流水线中每次只能存储一个脉冲串的控制参数,初始数,初始PTO段一旦起动,必须按照对第二个波形的要求立即刷段一旦起动,必须按照对第二个波形的要求立即刷新新SM,并再次执行,并再次执行PLS指令,第一个脉冲串完成,第二个波形输指令,第一个脉冲串完成,第二个波形输出立即开始,重复此这一步骤可以实现多个脉冲串的输出。出立即开始

15、,重复此这一步骤可以实现多个脉冲串的输出。 单段流水线中的各段脉冲串可以采用不同的时间基准,但有可单段流水线中的各段脉冲串可以采用不同的时间基准,但有可能造脉冲串之间的不平稳过渡。输出多个高速脉冲时,编程复杂。能造脉冲串之间的不平稳过渡。输出多个高速脉冲时,编程复杂。电气控制及电气控制及PLCPLC技术技术表表 包络表的格式包络表的格式从包络表起始地址从包络表起始地址的字节偏移的字节偏移段段说明说明VBn段数(段数(1255);数值);数值0产生非致命错误,无产生非致命错误,无PTO输出输出VBn+1段段1初始周期(初始周期(2至至65 535个时基单位)个时基单位)VBn+3每个脉冲的周期增

16、量每个脉冲的周期增量(符号整数:(符号整数:-32 768至至32 767个个时基单位)时基单位)VBn+5脉冲数(脉冲数(1至至4 294 967 295)VBn+9段段2初始周期(初始周期(2至至65535个时基单位)个时基单位)VBn+11每个脉冲的周期增量每个脉冲的周期增量(符号整数:(符号整数:-32 768至至32 767个个时基单位)时基单位)VBn+13脉冲数(脉冲数(1至至4 294 967 295)VBn+17段段3初始周期(初始周期(2至至65 535个时基单位)个时基单位)VBn+19每个脉冲的周期增量值每个脉冲的周期增量值(符号整数:(符号整数:-32 768至至32

17、 767个时基单位)个时基单位)VBn+21脉冲数(脉冲数(1至至4 294 967 295)注意:周期增量值注意:周期增量值为整数微秒或毫秒为整数微秒或毫秒电气控制及电气控制及PLCPLC技术技术 多段流水线的特点是编程简单,能够通过指定脉冲的数量自动多段流水线的特点是编程简单,能够通过指定脉冲的数量自动增加或减少周期,周期增量值增加或减少周期,周期增量值为正值会增加周期,周期增量值为正值会增加周期,周期增量值为负值会减少周期,若为负值会减少周期,若为零,则周期不变。在包络表中的所有为零,则周期不变。在包络表中的所有的脉冲串必须采用同一时基,在多段流水线执行时,包络表的各的脉冲串必须采用同一

18、时基,在多段流水线执行时,包络表的各段参数不能改变。多段流水线常用于步进电机的控制。段参数不能改变。多段流水线常用于步进电机的控制。电气控制及电气控制及PLCPLC技术技术 步进电机的控制要求如图所示。从步进电机的控制要求如图所示。从A点到点到B点为加速过程,从点为加速过程,从B到到C为恒速运行,从为恒速运行,从C到到D为减速过程。为减速过程。图图 步进电机的控制要求步进电机的控制要求电气控制及电气控制及PLCPLC技术技术 在本例中:流水线可以分为在本例中:流水线可以分为3段,需建立段,需建立3段脉冲的包络表。起段脉冲的包络表。起始和终止脉冲频率为始和终止脉冲频率为2 kHz,最大脉冲频率为

19、,最大脉冲频率为10 kHz ,所以起始,所以起始和终止周期为和终止周期为500 s,与最大频率的周期为,与最大频率的周期为100 s。1段:加速段:加速运行,应在约运行,应在约200个脉冲时达到最大脉冲频率;个脉冲时达到最大脉冲频率;2段:恒速运行,段:恒速运行,约(约(4000-200-200)=3600个脉冲;个脉冲;3段:减速运行,应在约段:减速运行,应在约200个脉冲时完成。个脉冲时完成。 某一段每个脉冲周期增量值某一段每个脉冲周期增量值用以下式确定:用以下式确定:周期增量值周期增量值=(该段结束时的周期时间(该段结束时的周期时间-该段初始的周期时间)该段初始的周期时间)/该段的脉冲

20、数该段的脉冲数 用该式,计算出用该式,计算出1段的周期增量值段的周期增量值为为-2 s,2段的周期增量值段的周期增量值为为0,3段的周期增量值段的周期增量值为为2 s。假设包络表位于从。假设包络表位于从VB200开始开始的的V存储区中,包络表如下表所示。存储区中,包络表如下表所示。电气控制及电气控制及PLCPLC技术技术表表 包包络表络表V变量存储器地址段号参数值说明VB2003段数VB201段1500 s初始周期VB203-2 s每个脉冲的周期增量VB205200脉冲数VB209段2100s初始周期VB2110每个脉冲的周期增量VB2133600脉冲数VB217段3100s初始周期VB219

21、2 s每个脉冲的周期增量VB221200脉冲数在程序中的用指令可将表中的数据送入在程序中的用指令可将表中的数据送入V变量存储区中。变量存储区中。电气控制及电气控制及PLCPLC技术技术(3)多段流水线)多段流水线PTO初始化和操作步骤初始化和操作步骤 用一个子程序实现用一个子程序实现PTO初始化,首次扫描(初始化,首次扫描(SM0.1)时从主程)时从主程序调用初始化子程序,执行初始化操作。以后的扫描不再调用该序调用初始化子程序,执行初始化操作。以后的扫描不再调用该子程序,这样减少扫描时间,程序结构更好。子程序,这样减少扫描时间,程序结构更好。 初始化操作步骤如下:初始化操作步骤如下: 首次扫描

22、(首次扫描(SM0.1)时将输出)时将输出Q0.0或或Q0.1复位(置复位(置0),并),并调用完成初始化操作的子程序。调用完成初始化操作的子程序。 在初始化子程序中,根据控制要求设置控制字并写入在初始化子程序中,根据控制要求设置控制字并写入SMB67或或SMB77特殊存储器。如写入特殊存储器。如写入16#A0(选择微秒递增)或(选择微秒递增)或16#A8(选择毫秒递增),两个数值表示允许(选择毫秒递增),两个数值表示允许PTO功能、选择功能、选择PTO操作、操作、选择多段操作、以及选择时基(微秒或毫秒)。选择多段操作、以及选择时基(微秒或毫秒)。 将包络表的首地址(将包络表的首地址(16位)

23、写入在位)写入在SMW168(或(或SMW178)。)。电气控制及电气控制及PLCPLC技术技术在变量存储器在变量存储器V中,写入包络表的各参数值。一定要在包络表中,写入包络表的各参数值。一定要在包络表的起始字节中写入段数。在在变量存储器的起始字节中写入段数。在在变量存储器V中建立包络表的过程中建立包络表的过程也可以在一个子程序中完成,在此只须调用设置包络表的子程序。也可以在一个子程序中完成,在此只须调用设置包络表的子程序。设置中断事件并全局开中断。如果想在设置中断事件并全局开中断。如果想在PTO完成后,立即执行完成后,立即执行相关功能,则须设置中断,将脉冲串完成事件(中断事件号相关功能,则须

24、设置中断,将脉冲串完成事件(中断事件号19)连接一中断程序。连接一中断程序。执行执行PLS指令,使指令,使S7-200为为PTO/PWM发生器编程,高速脉冲发生器编程,高速脉冲串由串由Q0.0或或Q0.1输出。输出。退出子程序。退出子程序。电气控制及电气控制及PLCPLC技术技术编程前首先选择高速脉冲发生器为编程前首先选择高速脉冲发生器为Q0.0,并确定,并确定PTO为为3段流水线。段流水线。设置控制字节设置控制字节SMB67为为16#A0表示允许表示允许PTO功能、选择功能、选择PTO操作、操作、选择多段操作、以及选择时基为微秒,不允许更新周期和脉冲数。选择多段操作、以及选择时基为微秒,不允

25、许更新周期和脉冲数。建立建立3段的包络表(上例),并将包络表的首地址装入段的包络表(上例),并将包络表的首地址装入SMW168。PTO完成调用中断程序,使完成调用中断程序,使Q1.0接通。接通。PTO完成的中断事件号为完成的中断事件号为19。用中断调用指令用中断调用指令ATCH将中断事件将中断事件19与中断程序与中断程序INT-0连接,并全局连接,并全局开中断。开中断。执行执行PLS指令,退出子程序。指令,退出子程序。本例题的主程序,初始化子程序,和中断程序如下图所示。本例题的主程序,初始化子程序,和中断程序如下图所示。电气控制及电气控制及PLCPLC技术技术 主程序LD SM0.1/ 首次扫

26、描时,将Q0.0复位R Q0.0 1CALL SBR_0/调用子程序0电气控制及电气控制及PLCPLC技术技术子程序0 / 写入PTO包络表LD SM0.0MOVB 3 VB200 / 将包络表段数设为3 / 段1:MOVW +500 VW201 /段1的初始循环时间设为500msMOVW -2 VW203 /段1的设为-2 msMOVD +200 VD205 /段1的脉冲数设为200 / 段2:MOVW +100 VW209 /段2的初始周期设为100 ms MOVW +0 VW211 /段2的设为0 msMOVD +3600 VD213 /段2中的脉冲数设为3600/ 段3:MOVW +1

27、00 VW217 /段3的初始周期设为100msMOVW +1 VW219 /段3的设为1msMOVD +200 VD221 /段3中的脉冲数设为200 LD SM0.0MOVB 16#A0, SMB67 / 设置控制字节MOVW +200, SMW168 / 将包络表起始地址指定为V200ATCH INT_0, 19 / 设置中断ENI / 全局开中断PLS 0 / 起动PTO,由Q0.0输出电气控制及电气控制及PLCPLC技术技术中断程序0LD SM0.0 / PTO完成时,输出Q1.0= Q1.0图 主程序,初始化子程序,中断程序 电气控制及电气控制及PLCPLC技术技术PWM是脉宽可调

28、的高速脉冲输出,通过控制脉宽和脉冲的周期,是脉宽可调的高速脉冲输出,通过控制脉宽和脉冲的周期,实现控制任务。实现控制任务。(1)周期和脉宽)周期和脉宽 周期和脉宽时基为:微秒或毫秒,均为周期和脉宽时基为:微秒或毫秒,均为16位无符号数。位无符号数。 周期的范围从周期的范围从50微秒至微秒至65,535微秒,或从微秒,或从2毫秒至毫秒至65,535毫秒。毫秒。若周期若周期 = 周期,占空比周期,占空比=100%,输出连续接通。若脉宽,输出连续接通。若脉宽= 0,占空比,占空比为为0%,则输出断开。,则输出断开。(2)更新方式)更新方式 有两种改变有两种改变PWM波形的方法:同步更新和异步更新。波

29、形的方法:同步更新和异步更新。同步更新:不需改变时基时,可以用同步更新。执行同步更新时,同步更新:不需改变时基时,可以用同步更新。执行同步更新时,波形的变化发生在周期的边缘,形成平滑转换。波形的变化发生在周期的边缘,形成平滑转换。电气控制及电气控制及PLCPLC技术技术异步更新:需要改变异步更新:需要改变PWM的时基时,则应使用异步更新。异步更的时基时,则应使用异步更新。异步更新使高速脉冲输出功能被瞬时禁用,与新使高速脉冲输出功能被瞬时禁用,与PWM波形不同步。这样可波形不同步。这样可能造成控制设备震动。能造成控制设备震动。常见的常见的PWM操作是脉冲宽度不同,但周期保持不变,即不要求时操作是

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

31、TO/PWM功能、选择功能、选择PWM操作、设置更新脉冲宽度和周期数值、操作、设置更新脉冲宽度和周期数值、以及选择时基(微秒或毫秒)。以及选择时基(微秒或毫秒)。电气控制及电气控制及PLCPLC技术技术在在SMW68或或SMW78中写入一个字长的周期值。中写入一个字长的周期值。在在SMW70或或SMW80中写入一个字长的脉宽值。中写入一个字长的脉宽值。执行执行PLS指令,使指令,使S7-200为为PWM发生器编程,并由发生器编程,并由Q0.0或或Q0.1输出。输出。可为下一输出脉冲预设控制字。在可为下一输出脉冲预设控制字。在SMB67或或SMB77中写入中写入16#D2(微秒)或(微秒)或16

32、#DA(毫秒)控制字节中将禁止改变周期值,(毫秒)控制字节中将禁止改变周期值,允许改变脉宽。以后只要装入一个新的脉宽值,不用改变控制字允许改变脉宽。以后只要装入一个新的脉宽值,不用改变控制字节,直接执行节,直接执行PLS指令就可改变脉宽值。指令就可改变脉宽值。(4)退出子程序。)退出子程序。电气控制及电气控制及PLCPLC技术技术设计程序,从设计程序,从PLC的的Q0.0输出高速脉冲。该串脉冲脉宽的初始值输出高速脉冲。该串脉冲脉宽的初始值为为0.1s,周期固定为,周期固定为1s,其脉宽每周期递增,其脉宽每周期递增0.1s,当脉宽达到设,当脉宽达到设定的定的0.9s时,脉宽改为每周期递减时,脉宽

33、改为每周期递减0.1s,直到脉宽减为,直到脉宽减为0。以上过。以上过程重复执行。程重复执行。分析:因为每个周期都有操作,所以须把分析:因为每个周期都有操作,所以须把Q0.0接到接到I0.0,采用输,采用输入中断的方法完成控制任务,并且编写两个中断程序,一个中断入中断的方法完成控制任务,并且编写两个中断程序,一个中断程序实现脉宽递增,一个中断程序实现脉宽递减,并设置标志位,程序实现脉宽递增,一个中断程序实现脉宽递减,并设置标志位,在初始化操作时使其置位,执行脉宽递增中断程序,当脉宽达到在初始化操作时使其置位,执行脉宽递增中断程序,当脉宽达到0.9s时,使其复位,执行脉宽递减中断程序。在子程序中完

34、成时,使其复位,执行脉宽递减中断程序。在子程序中完成PWM的初始化操作,选用输出端为的初始化操作,选用输出端为Q0.0,控制字节为,控制字节为SMB67,控制字节设定为控制字节设定为16#DA(允许(允许PWM输出,输出,Q0.0为为PWM方式,同方式,同步更新,时基为步更新,时基为ms,允许更新脉宽,不允许更新周期)。程序如,允许更新脉宽,不允许更新周期)。程序如图图8-16所示。所示。电气控制及电气控制及PLCPLC技术技术(a)主程序 电气控制及电气控制及PLCPLC技术技术电气控制及电气控制及PLCPLC技术技术(b)子程序电气控制及电气控制及PLCPLC技术技术(c)中断程序电气控制

35、及电气控制及PLCPLC技术技术 一、一、PID指令指令 1. PID算法算法 在工业生产过程控制中,模拟信号在工业生产过程控制中,模拟信号PID(由比例、积分、(由比例、积分、微分构成的闭合回路)调节是常见的一种控制方法。微分构成的闭合回路)调节是常见的一种控制方法。 运行运行PID控制指令,控制指令,S7-200将根据参数表中的输入测量值、将根据参数表中的输入测量值、控制设定值及控制设定值及PID参数,进行参数,进行PID运算,求得输出控制值。运算,求得输出控制值。 参数表中有参数表中有9个参数,全部为个参数,全部为32位的实数,共占用位的实数,共占用36个字个字节。节。PID控制回路的参

36、数表如下表所示。控制回路的参数表如下表所示。电气控制及电气控制及PLCPLC技术技术表表 PID控制回路的参数表控制回路的参数表 地址偏地址偏移量移量参数参数数据格式数据格式参数类型参数类型说明说明0过程变量当前值过程变量当前值PVn双字双字 ,实数,实数输入输入必须在必须在0.0至至1.0范围内。范围内。4给定值给定值SPn双字双字 ,实数,实数输入输入必须在必须在0.0至至1.0范围内范围内8输出值输出值Mn双字双字 ,实数,实数输入输入/输出输出在在0.0至至1.0范围内范围内12增益增益Kc双字双字 ,实数,实数输入输入比例常量,可为正数或负数比例常量,可为正数或负数16采样时间采样时

37、间Ts双字双字 ,实数,实数输入输入以秒为单位,必须为正数以秒为单位,必须为正数20积分时间积分时间Ti双字双字 ,实数,实数输入输入以分钟为单位,必须为正数。以分钟为单位,必须为正数。24微分时间微分时间Td双字双字 ,实数,实数输入输入以分钟为单位,必须为正数。以分钟为单位,必须为正数。28上一次的积分值上一次的积分值Mx双字双字 ,实数,实数输入输入/输出输出0.0和和1.0之间(根据之间(根据PID运算结运算结果更新)果更新)32上一次过程变量上一次过程变量PVn-1双字双字 ,实数,实数输入输入/输出输出最近一次最近一次PID运算值运算值电气控制及电气控制及PLCPLC技术技术典型的

38、典型的PID算法包括三项:比例项、积分项和微分项。即:输出算法包括三项:比例项、积分项和微分项。即:输出=比例项比例项+积分项积分项+微分项。计算机在周期性地采样并离散化后进行微分项。计算机在周期性地采样并离散化后进行PID运算,算运算,算法如下:法如下:Mn=Kc*(SPn-PVn)+Kc*(Ts/Ti)*(SPn-PVn)+Mx+Kc*(Td/Ts)*(PVn-1-PVn)其中各参数的含义已在表其中各参数的含义已在表8-15中描述。中描述。比例项比例项Kc*(SPn-PVn):能及时地产生与偏差:能及时地产生与偏差(SPn-PVn)成正比的成正比的调节作用,比例系数调节作用,比例系数Kc越

39、大,比例调节作用越强,系统的稳态精度越高,越大,比例调节作用越强,系统的稳态精度越高,但但Kc过大会使系统的输出量振荡加剧,稳定性降低。过大会使系统的输出量振荡加剧,稳定性降低。积分项积分项Kc*(Ts/Ti)*(SPn-PVn)+Mx:与偏差有关,只要偏差不为:与偏差有关,只要偏差不为0,PID控制的输出就会因积分作用而不断变化,直到偏差消失,系统处于控制的输出就会因积分作用而不断变化,直到偏差消失,系统处于稳定状态,所以积分的作用是消除稳态误差,提高控制精度,但积分的稳定状态,所以积分的作用是消除稳态误差,提高控制精度,但积分的动作缓慢,给系统的动态稳定带来不良影响,很少单独使用。从式中可

40、动作缓慢,给系统的动态稳定带来不良影响,很少单独使用。从式中可以看出:积分时间常数增大,积分作用减弱,消除稳态误差的速度减慢。以看出:积分时间常数增大,积分作用减弱,消除稳态误差的速度减慢。微分项微分项Kc*(Td/Ts)*(PVn-1-PVn):根据误差变化的速度(既误差:根据误差变化的速度(既误差的微分)进行调节具有超前和预测的特点。微分时间常数的微分)进行调节具有超前和预测的特点。微分时间常数Td增大时,超增大时,超调量减少,动态性能得到改善,如调量减少,动态性能得到改善,如Td过大,系统输出量在接近稳态时可过大,系统输出量在接近稳态时可能上升缓慢。能上升缓慢。电气控制及电气控制及PLC

41、PLC技术技术2. PID控制回路选项控制回路选项在很多控制系统中,有时只采用一种或两种控制回路。例如,可在很多控制系统中,有时只采用一种或两种控制回路。例如,可能只要求比例控制回路或比例和积分控制回路。通过设置常量参能只要求比例控制回路或比例和积分控制回路。通过设置常量参数值选择所需的控制回路。数值选择所需的控制回路。(1)如果不需要积分回路(即在)如果不需要积分回路(即在PID计算中无计算中无“I”),则应将积),则应将积分时间分时间Ti设为无限大。由于积分项设为无限大。由于积分项Mx的初始值,虽然没有积分运的初始值,虽然没有积分运算,积分项的数值也可能不为零。算,积分项的数值也可能不为零

42、。(2)如果不需要微分运算(即在)如果不需要微分运算(即在PID计算中无计算中无“D”),则应将微),则应将微分时间分时间Td设定为设定为0.0。(3)如果不需要比例运算(即在)如果不需要比例运算(即在PID计算中无计算中无“P”),但需要),但需要I或或ID控制,则应将增益值控制,则应将增益值Kc指定为指定为0.0。因为。因为Kc是计算积分和微是计算积分和微分项公式中的系数,将循环增益设为分项公式中的系数,将循环增益设为0.0会导致在积分和微分项计会导致在积分和微分项计算中使用的循环增益值为算中使用的循环增益值为1.0。电气控制及电气控制及PLCPLC技术技术 3. 回路输入量的转换和标准化

43、回路输入量的转换和标准化 每个回路的给定值和过程变量都是实际数值,其大小、范围每个回路的给定值和过程变量都是实际数值,其大小、范围和工程单位可能不同。在和工程单位可能不同。在PLC进行进行PID控制之前,必须将其控制之前,必须将其转换成标准化浮点表示法。步骤如下:转换成标准化浮点表示法。步骤如下: (1)将实际从)将实际从16位整数转换成位整数转换成32位浮点数或实数。下列指位浮点数或实数。下列指令说明如何将整数数值转换成实数。令说明如何将整数数值转换成实数。 XORD AC0,AC0 /将将AC0清清0 ITD AIW0, AC0/将输入数值转换成双字将输入数值转换成双字 DTR AC0,

44、AC0/将将32位整数转换成实数位整数转换成实数电气控制及电气控制及PLCPLC技术技术2)将实数转换成)将实数转换成0.0至至1.0之间的标准化数值。用下式:之间的标准化数值。用下式:实际数值的标准化数值实际数值的标准化数值=实际数值的非标准化数值或原始实数实际数值的非标准化数值或原始实数/取取值范围值范围 +偏移量偏移量其中:取值范围其中:取值范围=最大可能数值最大可能数值-最小可能数值最小可能数值=32 000(单极数值)(单极数值)或或64 000(双极数值)(双极数值)偏移量:对单极数值取偏移量:对单极数值取0.0,对双极数值取,对双极数值取0.5单极(单极(032000),双极()

45、,双极(-3200032000)如将上述如将上述AC0中的双极数值(间距为中的双极数值(间距为64,000)标准化:)标准化:/R64000.0, AC0 /使累加器中的数值标准化使累加器中的数值标准化+R 0.5, AC0 /加偏移量加偏移量0.5MOVRAC0, VD100/将标准化数值写入将标准化数值写入PID回路参数表中。回路参数表中。电气控制及电气控制及PLCPLC技术技术4. PID回路输出转换为成比例的整数回路输出转换为成比例的整数程序执行后,程序执行后,PID回路输出回路输出0.0和和1.0之间的标准化实数数值,必须之间的标准化实数数值,必须被转换成被转换成16位成比例整数数值

46、,才能驱动模拟输出。位成比例整数数值,才能驱动模拟输出。PID回路输出成比例实数数值回路输出成比例实数数值=(PID回路输出标准化实数值回路输出标准化实数值-偏移偏移量)量)*取值范围取值范围程序如下:程序如下:MOVRVD108, AC0/将将PID回路输出送入回路输出送入AC0。-R0.5, AC0 /双极数值减偏移量双极数值减偏移量0.5*R64000.0, AC0 /AC0的值的值*取值范围,变为成比例实数数值取值范围,变为成比例实数数值ROUNDAC0,AC0 /将实数四舍五入取整,变为将实数四舍五入取整,变为32位整数位整数DTI AC0, AC0 /32位整数转换成位整数转换成1

47、6位整数位整数MOVWAC0, AQW0/16位整数写入位整数写入AQW0电气控制及电气控制及PLCPLC技术技术 5. PID指令指令 PID指令:使能有效时,根据回路参数表(指令:使能有效时,根据回路参数表(TBL)中的)中的输入测量值、控制设定值及输入测量值、控制设定值及PID参数进行参数进行PID计算。格计算。格式如表式如表8-16所示。所示。 说明:说明: (1)程序中可使用八条)程序中可使用八条PID指令,分别编号指令,分别编号0-7,不能,不能重复使用。重复使用。 (2)使)使ENO = 0的错误条件:的错误条件:0006(间接地址),(间接地址),SM1.1(溢出,参数表起始地

48、址或指令中指定的(溢出,参数表起始地址或指令中指定的PID回回路指令号码操作数超出范围)。路指令号码操作数超出范围)。 (3)PID指令不对参数表输入值进行范围检查。必须指令不对参数表输入值进行范围检查。必须保证过程变量和给定值积分项前值和过程变量前值在保证过程变量和给定值积分项前值和过程变量前值在0.0和和1.0之间。之间。电气控制及电气控制及PLCPLC技术技术表表 PID指令格式指令格式 LADSTL说明说明PID TBL,LOOPTBL:参数表起始地址:参数表起始地址VB,数据类型:字节数据类型:字节LOOP:回路号,常量(:回路号,常量(0-7),),数据类型:字节数据类型:字节电气

49、控制及电气控制及PLCPLC技术技术 二、二、PID控制功能的应用控制功能的应用 1. 控制任务控制任务 一恒压供水水箱,通过变频器驱动的水泵供水,维持水位在一恒压供水水箱,通过变频器驱动的水泵供水,维持水位在满水位的满水位的70%。过程变量。过程变量PVn为水箱的水位(由水位检测计为水箱的水位(由水位检测计提供),设定值为提供),设定值为70%,PID输出控制变频器,即控制水箱输出控制变频器,即控制水箱注水调速电机的转速。要求开机后,先手动控制电机,水位注水调速电机的转速。要求开机后,先手动控制电机,水位上升到上升到70%时,转换到时,转换到PID自动调节。自动调节。 2. PID回路参数表

50、,如下表所示。回路参数表,如下表所示。电气控制及电气控制及PLCPLC技术技术表表 恒压供水恒压供水 PID控制参数表控制参数表 地址地址参数参数数值数值VB100过程变量当前值过程变量当前值PVn水位检测计提供的模拟量经水位检测计提供的模拟量经A/D转换后的标准化数值转换后的标准化数值VB104给定值给定值SPn0.7VB108输出值输出值MnPID回路的输出值(标准化数值)回路的输出值(标准化数值)VB112增益增益Kc0.3VB116采样时间采样时间Ts0.1VB120积分时间积分时间Ti30VB124微分时间微分时间Td0(关闭微分作用)(关闭微分作用)VB128上一次积分值上一次积分

51、值Mx根据根据PID运算结果更新运算结果更新VB132上一次过程变量上一次过程变量PVn-1最近一次最近一次PID的变量值的变量值电气控制及电气控制及PLCPLC技术技术 2. 程序分析程序分析 (1)I/O分配分配 手动手动/自动切换开关自动切换开关I0.0 模拟量输入模拟量输入AIW0 模拟量输模拟量输出出AQW0 (2)程序结构)程序结构 由主程序,子程序,中断程序构成。主程序用来调用初始化由主程序,子程序,中断程序构成。主程序用来调用初始化子程序,子程序用来建立子程序,子程序用来建立PID回路初始参数表和设置中断,回路初始参数表和设置中断,由于定时采样,所以采用定时中断(中断事件号为由

52、于定时采样,所以采用定时中断(中断事件号为10),设),设置周期时间和采样时间相同(置周期时间和采样时间相同(0.1s),并写入),并写入SMB34。中。中断程序用于执行断程序用于执行PID运算,运算,I0.0=1时,执行时,执行PID运算,本例标运算,本例标准化时采用单极性(取值范围准化时采用单极性(取值范围32000)。)。电气控制及电气控制及PLCPLC技术技术3. 语句表程序语句表程序主程序主程序LD SM0.1CALL SBR_0子程序(建立子程序(建立PID回路参数表,设置中断以执行回路参数表,设置中断以执行PID指令)指令)LD SM0.0MOVR 0.7, VD104 / 写入

53、给定值写入给定值(注满注满70%)MOVR 0.3, VD112 / 写入回路增益(写入回路增益(0.25)MOVR 0.1, VD116 / 写入采样时间(写入采样时间(0.1秒)秒)MOVR 30.0, VD120 / 写入积分时间(写入积分时间(30分钟)分钟)MOVR 0.0, VD124 / 设置无微分运算设置无微分运算MOVB 100, SMB34 / 写入定时中断的周期写入定时中断的周期100msATCH INT_0, 10 / 将将INT-0(执行(执行PID)和定时中断连接)和定时中断连接ENI / 全局开中断全局开中断电气控制及电气控制及PLCPLC技术技术中断程序(执行中

54、断程序(执行PID指令)指令)LD SM0.0ITD AIW0, AC0 / 将整数转换为双整数将整数转换为双整数DTR AC0, AC0 / 将双整数转换为实数将双整数转换为实数/R 32000.0, AC0 / 标准化数值标准化数值MOVR AC0, VD100 / 将标准化将标准化PV写入回路参数表写入回路参数表LD I0.0PID VB100, 0 /PID指令设置参数表起始地址为指令设置参数表起始地址为VB100,LD SM0.0MOVR VD108, AC0 / 将将PID回路输出移至累加器回路输出移至累加器*R 32000.0, AC0 / 实际化数值实际化数值ROUND AC0, AC0 / 将实际化后的数值取整将实际化后的数值取整DTI AC0, AC0 / 将双整数转换为整数将双整数转换为整数MOVW AC0, AQW0 / 将数值写入模拟输出将数值写入模拟输出电气控制及电气控制及PLCPLC技术技术4. 梯形图程序梯形图程序图 恒压供水 PID控制 电气控制及电气控制及PLCPLC技术技术 利用时钟指令可以实现调用系统实时时钟利用时钟指令可以实现调用系统实时时钟或根据需要设定时钟,这对控制系统运行的或根据需要设定时钟,这对控制系统运行的监视、运行记录及和实时时

温馨提示

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

评论

0/150

提交评论