新闻搜索
 
最新新闻
1  手机远程控制PLC系
2  PLC远程控制系统
3  什么是PLC&nbs
4  什么是PLC系统&n
5  什么是PLC&nbs
6  什么是PLC百度百科
7  西门子PLC自由通信
8  西门子PLC怎样使用
9  用指针对S7-200
10  S7-200 西门子
热门新闻 点击
 PLC远程控制系统 14773
 三菱FX2系列PLC 5887
 S7-200 西门子 5383
 西门子PLC怎样使用 4703
 三菱PLCFX系列P 4650
 用指针对S7-200 3724
 什么是plc定义按键 3566
 什么是PLC系统&n 3420
 西门子PLC自由通信 3341
 什么是PLC&nbs 3240
 
西门子PLC怎样使用高速计数器
双击自动滚屏 发布者:西门子PLC 发布时间:2014/12/7 阅读:4703次 【字体:

西门子PLC怎样使用高速计数器

概述

本例叙述SIMATICS7-200西门子PLC的高速计数器HSC)的一种组态功能。对来自传感性(如编码器)信号的处理,高速计数器可采用多种不同的组态功能。

本例用脉冲输出PLS)来为HSC产生高速计数信号,PLS可以产生脉冲串和脉宽调制信号,例如用来控制伺服电机。既然利用脉冲输出,必须选用CPU214DC/DC/DC

下面这个例子,展示了用HSC和脉冲输出构成一个简单的反馈回答,怎样编制一个程序来实现反馈功能。

程序和注释

本例描述了S7—200DC/DC/DC的高速计数器HSC)的功能。HSC计数速度比PLC扫描时间快得多,采用集成在S7—212中的2kHz的软件计数器进行计数。S7—214除了有2kHz的计数器外,还有两个7kHz的硬件计数器。总的来说,每个高速计数器需要10个字节内存用来存控制位、当前值、设定值、状态位。

本程序长度为91个字。

//主程序:

//在主程序中,首先将输出Q0.0置,0,因为这是脉冲输出功能的需要。再初始化高速计。Il数器HSC0然后调用子程序01

//HSCO起动后具有下列特性:可更新CVPV值,正向计数。

Il当脉冲输出数达到SMD72中规定的个数后,程序就终止。


 

 


 

=1)。

//主程序

LD

SM0.1

//

R

Q0.0’1

//

MOVB

16#F8SMB37

//

//

 

 

//

//

MOVD

0SMD38

//

MOVD

1000SMD42

//

HDEF

00

//

 


 


 

激活HSC0,可更新CV,可更新PV,

可改变方向,正向计数。

-次设定值(PV)1000


 

//调用子程序o//调用子程序1.

//主程序结束。

CALL

CALL

MEND

//***

 

 

 

 

 



 

//子程序0:

Il子程序0初始化并激活脉冲输出PLS)

//在特殊存储字节SMB67中定义脉冲输出特性:脉冲串PT0),时基,可更新数值,激活PLS//SMW68定义脉冲周期,其值为时基的倍数。

//最后,在SMD72中指定需要产生的脉冲数。SMD72)为内存双宇,即4个字节)。

//子程序0

 

SBR

0

//

MOVB

16#8DSMB67

//

MOVW

1SMW68

//

MOVD

30000SMD72

//

PLS

0

//

RET

 

//

//氺氺氺:

**********

:**

 

//子程序1:

Il子程序1起动HSC0,并把中断程序0分配给中断事件12(HSC0的当前值CV等于设定值PV)Il只要脉冲计数值当前值CV)达到设定值PV),该事件就会发生。


 

 


 

//最后,

允许中断。

 

//子程序1

 

SBR

1

//

ATCH

012

//

ENI

 

//

HSC

0

//

RET

 

//


 

 

 


 

//中断程序0:

//HSC0的计数脉冲达到第一,设定值1000时,调用中断程序O

//输出端Q0.1置位(Q0.1=1)。

IlHSCO设置新的设定值1500(第二设定值)。

Il用中断程序1取代中断程序0,分配给中断事件12(HSC0CV=PV)//中断程序0


 

//中断程序0

INT

S

MOVB

MOVD

ATCH

HSC

RETI

0

Q0.11

16#A0SMB371500SMD421120

//输出端Q0.1置位(Q0.1=1)。

//重置HSCO的控制位,仅更新设定值PV)

//HSCO的下一个设定值为1500(第二设定值)。

//用中断程序1取代中断程序0,分配给中断事件12//起动HSC0为其装载新的设定值。

II中断程序0结束。


 

 


 

//中断程序1

//HSCO的计数脉冲达到第二设定值1500时,调用中断程序1o//输出端Q0.2置位Q0.2=1)

//HSCO改成减计数,并置新的设定值1000(第三设定值)。

//用中断程序2取代中断程序1,分配给中断事件12(HSC0CV=PV)

//用中断程序1


 

 


 

INT

S

MOVB

MOVD

ATCH

HSC

RETI

1

Q0.21

16#B0SMB371000SMD422,120

//中断程序1

//输出端Q0.2置位(Q0.2=1)。

//重置HSCO的控制位,更新设定值,并改成减计数(反向计数)。//HSC0的下一个设定值为1000(第三设定值)。

//用中断程序2取代中断程序1,分配给中断事件12

//起动HSC0为其装载新的设定值和方向。

//中断程序1结束。


 

 


 

//中断程序2:

//HSCO的计数脉冲达到第三设定值1000时,调用中断程序2

//输出端Q0.1Q0.2复位(Q0.1=0Q0.2=0)。

//HSCO的计数方向重新改为正向增计数),并将当前计数值置为0,而设定值PV保持不变IOOOO)c//重新把中断程序0分配给中断事件12,程序再次起动HSC0运行。

//当脉冲数达到SMD72中规定的个数后,程序就终止。

//中断程序2

INT

2

//中程序2

 

R

Q0.12

//输出端Q0.1Q0.2复位Q0.1=

=00.2=0)。

MOVB

16#D8SMB37

//重置HSC0的控制位,更新CV

改为正向计数增计数)。

MOVD

0SMD38

//HSCO的当前值复位CV=0)

 

ATCH

012

//把中断程序0分配给中断事件12

 

HSC

0

//重新起动HSCO

 

RETI

 

//中断程序2结束。

 

 

6.3高速输出指令”,为您提供

请参考SIMATICSTEP7编程参考手册6.1高速计数器指令

了更多的关于高速计数器和脉冲序列的信息。

 

 


  • 上一条新闻: 没有了

  • 下一条新闻: 没有了
  • 返回上级新闻
  •  
     
     

    Website 无锡市海辰得自动化设备有限公司
    苏ICP备:05038402号
    详址:中国江苏省无锡市城南路32-1号新中储A栋 邮编:214028