samstrong
Üye
Merhaba arkadaşlar. buradaki programı aynı şekilde yazarsanız elde edeceğiniz blok girişinde start ve reset olacak. start gelince ekrana (panel, wincc) atayabileceğiniz saat:dakika:saniye elde edersiniz. çalışıyor. start gidince veya reset yapılınca dğer sıfırlanıyor. isteyene zamanı toplayan bir blokta yazabilirim. bol şanslar. devamı gelecek.
Kod:
[B]IN[/B]
START Bool 0.0 FALSE BOOL
RESET Bool 0.1 FALSE BOOL
[B]OUT[/B]
SAAT DInt 2.0 L#0 DINT
DAKIKA DInt 6.0 L#0 DINT
SANIYE DInt 10.0 L#0 DINT
[B]STAT[/B]
SN_OK Bool 14.0 FALSE BOOL
SN_P Bool 14.1 FALSE BOOL
DAKIKA_OK Bool 14.2 FALSE BOOL
SAAT_OK Bool 14.3 FALSE BOOL
DK_SAY Int 16.0 0 INT
DAKIKA_SET DInt 18.0 [B]L#60[/B] DINT
DK_P Bool 22.0 FALSE BOOL
SAAT_SAY Int 24.0 0 INT
SAAT_SET DInt 26.0 [B]L#24[/B] DINT
SAYICI DInt 30.0 L#0 DINT
BOLUM DInt 34.0 [B]L#1000[/B] DINT
SANIYE_SET DInt 38.0 [B]L#60[/B] DINT
SAYICI_BLOK CTU 42.0 CTU
TON_1 TON 52.0 TON
TIMER_DEGERI Time 74.0 T#0MS TIME
PRE_SAVE DWord 78.0 DW#16#0 DWORD
CTU_2 CTU 82.0 CTU
GENEL_1 Bool 92.0 TRUE BOOL
PRE_SAVE_O DInt 94.0 L#0 DINT
[B]Block: FB12[/B]
[B]Network: 1[/B]
A #START #START -- BOOL
= L 0.0
BLD 103
A #GENEL_1 #GENEL_1 -- BOOL
JNB _001
CALL #TON_1 #TON_1 -- TON
IN:=L0.0
PT:=T#23D
Q :=
ET:=#TIMER_DEGERI #TIMER_DEGERI -- TIME
_001: NOP 0
[B]Network: 2[/B]
AN #START #START -- BOOL
= L 0.0
A L 0.0
JNB _002
L 0
T #DAKIKA #DAKIKA -- DINT
_002: NOP 0
A L 0.0
JNB _003
L 0
T #SAAT #SAAT -- DINT
_003: NOP 0
A L 0.0
JNB _004
L 0
T #SANIYE #SANIYE -- DINT
_004: NOP 0
A L 0.0
JNB _005
L L#0
T #SAYICI #SAYICI -- DINT
_005: NOP 0
[B]Network: 3[/B]
L #TIMER_DEGERI //current #TIMER_DEGERI -- TIME
L 0
==D
JC pre // if not running
TAK
L #SAYICI //total #SAYICI -- DINT
+D
L #PRE_SAVE //previously saved #PRE_SAVE -- DWORD
-D
T #SAYICI #SAYICI -- DINT
NOP 0
L #TIMER_DEGERI #TIMER_DEGERI -- TIME
T #PRE_SAVE #PRE_SAVE -- DWORD
JU ende
pre: NOP 0
L 0
T #PRE_SAVE #PRE_SAVE -- DWORD
ende: NOP 0
[B]Network: 4[/B]
A #SN_OK #SN_OK -- BOOL
FP #SN_P #SN_P -- BOOL
= L 0.0
BLD 103
A(
O #DAKIKA_OK #DAKIKA_OK -- BOOL
O #RESET #RESET -- BOOL
O #SAAT_OK #SAAT_OK -- BOOL
)
= L 0.1
BLD 103
A #GENEL_1 #GENEL_1 -- BOOL
JNB _006
CALL #CTU_2 #CTU_2 -- CTU
CU:=L0.0
R :=L0.1
PV:=
Q :=
CV:=#DK_SAY #DK_SAY -- INT
_006: NOP 0
Page 3 of 4
[B]Network: 5[/B]
[B]Network: 6[/B]
A #START #START -- BOOL
JNB _007
L #DK_SAY #DK_SAY -- INT
T #DAKIKA #DAKIKA -- DINT
_007: NOP 0
Network: 7
L #DAKIKA #DAKIKA -- DINT
L #DAKIKA_SET #DAKIKA_SET -- DINT
==D
= #DAKIKA_OK #DAKIKA_OK -- BOOL
[B]Network: 8[/B]
A #DAKIKA_OK #DAKIKA_OK -- BOOL
FP #DK_P #DK_P -- BOOL
= L 0.0
BLD 103
A(
O #SAAT_OK #SAAT_OK -- BOOL
O #RESET #RESET -- BOOL
)
= L 0.1
BLD 103
A #GENEL_1 #GENEL_1 -- BOOL
JNB _008
CALL #SAYICI_BLOK #SAYICI_BLOK -- CTU
CU:=L0.0
R :=L0.1
PV:=
Q :=
CV:=#SAAT_SAY #SAAT_SAY -- INT
_008: NOP 0
[B]Network: 9[/B]
A #START #START -- BOOL
JNB _009
L #SAAT_SAY #SAAT_SAY -- INT
T #SAAT #SAAT -- DINT
_009: NOP 0
[B]Network: 10[/B]
L #SAAT #SAAT -- DINT
L #SAAT_SET #SAAT_SET -- DINT
==D
= #SAAT_OK #SAAT_OK -- BOOL
Network: 11
A #START #START -- BOOL
JNB _00a
L #SAYICI #SAYICI -- DINT
L #BOLUM #BOLUM -- DINT
/D
T #SANIYE #SANIYE -- DINT
_00a: NOP 0
Moderatör tarafında düzenlendi: