310 likes | 465 Views
9.1 项目简介 9.2 高速计数器 9.3 子程序 9.4 中断服务程序 9.5 测转速方案分析与硬件接线 9.6 测位移方案分析与硬件接线 9.7 程序编制 9.8 能力拓展. 项目九 : 转速与位移的测量. 9.1 项目简介. 项目应用 转速和位移测量常应用于电机转速和工作台位移的测量与控制。 项目分析 电机转速的测量是通过测量电机在一定时间内的旋转圈数来确定的。 工作台的直线位移是通过电机旋转带动丝杠转动从而推动螺母直线位移来实现的,因此其测量需从测量电机的角位移着手。. 高速计数器. 传感器. 定时器.
E N D
9.1 项目简介 9.2 高速计数器 9.3 子程序 9.4 中断服务程序 9.5 测转速方案分析与硬件接线 9.6 测位移方案分析与硬件接线 9.7 程序编制 9.8 能力拓展 项目九:转速与位移的测量
9.1项目简介 项目应用 • 转速和位移测量常应用于电机转速和工作台位移的测量与控制。 项目分析 • 电机转速的测量是通过测量电机在一定时间内的旋转圈数来确定的。 • 工作台的直线位移是通过电机旋转带动丝杠转动从而推动螺母直线位移来实现的,因此其测量需从测量电机的角位移着手。 高速计数器 传感器 定时器
光电编码器 • 光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。 • 光电编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。 • 电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号 。 • 为判断旋转方向,码盘提供相位差为90º的两路脉冲信号——A相和B相。此外,还提供一路Z相脉冲(转一圈出现一个)。
光电编码器 1 --- 光源;2 --- 柱面镜;3 --- 码盘;4 --- 狭缝;5 --- 元件
9.2 高速计数器 • 由于普通计数器的计数频率较低(一般只有几十赫兹),因此PLC对高速脉冲信号进行计数需要采用高速计数器。 • S7-200有6个高速计数器HSC0~HSC5,分别可以设置12种不同的工作模式。 • 高速计数器以脉冲编码器的高速脉冲输出为输入,其计数频率与PLC的扫描周期无关。
高速计数器的控制位 比如,设HSC0无复位或启动控制,1倍频正交计数,增计数方向且不更新,更新当前值,HSC允许,则SM37=2#11011100,应MOV 16#DC,SMD37 缺省设置为0。
表9.3设置初始值和预置值 设置初始值和预置值前,必须先设置HSC控制位,即其第5和6位为1。表9.4高速计数器的状态位 比如,设HSC0的初始值为0,则应MOV 0,SMD38 只有执行中断服务程序时,状态位才有效。可以用状态位产生中断,以完成更重要的操作。
高速计数器指令 • 定义高速计数器指令(HDEF)用来指定高速计数器(HSC)及其工作模式(MODE)。 • 高速计数器指令(HSC)用来激活高速计数器,N为其标号。 • 所有高速计数器都可以运行在最高频率而互不影响。 表9.5
高速计数器编程 必须完成以下基本操作: • 定义高速计数器和模式(HDEF指令) • 设置控制字节(表9.2) • 设置初始值(表9.3) • 设置预置值(表9.3) • 激活高速计数器(HSC指令) 例
9.3 子程序 • PLC程序由主程序、子程序和中断服务程序组成。 • 子程序常用于需要反复多次执行相同任务的场合。子程序的调用需要条件,不调用时就不会被扫描,可以减少扫描时间,提高效率。 • 子程序中尽量使用局部变量,这样能方便地移植该子程序。局部变量的类型有TEMP(临时变量)、IN(输入变量)、OUT(输出变量)、IN_OUT (输入输出变量)。
子程序的创建 • “编辑”(Edit)菜单或直接在编辑窗口中击鼠标右键,再“插入”(Insert)→“子程序”(Subroutine)。 • 通过右击指令树中的“子程序”,可以更改(Rename)子程序名。 • 如需调用带参数的子程序,则在子程序的局部变量表中定义参数,最多16个参数,参数的变量名最多23个字符。
子程序的调用 • 子程序结束后,自动返回到调用它的程序中调用子程序指令的下一条指令处。 • 一个项目最多可以创建64个子程序。子程序可以嵌套调用,最大嵌套深度为8。在中断服务程序中调用的子程序不能再调用别的子程序。 • 子程序调用指令(CALL) CALL 子程序名,参数1,参数2,┄,参数n 子程序可不带参数,如右图
9.4 中断服务程序 • 中断服务程序不由程序调用,而是在中断事件发生时由操作系统调用。 • 中断服务程序中应使用局部变量。 • 中断服务程序的创建与子程序的创建相似。 • 中断服务程序应越短越好,以减少占用时间,避免延迟其他的处理,否则可能引起设备异常。 • 中断事件的优先级及其中断号。
中断指令 • 中断允许指令(ENI)全局地允许所有被连接的中断事件。 • 中断禁止指令(DISI)全局地禁止所有中断事件。 • 中断条件返回指令(CRETI)在其条件满足时从中断服务程序返回。如果没有该指令,编程软件自动添加无条件返回指令。 • 中断连接指令(ATCH)将中断事件EVNT(BYTE)与中断服务程序号INT (BYTE)相关联,并使该中断事件允许处理。 • 中断分离指令(DTCH)切断中断事件EVNT与中断服务程序号的联系,并禁止该中断事件。 • 清除中断指令(CEVNT)从中断队列中清除所有的中断事件。
9.5 测转速方案分析与硬件接线 • 其原理示意图如图所示。 • 光电编码器的轴(输入轴)与被测轴通过联轴器相联接。
测转速方案分析 • 光电编码器的通过高速计数器计算每秒光电编码器输出脉冲(A相脉冲信号,1000个/圈)的个数就能反映当前电动机的转速。 • 方案一:采用定时1秒的定时器T37,实现1秒的采样周期。在采样期间读取高速计数器HSC0(设置为初始值为0,工作模式为0)的HC0计数(双字),并转换为实数送VD200,再乘0.06,存入VD300,即可得每分钟转速。 • 方案二:采用定时1秒的定时器T32,实现1秒的采样周期。设置好HSC0和定时中断。在采样期间读取高速计数器HSC0(设置为初始值为0,工作模式为0)的HC0计数(双字)。T32定时到,进入中断服务程序,把HC0计数转换为实数送VD200,再乘0.06,存入VD300,得每分钟转速。
9.6 测位移方案分析与硬件接线 • 电机通过联轴器带动丝杠(螺距8mm)一起旋转,螺母带动滑块在导轨上实现直线位移。 • 光电编码器的轴与电机轴通过联轴器相联接。 • 方案:利用HSC1的工作模式9对光电编码器输送的A相和B相高速脉冲增减计数,并把HC1的值乘0.008送入VD200。
9.7 程序编制 测转速程序一: 选HSC0,工作模式0 周期为1秒 转换为r/min单位,并送VD300显示 1s定时到,HSC0初始值复位
测转速程序二: 利用中断程序,缩短扫描周期 MAIN SBR0 T32定时时间到的中断事件号为21。
9.8 能力拓展 任务:实现转速的控制,转速超500r/min时报警。并实现转速与位移测量的一体化。 请同学们按照工作过程完成任务: • 控制方案分析与I/O分配 • 控制程序设计、下载与调试 • 任务检查与评价