电气控制与PLC技术10_第1页
电气控制与PLC技术10_第2页
电气控制与PLC技术10_第3页
电气控制与PLC技术10_第4页
电气控制与PLC技术10_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

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

文档简介

模块十特殊功能指令应用,任务一中断指令应用任务二高速计数器指令应用任务三高速脉冲输出指令应用任务四PID指令应用,任务一中断指令应用,提出任务项目1利用T32定时器中断编写程序,要求产生占空比为50%、周期为4s的方波信号。项目2利用定时中断实现8盏彩灯的循环点亮控制。要求:按下启动按钮,8盏彩灯依次点亮(任意时刻只有一盏灯在点亮),间隔0.2s。按下停止按钮,彩灯熄灭。(提示:可采用定时中断或定时器中断实现)新知识储备中断技术在处理复杂和特殊的控制任务时是必需的,它属于PLC的高级应用技术。中断是由设备或其他非预期的急需处理的事件引起的,某些中断事件的发生具有随机性。当中断事件发生时,它使系统暂时中断正在执行的主程序,而转去执行中断服务程序中,从而处理中断,下一页,返回,任务一中断指令应用,事件,处理完毕后再返回原主程序被中断的地方继续执行主程序。中断在PLC的实时处理、运动控制、网络通信中非常重要。一、中断事件与中断优先级1.中断源中断源,即向CPU发出中断请求的事件,又称为中断事件。为了便于识别,系统给每个中断源都分配一个编号,称为中断事件号。S7-200系列PLC最多有34个中断源,分为3大类:通信中断、输入/输出中断(I/O中断)、时基中断。(1)通信中断。在自由口通信模式下,用户可通过编程来设置波特率、奇偶校验和通信协议等参数。用户通过编程控制通信端口的事件为通信中断。S7-200系列PLC有6种通信口中断事件,其中断源的名称、事件号码和优先级级别如表10-1所示。,上一页,下一页,返回,任务一中断指令应用,(2)I/O中断。I/O中断包括外部输入上升/下降沿中断、高速计数器中断和高速脉冲输出中断。S7-200用输入(I0.0、I0.1、I0.2或I0.3)上升/下降沿产生中断。这些输入点用于捕获在发生时必须立即处理的事件。高速计数器中断指对高速计数器运行时产生的事件实时响应,包括当前值等于预设值时产生的中断、计数方向的改变产生的中断或计数器外部复位产生的中断。脉冲输出中断是指预定数目脉冲输出完成而产生的中断。所有中断事件名称和优先级如表10-1所示。(3)时基中断。时基中断包括定时中断和定时器T32/T96中断。内部定时中断用于支持一个周期性的活动,定时中断包括定时中断0和定时中断1。对于S7-200CPU22X系列PLC,周期时间范围为1255ms,时基是1ms。使用定时中断0,必须在SMB34中写入周期时间;使用定时中断1,必须在SMB35中写入周期时间。,上一页,下一页,返回,任务一中断指令应用,将中断程序连接在定时中断事件上,若定时中断被允许,则计时开始,定时中断就连续地运行,每当达到定时时间值,执行中断程序。如果退出RUN模式或分离定时中断,则定时中断被禁止。定时中断可以用来对模拟量输入进行采样或定期执行PID回路。定时器T32/T96中断指令允许对定时时间间隔产生中断。这类中断只能用时基为1ms的定时器T32/T96构成。当中断被启用后,定时器T32/T96的当前值等于预置值时,CPU响应中断,在S7-200执行的正常1ms定时器更新的过程中,执行连接的中断服务程序。2.中断优先级和排队等候在中断系统中,全部中断源按中断性质和处理的轻重缓急进行,并给予优先权。所谓优先权,是指多个中断事件同时发出中断请求时CPU对中断响应的优先次序。S7-200规定的中断优先级由高到低依次是通信中断、I/O中断、定时中断。每种中断中的不同中断事件,上一页,下一页,返回,任务一中断指令应用,又有不同的优先权。所有中断事件及优先级如表10-1所示。CPU响应中断的原则是:当不同优先级别的中断事件同时向CPU发出中断请求时,CPU总是按照优先级别由高到低的顺序响应中断。当同一优先级别的多个中断源同时向CPU发出中断请求时,CPU则按照先来先服务的原则处理。在同一时刻,只能有一个中断服务程序被执行。一个中断服务程序一旦处于执行过程中,中途不能被另一个中断服务程序所中断,即便是优先级别更高的中断也不行。在中断服务程序执行期间发生的其他中断需排队等候处理。二、中断指令1.中断指令格式及功能中断调用即调用中断程序,使系统对特殊的内部事件作出响应。系统响应中断时自动保存逻辑堆栈、累加器和某些特殊标志存储器位,即保护现场。中断处理完成时又自动恢复这些单元原来的状态,即恢复现场。,上一页,下一页,返回,任务一中断指令应用,中断指令常用的有4条,包括开中断指令、关中断指令、中断连接指令、中断分离指令。除此之外,还有清除中断事件指令、中断事件返回指令。中断指令的格式及功能如表10-2和表10-3所示。2.指令说明(1)一个中断事件只能连接一个中断程序,但多个中断事件可以调用一个中断程序。(2)当系统由其他模式切换到RUN模式时,就自动关闭了所有的中断。(3)在一个程序中若使用中断功能,则至少要使用一次ENI指令。三、中断程序的建立1.中断程序的概念中断程序是为处理中断事件而事先编好的程序,中断程序不是由程序调用的,而是在中断事件发生时由操作系统调用。在中断程序中不能,上一页,下一页,返回,任务一中断指令应用,改写其他程序使用的存储器,最好使用局部变量。中断程序应实现特定的任务,应“越短越好”。中断程序由中断程序号开始,以无条件返回指令(RETI)结束。在STEP7-Micro/WIN编程软件中无中断标号指令,中断服务程序的区分有不同的中断程序窗口来辨识,且无条件返回指令由编程软件自行处理,不需要用户添加,用户可根据需要添加条件返回指令。在中段程序中禁止使用DISI、ENI、HDEF、LSCR、END等指令。2.中断程序的构成中断程序必须有3部分构成:中断程序标号、中断服务程序和中断返回指令。(1)中断程序标号:即中断程序的名称,它在建立中断程序的时候生成。(2)中断服务程序:用于处理中断事件的程序。,上一页,下一页,返回,任务一中断指令应用,(3)中断返回指令:用于退出中断服务程序返回到主程序处。3.中断程序举例【例10-1】利用定时中断,编程完成数据的采样工作,要求每20ms采样一次。分析:使用定时中断,查表10-1可知,定时中断0的中断事件号为10。因此在主程序中将采样周期(20ms),即定时中断的时间间隔写入定时中断0的特殊存储器SMB34,并将中断事件10和INT-0连接,全局开中断。在中断程序0中将数据读入,参考程序如图10-1所示。【例10-2】利用定时器中断,编程完成指示灯的闪烁,周期为2s(即点亮1s,熄灭1s)。分析:分别设置一个启动按钮和一个停止按钮,按下启动按钮,指示灯开始闪烁,按下停止按钮,指示灯熄灭。参考程序如图10-2所示。,上一页,下一页,返回,任务一中断指令应用,任务实施温馨提示:该去做项目了!知识巩固项目3用定时中断实现天塔之光的模拟控制。间隔时间按0.2s计。项目4第一次扫描时将VB0清零,用定时中断0,每100ms将VB0自动加1,当VB0等于100时,关闭定时中断,并将Q0.1置位。总结阶段温馨提示:通过这节内容的学习和训练,总结一下自己的收获吧!,上一页,返回,任务二高速计数器指令应用,提出任务项目1利用高速计数器指令和旋转编码器控制三相交流异步电机实现的准确定位。PLC的高速计数器指令和编码器配合使用,在现代工业生产自动控制领域中可实现精确定位和测量长度。利用高速计数器指令和旋转编码器控制三相交流异步电机实现的准确定位,其原理是通过与电动机同轴相连的光电旋转编码器将电机角位移转换成脉冲值,再经由PLC的高速计数器统计编码器发出的脉冲数,从而实现定位控制。控制要求:现有一传输带控制系统(三相交流异步电动机、变频器、旋转编码器、传输带),需要用传输带运送货物,货物运送起点到达终点的距离为10cm。使用旋转编码器定位控制,当传送带上的货物运行10cm时,变频器停止运行(即传送带电机停止工作)。提示:传送带运行10cm的距离时,旋转编码器产生的脉冲数可以,下一页,返回,任务二高速计数器指令应用,通过实验测量或计算得出,在此不再赘述。可以假设所需脉冲数为500。输入/输出设备如表10-4所示。新知识储备普通计数器指令的计数速度受扫描周期的影响,CPU通过每一扫描周期读取一次被测信号的方法来捕捉被测信号的上升沿。对于比CPU扫描频率高的脉冲输入,普通计数器就不能满足计数要求了。在西门子S7-200系列PLC中,设计了高速计数器HSC。高速计数器的最高计数频率取决于CPU的类型,CPU22X系列最高计数频率为30kHz,可用于捕捉比CPU扫描频率更快的事件,并产生中断,执行中断程序完成预定的操作。高速计数器一般和增量式旋转编码器配合使用,在现代自动控制中实现精确定位和测量长度,它可用来累计比PLC的扫描频率高得多的脉冲输入。旋转编码器安装在设备的转轴上,编码器每圈发出一定数量,上一页,下一页,返回,任务二高速计数器指令应用,的计数时钟脉冲和一个复位脉冲,作为高速计数器的输入。高速计数器有一组预置值,开始运行时装入第一个预置值,当计数到当前值等于预置值时,产生中断。在当前值等于预置值的中断程序中,装载入新的预置值,并设置下一阶段的输出。一、高速计数器的概念1.高速计数器的数量及编号高速计数器在程序中使用的地址编号用HSCn来表示,其中HSC编程元件名称叫高速计数器,n为编号。不同型号的PLC主机其高速计数器的数量不同,CPU221和CPU222有4个,分别是HSC0和HSC3HSC5。CPU224、CPU224XP和CPU226有6个,分别是HSC0HSC5。这些计数器中,HSC3和HSC5只能作为单相计数器,其他计数器既可以作为单相计数器,也可以作为双相计数器使用。,上一页,下一页,返回,任务二高速计数器指令应用,2.中断事件类型高速计数器的计数和动作可采用中断方式进行控制,与CPU的扫描周期关系不大,各种型号的PLC可用的高速计数器的中断事件大致分为3类:当前值等于预置值中断、输入方向改变中断、外部复位中断。所有高速计数器都支持当前值等于预设值中断,每个高速计数器的3种中断优先级由高到低,不同高速计数器的优先级又按编号顺序由高到低,如表10-1所示。3.高速计数器的工作模式S7-200的高速计数器工作模式分为4种基本类型。(1)单路脉冲输入、内部方向控制的加/减计数器(模式02)。只有一个脉冲输入端,通过高速计数器的控制字节的第3位来控制加计数或者减计数。该位为0,减计数;该位为1,加计数。(2)单路脉冲输入、外部方向控制的加/减计数器(模式35)。,上一页,下一页,返回,任务二高速计数器指令应用,只有一个脉冲输入端,有一个方向控制端。方向输入信号为1时加计数,方向输入信号为0时减计数。(3)两路脉冲输入双相加/减计数器(模式68)。有两个脉冲输入端,一个是加计数脉冲,另一个是减计数脉冲。如果加计数脉冲的上升沿和减计数脉冲的上升沿出现的时间间隔在0.3ms之内,CPU会认为这两个计数脉冲是同时到来的,此时计数器的当前值保持不变,也不会发出计数方向改变的信号。(4)A/B相正交计数器(模式911)。有两个脉冲输入端,输入的两路脉冲A相和B相,相位互差90(正交)。A相超前于B相90时,加计数;B相超前于A相90时,减计数。A/B相正交计数器有1倍频(1)模式和4倍频(4)模式。需要增加测量精度时,可以采用4倍频模式,即分别在A、B相波形的上升沿和下降沿计数,在时钟脉冲的每个周期可以计4次数。,上一页,下一页,返回,任务二高速计数器指令应用,根据有无外部硬件复位和启动输入,上述4类模式又可分为3种,即无复位无启动输入、有复位无启动输入和既有启动又有复位输入。可见,每种高速计数器有多种工作模式,以完成不同的功能。高速计数器的工作模式与中断事件有密切关系。在使用一个高速计数器时,首先要使用HDEF指令给计数器设定一种工作模式。每一种HSCn的工作模式的数量也不同,HSC1和HSC2最多可达12种,而HSC5只有一种工作模式。选用某个高速计数器在某种工作模式下工作后,高速计数器所使用的输入端不是任意选择的,必须按系统指定的输入点输入信号。已经定义用于高速计数器的输入点不应再用于其他的功能。高速计数器的输入点和工作模式如表10-5所示。二、高速计数器指令1.高速计数器指令格式及功能高速计数器指令包括定义高速计数器指令和高速计数器指令,其指令,上一页,下一页,返回,任务二高速计数器指令应用,格式及功能如表10-6所示。三、高速计数器指令的使用1.状态字节每个高速计数器都有一个状态字节。状态位用来表示当前计数方向、当前值是否大于或等于预置值。每个高速计数器状态字节的状态位如表10-7所示,其中状态字节的04位不用。PLC通过监控高速计数器状态位使外部事件产生中断,来完成重要的操作。2.控制字节每个高速计数器均有一个控制字节。用户可以根据要求来设置控制字节中各控制位的状态,以实现对高速计数器的控制。控制字节中各控制位的功能如表10-8所示。3.高速计数器指令的使用(1)选择高速计数器及工作模式。,上一页,下一页,返回,任务二高速计数器指令应用,选择高速计数器及工作模式包括两方面工作:根据使用的主机型号和控制要求,一是选用高速计数器,二是选择该高速计数器的工作模式。(2)设置控制字节。高速计数器工作模式选择好后,设置其对应的控制字节。即:必须将高速计数器控制字节的位设置成程序需要的状态,否则将采取默认设置。默认设置为:复位和启动输入高电平有效,正交计数速率选择4模式。执行HDEF指令后,就不能再改变计数器的设置,除非CPU进入停止模式。(3)设定当前值和预置值。要设置高速计数器的当前值和预置值,必须设置控制字节,使允许更新预置值和当前值,新当前值和预置值写入特殊内部标志位存储区。然后执行HSC指令,将新数值传输到高速计数器。当前值和预置值占用的特殊标志位存储区如表10-9所示。,上一页,下一页,返回,任务二高速计数器指令应用,(4)执行HDEF指令时,CPU检查控制字节和有关的当前值和预置值。(5)设置中断事件并全局开中断。高速计数器指令利用中断方式对高速事件进行精确控制。(6)执行HSC指令时S7-200对高速计数器进行编程。以上即为高速计数器指令的初始化,该过程可以用主程序中的程序段来实现,也可用子程序来实现。高速计数器在投入运行之前,必须执行一次初始化程序段或初始化子程序。将上述高速计数器指令的初始化步骤简单概括如下:用SM0.1去调用一个子程序,完成初始化操作。在初始化子程序中根据需要设置控制字。执行HDEF指令,设置HSC的编号(05),设置工作模式(011)。,上一页,下一页,返回,任务二高速计数器指令应用,用新的当前值写入32位当前值寄存器,用新的预置值写入32位预置值寄存器。为了捕捉当前值等于预置值的事件,将条件CV=PV中断事件与一个中断程序相联系。为了捕捉计数方向的改变,将方向改变的中断事件与一个中断程序相联系。为了捕捉外部复位,将外部复位中断事件与一个中断程序相联系。执行全局中断允许指令允许HSC中断。执行HSC指令时S7-200对高速计数器进行编程。结束子程序。(7)使用STEP7-Micro/WIN编程软件的指令向导生成高速计数器的应用程序。用户在使用高速计数器时,需要编写初始化程序和中断程序,进行一,上一页,下一页,返回,任务二高速计数器指令应用,系列复杂操作。使用指令向导能简化高速计数器的编程过程。【例10-3】用高速计数器HSC0的当前值控制Q0.1和Q0.2,其控制要求如图10-3所示。用指令向导生成高速计数器HSC0的初始化程序和中断程序。步骤:选择菜单命令“工具”“指令向导”,在弹出的对话框中选择“HSC”进行以下操作。选择HSC0和模式0。设置计数器HSC0的预置值为1000,当前值为0,初始计数方向为加计数。选择当前值等于预置值中断,调用符号名为COUNT_EQ的中断服务程序。设置为HSC0编程为2步。,上一页,下一页,返回,任务二高速计数器指令应用,设置中断服务程序COUNT_EQ的参数,将预置值修改为1500,计数方向不变。在当前值等于预置值时调用符号名为HSC0_STEP1的中断服务程序。设置中断服务程序HSC0_STEP1的参数,将预置值修改为500,计数方向改为减计数。在当前值等于预置值时调用符号名为HSC0_STEP2的中断服务程序。在最后一个对话框中,显示出向导将要生成的高速计数器的初始化子程序HSC_INIT和上述3个中断服务程序。单击“完成”按钮,退出指令向导。在梯形图程序编辑器窗口或指令树中可以看到新生成的所有程序。设置主程序,在主程序中使用SM0.1的常开触点调用初始化子程序HSC_INIT。在中断服务程序COUNT_EQ中将Q0.1置位。在中断服务程序HSC0_STEP1中将Q0.1复位,Q0.2置位。在中断,上一页,下一页,返回,任务二高速计数器指令应用,服务程序HSC0_STEP2中将Q0.2复位,即可得到完整的梯形图程序。读者自行试一试。4.高速计数器应用举例【例10-4】采用测频的方法测量电动机的转速。分析:所谓测频法测量电动机的转速是指在单位时间内采集编码器脉冲的个数。因此可采用高速计数器对转速脉冲信号进行计数,同时用时基来完成定时,知道了单位时间内的脉冲数,再经过一系列的计算就可以得知电动机的转速。高速计数器对编码器产生的脉冲计数过程参考程序如图10-4和图10-5所示。任务实施温馨提示:该去做项目了!,上一页,下一页,返回,任务二高速计数器指令应用,知识巩固项目2使用旋转编码器的双相脉冲输出功能实现电动机的正/反转运行定位控制。控制要求:使用旋转编码器的双相脉冲输出功能实现电动机的正/反转运行定位控制,当传送带上的货物运行10cm后,变频器正转运行停止,然后再反转启动运行5cm后,停止运行。提示:传送带运行10cm的距离时,旋转编码器产生的脉冲数可以通过实验测量,在此不再赘述。可以假设所需脉冲数为500。输入/输出设备如表10-10所示。项目3设计一个高速计数器的程序。要求如下:信号源是编码器,送出脉冲信号,当脉冲数为500的奇数倍时,点亮信号灯A,关断信号灯B;当脉冲数为500的偶数倍时,点亮信号灯B,关断信号灯A;当总计数值达到50000时,计数器,上一页,下一页,返回,任务二高速计数器指令应用,复位重新开始,整个过程一直循环进行下去。总结阶段温馨提示:通过这节内容的学习和训练,总结一下自己的收获吧!,上一页,返回,任务三高速脉冲输出指令应用,提出任务步进电机具有结构简单、控制方便、转动惯量低、定位精度高、无累积误差和成本低廉等优点,成为工业控制的主要执行元件,尤其是在精确定位场合中得到广泛应用。在工业生产中,步进电机和生产机械的连接有很多种,常见的一种是步进电机和丝杠连接,将步进电机的旋转运动转变成工作台面的直线运动。当要对工作台面移动距离进行定位控制时,只需控制步进电机的转速和角位移大小。在非超载的情况下,步进电机的转速和角位移只取决于脉冲信号的频率和脉冲数。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的相序,则可以实现步进电机反转。目前世界上主要的PLC厂家生产的PLC均有专门的高速脉冲输出指令,可以很方便地和步进电机构成运动定位控制系统。由PLC高速脉冲指令控制步进电机实现准确定位的实质是:PLC通过高速脉冲输出指令PTO/PWM输出高速脉冲信号,经步进电机脉冲细分驱动器控,下一页,返回,任务三高速脉冲输出指令应用,制步进电机的运行,从而推动工作台移动到达指定的位置,实现准确定位。显然,利用PLC控制步进电机实现准确定位的关键是:对PLC产生的脉冲数的设定。而脉冲数与脉冲当量、传动速比、步进电机驱动器的细分数及脉冲频率等都有关。工作台移动的距离与PLC脉冲数之间的关系为;式中,N为PLC发出的控制脉冲的个数;n为步进电机驱动器的脉冲细分数(如果步进电机驱动器有脉冲细分驱动);为步进电机的布距角,即步进电机每收到一个脉冲变化,轴所转过的角度;d为丝杠的螺纹距,它决定了丝杠每转过一圈,工作台面前进的距离;d为脉冲当量(定位精度);i为传动速比;L为工作台移动的距离。项目1利用PLC的PTO功能控制步进电机实现正/反转运行。,上一页,下一页,返回,任务三高速脉冲输出指令应用,控制要求:按下正转运行按钮,步进电机正转运行,导轨左移;按下反转运行按钮,步进电机反转运行,导轨右移。所需输入/输出设备如表10-11所示。提示:为了控制步进电机,需要利用高速脉冲输出功能。每个PLC的CPU有两个PTO发生器,通过Q0.0和Q0.1输出高速脉冲串。系统的组成包括步进电机、步进电机脉冲细分驱动器、直线运料导轨、PLC等。项目2利用PLC控制步进电机实现对货物仓储系统直线送料导轨的定位控制。控制要求:在仓储系统中,要求由步进电机拖动直线导轨将料块送到指定的仓库门口。假设从料块运送起点到终点的运送距离为100mm,即要求由步进电机带动导轨做直线运动,定位距离为100mm。所需输入/输出设备如表10-12所示。,上一页,下一页,返回,任务三高速脉冲输出指令应用,提示:使用PLC的脉冲数出PTO功能(多段管线)。系统的组成包括步进电机、步进电机脉冲细分驱动器、直线运料导轨、PLC、平面仓库等。新知识储备高速脉冲输出指令功能是指在PLC的某些输出端产生高速脉冲,用来驱动负载实现精确定位控制、速度控制等,这在运动控制中具有广泛应用。使用高速脉冲输出功能时,PLC主机应选用晶体管输出型,以满足高速输出的频率要求。S7-200系列PLC有两个脉冲发生器,分别是Q0.0端子和Q0.1端子。高速脉冲输出有高速脉冲串输出PTO(PulseTrainOutput)和宽度可调脉冲输出PWM(PulseWidthModulation)两种方式。当Q0.0端子或Q0.1端子设定为PTO或PWM功能时,其他操作均失效。不使用PTO/PWM功能时,Q0.0端子或Q0.1端子可用作普,上一页,下一页,返回,任务三高速脉冲输出指令应用,通输出端子。通常在启动PTO/PWM操作之前,用复位指令R将Q0.0或Q0.1清零。一、高速脉冲输出指令PLS(Pulse)1.高速脉冲输出指令格式及功能高速脉冲输出指令格式及功能如表10-13所示。2.用于脉冲输出的特殊标志位存储器每个高速脉冲发生器对应一定数量的特殊寄存器,这些寄存器包括控制字节、状态字节寄存器和参数值寄存器。它们可以控制高速脉冲的输出形式,反映输出状态和参数值。各个寄存器的功能如表10-14所示。(1)控制字节和参数的特殊存储器。每个PTO/PWM发生器都有一个控制字节,通过对控制字节指定位,上一页,下一页,返回,任务三高速脉冲输出指令应用,的编程,设置字节中各控制位,如脉冲输出允许、PTO/PWM模式选择、PTO单段/多段选择、更新方式、时间基准和允许更新等。控制字节中各控制位的功能如表10-15所示。(2)状态字节的特殊存储器。除了控制信息外,还有用于PTO功能的状态位。程序运行时,根据运行状态使某些位自动置位。可以通过程序来读取相关位的状态,用此状态作为判断条件,实现相应的操作。状态字节各状态位的功能如表10-16所示。二、PTO的使用PTO功能是可以指定脉冲数和周期值的、占空比为50%的高速脉冲串的输出。状态字节中的最高位(空闲位)用来指示脉冲串输出是否完成。可在脉冲串完成时启动中断程序,若使用多段操作,则在包络表完成时启动中断程序。,上一页,下一页,返回,任务三高速脉冲输出指令应用,1.周期和脉冲数(1)周期。单位可以是ms或ms,为16位无符号数据,周期变化范围是1065535ms或265535ms。如果编程时设定周期单位小于最小值,系统默认则按最小值进行设置。(2)脉冲数。用双字无符号数表示,脉冲数取值范围如果编程时指定脉冲数为0,则系统默认脉冲计数值为1。2.PTO的种类及特点在PTO方式中,可输出多个脉冲串,并允许脉冲串排队,以形成管线。当前输出的脉冲串完成之后,立即输出新脉冲串,这保证了脉冲串顺序输出的连续性。根据管线的实现方式,将PTO分为两种:单段管线和多段管线。,上一页,下一页,返回,任务三高速脉冲输出指令应用,单段管线。单段管线中只能存放一个脉冲串的控制参数(即入口),一旦启动了一个脉冲串进行输出时,就需要用指令立即为下一个脉冲串更新特殊寄存器,并再次执行脉冲串输出指令,第一个脉冲串完成以后,第二个脉冲串输出立即开始。采用单段管线PTO的优点是:各个脉冲串可以采用不同的时间基准。采用单段管线PTO的缺点是:单段管线输出多个高速脉冲时,编程复杂,而且有时参数设置不当会造成脉冲串之间的不平滑转换。多段管线。多段管线是指在变量存储器V中建立一个包络表。包络表中存储每个脉冲串的参数,相当于有多个脉冲串的入口。多段管线可以用PLS指令启动,运行时,CPU自动从包络表中按顺序读出每个脉冲串的参数进行输出。包络表中每个脉冲串编程时必须装入包络表的起始变量(V存储区)的偏移地址,运行时只使用特殊存储区的控制字节和状态字节。,上一页,下一页,返回,任务三高速脉冲输出指令应用,包络表由包络段数和各段构成。以包络3段的包络表为例,若VBn为包络表起始字节地址,则包络表的结构如表10-17所示。采用多段管线PTO的优点是:编程简单,能够通过指定脉冲的数量自动增加或减少周期。周期增量值D为正值会增加周期,周期增量值D为负值会减少周期,若D为零,则周期不变。采用多段管线PTO的缺点是:所有脉冲串的时间基准必须一致,在多段管线执行时,包络表的各段参数不能改变。多段管线常用于步进电机的控制。3.PTO的使用【例10-5】步进电机的控制。(1)控制要求。步进电机运行控制过程中,要从A点加速到B点后恒速运行,又从C,上一页,下一页,返回,任务三高速脉冲输出指令应用,点减速到D点,完成这一过程后用指示灯显示。电动机的转动受脉冲控制,A点和D点的脉冲频率为2kHz,B点和C点的频率为10kHz,加速过程的脉冲数为400个,恒速转动的脉冲数为4000个,减速过程的脉冲数为200个,工作过程如图10-6所示。(2)分析。确定脉冲发生器及工作模式。选择如下:选用高速脉冲串发生器为Q0.0,并且确定PTO为3段脉冲管线(AB、BC和CD段)。设置控制字节。时基选择为ms级。将2#10100000,即16#A0写入控制字节SMB67。写入周期值、周期增量值和脉冲数。由于是3段脉冲,则需要建立3段脉冲的包络表,并对各段参数分别设置。包络表中各脉冲都是以周期为时间参数,所以必须先把频率换算为周期值。给定段的周期增量按下式计算:给定段的周期增量=(TEC-TIC)/Q,上一页,下一页,返回,任务三高速脉冲输出指令应用,式中,TEC为该段结束周期时间;TIC为该段初始周期时间;Q为该段的脉冲数量。包络表结构如表10-18所示。装入包络表首地址。将包络表的起始变量V存储器地址装入SMW168中。中断调用。高速输出完成时,调用中断程序,则信号灯变亮(本例中Q0.2=1)。脉冲输出完成,中断事件号为19。用中断调用ATCH指令将中断事件19与中断子程序PTOINT连接起来,并全局开中断。执行PLS指令。用PLS指令启动多段脉冲串,并由Q0.0输出。参考程序如图10-7至图10-10所示。三、PWM的使用宽度可调脉冲的输出PWM,用来输出周期固定、占空比可调的高速脉冲。用户可以控制脉冲的周期和脉冲宽度,完成特定的控制任务。,上一页,下一页,返回,任务三高速脉冲输出指令应用,1.周期和脉宽周期和脉宽时基为:ms或者ms,均为16位无符号数。(1)周期的范围:5065535ms或265535ms。若周期小于两个时基,则系统默认为两个时基。(2)脉宽范围:065535ms或265535ms。若脉宽不小于周期,占空比等于100%,输出连续接通。若脉宽等于0,占空比为0%,则输出断开。2.更新方式在PWM输出形式下的典型操作是当周期为常数时改变脉冲宽度,根据在改变脉冲宽度时是否需要改变时间基准,可有两种改变PWM波形的方法:同步更新和异步更新。(1)同步更新:不需改变时基时,可以用同步更新。,上一页,下一页,返回,任务三高速脉冲输出指令应用,(2)异步更新:需要改变PWM的时基时,则应使用异步更新。异步更新使高速脉冲输出功能被瞬时禁用,与PWM波形不同步。这样可能造成控制设备振动。常见的PWM操作是脉冲宽度不同,但周期保持不变,即不要求时基改变。因此先选择适合于所有周期的时基,尽量使用同步更新。3.PWM初始化和操作步骤首先,确定PWM使用的输出端Q0.0或Q0.1。然后按下述步骤进行操作。(1)用SM0.1使输出位复位为0,并调用初始化子程序。这样可减少扫描时间,程序结构更合理。(2)在初始化子程序中设置控制字节。按要求设置SMB67或SMB77特殊寄存器。(3)在SMW68或SMW78中写入一个字长的周期值。,上一页,下一页,返回,任务三高速脉冲输出指令应用,(4)在SMW70或SMW80中写入一个字长的脉宽值。(5)执行PLS指令,使S7-200为PWM发生器编程,并由Q0.0或Q0.1输出。(6)可为下一个输出脉冲预设控制字。在SMB67或SMB77控制字节中写入16#D2(ms)或16#DA(ms),将禁止改变周期值,允许改变脉冲宽度。以后只要装入一个新的脉宽值,不要改变控制字节,直接执行PLS指令就可以改变脉宽值。(7)退出子程序。任务实施温馨提示:该去做项目了!,上一页,下一页,返回,任务三高速脉冲输出指令应用,知识巩固项目3使用PWM或PTO功能编写程序,要求PLC运行后,在Q0.0或Q0.1端子上产生周期为10s,占空比为50%的PTO信号或PWM信号。项目4从PLC的Q0.0输出PWM脉冲波。控制要求:将Q0.0设置为PWM输出形式,脉冲周期值为5s,脉宽初始值为0.5s。当PLC运行后,由I0.1启动PWM输出。脉冲输出启动后,每周期脉宽递增0.5s,当脉宽增加到最大值4.5s时,脉宽开始改为每个脉冲周期递减0.5s,当脉宽减小到0,又开始递增,不断重复执行。通过M0.0来标记增加或减少脉冲宽度。脉冲输出的停止由I0.2的上升沿控制。总结阶段温馨提示:通过这节内容的学习和训练,总结一下自己的收获吧!,上一页,返回,任务四PID指令应用,提出任务项目1基于PLC模拟量的变频闭环调速系统设计。提示:原理如图10-11所示。在调速系统中,与电动机同轴相连的旋转编码器将电机转速转换成电压(05V)信号,反馈到PLC的模拟量模块的一路输入端,与给定量(模拟量模块的另一路输入信号,电压为010V)一起在PLC内部经PID运算处理后,再通过PLC的模拟量输出端子输出一路010V的电压信号控制变频器的输出,从而实现电动机变频闭环调速控制(所需设备包括三相笼型异步电动机、变频器MM420、西门子S7-200CPU224PLC、同轴编码器等)。新知识储备过程控制是工业控制领域的一个主要分支,其特点是模拟量参数较多。PID回路指令专为过程控制而设计,学习PID回路指令时,要首先,下一页,返回,任务四PID指令应用,理解PID的基本概念及其控制算法,理解工业过程控制中对模拟量处理的实质。一、S7-200系列PLC模拟量I/O模块在工业控制中,PLC的某些输入量是模拟量,如速度、压力、流量、温度等,部分执行机构,如变频器、电动调节阀等要求PLC输出模拟量信号。PLC的模拟量处理功能主要通过模拟量输入/输出模块及用户程序来完成。模拟量输入模块可将变送器或传感器输出的标准电压信号或电流信号(直流020mA、05V或010V等)转换为数字信号存储到PLC中,PLC再通过用户程序对转换后的信息进行处理,并将处理后的结果通过模拟量输出模块转换为标准电压或电流信号去驱动执行元件。模拟量输入/输出模块是PLC模拟量处理的硬件基础,用户程序数据处理则是PLC模拟量处理的灵魂。S7-200系列PLC模拟量I/O模块主要有模拟量输入模块EM231、,上一页,下一页,返回,任务四PID指令应用,模拟量输出模块EM232、模拟量输入/输出混合模块EM235。1.模拟量输入模块EM231(AI412位)EM231模块是一个4路模拟量输入模块,它的功能是把模拟量输入信号通过A/D电路转换为一个字长(16位)的数字量信号,转换后的数字量直接送入PLC内部的模拟量输入寄存器AIW(AIW0、AIW2、AIW4、)中。(1)EM231模块的性能。EM231模块的性能主要有以下几项,使用时要注意不得超出其极限值。数据格式:双极性范围为-3200032000,单极性范围为032000。输入电压范围:双极性为5V或2.5V,单极性为05V或010V。,上一页,下一页,返回,任务四PID指令应用,输入电流范围:020mA。最大输入电压30VDC。最大输入电流32mA。(2)EM231模块模拟量输入数据的格式。存储在16位模拟量输入寄存器AIW中的数据有效位为12位。其数据格式是左端对齐的。如表10-19所示。对于单极性格式,最高有效位是符号位,0表示正值数据字,最低3位3个连续的0使得A/D转换计数值每变化一个单位,则数据字是以8为单位变化的。对于双极性格式,最低4位4个连续的0使得A/D转换计数值每变化一个单位,则数据字是以16为单位变化的。(3)EM231模块的校准与输入信号的整定。使用模拟量模块时,先根据模拟量输入信号的类型和范围通过模拟量模块右下侧的DIP开关进行设置。如何用DIP开关设置EM231模,上一页,下一页,返回,任务四PID指令应用,块,如表10-20和图10-12所示。开关SW1、SW2和SW3可选择模拟量输入信号的范围。例如,如果模拟量输入信号为010V电压,则DIP开关应选为SW1=ON,SW2=OFF,SW3=ON。ON为接通,OFF为断开。输入信号的整定,即确定模拟量输入信号和数字量转换结果的对应关系。其整定步骤如下:切断模块电源,通过DIP开关选择需要的输入范围。接通CPU及模块电源,并使模块稳定15min。用一个传感器、电压源或电流源给模块输入一个零值信号。读取模拟量输入寄存器AIW相应地址中的值,获得偏移误差(输入为0时,模拟量模块产生的数字量偏差值),该误差在该模块中无法得到校正。将一个工程量的最大值加到模块输入端,调节增益电位器,直到,上一页,下一页,返回,任务四PID指令应用,读数为32000,或为所需要的数值。经上述整定后,若模拟量输入电压范围为010V,则对应的数字量结果应为032000或所需数值。2.模拟量输入/输出混合模块EM235(AI4/AQ112位)(1)EM235模块的性能。EM235模块可同时连接4路模拟量输入和1路模拟量输出信号。EM235模块的输入回路与EM231模块的输入回路稍有不同,它增加了一个偏置电位器,如图10-13所示,通过调节该偏置电位器,可以消除偏置误差。EM235的数据格式同EM231模块的数据格式。EM235的输出特性同EM232模块。(2)EM235模块的校准与输入信号的整定。切断模块电源,通过DIP开关选择需要的输入范围(见表10-21)。接通CPU及模块电源,并使模块稳定15min。,上一页,下一页,返回,任务四PID指令应用,用一个传感器、电压源或电流源给模块输入一个零值信号。调节(OFFSET)偏置电位器,直到模拟量输入寄存器的读数为零,或为所需要的数值。将一个满刻度值的信号加到模块输入端,调节增益电位器,直到读数为32000或所需要的数值。必要时,重复偏置和增益校准过程。表10-21所示为如何用DIP开关设置EM235模块。SW6是单/双极性选择开关,SW4和SW5是增益开关,SW1、SW2和SW3是衰减开关。3.模拟量输出模块EM232(AQ212位)(1)EM232模块的性能。EM232模块是一个模拟量输出模块,可连接2路模拟量输出信号。其外部接线端子及内部结构如图10-14和图10-15所示。由图可,上一页,下一页,返回,任务四PID指令应用,知,存储于AQW中的数字量经D/A转换器后分成两路信号输出。一路是经电压输出缓存器输出-10+10V的电压信号(对应数字量-3200032000),另一路则是经电压电流转换器输出标准020mA电流(对应数字量032000)。(2)EM232模块模拟量输出数据的格式。数字量到模拟量转换器的数据有效位为12位。其数据格式是左端对齐的。如表10-22所示。最高有效位是符号位,0表示正值数据字,数据在装载到D/A转换器前,4个连续的0是被裁断的,这些位不影响输出信号值。(3)EM232模块的性能。EM232模块的性能主要有以下几点:数据格式:双极性范围为-3200032000,单极性范围为032000。,上一页,下一页,返回,任务四PID指令应用,输出电压范围:-10+10V。输出电流范围:020mA。二、模拟量数据的处理对工业控制过程中的连续变化的参数,如上述所提到的温度、压力、流量、阀门开度等,其物理量纲不同。即使是同一传感器,它们对实际物理量测量的范围也不一定相同。那它们是如何把检测到的物理量准确地反映到PLC中的呢?其实解决问题的实质就是“标准化”。1.模拟量输入信号的整定经模拟量输入模块转换后的数字信号直接存储在模拟量输入寄存器AIW中,这种数字量与被转换的过程量之间具有一定的函数对应关系,但数值上并不相等,必须经过某种转换才能使用。模拟量输入信号的整定是指:将模拟量输入对应的数字信号在PLC内部按照一定的函数关系进行转换。,上一页,下一页,返回,任务四PID指令应用,模拟量输入信号的整定通常需要考虑以下几点:(1)模拟量输入值的数字量表示。首先应清楚模拟量输入模块输入数据的位数是多少?有效数据是否从数据字的第0位开始?若不是,应进行移位操作,使有效数据的最低位排列在数据字的第0位上,以保证数据的准确性。例如,EM231模拟量输入模块,在双极性输入信号时,其模拟量有效值是从第4位开始的,因此数据整定的任务首先是把该数据字右移4位。(2)模拟量输入值的数字量表示范围。该范围由模拟量输入模块的转换精度位数决定。(3)系统偏移量的消除。系统偏移量是指在无模拟量输入信号的情况下由测量元件的测量误差及模拟量输入模块的转换死区所引起的具有一定数值的转换结果。消除偏移量的方法是在硬件方面进行必要的调整(EM235模块可通过,上一页,下一页,返回,任务四PID指令应用,调整偏置电位器实现)或使用PLC的运算指令去除其影响。(4)过程量的最大变化范围。过程量的最大变化范围与转换后的数字量最大变化范围应有一一对应关系,这样就可以使转换后的数字量精确地反映过程量的变化。如用00FH反映010V的电压与0FFH反映010V的电压相比较,后者的灵敏度或精确度显然要比前者高得多。(5)“标准化”问题。从模拟量输入模块采集到的过程量都是实际的工程量,其幅度、范围和测量单位都会不同。在PLC内部进行数据运算之前,必须将这些值转换为无量纲的标准化格式,如图10-16所示。其步骤如下:将工程实际值由16位整数转化为实数。将实数格式的工程实际值转换为0.0,1.0之间的无量纲相对,上一页,下一页,返回,任务四PID指令应用,值(称为标准化格式),其关系如下:式中,Rnorm为工程实际值的归一化值(即工程实际值的标准化值);Rraw为工程实际值未进行归一化处理的实数形式值。标准化实数又分为双极性(围绕0.5上下变化)和单极性(以0.0为起点在0.01.0之间的范围内变化)两种,对于双极性,偏移量为0.5;对于单极性,偏移量为0;Span表示值域的大小,通常单极性时取32000,双极性时取64000。(6)数字量的滤波。EM231和EM235模块是高速模块,它们可以跟踪模拟量信号中的快速变化(包括内部和外部噪声),它们提供的是一个未经处理的数字值(即未经线性化和滤波)。仅用瞬时采样得到的该数字值进行控制计,上一页,下一页,返回,任务四PID指令应用,算,会产生较大的误差,所以有必要进行数字滤波。工程上采用的数字滤波方法有平均值滤波法、去极值平均值滤波法和惯性滤波法等。平均值滤波法的效果与采样次数有关,采样次数越多效果越好。但这种滤波方法对抑制强干扰效果不大。去极值平均值滤波法可有效地消除明显的干扰信号,其方法是对多次采样值进行累加,并找出最大值和最小值,再从累加和中减去最大值和最小值,进行平均值滤波。惯性滤波的方法是逐次修正。这些方法也可同时使用,以达到满意的效果。2.模拟量输出信号的整定程序执行时,把各个标准化实数量用PID运算进行处理,产生一个标准化实数运算结果。这一结果同样也要用程序将其转化为相应的16位整数,然后周期性地被传送到指定的模拟量输出通道AQW输出,用来驱动模拟量负载,实现模拟量控制。所以,所谓模拟量输出信号的整定,就是将PLC程序运算结果(标准化实数值)按照一定函数关,上一页,下一页,返回,任务四PID指令应用,系转换为AQW中的数字值(16位整数),以备模拟量输出模块转换成工业现场需要的输出电压或电流。这一转换实际上是归一化过程的逆过程。其步骤如下:(1)将PID运算结果转换为按工程量标定的实数格式,公式如下:式中,Rscal已按工程量标定的实数格式的PID运算结果;Mn为标准化实数格式的PID运算结果;对于双极性,偏移量为0.5;对于单极性,偏移量为0;Span为值域的大小,通常单极性时取32000,双极性时取64000。(2)将已按工程量标定的实数格式的PID运算结果转换成16位的整数格式,如图10-17所示。,上一页,下一页,返回,任务四PID指令应用,三、模拟量的PID算法在模拟量控制系统和直接数字控制DDC(DirectDigitalControl)系统中,PID控制一直都是被广泛应用的一种基本控制算法。PID(Proportional,Integral,Differential)即比例、积分、微分三作用调节器。具有结构典型、参数整定方便、结构改变灵活(有P、PI、PD和PID结构)、控制效果较佳、可靠性高等优点,是目前控制系统中一种最基本的控制环节。由于微处理器所能接受的运算一般都比较简单,对于复杂的运算(如微分、积分)都要转变成简单的加、减、乘、除4种运算。所以在实际应用中,需要把信息的PID控制算式转换成实际应用的PID算式。即把连续算式离散化为周期采样偏差算式,才能用来计算输出值。在决定系统参数时,往往需要现场调试。由PLC构成的一个闭环控制过程的PID算法,有十分广阔的前景。下面将以SIEMENS公司,上一页,下一页,返回,任务四PID指令应用,S7-200系列CPU的PID功能指令为基础,介绍PID算法及实际应用中如何对PID参数进行调整。1.理想的PID控制算式在典型的PID回路控制系统中。若PV为过程变量,SP是给定值,则调节器的偏差信号为e=SP-PV。理想的模拟PID控制算式为:(10-1)式中,KC为比例系数,PID回路的增益,用来描述PID回路的比例调节作用;TI为积分时间,它决定了积分作用的强弱;TD为微分时间,它决定了微分作用的强弱;M0为PID回路输出的初始值;M(t)为

温馨提示

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

评论

0/150

提交评论