PLC高速计数器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高速计数器相关寄存单元归纳
SMB36-SMB65为HSC0、HSC1、HSC2的寄 存区
SMB130-SMB165为HSC3、HSC4、HSC5的 寄存区
每个计数器按状态(byte)、控制(byte)、 计数(DWord)、设定(DWord)分配连 续10字节
高速计数器的指令及用法(P103)
HDEF HSC,MODE
高速计数器
1、使用高速计数器的背景知识
• 计数外部脉冲或发出满足要求的控制脉冲是控 制系统基本而大量的需求
• PLC内部提供的计数器多为软件形式且受PLC 扫描周期的影响,计数频率受到限制,一般为 几十赫芝。
• 对于大量的实际需求,PLC都提供高速计数器。 因此高速计数器的功能普遍较复杂。对实际应 用的背景比较清楚的情况下,应用高速计数器 比较主动。
集成光断续器输出波形示意 两信号的相位差多为90度
PWM(脉冲宽度调制)的输出波形
PWM控制输出的是周期不变而占空比可变的脉冲,使其输出的平 均值发生改变,达到改变控制作用的强度。用断续的开关控制达到 连续控制的效果(普遍用于直流拖动)
2、高速计数器基本概况(教材P102)
高速计数器基本概况总结
• 12种工作模式分成4组,两组为单路输入,另两 组为两路输入。各组间计数方向的触发方式不一 样。
• 组内的差别是启动和复位的手段相异。
• 由于各计数器所分配的外部信号接入端数量不一, 不同的计数器所能选择的工作模式也不相同。 HSC3和HSC5只有模式0,HSC0和HSC4不具有 模式2、5、8和11,只有HSC1和HSC2可选择所 有12种模式。
R BACK ,1
//复位后退到标志
MOVD +0 ,SMD52 // 准备改设定值为0
MOVB 16#B0, SMB47 // 改成减计数且修改设定值
HSC 1 // 装入新参数
NETWORK 2
LDN SM46.5 //如为后退执行下列指令 S BACK ,1 //置位BACK R FORWARD ,1 //复位FORWARD
• HDEF用于选定模式,HSC用于设置和修改参数,两 条指令的执行内容都需计数器的控制字节来定制。 HSC指令的源操作数还包括计数值和设定值的寄存 器
工作模式0、1、2应用示例
• 直线运动工作台,丝杆传动,螺距2mm,电机转速光 电码盘60分度,单脉冲输出。工作台踞工作物400mm, 要求工作台到达工作物暂停,5秒后返回原处待令。 (或返回原处暂停,5秒后重复上述过程)
高速计数器的接线端
• I0.0-I0.3四个接线端的上升沿和下降沿可分别产生中断。 高速计数器的部分接线端与此复用,但同一个接线端只 能选择用于一个目的。选用的原则:
• 首先根据确定的工作模式选计数器,在此基础上可定出 端子的占用情况(如需多个计数器还要核查端子占用是 否矛盾),最后I0.0-I0.3中剩余的端子可用中断检测信 号的边沿变化。
HSC指令才能传入计数器中。
高速计数器相关的状态寄存器
状态寄存器
7 65
0
当前计数方向,1:加计数,0:减计数 1:CV=PV 1:CV>PV 其余位保留
SMB36、46、56、136、146、156分别为HSC0、HSC1、 HSC2、HSC3、HSC4、HSC5的状态字节。只在相应中 断程序激活后有效
// 配置 HSC1
LD SM0.1 //在第一周期栈顶 On 使下条指令可执行 MOVB 16#F8, SMB47 // 设置HSC1 的控制字节 // 二进制11111000 HDEF 1 ,11 // HSC1 选定模式11,注意控制字节低三位对模式
的配置作用
MOVD +0 ,SMD48 // HSC1 初始计数从0起 MOVD +50, SMD52 // HSC设定值定为 50 ATCH INT_0 ,13 // HSC1 current value = preset value
高速计数器应用小结
• 高速计数器的原理与一般计数器相同,但高速计数 器利用中断来处理事件。而一般计数器是用状态位 来反映计数状态(对事件的处理是查询方式)
• 中断程序的处理内容是应用高速计数器的核心。 • 应用高速计数器首先要初始化,内容有两个:选定
模式和设置初始参数。一般独立配置初始化子程序。
• 模式要与外界信号相配,而参数则随应用可修改。 初始化后的参数可在中断程序中修改。
高速计数器的计数值和设定值寄存器(P104)
每个高速计数器设有计数值和设定值的缓存单元, 用于修改这两个参数
缓存单元为DINT数据类型(双字长) SMD38、48、58、138、148、158计数值缓存单元 SMD42、52、62、142、152、162设定值缓存单元 缓存单元内容须通过设置相应的控制字节,利用
SCRE LSCR S0.2//暂停步 LD SM0.0 TON T37,+50 LD T37 SCRT S0.3 SCRE LSCR S0.3//后退步 LD SM0.0 = Q0.1 LD BACK SCRT S0.0 SCRE
工作模式3、4、5的特点
• 除一路脉冲输入外,另有外部的计数方向控制。 • 计数方向由外部信号控制。 • 计数值(CV)等于设定值(PV)产生中断。 • 计数方向改变也产生中断。(这个特点可用于进程
• 或工作台到达工作物暂停5秒,后退20mm待令。
电机
工作台 传动丝杆
基本的顺序过程
第一周期 初始步 预置计数器、电机停转
开始指令 进给步 电机正转
前进到 暂停步 电机停转
停转时间到 返回步 电机反转
后退到
首先根据控制要求的 描述整理出该过程的 主框架。
其中转换条件前进到 和后退到根据高速计 数器的特点,利用其 中断源,在中断程序 中予以解决。
在此框架下,再设计 程序的结构层次、变 量的传递方法和类型。 然后编制各程序块的 程序。
程序结构的分析及相关变量
因过程简单,前叙的顺序流程可定为主程序
前进
到和后退到如何产生 利用计数器产生的中断
计数器模式0、1、2只有一个中断源可利用 借助计
数器的状态字节,定义 FORWARD和BACK两布尔型
全局变量作为前进到和后退到标志
主程序设计
• 任务:根据条件调用初始化子程序 执行顺序控制
主程序MAIN
LD SM0.1 S S0.0, 1 LSCR S0.0 //初始步 LD SM0.0 CALL SBR_0 LD I0.3 SCRT S0.1 SCRE LSCR S0.1 //前进步 LD SM0.0 = Q0.0 LD FORWARD SCRT S0.2
前进到置位
FORWARD,后退到置位BACK
主程序:执行顺序控制
子程序0:预置高速计数器及相关初始化
中断程序0:(PV=CV产生中断)在中断程序中,根据计
数方向,置位对应的到位标志。接着改变计数的方向和 设定值。
全局变量FORWARD(M2.0)、 BACK(M2.1)用于主 程序和中断程序间的参数传递。
• 装入初始化参数 • 在中断程序中配合应用
改变计数器的相关参数 • N:指定计数器编号
HDEF和HSC应用示例(主程序部分)
NETWORK 1 // Main Program
// 上电后第一扫描周期初始化计数器
LD SM0.1
CALL SBR_0 //初始化由子程序SBR_0完成
HDEF和HSC应用示例(子程序部分)
//(EVENT 13)与中断程序 INT_0相关联
ENI // 全局开放中断 HSC 1 // 设定的参数装入 HSC1,装入的情况受控制字节高五位控

HDEF和HSC应用示例(中断程序部分)
NETWORK 1 // Start of Interrupt 0 LD SM0.0//使栈顶为1 MOVD +0 ,SMD48 // 准备清除HSC1计数单元,以备下 次重新计数 MOVB 16#C0, SMB47 // 配置HSC1的控制字节,仅改变 //计数器的计数单元并维持计数器的使能状态,其余不变。 HSC 1 // 向计数器 HSC1装入新参数,开始下轮计数。
初始化子程序的设计
• 任务:选定计数器及其工作模式,初始相关的参数 1、计数器1,MODE:0(传感器只有一路脉冲输出)复
位启动利用内部控制。脉冲输入接在I0.0。 2、计数初值CV:+0
设定初值PV:12000(400/2*60=12000) 控制字节:11111000(16#F8)(计数器使能、装入计 数初值、装入设定值、加计数)低三位对MODE0无效。
使能置位
29、33中断属这类中断)断程
个 中
化 涉
特 点
中断程序中改变计数方向序 断 及 :
。源高一
PV=CV
速路
计脉
数冲源自文库
。器输 具的入 体控。 应制需 用字初 可节始 借。化 助提, 中供初
一始
高速计数器的配置及应用
应用高速计数器需了解的几个基本问题 1、计数器的控制手段及相关寄存器 2、如何正确选定工作模式 3、初始化的内容及方法 4、中断产生的条件及中断程序的处理要点 5、使用复位和启动对计数器的影响情况
• 如模式3选HSC0(占用I0.0和I0.1),模式0选HSC3 (占用I0.1),是矛盾的。模式0改选成HSC5(占I0.4), 那么I0.2I和0.3还可用于产生边沿中断。
3、高速计数器的工作模式
3-1 工作模式0、1、2
初始化:计数值CV装=P0,V产设生定中值断4,(加12计、数13,、计16数、器32、
复位FORWARD(M2.0)、 BACK(M2.1) 和
定时器T37
初始化子程序SBR0
LD SM0.0 //栈顶 On MOVB 16#F8, SMB47 // 设置HSC1 控制字节 HDEF 1 ,0 // HSC1 模式0 MOVD +0 ,SMD48 // HSC1计数初值0放入寄存单元 MOVD +12000, SMD52 // HSC1设定值放入寄存单元 ATCH INT_0 ,13 // HSC1 中断源 13与中断程序关联 R T37,1 //复位定时器 R M2.0,2 //复位FORWARD和BACK ENI // 全局开放中断 HSC 1 // 初始化 HSC1
• 本指令用于选定计数器 的工作模式
• HSC:指定计数器(0、 1、2、3、4或5)
• MODE:选定模式(0、 1、2、3、4、5、6、7、 8、9、10或11)
• 执行指令时还根据指定 计数器的控制字节低三 位配置计数器
高速计数器的指令及用法
• 本指令根据控制字节的 高五位状态配置和控制 高速计数器
高速计数器相关的控制寄存器
控制寄存器
75
2
启动极性:0:高有效(HSC0保留) 0
复位极性 0:高有效,1:低有效
计数速率 0:4倍频 1:1倍频 计数方向选择 1:加计数 0:减计数
计数方向变换 1:变换计数方向
设定值PV改变允许 1:写入新设定值
计数值装入允许 1:装入计数值
计数使能
1:使能
SMB37、47、57、137、147和157为高速计数器控制字节
磁电式转速计
磁电式转速计 齿轮由磁性材料作成
齿轮转动引起气隙的改变
导致磁通变化
线圈感应脉动电势
经整形后输出与转速成正 比的脉冲信号
光电式转速传感器
可通过测量光敏元件输出的脉冲频率,被测转速:n=f/N n: 转速 f :脉冲频率 N:开孔数
集成光断续器
有两个接收光敏元件和两路输出电压。由于两个光敏元件的位置和 圆盘上缝隙排列的关系,带孔圆盘无论处在什么位置,只有一个光 敏元件可以受到光照,而另一个被圆盘遮挡。当圆盘转动时,检测 电路的输出电压必然产生相位差。
中断程序的设计
任务: 1、利用计数器的状态寄存器,鉴别运动方向。 计数器1的SM46.5为1时加计数,反之减计数。 2、前进到时置位FORWARD,复位BACK。 后退到时置位BACK,复位FORWARD。 3、前进到时,改变计数方向为减计数、 改设定值为0,控制字节设为10110000。 以便后退到也能产生中断。
• 问题:如将设定值改为24000,其余不变,后退到能 否产生中断?或计数值清零,其余不变,后退到能否 产生中断?如能产生中断,能否完成任务2?
中断程序INT_0
NETWORK 1 // Start of Interrupt 0
LD SM46.5 //如为前进执行下列指令
S FORWARD ,1 //置位前进到标志,主程序作转换条件
相关文档
最新文档