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

老兵veteran

  • 帖子

    9989
  • 精华

    505
  • 被关注

    573

论坛等级:至圣

注册时间:2004-03-11

钻石 钻石 如何晋级?

发布于 2006-01-16 10:40:09

0楼

编写FB1如下:
FUNCTION_BLOCK FB1
TITLE=
VERSION:0.1
VAR_INPUT
VALVE:BOOL
AS :BOOL
TIME_SCAN:INT
END_VAR
VAR_OUTPUT
ALARM:BOOL
END_VAR
VAR
TIME_INT:INT
END_VAR
BEGIN
NETWORK
TITLE=
A #VALVE;
AN #AS;
JC M001;
CLR;
= #ALARM;
L 0;
T #TIME_INT;
JU END;
M001: L #TIME_INT;
L 4000;
>=I
JC M002;
L #TIME_SCAN;
L #TIME_INT;
+I;
T #TIME_INT;
JU END;
M002:SET;
= #ALARM;
END: NOP 0;
END_FUNCTION_BLOCK

然后在OB1中编程:
 CALL FB1, DB1
VALVE:=对应电磁阀1的输出地址,例如Q0.0
AS :=对应电磁阀1的接近开关的输入地址,例如I0.0
TIME_SCAN:= #OB1_PREV_CYCLE
ALARM:= 对应电磁阀的报警信号输出地址例如Q2.0
.
.
.
CALL FB1,DB14
VALVE:=对应电磁阀14的输出地址,例如Q1.5
AS :=对应电磁阀14的接近开关的输入地址,例如I1.5
TIME_SCAN:= #OB1_PREV_CYCLE
ALARM:= 对应电磁阀的报警信号输出地址例如Q3.5
天生不宜做胜利者,自来没有胜利的欲望,只是不甘失败,十分十分不甘心失败。木心
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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