回复:用最简单方法完成这道编程题

月夜水明楼

  • 帖子

    402
  • 精华

    3
  • 被关注

    2

论坛等级:侠客

注册时间:2004-11-18

普通 普通 如何晋级?

发布于 2006-01-10 14:50:11

0楼

七组阀,每个阀为双线圈,因而最多能同时工作的线圈个数为7个
I0.0-I0.7;I2.0-I2.7为阀的开关,I1.0-I1.7;I3.0-I3.7为返回信号
Q4.0-Q4.7;Q6.0-Q6.7对应十四个线圈
Q5.0-Q5.7;Q7.0-Q7.7对应十四个报警信号
DB1.DBX0.0为报警复归信号

可做如下类似控制(只做了三组,其它相同):

//OB1 "Main Program Sweep (Cycle)"
A(
O I 0.0
O Q 0.0
)
AN I 0.1
= Q 4.0


A(
O I 0.1
O Q 0.1
)
AN I 0.0
= Q 4.1


A(
O I 0.2
O Q 0.2
)
AN I 0.3
= Q 4.2


A(
O I 0.3
O Q 0.3
)
AN I 0.2
= Q 4.3


A(
A Q 4.0
AN I 1.0
O
A Q 4.1
AN I 1.1
O
A Q 4.2
AN I 1.2
O
A Q 4.3
AN I 1.3
)
FP M 20.0
S M 10.0



A M 10.0
JNB M001
CALL SFC 32
OB_NR :=20
DTIME :=T#3S
SIGN :=MW0
RET_VAL:=MW2
M001: A BR
R M 10.0


A DB1.DBX 0.0
FP M 20.2
S M 10.2



A M 10.2
JNB M002
CALL SFC 32
OB_NR :=20
DTIME :=T#1MS
SIGN :=MW30
RET_VAL:=MW32
M002: A BR
R M 10.2


A(
O I 1.0
O I 1.1
O I 1.2
O I 1.3
)
FP M 20.1
S M 10.1



A M 10.1
JNB M003
CALL SFC 33
OB_NR :=20
RET_VAL:=MW4
M003: A BR
R M 10.1


CALL SFC 34
OB_NR :=20
RET_VAL:=MW6
STATUS :=MW8
NOP 0

//OB20 "Time Delay Interrupt"

SET
= Q 5.0
= Q 5.1
= Q 5.2
= Q 5.3


A DB1.DBX 0.0
R Q 5.0
R Q 5.1
R Q 5.2
R Q 5.3
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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