第12讲-可编程序控制器的指令系统4

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

电气控制及PLC技术制作:电气学院杨霞电气控制及PLC技术西门子S7-2002电气控制及PLC技术第12讲•讲解内容:•4可编程序控制器的指令系统•PLC的特殊功能指令(二)•学习说明:•本讲是学习的PLC的指令系统。重点掌握:•PLC的特殊功能类指令(自学)电气控制及PLC技术西门子S7-2003一)高速计数器高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),HC表编程元件名称为高速计数器,n为编号。五、高速处理指令*1.高速计数器介绍电气控制及PLC技术西门子S7-20041)高速计数器输入端的连接高速计数器中断事件大致分为3类:当前值等于预设值中断、输入方向改变中断和外部复位中断。所有高速计数器都支持当前值等于预设值中断。3122电气控制及PLC技术西门子S7-20052)高速计数器的工作模式电气控制及PLC技术西门子S7-2006•高速计数器有6种编号,12种工作模式.HSC0和HSC4有模式0、1、3、4、6、7、8、9、10;HSC1和HSC2有模式0、1、2、3、4、5、6、7、8、9、10、11;HSC3和HSC5只有模式0。电气控制及PLC技术西门子S7-20073)高速计数器的控制字和状态字电气控制及PLC技术西门子S7-2008电气控制及PLC技术西门子S7-2009每个高速计数器都有固定的特殊功能存储器与之相配合,完成高速计数功能。2.高速计数器的使用电气控制及PLC技术西门子S7-200103.高速计数指令(1)HDEF指令•HDEF,定义高速计数器指令。使能输入有效时,为指定的高速计数器分配一种工作模式,即用来建立高速计数器与工作模式之间的联系。•梯形图指令盒中有两个数据输入端:•HSC,高速计数器编号,为0~5的常数,字节型;•MODE,工作模式,为0~11的常数,字节型。电气控制及PLC技术西门子S7-20011(2)HSC指令•HSC,使用高速计数器指令。•使能输入有效时,根据高速计数器特殊存储器位的状态,并按照HDEF指令指定的工作模式,设置高速计数器并控制其工作。•梯形图指令盒数据输入端N:高速计数器编号,为0~5的常数,字型。电气控制及PLC技术西门子S7-20012原理:每个高速计数器都有一个32位当前值和一个32位预置值,当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和新预置值,必须设置控制字节令其第五位和第六位为1,允许更新预置值和当前值,新当前值和新预置值写入特殊内部标志位存储区。然后执行HSC指令,将新数值传输到高速计数器。4.高速计数器使用原理电气控制及PLC技术西门子S7-20013(1)用首次扫描时接通一个扫描周期的特殊内部存储器SM0.1去调用一个子程序,完成初始化操作。(2)在初始化的子程序中,根据希望的控制设置控制字(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,SMD162)(6)、(7)、(8)中断事件(事件13、14、15)与一个中断程序相联系。(9)执行全局中断允许指令(ENI)允许HSC中断(10)执行HSC指令使S7-200对高速计数器进行编程。(11)结束子程序。5.高速计数器指令初始化电气控制及PLC技术西门子S7-20014例高速计数器的应用举例(1)主程序用首次扫描时接通一个扫描周期的特殊内部存储器SM0.1去调用一个子程序,完成初始化操作。定义HSC1的工作模式为模式11(两路脉冲输入的双相正交计数,具有复位和起动输入功能),设置SMB47=16#F8(允许计数,更新新当前值,更新新预置值,更新计数方向为加计数,若为正交计数设为4×,复位和起动设置为高电平有效)。HSC1的当前值SMD48清零,预置值SMD52=50,当前值=预设值,产生中断(中断事件13),中断事件13连接中断程序INT-0。(2)初始化的子程序电气控制及PLC技术西门子S7-20015(2)初始化的子程序电气控制及PLC技术西门子S7-20016(3)中断程序INT_0电气控制及PLC技术西门子S7-200171.高速脉冲输出介绍二)高速脉冲输出电气控制及PLC技术西门子S7-200182.高速脉冲串输出PTO(1)周期和脉冲数(2)PTO的种类(3)中断事件类型(4)PTO的使用电气控制及PLC技术西门子S7-200193.应用实例(1)控制要求步进电机转动过程中,要从A点加速到B点后恒速运行,又从C点开始减速到D点,完成这一过程时用指示灯显示。电机的转动受脉冲控制,A点和D点的脉冲频率为2kHz,B点和C点的频率为10kHz,加速过程的脉冲数为400个,恒速转动的脉冲数为4000个,减速过程脉冲数为200个。电气控制及PLC技术西门子S7-20020(2)程序实现确定脉冲发生器及工作模式设置控制字节写入周期值、周期增量值和脉冲数装入包络表首地址中断调用执行PLS指令(3)分析本控制系统主程序、初始化子程序SBR_1、包络表子程序、中断程序组成。电气控制及PLC技术西门子S7-20021例设置控制字节•用Q0.0作为高速脉冲输出,对应的控制字节为SMB67,如果希望定义的输出脉冲操作为PTO操作,允许脉冲输出,多段PTO脉冲串输出,时基为ms,设定周期值和脉冲数,则应向SMB67写入2#10101101,即16#AD。•通过修改脉冲输出(Q0.0或Q0.1)的特殊存储器SM区(包括控制字节),既更改PTO或PWM的输出波形,然后再执行PLS指令。•注意:所有控制位、周期、脉冲宽度和脉冲计数值的默认值均为零。向控制字节(SM67.7或SM77.7)的PTO/PWM允许位写入零,然后执行PLS指令,将禁止PTO或PWM波形的生成。电气控制及PLC技术西门子S7-20022•对输出的影响•PTO/PWM生成器和输出映像寄存器共用Q0.0和Q0.1。在Q0.0或Q0.1使用PTO或PWM功能时,PTO/PWM发生器控制输出,并禁止输出点的正常使用,输出波形不受输出映像寄存器状态、输出强制、执行立即输出指令的影响;在Q0.0或Q0.1位置没有使用PTO或PWM功能时,输出映像寄存器控制输出,所以输出映像寄存器决定输出波形的初始和结束状态,即决定脉冲输出波形从高电平或低电平开始和结束,使输出波形有短暂的不连续,为了减小这种不连续有害影响,应注意:•(1)可在起用PTO或PWM操作之前,将用于Q0.0和Q0.1的输出映像寄存器设为0。•(2)PTO/PWM输出必须至少有10%的额定负载,才能完成从关闭至打开以及从打开至关闭的顺利转换,即提供陡直的上升沿和下降沿。电气控制及PLC技术西门子S7-20023•PTO的使用•PTO是可以指定脉冲数和周期的占空比为50%的高速脉冲串的输出。状态字节中的最高位(空闲位)用来指示脉冲串输出是否完成。可在脉冲串完成时起动中断程序,若使用多段操作,则在包络表完成时起动中断程序。•(1)周期和脉冲数•周期范围从50微秒至65,535微秒或从2毫秒至65,535毫秒,为16位无符号数,时基有µs和ms两种,通过控制字节的第三位选择。注意:•如果周期2个时间单位,则周期的默认值为2个时间单位。•周期设定奇数微秒或毫秒(例如75毫秒),会引起波形失真。•脉冲计数范围从1至4,294,967,295,为32位无符号数,如设定脉冲计数为0,则系统默认脉冲计数值为1。电气控制及PLC技术西门子S7-20024•(2)PTO的种类及特点•PTO功能可输出多个脉冲串,现用脉冲串输出完成时,新的脉冲串输出立即开始。这样就保证了输出脉冲串的连续性。PTO功能允许多个脉冲串排队,从而形成流水线。流水线分为两种:单段流水线和多段流水线。•单段流水线是指:流水线中每次只能存储一个脉冲串的控制参数,初始PTO段一旦起动,必须按照对第二个波形的要求立即刷新SM,并再次执行PLS指令,第一个脉冲串完成,第二个波形输出立即开始,重复此这一步骤可以实现多个脉冲串的输出。•单段流水线中的各段脉冲串可以采用不同的时间基准,但有可能造脉冲串之间的不平稳过渡。输出多个高速脉冲时,编程复杂。电气控制及PLC技术西门子S7-20025表包络表的格式从包络表起始地址的字节偏移段说明VBn段数(1~255);数值0产生非致命错误,无PTO输出VBn+1段1初始周期(2至65535个时基单位)VBn+3每个脉冲的周期增量Δ(符号整数:-32768至32767个时基单位)VBn+5脉冲数(1至4294967295)VBn+9段2初始周期(2至65535个时基单位)VBn+11每个脉冲的周期增量Δ(符号整数:-32768至32767个时基单位)VBn+13脉冲数(1至4294967295)VBn+17段3初始周期(2至65535个时基单位)VBn+19每个脉冲的周期增量值Δ(符号整数:-32768至32767个时基单位)VBn+21脉冲数(1至4294967295)注意:周期增量值Δ为整数微秒或毫秒电气控制及PLC技术西门子S7-20026•多段流水线的特点是编程简单,能够通过指定脉冲的数量自动增加或减少周期,周期增量值Δ为正值会增加周期,周期增量值Δ为负值会减少周期,若Δ为零,则周期不变。在包络表中的所有的脉冲串必须采用同一时基,在多段流水线执行时,包络表的各段参数不能改变。多段流水线常用于步进电机的控制。电气控制及PLC技术西门子S7-20027例根据控制要求列出PTO包络表•步进电机的控制要求如图所示。从A点到B点为加速过程,从B到C为恒速运行,从C到D为减速过程。图步进电机的控制要求电气控制及PLC技术西门子S7-20028•在本例中:流水线可以分为3段,需建立3段脉冲的包络表。起始和终止脉冲频率为2kHz,最大脉冲频率为10kHz,所以起始和终止周期为500µs,与最大频率的周期为100µs。1段:加速运行,应在约200个脉冲时达到最大脉冲频率;2段:恒速运行,约(4000-200-200)=3600个脉冲;3段:减速运行,应在约200个脉冲时完成。•某一段每个脉冲周期增量值Δ用以下式确定:•周期增量值Δ=(该段结束时的周期时间-该段初始的周期时间)/该段的脉冲数•用该式,计算出1段的周期增量值Δ为-2µs,2段的周期增量值Δ为0,3段的周期增量值Δ为2µs。假设包络表位于从VB200开始的V存储区中,包络表如下表所示。电气控制及PLC技术西门子S7-20029表包络表V变量存储器地址段号参数值说明VB2003段数VB201段1500µs初始周期VB203-2µs每个脉冲的周期增量ΔVB205200脉冲数VB209段2100µs初始周期VB2110每个脉冲的周期增量ΔVB2133600脉冲数VB217段3100µs初始周期VB2192µs每个脉冲的周期增量ΔVB221200脉冲数在程序中的用指令可将表中的数据送入V变量存储区中。电气控制及PLC技术西门子S7-20030•(3)多段流水线PTO初始化和操作步骤•用一个子程序实现PTO初始化,首次扫描(SM0.1)时从主程序调用初始化子程序,执行初始化操作。以后的扫描不再调用该子程序,这样减少扫描时间,程序结构更好。•初始化操作步骤如下:•①首次扫描(SM0.1)时将输出Q0.0或Q0.1复位(置0),并调用完成初始化操作的子程序。•②在初始化子程序中,根据控制要求设置控制字并写入SMB67或SMB77特殊存储器。如写入16#A0(选择微秒递增)或16#A8(选择毫秒递增),两个数值表示允许PTO功能、选择PTO操作、选择多段操作、以及选择时基(微秒或毫秒)。•③将包络表的首地址(16位)写入在SMW168(或SMW178)。电气控制及PLC技术西门子S7-

1 / 66
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功