arkadaşlar ben s7 300 plc ye bir program yapmak istiyorum.şöyle ki:1 dakika da bir pulse üretecek ve bir dakika sonunda üretilen bu palsi bir counter in girişine koyacağım.counter 5200 e kadar sayacak ve M0.0 setlenecek.şimdi bildiğim kadarıyla s7 300 de counter 999 a kadar sayıyor.bu programda counter yerine ne kullanabilirim.5200 e kadar sayacak. ve plc kapatıldığında veya elektrik kesildiğinde sayma işlemi kaldığı yerden devam edecek.yardımlarınız için teşekkürler
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
dostum bu programı ben yazsam, pulse için s7 clock cycle i acarım
projeyi yarattıgında hardware e gir orda cpunun ozelliklerine gir, orda sekmelerden birinde clock: mb0 gibi bi ibare goruceksin. onu aktif et..
merker byte 0 ında artık cyclic hareketlerin olucak yani
m0.5 > 1s de bir 1 olucak sonra 0 olucak (0.5 mi 1s idi hatırlamıyorum 0. byte merkerlerine bakıver simulatorde anlarsın)
sonra bunun cıkan kenarını yakala ve bir fb ye bagla, fb de bu input her geldiinde stats da yarattıgın sayıyı +1 yap fb ne bide reset koyarsın olur biter, integer acarsin boylece Scada tarafında counter zorlugu cekmessin
Buyrun bu kodu aynen kullanabilirsiniz. BCD, INTEGER VE PULSE değişkenlerini interface de temp ağacına eklemeyi unutmayın.
Kod:
AN M 0.1
L S5T#2M
SD T 1
NOP 0
NOP 0
LC T 1
T #BCD
A(
L #BCD
BTI
T #INTEGER
SET
SAVE
CLR
A BR
)
A(
L #INTEGER
L 60
>=I
)
= #PULSE
A T 1
= M 0.1
A #PULSE
= M0.3
BLD 103
CALL "CTU" , DB1
CU:=M0.3
R :=M0.2
PV:=5200
Q :=M0.0
CV:=
NOP 0
AN M 0.1
L S5T#2M
SD T 1
LC T 1
T MW 10
L MW 10
BTI
T MW 20
L MW 20
L 60
>=I
= M 0.2
A T 1
= M 0.1
CALL "CTU" , DB1
CU:=M0.2
R :=M0.3
PV:=5200
Q :=M0.0
CV:=