S7-200控制3台水泵优先级启动的程序
最近看到有人编写S7-200控制水泵优先级启动要求水泵等时运行,以保证水泵工作的最大寿命,我自己编了一个程序,大家指点一下(截好了图不会传图片,只能传STL了,想看梯形图的,麻烦复制转换一下):
Network 1 // NETWORK TITLE (single line)
//
// VD0:1#泵运行计时
// VD4:2#泵运行计时
// VD8:3#泵运行计时
//
//
// VD20:运行时间最小值
// VD30:运行时间中间值
// VD40:运行时间最大值
//
// VB50:1#泵运行优先级
// VB51:2#泵运行优先级
// VB52:3#泵运行优先级
//
// M0.1:优先级1的泵运行信号
// M0.2:优先级2的泵运行信号
// M0.3:优先级3的泵运行信号
//
LD SM0.0
AR> VD0, VD4
MOVR VD4, VD12
MOVR VD0, VD16
NOT
MOVR VD0, VD12
MOVR VD4, VD16
Network 2 // NETWORK TITLE (single line)
// VD20:最小值
LD SM0.0
AR> VD12, VD8
MOVR VD8, VD20
NOT
MOVR VD12, VD20
Network 3 // NETWORK TITLE (single line)
// VD40:最大值
LD SM0.0
AR< VD16, VD8
MOVR VD8, VD40
NOT
MOVR VD16, VD40
Network 4
LD SM0.0
LPS
AR<> VD0, VD20
AR<> VD0, VD40
MOVR VD0, VD30
LRD
AR<> VD4, VD20
AR<> VD4, VD40
MOVR VD4, VD30
LPP
AR<> VD8, VD20
AR<> VD8, VD40
MOVR VD8, VD30
Network 5
// 自动信号没有的的时候加对应的优先级要置0
// 此处编程没有要求就未加入。
LD SM0.0
LPS
AR= VD0, VD20
MOVB 1, VB50
LRD
AR= VD0, VD30
MOVB 2, VB50
LPP
AR= VD0, VD40
MOVB 3, VB50
Network 6
// 自动信号没有的的时候加对应的优先级要置0
// 此处编程没有要求就未加入。
LD SM0.0
LPS
AR= VD4, VD20
MOVB 1, VB51
LRD
AR= VD4, VD30
MOVB 2, VB51
LPP
AR= VD4, VD40
MOVB 3, VB51
Network 7
// 自动信号没有的的时候加对应的优先级要置0
// 此处编程没有要求就未加入。
LD SM0.0
LPS
AR= VD8, VD20
MOVB 1, VB52
LRD
AR= VD8, VD30
MOVB 2, VB52
LPP
AR= VD8, VD40
MOVB 3, VB52
Network 8
// M1.1 :1#泵输出运行
// M1.2 :2#泵输出运行
// M1.3 :3#泵输出运行
//
// 备注:需要将泵的故障及停止信号串入各支路
LD SM0.0
A M0.1
LPS
AB= VB50, 1
= M1.1
LRD
AB= VB51, 1
= M1.2
LPP
AB= VB52, 1
= M1.3
Network 9
LD SM0.0
A M0.2
LPS
AB= VB50, 2
= M1.1
LRD
AB= VB51, 2
= M1.2
LPP
AB= VB52, 2
= M1.3
Network 10
LD SM0.0
A M0.3
LPS
AB= VB50, 3
= M1.1
LRD
AB= VB51, 3
= M1.2
LPP
AB= VB52, 3
= M1.3
楼主最近还看过