PLC S7 de Asansör projesi.

Başlatan mr.selim, 10 Aralık 2016, 23:51:49

mr.selim

Alıntı yapılan: Melih1802 - 12 Aralık 2016, 11:33:57
Akşam bir kontrol gerçekleştiririm. Aynı anda birkaç iş yapınca atlayabiliyorum.

Hocam siz ne zaman müsait olursanız o zaman devam edebiliriz hiç sıkıntı değil.

Melih1802

Dün yaptıklarımı kaydetmeden kapatmışım, bu sebeple yeniden yazdım. Yarın satırları tek tek inceler komutları açarız.


mr.selim

Alıntı yapılan: Melih1802 - 12 Aralık 2016, 23:56:01
Dün yaptıklarımı kaydetmeden kapatmışım, bu sebeple yeniden yazdım. Yarın satırları tek tek inceler komutları açarız.


Tamamdır hocam yarını beklemeye çekiliyorum o zaman.

mr.selim


Melih1802

Yaptığımız PLC programı ve Fonksiyonlar için bazı açıklamalar yapma gereği duyuyorum.

- PLC üzerinde OCTAL düzende bir dizayn vardır, bu İşlemcilerin iç yapısından kaynaklanmaktadır, bu sebeple PLC üzerindeki Fiziksel girişleri kullanırken X0,X1,X2,X3,X4,X5,X6,X7, ve ardından X20,X21,X22 gibi devam etmesi bu sebepledir. X10,X11,X12,X13,X14,X15,X16,X17 girşler ve aynı zamanda çıkışlar geniş PLC giriş çıkışı sağlayan ürünlerin üzerinde REZERVE olduğundan kullandığımız DVP-14SS2 modelinde X0-X7 olup X10-X17 arası bulunmamaktadır. Bazı PLC model ve Markalarında bu Adlandırma farklı olabilir.

- DELTA PLC üzerinde Digital giriş ve çıkışlar X ve Y olarak adlandırılmaktadır.

Kısa hatırlatmadan sonra Programın buraya kadar kullanmış olduğum Fonksiyonlarına bir bakma gereği hissettim.

M1000 bu fonksiyon özel bir Memory bit i dir. M1000 komutundaki M eklentisi anlaşıldığı üzere Memory nin M si anlamındadır. Bu bit PLC ilk enerjilendiğinde Yazılı programın Bir çevrim süresinde AKTİF kalır ve ilk açılış anında yapılması gerek bir düzenleme varsa bu BİT i kullanarak yaparız. Burada M1000 biti PLC ilk enerjilendiğinde 3. kata otomatik çıkması için kullanılmıştır. Kullandığımız DVP-14SS2 modelinde M0-M999 arası kullanıcıya ayrılmış M1000 ve daha üstü Özel bitler olarak ayrılmıştır.

DVP-14SS2 Modelinde X0-X7 giriş Y0-Y5 arası çıkış CPU üzerinde yer almaktadır. Bu giriş ve çıkışlar yetmediğinde EK modül takarak genişletebilir ve program yazarken artık Girişler X20-X27 Çıkışlar Y20-Y27 arasında olacaktır.

SET Bu fonksiyon Elektronikteki SET RESET kapısı gibi iş görmektedir. SET fonksiyonu ardından gelecek bir konutu RESET gelinceye kadar AKTİF tutar.

Şimdi yazdığımız komutları satır satır inceleyelim.

1. Satır: Bahsettiğimiz gibi özel bit olan M1000 bitini kullanarak istendiği gibi sistem ilk enerjilendiğinde asansörü 3. Kat a çıkarmak için M0 bitini SET ettik,

2. Satır: İlk enerjilenmede asansörün 3. kata çıkması için Güvenlik gereği tüm kat kapılarının kapalı olması gerektiğinden tüm katlar için KAPI KAPALI kontrolü yapılmakta, tüm kapılar kapalıysa M1 bit i AKTİF olacaktır. Artık M1 bitini her kullandığımız yerde tek bir komutla tüm kapıların kapalı olup olmadığını Fiziksel bir çıkış kullanmadan kontrol etmiş olacağız.

3. Satır: Burada Asansörü 3. kat a çıkartacağız, bunun için gerekli şartları görelim;
M0-ilk enerji alındı,
M1- Tüm kapılar kapalı,
X0- Asansör 3. Kat ta değil,
X4-X5- Kabin Alt ve Üst limit Switch leri basılı değil. Burada Kabin çalışma sınırı içinde kontrolü yapıldı.

4. Satır: Bu satırı daha sonra açıklayacağım.

5. Satır: X0 burada kullandığımız X0 O.C yani açık kontak. İlk enerjilenmede 3. kata gidecek asansör kat a geldiğinde bu buton kapanarak M0 ı resetleyip bu görevi sonlandıracak, tekrar yeniden ilk enerjilenmeye kadar çalışmayacaktır.

6. Satır: Bu satırda fiziksel bir giriş kullanılıp 1. Kat asansör çağırma butonu olarak atanmıştır.
X6 1.kat asansör çağırma butonu,
M1 tüm kapılar kapalı,
X20 burada 1. kat butonuna basıldığında kabin in nerede olduğu bilinmediğinden 2 ayrı komut satırı yazılacaktır. Bu komut satırlarının biri asansör eğer ZEMİN kat' ta ise Diğer komut satırı kabin "0" veya "1" harici üst katlardan birinde olduğunu var sayarak üst kattan çağrılacaktır.

Diğer satırlar önceki satırlara benzediği için bunlara açıklama yapmayacağım.








mr.selim

Alıntı yapılan: Melih1802 - 13 Aralık 2016, 21:31:39
Yaptığımız PLC programı ve Fonksiyonlar için bazı açıklamalar yapma gereği duyuyorum.

- PLC üzerinde OCTAL düzende bir dizayn vardır, bu İşlemcilerin iç yapısından kaynaklanmaktadır, bu sebeple PLC üzerindeki Fiziksel girişleri kullanırken X0,X1,X2,X3,X4,X5,X6,X7, ve ardından X20,X21,X22 gibi devam etmesi bu sebepledir. X10,X11,X12,X13,X14,X15,X16,X17 girşler ve aynı zamanda çıkışlar geniş PLC giriş çıkışı sağlayan ürünlerin üzerinde REZERVE olduğundan kullandığımız DVP-14SS2 modelinde X0-X7 olup X10-X17 arası bulunmamaktadır. Bazı PLC model ve Markalarında bu Adlandırma farklı olabilir.

- DELTA PLC üzerinde Digital giriş ve çıkışlar X ve Y olarak adlandırılmaktadır.

Kısa hatırlatmadan sonra Programın buraya kadar kullanmış olduğum Fonksiyonlarına bir bakma gereği hissettim.

M1000 bu fonksiyon özel bir Memory bit i dir. M1000 komutundaki M eklentisi anlaşıldığı üzere Memory nin M si anlamındadır. Bu bit PLC ilk enerjilendiğinde Yazılı programın Bir çevrim süresinde AKTİF kalır ve ilk açılış anında yapılması gerek bir düzenleme varsa bu BİT i kullanarak yaparız. Burada M1000 biti PLC ilk enerjilendiğinde 3. kata otomatik çıkması için kullanılmıştır. Kullandığımız DVP-14SS2 modelinde M0-M999 arası kullanıcıya ayrılmış M1000 ve daha üstü Özel bitler olarak ayrılmıştır.

DVP-14SS2 Modelinde X0-X7 giriş Y0-Y5 arası çıkış CPU üzerinde yer almaktadır. Bu giriş ve çıkışlar yetmediğinde EK modül takarak genişletebilir ve program yazarken artık Girişler X20-X27 Çıkışlar Y20-Y27 arasında olacaktır.

SET Bu fonksiyon Elektronikteki SET RESET kapısı gibi iş görmektedir. SET fonksiyonu ardından gelecek bir konutu RESET gelinceye kadar AKTİF tutar.

Şimdi yazdığımız komutları satır satır inceleyelim.

1. Satır: Bahsettiğimiz gibi özel bit olan M1000 bitini kullanarak istendiği gibi sistem ilk enerjilendiğinde asansörü 3. Kat a çıkarmak için M0 bitini SET ettik,

2. Satır: İlk enerjilenmede asansörün 3. kata çıkması için Güvenlik gereği tüm kat kapılarının kapalı olması gerektiğinden tüm katlar için KAPI KAPALI kontrolü yapılmakta, tüm kapılar kapalıysa M1 bit i AKTİF olacaktır. Artık M1 bitini her kullandığımız yerde tek bir komutla tüm kapıların kapalı olup olmadığını Fiziksel bir çıkış kullanmadan kontrol etmiş olacağız.

3. Satır: Burada Asansörü 3. kat a çıkartacağız, bunun için gerekli şartları görelim;
M0-ilk enerji alındı,
M1- Tüm kapılar kapalı,
X0- Asansör 3. Kat ta değil,
X4-X5- Kabin Alt ve Üst limit Switch leri basılı değil. Burada Kabin çalışma sınırı içinde kontrolü yapıldı.

4. Satır: Bu satırı daha sonra açıklayacağım.

5. Satır: X0 burada kullandığımız X0 O.C yani açık kontak. İlk enerjilenmede 3. kata gidecek asansör kat a geldiğinde bu buton kapanarak M0 ı resetleyip bu görevi sonlandıracak, tekrar yeniden ilk enerjilenmeye kadar çalışmayacaktır.

6. Satır: Bu satırda fiziksel bir giriş kullanılıp 1. Kat asansör çağırma butonu olarak atanmıştır.
X6 1.kat asansör çağırma butonu,
M1 tüm kapılar kapalı,
X20 burada 1. kat butonuna basıldığında kabin in nerede olduğu bilinmediğinden 2 ayrı komut satırı yazılacaktır. Bu komut satırlarının biri asansör eğer ZEMİN kat' ta ise Diğer komut satırı kabin "0" veya "1" harici üst katlardan birinde olduğunu var sayarak üst kattan çağrılacaktır.

Diğer satırlar önceki satırlara benzediği için bunlara açıklama yapmayacağım.








Çok teşekkür ederim hocam açıklama gayet güzel ve yeterli. Delta PLC içinde temel atmış olduk diyebiliriz bu sayede.

Melih1802

Bu yazıda LEVEL atlayarak 2. LEVEL e geçeceğiz.

Şimdi, bu seviyeden sonra bana programda ne yazacağımı sen söyleyeceksin.

Bu nasıl olacak? Bana komut dizisini yazacaksın bende bunu LADDER a çevireceğim.

Örn; Zemin' den başlayarak 3. kata kadar asansör çağırma komutlarını yazacaksın.

-Zemin butonuna bas,
-Tüm asansör kapılarını kontrol et,
-Alt ve üst limit Switch leri kontrol et,
-Asansör kabini ZEMİN katta mı kontrol et,
-Asansör ü çağır,
-Asansör kata gelince işlemi sonlandır.

GİBİ.


Şimdi ben seni bekliyorum :). Hadi başlayalım.


mr.selim

Hocam çok çok özür dilerim sizden. Sizle çalışmak için can atıyorum ama tez için biraz aksilikler çıkınca foruma giremedim bile eve gelip uyuyakalıyorum :)
Akşam Level 2 için gelicem inşallah derslerime de iyi çalışmaya başladım. Sabrınız ve kattığınız bilgiler için tekrardan teşekkür ediyorum akşama derslere devam etmek için görüşmek üzere hocam.

mr.selim

@Melih1802 hocam iyi günler dilerim. Bu ara bilgi yüklemesi yapıyorum sanki yoğun yoğun bilgiler akıyor. PLC olayını da ayrı tat katmakta.

Hocam öncelikle benim bu projeye bakarken ilk sorduğum soru kattaki Gidileceği yöne göre butona bas koşuluydu. Bu herhangi asansörü çağır komutu olsa ne farkedicekti. İşimiz daha mı zorlaşıcaktı?

Zemin (0), 1. kat (1), 2. kat (2), 3. kat (3)

Zemin için çalışma koşullarında;
Butona basıldı mı (yukarı)
Tüm kabin kapısı kapalı mı
Tüm kat kapısı kapalı mı
Alt ve Üst sensörlerden uyarı geliyor mu
Asansör Zemin katta mı (hiçbirşey yapma)
Asansörü (1 sn sonra )çağır. ( Saniye olayına sonra da girebiliriz bana uyar hocam )
Asansör gelince koşulları incele ( Kabin kapıları kapalı olmalı) ve dur.
Zemin kapısı açılırsa kabin aydınlatması ( belli bir süre )açılsın.
(Kabinde butonlara basılırsa) Zemin butonuna basılırsa hareket olmasın.
Hareket ediyorken Kabin kapıları kilitli olmalı
Kabin için aydınlatma açık olmalı

2. Kat için
Butona basıldı mı ( Aşağı yukarı, nasıl kullanıcaz hâla çözemdim)
Tüm kabin kapısı kapalı mı
Tüm kat kapısı kapalı mı
Alt ve Üst sensörlerden uyarı geliyor mu
Asansör Kat 2 de mi (hiçbirşey yapma)
Asansörün kaçıncı katta ( bunu sensörler sayesinde anlıcağız diye tahmin ediyorum hocam ) 3 ise aşağı çağır, 1 ise yukarı
Asansörü (1 sn sonra )çağır. ( Saniye olayına sonra da girebiliriz bana uyar hocam )
Asansör gelince koşulları incele ( Kabin kapıları kapalı olmalı) ve dur.
kat 2 kapısı açılırsa kabin aydınlatması ( belli bir süre ) açılsın.
(Kabinde butonlara basılırsa) kat 2 butonuna basılırsa hareket olmasın.
Hareket ediyorken Kabin kapıları kilitli olmalı
Kabin için aydınlatma açık olmalı

3. Kat için
Butona basıldı mı ( Aşağı tek buton )
Tüm kabin kapısı kapalı mı
Tüm kat kapısı kapalı mı
Alt ve Üst sensörlerden uyarı geliyor mu
Asansör Kat 3 de mi (hiçbirşey yapma)
Asansörün kaçıncı katta ( Yukarı çağırılıcak )
Asansörü (1 sn sonra ) çağır. ( Saniye olayına sonra da girebiliriz bana uyar hocam )
Asansör gelince koşulları incele ( Hareket halinde kabin kapıları kapalı olmalı) ve dur.
kat 3 kapısı açılırsa kabin aydınlatması ( belli bir süre ) açılsın.
(Kabinde butonlara basılırsa) kat 3 butonuna basılırsa hareket olmasın.
Hareket ediyorken Kabin kapıları kilitli olmalı
Kabin için aydınlatma açık olmalı

Hareket durumlarını düşünüyorum da kendime anlatamadım daha buraya nasıl yazsam diyorum hocam. Şöyle ki zeminden 3 e gidecek,
Zemin dışında bir butona basıldı mı ( Her buton için hareket durumu var o halde her buton için ayrı network mü yazmamız gerekecek)

Kendime anlatamadığım bir diğer nokta ise hareket halindeyken her katta bir sensörle karşılaşıcaz. Bizi 3. kata götüren bu sensör mü olucak yani Basılan buton = sensör konumu olursa dur mu diyeceğiz.

Saygılar selamlar dilerim.


mr.selim

Alıntı yapılan: Melih1802 - 13 Aralık 2016, 21:31:39

6. Satır: Bu satırda fiziksel bir giriş kullanılıp 1. Kat asansör çağırma butonu olarak atanmıştır.
X6 1.kat asansör çağırma butonu

X20 burada 1. kat butonuna basıldığında kabin in nerede olduğu bilinmediğinden 2 ayrı komut satırı yazılacaktır. Bu komut satırlarının biri asansör eğer ZEMİN kat' ta ise Diğer komut satırı kabin "0" veya "1" harici üst katlardan birinde olduğunu var sayarak üst kattan çağrılacaktır.



Sorularımın bazılarının cevabı burada da ben anlayamıyorum galiba. Bir sebebi Asansörün hangi katta olduğunu anlamakta güçlük çekmekteyim. Diğer sebebi ise 1 ve 2. katta aşağı yukarı çağırma butonları var bunları anlayamamaktayım. Umarım anlatabilmişimdir derdimi hocam.

Melih1802

#40
Soru: Öncelikle benim bu projeye bakarken ilk sorduğum soru kattaki Gidileceği yöne göre butona bas koşuluydu. Bu herhangi asansörü çağır komutu olsa ne farkedicekti. İşimiz daha mı zorlaşıcaktı?

Cevap: Asansör kabini hangi kat ta olursa olsun, Hangi Kat ın butonuna ne amaçla ( Aşağı - Yukarı ) basılırsa basılsın mantığımız şöyle,

Varsayalım Asansör kabini 2. Katta Bizde 1.Kattan asansörü çağıracağız.
Asansör kabini 2. Kattaysa o kata ait switch Aktif olduğundan bize bu bilgiyi verecek,
Bu mantıkla ara katlar için Asansör kabini çağırma işi için Kabin alt kattaysa veya Kabin Üst kattaysa hali için ayrı ayrı komut yazacağız.
Asansör kabinini çağırdığımızda Kabin switch i bize bu durumu bildirecek ve Kabinin yönünü belirtecek.

Sade ve basit kod yazalım.

1. Satırda EĞER kabin 2. kattaysa X0 butonuna bastığımızda kabin X2 yi N.C den N.O yani açık devre yapıncaya kadar inecek ve işlemi bitirecek.
2. Satırda durum 1. satırdakinin aynıdır.

Dikkat anlatım için gereksiz kontaklar ve M hafızsı çıkartılarak sadeleştirilmiştir.







Basılan Butona ve Kabinin olabileceği tüm ara katlara göre bu satırlar tek tek her durum için yazılacaktır.

Melih1802

Kabin 2. Kattaysa butona basıldığında aşağı inecek,


Kabin Zemindeyse butona basıldığında kabin yukarı çıkacak.




mr.selim

@Melih1802  hocam renklendirme yönteminiz çok hoş oldu anladığımı düşünüyorum teşekkür ederim sorumun cevabı tam olarakta buydu.

mr.selim

@Melih1802 Hocam çalışmalara devam edeceğiz değil mi ?

Melih1802

#44
Bu akşam KABİN içi ışıklandırmayı yapalım.

Not: Programın tüm satırlarını görüntüleyemediğim için daha önce kullanmış olduğum giriş ve çıkışları farklı amaçla da olsa bir kere daha kullanıyorum. Bu sebeple her bölüm bir öncekinden bağımsız ve uyumsuzdur.

Program açıklaması;

1. Satır: bu satırda X0....X3 kapı açık kontaklarıdır. Katlardan herhangi birinin kapısı açıldığında M4 SET olur ve aynı anda PLC den Fiziksel Y0 çıkışı kabin içi ışığı yakar.
Asansör kapısı açılarak biri içeri girdi.

2. Satır: M4 ün SET olmasıyla beraber ( yeni fonksiyon açıklayacağım ) TMR0 30 saniye saymaya başlar, bu sırada kabin içi ışığı hala yanmaktadır.
Asansör katlar arası veya herhangi bir yöne hareket ediyor.

3. Satır: M4, Y1, Y2 ( Y1= Asansör aşağı hareket ediyor, Y2 Asansör yukarı hareket ediyor durumda ) Y1 veya Y2 nin hareketi kesildiğinde bu sefer 2. sayıcımız olan TMR1 sayıcısı devreye girerek 10 saniye daha bir hareket olmaz ise ışığı kesmez. Süre sonunda M4, TMR0 ve TMR1 resetlenerek Kabin ışığı kapatılır.
Kabin içindeki yolcu kapıyı açarak iner.


TIMER
fonksiyonunu açıklayalım. TIMER Komutu görüldüğü gibi TMR T0 K300

TMR bu komut bir TIMER oluşacağı komutudur,
T0 bu komut sayıcının adıdır. bu sayıcı adı PLC Modelinin izin verdiği sayıda kullanılabiliriz.
K300 bu komut T0 sayıcısına verilmiş süre dir. 300 değeri 30sn ye denk gelir.