2020/2/22苏州健雄职业技术学院1基于编码器、高速计数器的交流电机传动控制系统2020/2/22苏州健雄职业技术学院2控制要求分拣装置按下启动按键,并且检测到传送带上有工件,变频器带动交流电机工作,从而使传送带带动工件前行。若检测到此工件为金属材质,则分拣到A站,若为非金属塑料材质,则分拣到B站。按下停止按键,整个循环停止。电路设计主电路设计2020/2/22苏州健雄职业技术学院3电路设计控制电路设计2020/2/22苏州健雄职业技术学院4电磁铁(23)黄灯(24)绿灯(25)红灯(26)CPU224XP晶体管(DC/DC/DC)-+DC24V+24VQ0.3COMI0.4I0.3I0.2I0.1I0.0DIN11L+UQ0.1Q0.2Q0.0M交流电机西门子MM420/440变频器I0.5I0.6MVAIN-AIN+交流电机接线图VWQ0.4说明:(1)启动、停止接JDO2A的点动按钮或直接用钮子开关代替。(2)接线时,应结合接线原理图及端子接线说明,确保接线无误。启动编码器B相(20)编码器A相(19)停止(金属)电感传感器检测(13)(上料)光电传感器检测(10)(尼龙)电容传感器检测(16)电路设计PLCI/O分配2020/2/22苏州健雄职业技术学院5程序设计设计思路:一、传送带运行控制:1、变频器参数设置2、变频器运行控制二、分拣继电器控制:1、精准定位?2020/2/22苏州健雄职业技术学院6知识拓展——旋转编码器旋转编码器是用来测量转速的装置,光电式旋转编码器通过光电转换,可将输出轴的角位移、角速度等机械量转换成相应的电脉冲以数字量输出(REP)。编码器的分类编码器按照信号电压分类:24V和5V按照信号类型分为:绝对式编码器、增量式编码器、混合式编码器绝对值编码器为每一个轴的位置提供一个独一无二的编码数字值。增量式编码器轴的每圈转动,增量型编码器提供一定数量的脉冲。按照信号采集方式分为:单倍频和四倍频知识拓展——旋转编码器单倍频模式(1X)旋转编码器四倍频模式(4X)知识拓展-编码器编码器旋转编码器是通过光电转换,将输出把轴上的机械、几何位移量转换成脉冲或数字信号的传感器,主要用于速度或位置(角度)的检测。典型的旋转编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形狭缝。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,其原理示意图如图所示;通过计算每秒旋转编码器输出脉冲的个数就能反映当前电动机的转速。2020/2/22苏州健雄职业技术学院10知识拓展-编码器编码器一般来说,根据旋转编码器产生脉冲的方式的不同,可以分为增量式、绝对式以及复合式三大类。自动线上常采用的是增量式旋转编码器。2020/2/22苏州健雄职业技术学院11知识拓展-编码器编码器增量式编码器是直接利用光电转换原理输出三组方波脉冲A、B和Z相;A、B两组脉冲相位差90,用于辩向:当A相脉冲超前B相时为正转方向,而当B相脉冲超前A相时则为反转方向。Z相为每转一个脉冲,用于基准点定位。如图所示。2020/2/22苏州健雄职业技术学院12知识拓展-编码器编码器脉冲和脉冲当量计算工件在传送带上的位置时,需确定每两个脉冲之间的距离即脉冲当量。若某主动轴的直径为d=43mm,则减速电机每旋转一周,皮带上工件移动距离L=π•d=3.14×43=136.35mm。若分辨率500线,及旋转一周脉冲数为500,故脉冲当量μ为μ=L/500≈0.273mm。上述脉冲当量的计算只是理论上的推算。实际上各种误差因素不可避免,例如传送带主动轴直径(包括皮带厚度)的测量误差,传送带的安装偏差、张紧度,系统在工作台面上定位偏差等等,都将影响理论计算值。脉冲当量的误差所引起的累积误差会随着工件在传送带上运动距离的增大而迅速增加,甚至达到不可容忍的地步。须现场测试脉冲当量值。2020/2/22苏州健雄职业技术学院13知识拓展-编码器编码器接线方式2020/2/22苏州健雄职业技术学院14知识拓展-高速计数器高速计数,计数自动进行,不受扫描周期的影响,用于捕捉比CPU扫描速度更快的事件。当前值等于预置值、计数方向改变或发生外部复位时,可产生中断。在中断程序中,可实现高速运动的精准控制等预定操作。PLC:S7-224XPDC/DC/DC集成有6点的高速计数器,编号为HSC0~HSC5,每一编号的计数器均分配有固定地址的输入端。同时,高速计数器可以被配置为12种模式中的任意一种。2020/2/22苏州健雄职业技术学院15S7-200高速计数器基础高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。高速计数器的最高计数频率取决于CPU类型。其中CPU222和CPU221没有HSC1和HSC2S7-200高速计数器基础模式0、1、2的计数方式S7-200高速计数器基础模式3、4、5的计数方式S7-200高速计数器基础模式6、7、8的计数方式S7-200高速计数器基础模式9、10、11(1X)的计数方式S7-200高速计数器基础模式9、10、11(4X)的计数方式S7-200高速计数器特殊寄存器在使用高速计数功能的时候,需要修改系统内的部分特使寄存器。以改变我们的计数模式。SMB36至SMB65被用于监控和控制高速计数器HSC0、HSC1和HSC2;SMB136至SMB165被用于监控和控制高速计数器HSC3、HSC4和HSC5。下面,我们就对相应的特殊寄存器进行介绍S7-200高速计数器特殊寄存器控制字节HSC0HSC1HSC2HSC3HSC4HSC5说明SM37.0SM47.0SM57.0SM147.0复原现用水平控制位:0=复原现用水平高1=复原现用水平低SM47.1SM57.1起始现用水平控制位:0=起始现用水平高1=起始现用水平低SM37.2SM47.2SM57.2SM147.2正交计数器的计数速率选项:0=4x计数速率1=1x计数速率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.6SM57.6SM137.6SM147.6SM157.6向HSC写入新当前值:0=无更新1=更新当前值SM37.7SM47.7SM57.7SM137.7SM147.7SM157.7启用HSC:0=禁用HSC1=启用HSCS7-200高速计数器特殊寄存器•当我们需要手动更新计数器预设值和当前值时,需要将SM**.5和SM**.6设置为1。然后,将要输入的值更新给对应计数器的特殊寄存器中载入数值HSC0HSC1HSC2HSC3HSC4HSC5新当前值SMD38SMD48SMD58SMD138SMD148SMD158新预设值SMD42SMD52SMD62SMD142SMD152SMD162S7-200高速计数器特殊寄存器HSC0HSC1HSC2HSC3HSC4HSC5说明SM36.0SM46.0SM56.0SM136.0SM146.0SM156.0未使用SM36.1SM46.1SM56.1SM136.1SM146.1SM156.1未使用SM36.2SM46.2SM56.2SM136.2SM146.2SM156.2未使用SM36.3SM46.3SM56.3SM136.3SM146.3SM156.3未使用SM36.4SM46.4SM56.4SM136.4SM146.4SM156.4未使用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当前值大于预设值状态位:0=小于或等于;1=大于状态位S7-200高速计数器指令高速计数器定义(HDEF)指令选择特定的高速计数器(HSCx)的操作模式。模式选择定义高速计数器的时钟、方向、起始和复原功能。例:将HSC0设置成计数模式1S7-200高速计数器指令高速计数器(HSC)指令根据HSC特殊内存位的状态配置和控制高速计数器。参数N指定高速计数器的号码。读取高速计数器当前值欲存取高速计数器的计数值,您需要利用内存类型(HC)和计数器号码(例如HC0)指定高速计数器的地址。如下所示,高速计数器的当前值是只读数值,只能作为双字(32位)编址。格式:HC[高速计数器号码]例如:HC2例题编写一个高速计数程序,将I0.6的输入模式设置高速计数,为A/B正交计数,由外部信号启动和复位。当计数值为50的时候将计数值清零重新计数。•项目分析:1)项目使用模式为:A/B正交计数,由外部信号启动和复位。所以,我们选择工作模式为“11”;2)输入端使用I0.6,我们根据模式选择定义使用的高速计数器为:HSC1(I0.6为A相,I0.7为B相,I1.0为复位,I1.1为启动)3)由于使用的是HSC1,我们需要选择CPU224以上的CPU型号例题程序设计:在首次运行时需要对高速计数器参数初始化,初始化程序为SBR_0例题将HSC1的预设值和当前值设置为允许更新,方向允许更新,4倍频的向上计数•将HSC1的计数模式设置为11•将HSC1的当前值更新为0•将HSC1的预设值设置为50子程序SBR_0例题•设置中断为预设值=当前值,触发中断INT_0•启用全局中断•将设置传给HSC1子程序SBR_0例程•当前值=预设值时,当前值清零•设置允许更新当前值•将设置传给HSC1中断程序INT_0思考练习题编写一个高速计数程序,将I0.0的输入模式设置高速计数,为A相计数,B相高电平为加计数。由内部信号启动和复位。当计数值为100的时候将计数值停止计数,并将Q0.0置位。存放计数器当前值,从V100.0开始高速输出前言S7-200自带了两个高速输出Q0.0和Q0.1(仅限DC输出)高速输出的分类:分为两种:PTO和PWMPTO提供方波(50%占空比)输出,配备周期和脉冲数用户控制功能。PWM提供连续性变量占空比输出,配备周期和脉宽用户控制功能。高速输出前言脉冲周期PTO脉冲数高速输出前言脉冲周期PKW宽度高速输出关联特殊寄存器Q0.0Q0.1状态位SM66.4SM76.4PTO轮廓由于计算错误异常中止0=无错:1=异常中止SM66.5SM76.5PTO轮廓由于用户命令异常中止0=无错:1=异常中止SM66.6SM76.6PTO管线溢出/下溢0=无溢出;1=溢出/下溢SM66.7SM76.7PTO空闲0=进行中;1=PTO空闲高速输出关联特殊寄存器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/tick;1=1ms/tickSM67.4SM77.4PWM更新方法:0=异步更新;1=同步更新SM67.5SM77.5PTO操作:0=单段操作;1=多段操作SM67.6SM77.6PTO/PWM模式选择0=选择PTO;1=选择PWMSM67.7SM77.7PTO/PWM启用0=禁用PTO/PWM;1=启用PTO/PWMQ0.0Q0.1其他PTO/PWM寄存器SMW68SMW78PTO/PWM周期值(范围:2至65535)SMW70