回复:请问PLC编程中,如何实现同一功能的重复延时实现?

hezk

  • 帖子

    371
  • 精华

    2
  • 被关注

    28

论坛等级:侠士

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2013-04-03 17:22:29

29楼

quote:以下是引用翼飞凌在2013-04-03 11:31:03的发言:
楼主的问题就是避免这样重复写程序,标题和帖子写的很清楚。

那输出改为寻址输出,程序如下

TITLE=程序注释
Network 1
LD M0.0
EU
O M2.0
O T38
AN T37
AN M0.1
= M2.0
Network 2
LD M2.0
TON T37, +90
Network 3
LD T37
O M1.1
AN T38
= M1.1
Network 4
LD M1.1
TON T38, +30
Network 5
LD M0.0
EU
S M0.2, 1
Network 6
LD M0.2
TON T39, +30
Network 7
LD T39
R M0.2, 1
Network 8
LD T39
O M2.1
O T41
AN T40
AN M0.1
= M2.1
Network 9
LD M2.1
TON T40, +60
Network 10
LD T40
O M1.2
AN T41
= M1.2
Network 11
LD M1.2
TON T41, +60
Network 12
LD M2.0
EU
LD M1.3
O M0.1
CTU C0, +999
Network 13
LD M0.1
MOVD +0, QD0
AENO
MOVW +0, QW4
Network 14
LD SM0.0
MOVW C0, VW8
AENO
-I +1, VW8
AENO
MOVW VW8, VW202
AENO
DIV +4, VD200
AENO
A M2.0
EU
AW= VW200, +0
LPS
AW<> C0, +1
INCD VD100
LPP
AW= C0, +1
MOVD &QB0, VD100
Network 15
LDN M3.0
LPS
MOVB 1, VB0
AENO
MOVB 2, VB1
AENO
MOVW VW200, VW206
AENO
MUL +2, VD204
AENO
RLB VB0, VB207
AENO
RLB VB1, VB207
LRD
A M2.0
LPS
EU
MOVB VB0, VB2
LPP
ED
MOVB 0, VB2
AW= C0, +22
= M1.3
LPP
LPS
A M2.1
LPS
EU
MOVB VB1, VB3
LPP
ED
MOVB 0, VB3
LPP
MOVB VB2, *VD100
ORB VB3, *VD100

输出以QB为基础,通过给QB赋不同的值确定输出的位。
4个脉冲就需要换一个QB,所以网络14寻址输出的地址,在QB0到QB5之间循环
网络15进行输出,在一个QB内,对输出进行左移,第一个脉冲输出2#11,第二个脉冲输出2#1100,第三个脉冲输出2#110000,第四个脉冲输出2#11000000,第五个脉冲更换输出地址后重复以上步骤。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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