WinCC Flexible timer hk

ladre71

Üye
Katılım
11 Şub 2009
Mesajlar
29
Puanları
1
Merhaba Arkadaslar;
Benim bir konuda tercrubelerinize ihtiyacim var.WinCC flexible ile programlayacagim panelden herhangi bir timerin TV degerini degistirmek istiyorum.panelde 'saat-dakika-saniye'olacak sekilde setleyebilmek icin neler yapmam gerekli.Bana yapılmıs bi ornek gonderebılırsenız cok sevınırım.
 
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.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
Simotion Scout ta linkteki komutları yazarak Wincc Flex te 'time' olarak girdiginiz degiskeni(ekranda saat:dakika:sn formatında) 'timer pt' zaman set degeri olarak kullanabilirsin. Simatic managerda da aynı komutların oldugunu dusunuyorm . kolay gelsin
 
aynı sekilde timer degeri de tersi komutlarla ekrana gonderiliyor
 
Son düzenleme:
merhaba;
saat dak san gireceksen işin zor ama imkansız degil.
panelden time olarak girer programda s5 time çevirip bilgiyi işlersin.
gerçek zaman saatini kullanır karşılaştırma ile işlem yaparsın..........
mesajı yazalı baya zaman olmuş sorunu bir şekilde çözmüşsündür sanırım.
yinede çözemeyenlere ilham versin diye yazdım.
 
Arkadaslar hepınıze cok tesekkur ederım.sorunu cozdum.FC 12(DATE_ANT_TIME)Kullanarak.gercek zamanla, data blokta blogunda olusturdugum zamanı karsılastırdım.
 
Herkese selamlar;
Benim sorunum şöyle;
Makinanın 1 çevrimi için geçen süreyi hesaplamam gerek.
Aslında s_pext timer kullanarak bişeyler yaptım ama verim alamadım. timerin kontağına çevrim_ok kontağını bağladım. çevrim başladığında timer sayıyor,bitince resetleniyor. tv değerinden, BI değerini çıkarınca farkı buldum ve db'ye yazdırdım. Panelden farkısürekli görüyorum. Ben en son fark ne ise sabit olarak görmek istiyorum. Örneğin fark 30 s. ise diğer çevrime kadar ekranda kalmıyor. çevrim başladığı zamanda tekrar panelde baştan sayıyor.
yadımlarınızı bekliyorum
 
Merhaba,
anladığım kadarıyla aldığınız farkı her çevrimde (CPU çevrimi) aynı DB adresine yazıyorsunuz. Yapmanız gereken yükselen veya düşen kenar kullanarak makine çevriminin sonunda bu farkı almanız ve ilgili adrese yazmanızdır.
Ayrıca timer kullanarak makinenizin çevrim süresini doğru olarak hesaplayamazsınız. Gerçek süreyi bulabilmek için kesme OB lerini kullanmanız gerekir.
 
oozkeser bilgi için sağol.
sfc1 kullandım plc saatini okudum. bir sfc1 daha kullandım, önüne çevrim_ok kontağını bağladım. sonra FC34 ile iki SFC1 sonucunun farkını aldım. Ama gene olmadı. :(
kesme OB si kullanmadım hiç. Biraz daha detay vermeniz, hatta örnek verebilirseniz sevinirim. Bende bu arada kesme OB konusunu araştıracağım. Cevap bekliyorum.
Teşekkürler
 
Bu arada makinanın çevrim süresini değil makinada yapılan bir işin, örneğin a-b-c sıvıları dolduruyor olsun.a sıvısı için " ne kadar zamanda dolum yapılıyor" bu zamanı ölçmek istiyorum. Dolum işi bitince bit çıkışı alıyorum.
 
Gerçek zaman saatini kullanıyorsan sorun yok. Yapman gereken işlem ana hatları ile şunlardır;
A işinin başladığını bildiren bir bitin yükselen/alçan kenarını kullanarak sfc1 den zamanı DB ye yada M ye kaydet, yani hafızaya al.
A işinin bittiğini bildiren bir bitin yükselen/alçan kenarını kullanarak sfc1 den zamanı başka bir DB ye yada M ye kaydet, yani hafızaya al.
Elde ettiğin iki değerin farkını aldığında A sürecinin zamanını bulmuş olursun.
Yükselen/düşen kenar kullanman bu işte olmazsa olmaz. Eğer kullanmazsan CPU her çevrimde son okuduğu zaman değerini söz konusu adrese yazar.
 

Forum istatistikleri

Konular
129,664
Mesajlar
928,872
Kullanıcılar
452,354
Son üye
brkcmn

Yeni konular

Çevrimiçi üyeler

Geri
Üst