请大家看看这是什么原因? 点击:270 | 回复:1



西3157

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 21回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2007年11月14日
发表于:2008-06-07 19:30:20
楼主

各位:

   这是一个很简单的程序,就几句,将它编译完成后,在程序状态监控下,我发现vd108和vd112在40.0和2000.0这两个值间来回无规律的跳变,我觉得该是2000.0的,我也没给vd108和vd112值为40啊,他们也不会接触到40这个值,最终导致结果vd116在0.0、1960.0、-1960.0这三个值之间无规律的变动在计算过程中,怎会这样呢?去掉中断就好了,不知道为什么,请明白原因的高手指点一二。

 

BEGIN
Network 1
LD SM0.1
MOVR 40.0, VD100
MOVR 40.0, VD104
Network 2
LD SM0.0
MOVR VD100, VD108
*R 500.0, VD108
MOVR VD104, VD112
*R 500.0, VD112
Network 3 // 调用中断程序
LD SM0.1
MOVB 20, SMB34
ATCH INT0, 10
ENI
END_ORGANIZATION_BLOCK

SUBROUTINE_BLOCK 求差值:SBR1 
Network 1
LD SM0.0
MOVR VD108, VD116
-R        VD112, VD116
END_SUBROUTINE_BLOCK

INTERRUPT_BLOCK

LD SM0.0
CALL 求差值:SBR1




西3157

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 21回
  • 年度积分:0
  • 历史总积分:86
  • 注册:2007年11月14日
发表于:2008-06-08 08:53:04
1楼
那位大侠知道啊?老菜鸟呢?

热门招聘
相关主题

官方公众号

智造工程师