s7 300 de plc nin saatiyle set edilen saati karşılaştırmak

sina-n

Üye
Katılım
20 Haz 2008
Mesajlar
221
Puanları
1
Yaş
38
arkadaşlar size konuyu şöyle anlatayım yapmak istediğim yazdığım programın saat sabah 9 ile akşam 10 arasında calışması;
şimdi ben şöyle bir çözüm geliştirdim stdandart foksiyonlardan sfc1 ile sistemin saatini okutup bunu iec standartlarında fc2(bi çeşit zaman comparator) ile benim belirlediğim zamanı karşılaştırarak bunun sonunda bir hafıza alanının setlemek istedim ama surda sıkıştım ;
sfc1 cıkısı ıkı tane bırı hata cıkısı dıgerı bılgıyı katdedecegı yer (bu ıkı cıkıs bılgısınden tam emın degılım ) işte bu cıkısı kayıt edeceği yeri DATE AND TİME formatında istiyor bende bir db içine böle bi alan ayarladım ama nedense bir türlü kabul etmiyo yardımlarınıza gercekten ihtiyacım var ????????
 
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.
yaptığın programı bizimle paylaşıp ve daha çok ayrıntı verebilirsen sana yardımcı olabiliriz sanıyorum.

Sevgiler Saygılar.
 
size şöyle anlatayım ben bir metro otomsyonu yapmaya çalışıyorum ve sabah açılaçak ve akşam kendini kapatacak komutlara ihtiyacım var ben araştırdum ve sadece bunları bula bildim ve s7 300 kullanacağıım 312c

istiyorum ki yazdığım bütün programı sabah belirdiğim bir saat te çalıştırmaya başlasın akşamda yine belirlediğim bir saatte kapat sın hepsi buu biraz önce kendi yapmaya calıştığım için karışık gözüktü birde tam olark ne yapmam gerktıgını bılmedıgım ıcın beklı tam aradıgınız seylerı soyleyemem sıze eger sorarsanız tam cevap ver me sansım olcak yardımınız ıcın tesekkur ederım sımdıden
 
Moderatör tarafında düzenlendi:
Sanıyorum işinize yarayacak bir iki resim ekliyorum. Halen bizim sistemlerimizde otomatik olarak çalışan bazı prosesler var bu proseslerin burada anlatımı gerçekten zor ama, yapmak istediğin işi yapan network parçacıklarını bir incele bakalım daha sonra görüşürüz. FB blok oluşturarak blok içerisinde statik olarak tarih saat oluşturman birde OB1 den alınacak şekilde yine tarih saat formatında olan input oluşturacaksın. sonrada bunları yeni yapmış olduğun fb içerisine siemens in std_library içerisinden fc23 LT_DT IEC bloğu ile karşılaştırarak yapabilirsin.

Takıldığın başka bir problemde karşılaşmak üzere.

Sevgiler Saygılar.
 

Ekli dosyalar

  • auto_time_1.JPG
    auto_time_1.JPG
    23.3 KB · Görüntüleme: 387
  • auto_time.jpg
    auto_time.jpg
    90.5 KB · Görüntüleme: 350
  • auto_time_2.JPG
    auto_time_2.JPG
    62.9 KB · Görüntüleme: 290
öncelikle siteyi değerli insanların yönettiğini bilmek güzel ve tabiki uzun süredir almadığım bir yardımı aldım tekrardan saolun gondermiş olduğunuz resimler ve önerileriniz bir çok problemimi aydınlattı yinede size sormak istediğim birkaç şey var şu resimler içerisinde dikkatimi çekti benim programımda da tamemen nereden geldiğini anlamadığım bir ifade #OB1_DATE_TİME ne anlama gelmek tedir ????

ve bir soru daha illa bu sistem saatini okuma işini bir fb içinde mi yapmalıyız ben direk ob1 içerisinde gerçekleştirmek istesem olmaz mı ???

aşağıda resmini gönderdiğim sfc1 çıkışı cdt ye ben neden bir data blok içerisinde tanımladığım date and time tipi bir alan yazamıyorum bu yalnış bir yol mu????

yardımlarınızı dört gözle bekliyorum .....
 

Ekli dosyalar

  • Adsız.jpg
    Adsız.jpg
    25.4 KB · Görüntüleme: 222
öncelikle siteyi değerli insanların yönettiğini bilmek güzel ve tabiki uzun süredir almadığım bir yardımı aldım tekrardan saolun gondermiş olduğunuz resimler ve önerileriniz bir çok problemimi aydınlattı yinede size sormak istediğim birkaç şey var şu resimler içerisinde dikkatimi çekti benim programımda da tamemen nereden geldiğini anlamadığım bir ifade #OB1_DATE_TİME ne anlama gelmek tedir ????

ve bir soru daha illa bu sistem saatini okuma işini bir fb içinde mi yapmalıyız ben direk ob1 içerisinde gerçekleştirmek istesem olmaz mı ???

aşağıda resmini gönderdiğim sfc1 çıkışı cdt ye ben neden bir data blok içerisinde tanımladığım date and time tipi bir alan yazamıyorum bu yalnış bir yol mu????

yardımlarınızı dört gözle bekliyorum .....

Yorumlarınız için teşekkür ederiz. Bu forumun amacı kesinlikle ve kesinlikle mesleki olarak yardımlaşmaktır.

En önemlisi "#OB1_DATE_TİME" flaği sadece OB1 tarafından üretilen bir datadır ve direkt olarak değiştirilemez. değiştirmek için library den uygun bir SFC ile yapılabilir. benim yollamış olduğum resimlere dikkatlice bakacak olursanız. FB ye OB1 den input olarak tarih ve saati input olarak verdim. "iCurTime" girişine "#OB1_DATE_TİME" yi bağlayarak FB nin içine CPU zamanını alıyoruz. Sonrasında FB nin içinde tanımlamış olduğum "sSetTime" ı karşılaştırmak suretiyle fonksiyondan çıkış alıyorum(tTimeNow). Eğer set edilen zaman cpu saatine eşit yada büyükse fonksiyonun çıkışı lojik 1 olur. buna göre yapacak olduğun diğer uygulamaların akışını ve mantığını sizin kurmanız gerekiyor.

Bu işlemleri bir FB ile fonksiyon blok kullanırsan değişik değiş uygulamalarda sadece kullanmak için sadece ekstradan bir DB ile işi çözebilirsin. Bu bir programlama tekniğidir. Ben genelde bu yöntemi daha çok tercih ederim.
 
Son düzenleme:
tossun 2008 hocam yardımlarınız için teşekkurlerimi sunarım ve ilerde tekrar yardıma ihtiyacım olursam size tekrar ulaşırım bir şekilde tekrar saolun;)

bu arada boynuz kulagı gecer kı rahat bir şekilde kulağı koruya bilsin koruya bılsın :):):)
 
benimde böyle bir sorunum vardı fakat ben sizin yönteminizle değilde zamanlayıcı ve karşılaştırma operatörlerini kullanarak halletmeye çalıştım ve işede yaradı.benim sorum şu sizin yönteminizle benim ki arasında ne gibi farklar var?
plc'yi yeni öğreniyorum kusura bakmayın.cevaplarınız ve paylaşımlarınız için şimdiden çok teşekkürler.
 
Son düzenleme:
tam olarak ne dediğini anlayamadım ama bizim bahsettiğimiz plc nın bu iş için bize vermiş özel fonksiyonların kullanımı hakkında senın kı ıse bunu yapmanın bır yolu o kadar

sen plc içinde karşılaştırıcı ve sayıcılarla zamanlıyıcı oluşturdun ve nbunu istediğin zaman olarak aldın heralde ama bizim bahsettiğimiz çok daha farklı biz;
bir fonk düşün (bu yazdıklarım sadece gozunde canlandırman ıcın ) bu fonsıyonun iki gırısı var senden iki saat değeri girmeni istiyor VE bu girdiğin değerler arasında plc nin çalışmasını yanı senın içine programlama yaparak yazdığın programı çalıştırıyor ok

umarım anlamıssındır ....
 
aslında bir fonksiyon olarak değilde bir karşılaştırıcı olarak düşün. ob1. in tarih saatiyle senin oluşturduğun tarih saati karşılaştırdığında o zaman sistem isterse; istenen saatte, istenen saate kadar yada istenen saatten sonra çalıştırmak için programlayabilirsiniz.
 

Forum istatistikleri

Konular
129,689
Mesajlar
929,033
Kullanıcılar
452,393
Son üye
teomann

Yeni konular

Geri
Üst