您当前的位置:五五电子网电子知识plc技术plc应用西门子plc应用西门子S7-200PLC高速计数编程的问题.. 正文
西门子S7-200PLC高速计数编程的问题..

西门子S7-200PLC高速计数编程的问题..

点击数:7714 次   录入时间:03-04 11:52:58   整理:http://www.55dianzi.com   西门子plc应用
我的旋转编码器(1000脉冲\转),我是用向导编的高速计数程序,程序已经在项目中使用了,但还有不少地方没搞清楚,向导完成后自动生成一个HSC0_INT,在主程序里我用SM0.1调用它进行初始化处理。在主程序我用MOV_DW 将HC0脉冲实时读到VD100中,但我感觉对脉冲VD100处理的有问题,我是用脉冲数除以普通定时器时间得出转速。同事和我讲要用中断处理读到的脉冲算速度,普通定时器受扫描周期影响(实际应用感觉速度误差不是很大),不清楚中断具体怎么用???
答:使用定时器的误差受到定时器分辨率,定时设定时间及程序扫描周期的影响,楼主可以看看手册第六章中关于不同分辨率定时器差别的介绍。
在这些处理方法中,使用定时中断的做法应该是最准确的。

定时器受到程序扫描周期和定时器时基及指令使用的位置影响会产生误差,而定时中断不受这些影响,每次执行的时间间隔误差很小。
下面是软件的帮助中的一个时间中断的例子   100毫秒定时中断

NETWORK 1 // 主程序
// 在首次扫描时,调用子程序0
LD SM0.1
CALL SBR_0


NETWORK 1 // 子程序0
LD SM0.0
MOVB 100 SMB34 // 将间隔设为定时中断0至100毫秒
ATCH INT_0 10 // 将定时中断0(事件10)附加在INT_0上
ENI // 全局中断启用

 

NETWORK 1 // 中断0
// 每100毫秒读取AIW4数值

LD SM0.0
MOVW AIW4 VW100


本文关键字:西门子  西门子plc应用plc技术 - plc应用 - 西门子plc应用