由于论坛无法贴图,我已将程序贴在工控网,请看我工控网的发帖,下面是链接http://bbs.gkong.com/dispbbs.asp?Boardid=36&id=239517&star=1#1342167
问题补充:
2楼的方法不行的啊,我置位SM37.7为OFF了,HC0还是会计数的。
最佳答案
起动定时中断(250ms),开始高速计数.
Time_0_Intrvl SMB34 指定中断0的时间间隔(从5-255,以1毫秒递增)。
HSC0_Ctrl SMB37 配置和控制HSC0
HSC0_Reset_Level SM37.0 HSC0计数器复原激活水平控制:0 = 激活水平高;1 = 激活水平低
HSC0_Rate SM37.2 HSC0计数速率选择器:0 = 4x(求积速率);1=1x
HSC0_Dir SM37.3 HSC0计数方向控制:0 = 向下计数;1 = 向上计数
HSC0_Dir_Update SM37.4 HSC0更新计数方向:0 = 无更新;1 = 更新方向
HSC0_PV_Update SM37.5 HSC0更新预设值:0 = 无更新;1 = 更新预设
HSC0_CV_Update SM37.6 HSC0更新当前值:0 = 无更新;1 = 更新当前值
HSC0_Enable SM37.7 HSC0启用:0 = 禁止;1 = 启用
HSC0_CV SMD38 HSC0新当前值
HSC0_PV SMD42 HSC0新预设值
1:
LD SM0.0 //首次扫描初始化
MOVB 0, VB22 //采样次数,4×250ms=1s
MOVB 16#FC, SMB37
HDEF 0, 0 //起动hsc0,内部单向控制
MOVD +0, SMD38
MOVD 16#FFFF, SMD42
MOVB 250, SMB34
ATCH INT_0:INT1, 10 //时间中断,250ms
HSC 0
ENI
2:
LD SM0.0
MOVD +0, VD0
MOVD +0, VD4
MOVD +0, VD8
MOVD +0, VD12
MOVD +0, MD0
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc321430.html