回复:控制25个脉冲阀如何使用定时器实现?

GunInCloud

  • 帖子

    28
  • 精华

    0
  • 被关注

    1

论坛等级:游士

注册时间:2007-11-11

普通 普通 如何晋级?

发布于 2012-08-19 22:13:04

74楼

不知道楼主做后采用了什么方案。我也过脉冲除尘的程序。可以发段大家讨论下。PS:这段程序已经在正常运行了。
核心思想是做个脉冲阀间歇运行的的子程序(2个定时器的闪烁程序),然后由停止的计时器来记录脉冲次数,用这个次数来驱动相应的脉冲阀。可能所的不明确,我发源文件给你看。驱动10个脉冲阀的,欢迎大家提意见!

主程序:
ORGANIZATION_BLOCK 主程序:OB1
TITLE=程序注释
BEGIN
Network 1 // 除尘器脉冲阀
LD SM0.0
LPS
AW= VW52, 10
MOVW 0, VW52
LPP
A M30.3
+I 1, VW52
Network 2
LD SM0.0
= L60.0
LD M12.0
LD M3.2
A Q0.0
OLD
= L63.7
LD L60.0
CALL SBR2, L63.7, VW4, VW6, M30.2, M30.3
Network 3
LD M30.2
LPS
AW= VW52, 0
= M2.0
LRD
AW= VW52, 1
= M2.1
LRD
AW= VW52, 2
= M2.2
LRD
AW= VW52, 3
= M2.3
LRD
AW= VW52, 4
= M2.4
LRD
AW= VW52, 5
= M2.5
LRD
AW= VW52, 6
= M2.6
LRD
AW= VW52, 7
= M2.7
LRD
AW= VW52, 8
= M3.0
LPP
AW= VW52, 9
= M3.1
Network 4 // 网络标题
// 网络注释
END_ORGANIZATION_BLOCK
SUBROUTINE_BLOCK PULSE:SBR2
TITLE=
VAR_INPUT
start:BOOL;
RuntimeSet:WORD;
StoptimeSet:WORD;
END_VAR
VAR_OUTPUT
run:BOOL;
pulse:BOOL;
END_VAR
BEGIN
Network 1 // 网络标题
// 网络注释
LD SM0.0
LPS
A L0.0
AN T102
TON T101, LW1
LRD
A T101
TON T102, LW3
LRD
A T101
= L5.0
LPP
A T102
= L5.1
END_SUBROUTINE_BLOCK
INTERRUPT_BLOCK INT_0:INT0
TITLE=中断程序注释
BEGIN
Network 1 // 网络标题
// 网络注释
END_INTERRUPT_BLOCK


子程序:
SUBROUTINE_BLOCK PULSE:SBR2
TITLE=
VAR_INPUT
start:BOOL;
RuntimeSet:WORD;
StoptimeSet:WORD;
END_VAR
VAR_OUTPUT
run:BOOL;
pulse:BOOL;
END_VAR
BEGIN
Network 1 // 网络标题
// 网络注释
LD SM0.0
LPS
A L0.0
AN T102
TON T101, LW1
LRD
A T101
TON T102, LW3
LRD
A T101
= L5.0
LPP
A T102
= L5.1
END_SUBROUTINE_BLOCK
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33277条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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