编程问题求教

已锁定

LJ8653

  • 帖子

    92
  • 精华

    0
  • 被关注

    4

论坛等级:游士

注册时间:2009-08-25

普通 普通 如何晋级?

编程问题求教

730

4

2013-01-29 19:15:50

最近做了一个时间处理的FB块,就是设定时间启动后能自动输出剩余时间,下载到313-5BG04后,运行出现问题,刚开始运行后时间一直不递减,后把上升沿检测的临时变量从TEMP中全换到STAT中后,程序能运行,但并没有按预计的每秒减一,而是每秒减1很多次,不知问题出在哪里,程序如下:已经设定时钟存储位MB0



A #TURE //常闭点
A #IN_START //启动信号
= L 1.0
A L 1.0
JNB _001
L #IN_TIME_MIN //设定值 分钟
T #STAT_1
_001: NOP 0
A L 1.0
JNB _002
L #STAT_2
T #STAT_3
_002: NOP 0
A L 1.0
FP #STAT3
JNB _003
L #IN_TIME_MIN
T #STAT_2
_003: NOP 0
A L 1.0
A(
L #STAT_1
L #STAT_3
<>I
)
JNB _004
L #STAT_1
T #STAT_2
SET
SAVE
CLR
_004: A BR
= #TIME_CHANGE //检测设定值有无修改



A #TURE
= L 1.0
A(
A L 1.0
JNB _005
L #STAT_2
T #STAT_4
SET
SAVE
CLR
_005: A BR
)
JNB _006
L #STAT_4
L L#60
*D
T #STAT_5 //计算出设定秒数
_006: NOP 0
A L 1.0
A #IN_START
FP #STAT1
JNB _007
L #STAT_5
T #STAT_6 //启动时将设定值存入STAT_6
_007: NOP 0
A L 1.0
A #TIME_CHANGE
FP #STAT2
JNB _008
L #STAT_5
T #STAT_6 //设定值修改后将设定值存入STAT_6
_008: NOP 0
A L 1.0
A #IN_START
= L 1.1
A L 1.1
A(
L #STAT_6
L L#0
<>D
)
A M 0.5
FP #STAT4
JNB _009
L #STAT_6
L L#1
-D
T #STAT_6 //这边应该是每秒减一的 实际并非如此 求原因
_009: NOP 0
A(
A(
A(
A L 1.1
JNB _00a
L #STAT_6
L L#60
MOD
T #STAT_7
AN OV
SAVE
CLR
_00a: A BR
)
JNB _00b
L #STAT_6
DTR
T #STAT_8
SET
SAVE
CLR
_00b: A BR
)
JNB _00c
L #STAT_8
L 6.000000e+001
/R
T #STAT_9
AN OV
SAVE
CLR
_00c: A BR
)
JNB _00d
L #STAT_9
TRUNC
T #STAT_10
_00d: NOP 0
A(
A L 1.1
JNB _00e
L #STAT_10
DTR
T #OUT_MIN
SET
SAVE
CLR
_00e: A BR
)
JNB _00f
L #STAT_7
DTR
T #OUT_SEC
_00f: NOP 0
A L 1.1
A(
L #STAT_6
L L#0
==D
)
= #OUT_DONE
编程问题求教 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54776条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。