S7-200高速计数器的学习解析课件.ppt
,高速处理,高速处理,S7-200的高速处理功能,S7-200 自带了高速输入和高速输出功能,根据CPU的不同,所带数量不同。高速处理与CPU自身的扫描时钟无关。只与CPU类型有关。,S7-200的高速处理功能S7-200 自带了高速输入和高速,旋转编码器,旋转编码器是用来测量转速的装置,光电式旋转编码器通过光电转换,可将输出轴的角位移、角速度等机械量转换成相应的电脉冲以数字量输出(REP)。,旋转编码器旋转编码器是用来测量转速的装置,光电式旋转编码器通,编码器的分类编码器按照信号电压分类:24V和5V按照信号类型分为:绝对式编码器、增量式编码器、混合式编码器 绝对值编码器为每一个轴的位置提供一个独一无二的编码数字值。 增量式编码器轴的每圈转动,增量型编码器提供一定数量的脉冲。 按照信号采集方式分为:单倍频和四倍频,旋转编码器,单倍频模式(1X),编码器的分类旋转编码器单倍频模式(1X),旋转编码器,四倍频模式(4X),旋转编码器四倍频模式(4X),S7-200 高速计数器基础,高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。高速计数器的最高计数频率取决于CPU类型。其中CPU222和CPU221没有HSC1和HSC2,S7-200 高速计数器基础高速计数器对CPU扫描速率无法控,S7-200 高速计数器基础,模式0、 1、 2 的计数方式,S7-200 高速计数器基础模式0、 1、 2 的计数方式,S7-200 高速计数器基础,模式3、 4、 5 的计数方式,S7-200 高速计数器基础模式3、 4、 5 的计数方式,S7-200 高速计数器基础,模式6、7、8 的计数方式,S7-200 高速计数器基础模式6、7、8 的计数方式,S7-200 高速计数器基础,模式9、10、11 (1X)的计数方式,S7-200 高速计数器基础模式9、10、11 (1X)的计,S7-200 高速计数器基础,模式9、10、11 (4X)的计数方式,S7-200 高速计数器基础模式9、10、11 (4X)的计,S7-200 高速计数器特殊寄存器,在使用高速计数功能的时候,需要修改系统内的部分特使寄存器。以改变我们的计数模式。 SMB36至SMB65被用于监控和控制高速计数器HSC0、HSC1和HSC2; SMB136至SMB165被用于监控和控制高速计数器HSC3、HSC4和HSC5。下面,我们就对相应的特殊寄存器进行介绍,S7-200 高速计数器特殊寄存器在使用高速计数功能的时候,,S7-200 高速计数器特殊寄存器,控制字节,S7-200 高速计数器特殊寄存器控制字节,S7-200 高速计数器特殊寄存器,当我们需要手动更新计数器预设值和当前值时,需要将SM*.5和SM*.6设置为1。然后,将要输入的值更新给对应计数器的特殊寄存器中,S7-200 高速计数器特殊寄存器当我们需要手动更新计数器预,S7-200 高速计数器特殊寄存器,状态位,S7-200 高速计数器特殊寄存器状态位,S7-200 高速计数器指令,高速计数器定义(HDEF)指令选择特定的高速计数器(HSCx)的操作模式。模式选择定义高速计数器的时钟、方向、起始和复原功能。,例:将HSC0设置成计数模式1,S7-200 高速计数器指令高速计数器定义(HDEF)指令选,S7-200 高速计数器指令,高 速 计 数 器(HSC)指 令根 据 HSC 特 殊 内 存 位 的状 态 配 置 和控 制 高 速 计数 器。参 数 N指 定 高 速 计数 器 的 号 码。,S7-200 高速计数器指令高 速 计 数 器(HSC)指,读取高速计数器当前值,欲存取高速计数器的计数值,您需要利用内存类型(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型号,例题编写一个高速计数程序,将I0.6的输入模式设置高速计数,,例题,程序设计:在首次运行时需要对高速计数器参数初始化,初始化程序为SBR_0,例题 程序设计:在首次运行时需要对高速计数器参数初始化,例题,将HSC1的预设值和当前值设置为允许更新,方向允许更新,4倍频的向上计数,将HSC1的计数模式设置为11,将HSC1的当前值更新为0,将HSC1的预设值设置为50,子程序SBR_0,例题将HSC1的预设值和当前值设置为允许更新,方向允许更新,,例题,设置中断为预设值=当前值,触发中断INT_0,启用全局中断,将设置传给HSC1,子程序SBR_0,例题设置中断为预设值=当前值,触发中断INT_0启用全局中,例程,当前值=预设值时,当前值清零,设置允许更新当前值,将设置传给HSC1,中断程序INT_0,例程当前值=预设值时,当前值清零设置允许更新当前值将设置传给,思考练习题,编写一个高速计数程序,将I0.0的输入模式设置高速计数,为A相计数,B相高电平为加计数。由内部信号启动和复位。当计数值为100的时候将计数值停止计数,并将Q0.0置位。存放计数器当前值,从V100.0开始,思考练习题编写一个高速计数程序,将I0.0的输入模式设置高速,高速输出前言,S7-200自带了两个高速输出Q0.0和Q0.1(仅限DC输出)高速输出的分类: 分为两种:PTO和PWM,PTO提供方波(50%占空比)输出,配备周期和脉冲数用户控制功能。PWM提供连续性变量占空比输出,配备周期和脉宽用户控制功能。,高速输出前言S7-200自带了两个高速输出Q0.0和Q0.1,高速输出前言,脉冲周期,PTO脉冲数,高速输出前言脉冲周期PTO脉冲数,高速输出前言,脉冲周期,PKW宽度,高速输出前言脉冲周期PKW宽度,高速输出关联特殊寄存器,高速输出关联特殊寄存器,高速输出关联特殊寄存器,高速输出关联特殊寄存器,高速输出关联特殊寄存器,经过整理,我们得到上表,高速输出关联特殊寄存器经过整理,我们得到上表,高速输出指令,高速输出指令,例题,一台步进电机,每200个脉冲旋转一圈,我们需要它在按下I0.0后旋转20圈,速度为1圈/秒。做出设计实现功能!,项目分析: 本项目使用步进电机,对于脉冲宽度没有要求,而对于发出的脉冲数有要求,采用的脉冲为PTO模式发送。发送数量为200*20=4000个脉冲。速度为1圈/S,那么脉冲的周期应当为1000/200=5ms。PLC选型: CPU222 DC/DC/DC,例题一台步进电机,每200个脉冲旋转一圈,我们需要它在按下I,例程,当I0.0的上升边沿时启用发送子程序,例程当I0.0的上升边沿时启用发送子程序,例程,将Q0.0的输出选择成为PTO高速输出,周期以毫秒为单位,将周期设置为5MS,也就是200脉冲/S,将Q0.0的输出脉冲数量设置为4000,也就是20圈,设置Q0.0启用,例程将Q0.0的输出选择成为PTO高速输出,周期以毫秒为单位,思考题,一个旋转机构待用步进电机,电机自带减速机变速比为32/1。我们要这个旋转机构旋转90,设这个电机的每一步是0.9。请给出设计方案,思考题一个旋转机构待用步进电机,电机自带减速机变速比为32/,孙丰浩,本章已完成谢谢,孙丰浩本章已完成,