Tia Portal'da Analog Giriş Değerini Okumak
Merhaba dostlar. Bu yazıda Tia portal'da analog giriş değerlerini nasıl okuduğumuzu yani bu değerleri nasıl manipüle edip PLC'imiz tarafından işleme koyulduğunu öğrenmeye çalışacağız.
STM32F4 yazılarında analog digital converter işleminin ne olduğu, nasıl gerçekleştiği ve ne işe yaradığı üzerine uzun bir yazı yazmıştık. Konu hakkında bilgisi olmayanlar önce bu yazıyı okuyabilir.
http://projedenemeleri.blogspot.com/2018/11/keil-ile-arm-programlama-2.html
Şimdi konumuza geçecek olursak ; Analog sinyalleri okuyabilmek için ilk olarak kullandığımız PLC modelinin yada analog input modülünün, analog girişler olarak hangi adres byte'larını kullandığını bilmemiz gerekir. Hardware kısmından “ Device Overview “ seçeneği bize PLC'nin kullandığı adres byte'larını gösterir.
Fotoğrafta görüldüğü gibi asıl PLC cihazımız IW800 - .. - IW809 arasındaki adres byte'larını analog giriş modülümüz (2*12 bitlik) ise IW256 - .. - IW259 byte'larını analog giriş için kullanmaktadır. Bu adres byte'ları analog input olarak isimlendirebileceğimiz girişleri gösterir aslında. Yani IW800 adresini veya IW256 adresini kullanabiliriz bu tabloya göre. Word adresleri 2 byte'lık bir alanı kapladığı için IW801 yada IW257 adresleri analog input olarak kullanılamaz. Eğer double word değişkenini kullansaydık bu adresler 4 byte'lık bir alanı kapsayacaktı.
Tia Portal'da analog giriş modülü 0 ile 27648 arasında bir değer verir. Yani sıcaklık ölçtüğümüz bir sensörün verebileceği en yüksek değer 27648'dir. Bu değeri “ SCALE “ komutu ile istediğimiz aralıklarda skala edebiliyoruz. Bu şekilde dışarıdan gelen bir sinyali yüzde cinsinden ifade etme şansı bulmuş oluyoruz.
Program üzerinde küçük bir örnek gerçekleştirelim. Bir hidrolik presin istifi sıkma oranı %50'yi geçtiği zaman basınç motorumuz durdurulsun.
1 ) Analog input olarak IW256 adresini seçtik.
2 ) Scale komutu ile analog basınç değerini 0 - 100 arasına skala ettik. Bu arduino bilenler için oradaki " map " komutuyla aynı şeyi ifade eder.
3 ) 0 - 100 arasına skala ettiğimiz değeri Scale komutunun Out kısmında MD10 real değişkenine attık.
4 ) Basınç değerini son haliyle karşılaştırma komutuna soktuk ve real 50.0 değerinden büyük olduğunda basınç motorumuzu durdur ( reset ) emrini verdik.
Yorumlar
Yorum Gönder