发表于:2004/5/27 8:58:00
#0楼
思路:一个系统中有几套电磁阀的拍打系统,共计接近200个,各个拍打系统需作轮翻的拍打。不想用太多的计时器,所以用一计数器作拍打时间的计数,根据计数器的值将输出点移进指针寄存器再进行拍打。
问题:当只进行一套拍打系统的拍打时,上述思路通过;但当进行二套拍打系统的拍打时(不同步,相对独立),第二套拍打系统正常,但第一套经常出现误操作,就是有些乱,而且有时是两个电磁阀一齐动作。
疑问:观察两个地址寄存器,没有变化;观察四个累加寄存器,只有第二个有变化,不得其解。
程序:
FC1(第一套拍打系统程序)
......
A T0 (TO为一个可设定时间的脉冲计时器)
CU C0
L C0
T MW0
............
L MW0
JL LIST
JU SEG0
JU SEG1
JU SEG2
......
JU SEG9
LIST:JU COMM
SEG0:L P#0.0
T MD200
JU COMM
.................
SEG9:L P#1.1
T MD200
SET
SAVE
CLR
A BR
R C0
JU COMM
COMM:A T0
L S5T#1S
SE T1
A T1
=Q[MD200]
FC2:(第二套拍打系统程序)
基本与FC1相同,但指针改为MD204,当然计时器,计数器等已经改变。
问题:当只进行一套拍打系统的拍打时,上述思路通过;但当进行二套拍打系统的拍打时(不同步,相对独立),第二套拍打系统正常,但第一套经常出现误操作,就是有些乱,而且有时是两个电磁阀一齐动作。
疑问:观察两个地址寄存器,没有变化;观察四个累加寄存器,只有第二个有变化,不得其解。
程序:
FC1(第一套拍打系统程序)
......
A T0 (TO为一个可设定时间的脉冲计时器)
CU C0
L C0
T MW0
............
L MW0
JL LIST
JU SEG0
JU SEG1
JU SEG2
......
JU SEG9
LIST:JU COMM
SEG0:L P#0.0
T MD200
JU COMM
.................
SEG9:L P#1.1
T MD200
SET
SAVE
CLR
A BR
R C0
JU COMM
COMM:A T0
L S5T#1S
SE T1
A T1
=Q[MD200]
FC2:(第二套拍打系统程序)
基本与FC1相同,但指针改为MD204,当然计时器,计数器等已经改变。
[此贴子已经被作者于2004-5-27 8:59:00编辑过]