本人刚学S7-200,现在想编一个小程序,
程序目的是:
当I0.0=1,I0.1=0时,每过10分钟,Q0.0~Q1.0中的一个点输出为1,再过10分钟,下个点输出为1,每个输出保持1分钟后断开。
当I0.1=1时,跳过上面的10分钟的周期,Q0.0~Q1.0顺次输出为1,当前一个点输出停止后,下个点输出为1,保持1分钟断开。
问题是:我用仿真软件运行了一下,发现不管是10分钟的周期还是输出保持的1分钟,这个时间都不是按照我设定的时间来定时的。
请问是不是用仿真软件运行就有定时不准的问题?如果下载到PLC上,能否准时运行?
请大侠指教!
谢谢!
程序可能有些小瑕疵,但是还是不影响运行的。
CPU用的是西门子 224。
我用的是T0F+计数器来做的。
程序如下:
TITLE=程序注释
Network 1 // 网络标题
// 网络注释
LD I0.0
AN T37
AN I0.1
TON T37, 600
Network 2
LD T37
AN I0.1
LDB>= VB0, 11
CTU C50, 10
Network 3
LD I0.0
AN I0.1
MOVW C50, VW0
Network 4
LD I0.0
AN I0.1
ITB VW0, VB0
Network 5
LD C50
AN I0.1
LD I0.1
AN T38
OLD
= M0.0
Network 6
LD M0.0
LDB>= VB3, 10
CTU C51, 9
Network 7
LD I0.0
MOVW C51, VW1
Network 8
LD I0.0
ITB VW1, VB3
Network 9
LD M0.0
TOF T38, 600
Network 10
LD I0.0
AN T38
LD I0.1
A T38
OLD
LPS
AB= VB3, 0
= Q0.0
LRD
AB= VB3, 1
= Q0.1
LRD
AB= VB3, 2
= Q0.2
LRD
AB= VB3, 3
= Q0.3
LRD
AB= VB3, 4
= Q0.4
LRD
AB= VB3, 5
= Q0.5
LRD
AB= VB3, 6
= Q0.6
LRD
AB= VB3, 7
= Q0.7
LRD
AB= VB3, 8
= Q1.0
LPP
AB= VB3, 9
= Q1.1