我编了一个监控的项目,需要采集温度和静压,两个程序都有中断程序,单个运行正常,合在一起,只一个工作,温度用了一个采集模块和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