微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 西门子PLC高速处理指令

西门子PLC高速处理指令

时间:12-19 来源:互联网 点击:

高速计数器HSC一般和编码器配合使用,在现代自动控制中实现精确定位和测量长度。它可用来累计比可编程序控制器的扫描频率高得多的脉冲输入,利用其产生的中断事件完成预定的操作。

一、数量及编号

(一)中断源及种类

高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),n为编号。

HCn除了表示高速计数器的编号之外,还代表两方面的含义:高速计数器位和高速计数器当前值。编程时,从所用的指令可以看出是位还是当前值。

二、高速计数指令

(一)高速计数器指令

高速计数器指令有两条:HDEF和HSC。

1、HDEF,定义高速计数器指令

使能输入有效时,为指定的高速计数器分配一种工作模式,即用来建立高速计数器与工作模式之间的联系。
梯形图指令盒中有两个数据输入端:HSC,高速计数器编号,为0~5的常数,字节型;MODE,工作模式,为0~11的常数,字节型。


图1 HDEF

2、HSC,高速计数器指令

使能输入有效时,根据高速计数器特殊存储器位的状态,并按照HDEF指令指定的工作模式,设置高速计数器并控制其工作。
梯形图指令盒数据输入端N:高速计数器编号,为0~5的常数,字型。


图2 HSC

高速计数器的时钟、方向控制、复位和启动所使用输入如下图所示。


图3 高速计数器的指定输入

(二)高速计数器的使用方法

每个高速计数器都有固定的特殊功能存储器与之相配合,完成高速计数功能。具体对应关系如下图所示。


图4 HSC的特殊寄存器

每个高速计数器都有一个状态字节,程序运行时根据运行状况自动使某些位置位,可以通过程序来读相关位的状态,用以作为判断条件实现相应的操作。状态字节中各状态位的功能如下图所示。


图5 状态字节

使用高速计数器时,要按以下步骤进行:

◆ 选择计数器及工作模式
◆ 设置控制字节
◆ 执行HDEF指令
◆ 设定当前值和预设值
◆ 设置中断事件并全局开中断
◆ 执行HSC指令


图6 控制位含义

(三)应用实例

要对一高速事件精确控制,通过对脉冲信号进行增计数,计数当前值达到24产生中断,重新从0计数,对中断次数进行累计。计数方向用一个外部信号控制,并能实现外部复位。所用的主机型号为CPU221。

设计步骤:

①选择高速计数器HSC0,并确定工作方式4
②令SM37=16#F8
③执行HDEF指令,输入端HSC为0,MODE为4
④装入当前值,令SMD38=0
⑤装入设定值,令SMD42=24
⑥执行中断连接ATCH指令,输入端INT为INT0,EVNT为10。
主程序、初始化子程序和中断程序分别如图所示。


图7 主程序


图8 初始化程序


图9 中断程序


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top