S7 200 basınç ölçme

Katılım
3 Ocak 2007
Mesajlar
181
Puanları
1
Yaş
39
Basınç tankından basınç okumak istiyorum. Basınç transmitterım.0-10 bar. Çıkışı 0-10V
PLC S7 200 CPU 224XP
Basıncı 0-10 arası 1-2-3 bar olarak okuyabiliyorum. Basınç 1 bar olana kadar 0 bar, 2 bar olana kadar 1 bar, 3 bar olana kadar 2 bar gösteriyor.
Fakat ben ara değerleri de görmek istiyorum. 1,1-1,2-1,3 şeklinde okumak istiyorum.
Real komutundan sonra 1.0 gösteriyor fakat ara değerleri 1,1-1,2 gibi göstermiyor.
Aşağıdaki işlem sırasına ve anladığım kadarı ile programı yazdım.
AIW0’dan basıncı okuyorum. MOV_W ile VW0’a atıyorum.
VW0’ı 3200’e bölüyorum. DIV_I ile. Max 10Bar göstersin diye.VW2’ye atıyorum.
VW2’deki 16 bitlik değeri I_DI ile 32 bite çevirip VD10’ a atıyorum.
DI_R ile Real’e çevirip VD14’e atıyorum.
ROUND komutu ile yuvarlayıp tekrar VD14’e atıyorum.
DI_I komutu ile tekrar 16 bite çevirip VW20’ye atıyorum. Buradan da son değeri okuyorum.
Yanlış yaptığım nokta neresi acaba?
Ayrıca Delta DOP Panelden Sayı gösterden VW20’yi okutuyorum.
Ayarlardan data Word , data formatı unsignedDecimal Tamsayı:2 Kesirli hane:1 yapıyorum.
Fakat ara değerleri okuyamıyorum.
Yardımlarınızı bekliyorum.
 

Ekli dosyalar

  • Analog Basınç Ölçüm2.rar
    1.6 KB · Görüntüleme: 36
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
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.
Basınç tankından basınç okumak istiyorum. Basınç transmitterım.0-10 bar. Çıkışı 0-10V
PLC S7 200 CPU 224XP
Basıncı 0-10 arası 1-2-3 bar olarak okuyabiliyorum. Basınç 1 bar olana kadar 0 bar, 2 bar olana kadar 1 bar, 3 bar olana kadar 2 bar gösteriyor.
Fakat ben ara değerleri de görmek istiyorum. 1,1-1,2-1,3 şeklinde okumak istiyorum.
Real komutundan sonra 1.0 gösteriyor fakat ara değerleri 1,1-1,2 gibi göstermiyor.
Aşağıdaki işlem sırasına ve anladığım kadarı ile programı yazdım.
AIW0’dan basıncı okuyorum. MOV_W ile VW0’a atıyorum.
VW0’ı 3200’e bölüyorum. DIV_I ile. Max 10Bar göstersin diye.VW2’ye atıyorum.
VW2’deki 16 bitlik değeri I_DI ile 32 bite çevirip VD10’ a atıyorum.
DI_R ile Real’e çevirip VD14’e atıyorum.
ROUND komutu ile yuvarlayıp tekrar VD14’e atıyorum.
DI_I komutu ile tekrar 16 bite çevirip VW20’ye atıyorum. Buradan da son değeri okuyorum.
Yanlış yaptığım nokta neresi acaba?
Ayrıca Delta DOP Panelden Sayı gösterden VW20’yi okutuyorum.
Ayarlardan data Word , data formatı unsignedDecimal Tamsayı:2 Kesirli hane:1 yapıyorum.
Fakat ara değerleri okuyamıyorum.

Yardımlarınızı bekliyorum.
Kırmızı olan kısmı fazladan yapmışsın. Hem yuvarlama yapıyorsun, hemde küsür görmek istiyorsun :rolleyes:
VD14'e kadar olan kısmı yaptıktan sonra DOP-B de sayı göster elemanın ayarlarında; Datayı Dubleword, data formatını Floating seçiyorsun. Tamsayı:2 Kesirli hane:1 yapıyorsun. Datayıda VD14 seçiyorsun.Tamamdır.
 
Sayın Ertek
Yardımlarınız için teşekkür ederim. Dediklerinizi yaptım.
Real'e çevirdikten sonra PLC'den VD 14'de basıncı 1.0-2.0-3.0 okuyorum. Buraya kadar tamam.
Panelde'de 1.0-2.0-3.0 bar görüyorum.Buraya kadar da tamam.
Fakat 1 Bar'a kadar PLC'de de panelde de 0 Bar, 2 Bar'a kadar PLC'de de panelde de 1 bar gösteriyor.Halbuki 0'dan 1'e ya da 1'den 2'ye kadar aradaki değerleri(1,1-1,2-1,3 gibi)görmek istiyorum.Bunun için ne yapmalıyım?
Yardım ederseniz memnun olurum.
 
Kardeş PLC deki yuvarlama "ROUND" komutunu sildnmi..?
 
Bunu bir dene kardeş...
 

Ekli dosyalar

  • Basınç Ölçüm.rar
    1.6 KB · Görüntüleme: 24
Yarın izindeyim.Cumartesi ilk işim bunu denemek olacak.Sonucu sizinle paylaşırım.
Ben bu konuyu yavaş yavaş anlamaya çalışıyorum.Bu yazdıklarınızı biraz açıklayabilir misiniz?
mesela akümülatörü niçin kullandınız? akümülatöre niçin taşıdınız?Hangi durumlarda akümülatör kullanılır?
Analog girişten aldığımız değer sanırım 16 bitlik, bunu niçin 32 bite çeviriyoruz?
Ben bir kısmını şöyle anladım:
Analog değeri akümülatöre taşımışsınız.Bu değer 16 bitlik değer.Sonra DI_R ile 32 bite çevirmişsiniz.(niçin?)
Sonra da noktalı görmek için reale çevirmişsiniz.Real'e çevirdikten sonra 3200'e bölmüşsünüz.max.10 bar olsun diye.
Bilmiyorum biraz anlayabilmiş miyim?
İlginiz için çok teşekkür ederim.
 
Akümülatöre her türden ve boyutta veriyi yazabiliyoruz. Ona taşıyarak direk dubleword yaptık.
Aslında S7 200 lerin analog girişleri 12 bit ama ama bir word 16 bit olduğu için orayı kaplıyor.
Dubleworde çevirmemizin sebebi Real sayılar 32 bit olduğu için ............
 
Bunu bir dene kardeş...
Sayın Ertek yazdığınız programı denedim.Noktalı gösteriyor.Fakat VD 14'te 20. gösteriyor.Biraz uğraştıktan sonra sonunda sorunu hallettim.
SM0.0'dan sonra I_DI ile AIW0' daki değeri AC0'a attım.Bunu da DI_R komutu ile VD4'ün içine attım.
2. networkte SM0.0'dan sonra DIV_R ile VD4'ü 3200.0'a böldüm ve VD8'den noktalı bir şekilde ölçtüm. Panelden de ara değerleri görmeyi başardım.
Yardımlarınız için çok teşekkür ederim.
Şimdi DOP panelde bar- normal ve ölçek göstergesi koyarak basınç yükseldikçe bar göstergede de yükseldiğini görmek istiyorum.Fakat bar gösterge noktalı sayı gösterilemiyormuş sanırım. Bunu nasıl halledebilirim? Bu konuda biginiz var mı?Bu konuda da yardımcı olabilirseniz sevinirim. İyi çalışmalar.
 

Forum istatistikleri

Konular
128,149
Mesajlar
915,478
Kullanıcılar
449,892
Son üye
bekmezci

Yeni konular

Geri
Üst