PLC

S7 1200 PLC Ders XXVI: “Analog Veri Okuma-Gönderme”

Bugün iki adet uygulama yapacağız. Birinde PLC’nin analog girişlerine gelen analog veriyi okumayı öğreneceğiz. İkincisinde ise, kendimiz PLC içinden çıkışlarına Analog veri göndermesini öğreneceğiz.

UYGULAMA 1: Gelen Analog Veriyi Okumak ve Skalalandırmak

Analog veri okumak, Veri göndermek PLC uygulamalarında çok önemlidir. Bugün buna basit bir örnekle uygulamalı olarak anlatacağız.

Öncelikle PLC’de hangi adreslerim Analog girişlermiş bunu öğrenmek istiyorum. Bunun için Proje ağacında PLC, sağ tık, properties, AI 2, Analog Inputs diyorum

Bu pencereden öğreniyoruz ki, analog girişimiz, IW64 den başlıyor. İki tane analog girişimiz olduğuna göre, diğeri de IW66 olduğunu tahmin etmemek zor değil (W adresleri 2 byte yer kaplarlar) Analog giriş aralığımın 0 10 V arası bir gerilim olduğunu ve her bir tarama da 4 saykıl oluştuğunu öğreniyoruz. Tamam diyip çıkıyoruz buradan.

DİPNOT BİLGİ: Olur da bir şekilde main i falan sildiyseniz. Program yazmak için şu yolu izliyoruz

Add new block, organization block, program cycle OK

Evet şimdi programı yazalım

Şimdi ilk olarak Conversion operations (DÖNÜŞTÜRÜCÜLER) bölümünden NORM_X komutunu alıyoruz.

Norm_X komutu gelen değeri 0 ila 27648 değer arasından çıkışına ileticek. Çünkü bizim 0 10 V arası gelen değer 0 ile 27648 değer olarak okuyabiliyor. Bu sabittir.
Çıkışı ise bu değeri 0 ile 1 arası sonsuz değere dönüştürecektir

Giriş bilgisi olarak Value kısmına girişimiz olan IW64 yazıyoruz

BİLGİ NOTU: OUT 0 la 1 arası bir çok sayı gösterecektir o yüzden buraya MW yazamıyoruz gördüğünüz üzere hata veriyor . Yani buraya sığmaz diyor. O yüzden buraya MD100 yazıyoruz.

Soru işareti kısımları da gelen bilgi Integer olduğu için Int, çıkan bilgi çok sayı içerdiği ve virgüllü sayılar olduğu için Real sayılar diyoruz.

bir sonraki komut, SCALE_X

Biz bu komuttan gelen veriyi MD100 verisini, 0-10 V arası kodlamasını istiyoruz.

Bunu Arduino ‘daki Map komutu gibi düşünebilirsiniz, Scale komutu gelen bir veriyi, istediğimiz bir değer aralığında skalalandırmasına yarar.

Bizlerde gelen değer, Value adresine yazıyoruz, Yani Norm X komutunun çıkışı, Scale x komutunun Value girişine yazılıyor. Hangi değer aralığında dönüşmesini istiyorsak min ve max değerler arasına yazıyoruz. Çıkışına ise bu değerleri atacağımız yazmaçı yazıyoruz. 0-10 arası değer olduğu için MW60 yazıyorum

Bunu PLC ye yüklüyoruz. Uygulamasını yapalım .Tag’ leri Decimal yapalım.
PLC’ye ise üzerindeki analog değer üreteçlerinden Analog girişe bağlantı yapıyoruz.

Şuan 27304 sayısı geliyor ve 10 olarak çıkıyor.

Gerekli bağlantıları yaptıktan sonra Şekilde görülüyor.

Değeri düşürelim

Gördüğünüz üzere değer düşünce 5.6 volt girişini 5 volt olarak ekranda gördüm

Şimdi bu uygulamayı aynı zamanda panelde de görelim
Panele giriyoruz.

Burada bir adet değer göster aracı ekliyoruz


Üstüne tıkayıp özelliklerine giriyoruz
Buradan tag bölümüne geliyoruz

Orayı tıkla

Process değerine ok diyoruz
Ardından 3 noktayı tıklayınca hangi tag ile işlem yapacagımızı seçiyoruz

Ve en son ekledigimiz tag olan MW50 değerini seçiyoruz. Buradan anlıyoruz ki çıkış bilgimizle bu görster aracını ilişkilendiricez.

Bilgi:Aynı zamanda text formatımız gözümüze küçük gelirse şuradan değiştirebiliyoruz

Buradan büyütebiliyoruz

Evet tag’le de ilişkilendirdik ve yüklüyoruz

Evet değerleri burada görebiliyoruz.

Değerlerimiz biraz yavaş geliyor . PLC ve Panel arasında sorgulama süresini uzun tuttuğumuz için gecikmeli geliyor. tabiki bunu düşürerek aynı anda daha hızlı gelişimi sağlayabiliyoruz

Bu derste gelen Analog veriyi öğrendik. Gelen analog veriyi okumayı ve Panelde göstermeyi öğrendik. Bir sonraki derste de analog çıkıs vermeyi öğrenicez. Kolay gelsin 🙂

UYGULAMA 2- Çıkışlara Analog Veri Göndermek

Bir önceki uygulamada, gelen analog veriyi okuyup istediğimiz bir değer aralığında göstermişti. Şimdi uygulamada ise Panelden girdiğimiz veriyi PLC’nin analog çıkışına yönlendirmek ve PLC çıkısına bağlı olan voltmetre de analog çıkışımızı okumak olsun

Oncelikle PLC ye analog modulu eklememiz gerekiyor bunun için de

Peki az önce eklememiz gerekmiyor muydu ? Araştırın 🙂

Sağ taraftaki katalogdan Signal Boards, AQ, AQ 1X12BIT modulu seçip ekliyoruz.

Bunu yaptıktan hemen sonra donanım (hardware) yüklemesini yapıyorum ki unutmayın.

Evet ve hemen Main de programımızı oluşturuypruz

Bu defa gelen değer için Value kısmına MW100 yazıyoruz . Neden ?? Neden analog giriş kullanmadık hocam ??
Evladım az önce bizler analog girişimize dışarıdan gelen veriyi okumuştuk. Ama şuan öyle bir şey yokki. Şuan veriyi biz PLC içinde üreteceğiz zaten. O yüzden buraya sanal bir yazmaç olan MW100 yazıyoruz. Ve bunu birazdan panelden kontrol edeceğiz. 🙂

0 LA 10 arası aralıkta değerlendirme yapsın ve çıkışı da 0 la 1 arasında sonsuz sayı ürettiği için MD200 olsun .l

Şimdi gelen sayı MD200’ü 0 la 27648 olacak şekilde kodlayalım. Çünkü analog çıkısımıza 27648 gönderdiğimizde 10 V alıyoruz.

Şimdi out adresini yazabilmem için analog çıkışımızı öğrenelim. Analog çıkış adresimizi öğrenmek için;

80 olduğunu öğreniyoruz bu nedenle bizde çıkışımıza QW80 yazıyoruz

Şimdi bunu PLC’ye gönderiyoruz

Hata verdi. değerlerimizi girmemişiz hemen Scale_x komutu değerlerinide giriyoruz

Evet şimdi herhangi bi çıkış görmüyoruz. VOLTMETREmiz bağlı analog çıkışımızda

Şimdi panele bir veri girişi ekleyeceğiz, buraya veri girişi olduğunda çıkışta 0 10 V olarak görmek istiyoruz. Panelde de girerken 0 10 v girecek şeklnde düzenlemişti hatılarsanız

Root screen geldik

Yeni bir veri girme ekranı ekledik

Tagla özdeştireceğiz.

Değer gireceğimiz için değer girecek olan hafıza alanıyla özdeşleştiriyoruz

Evet programı yüklüyoruz


bi hata yapmadıysa 0 10 v arası bi değer grdgmizde çıkısımızda voltmetrede görmeliyiz.

Evet panelde 8 yazdık ve 8 gördük

Evet gerçekten çok güzel bir analog uygulaması oldu. Dersimiz bu kadar başarılar.

Similar Posts

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir