高速计数器的问题

我编了一个监控的项目,需要采集温度和静压,两个程序都有中断程序,单个运行正常,合在一起,只一个工作,温度用了一个采集模块和PLC端口0相连,静压用了PLC内部的高速计数器,静压程序不用中断,怎样读出静压采集值,有高手,请赐教,我的邮箱为:xzghl518@126.com,
静压程序如下:
LD     SM0.1
CALL   风压初始化:SBR0

LD     SM0.0
CALL   风压:SBR1

风压初始化:
LD     SM0.0
MOVB   16#FC, SMB37
HDEF   0, 0
MOVD   +0, SMD38
MOVD   16#FFFF, SMD42
MOVB   250, SMB34
ATCH   风压中断:INT0, 10
ENI
HSC    0

风压:
LD     SM0.0
MOVR   VD3504, VD3508
AENO
*R     3.798, VD3508
AENO
MOVR   VD3508, VD3512
-R     -75.0, VD3512

风压中断:
LD     SM0.0
LPS
MOVD   HC0, VD3500
AENO
DTR    VD3500, VD3504
LRD
INCB   VB5010
LRD
MOVD   +0, SMD38
LPP
HSC    0

最佳答案

从你附随的程序中没有看到和温度采样相关的内容。我猜想你的程序中两个定时中断可能发生冲突。如果条件允许,可以将温度采样和高速计数器读取放在同一个中断程序中。如果条件不允许,也可以采用2个定时中断,分别处理。只要中断事件不发生冲突,CPU会按优先级给中断事件排队;只要高级中断不是“特别频繁”地发生,保证所有请求都能得到运行。
 中断的使用、指令时序的安排和子程序的分配调用是程序编写过程中变化最多且是最精彩的部分。

提问者对于答案的评价:
解决了,我用定时器读高速的数值,没用中断程序,谢谢

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc359824.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午11:11
下一篇 2021年7月5日 上午11:11

相关推荐

发表回复

登录后才能评论