Maximum ve minim değerlerini kaydetmek istiyorum?

Berk epli

Üye
Katılım
31 Mar 2020
Mesajlar
56
Puanları
1
Yaş
25
Tia Portal üzerinde analog olarak aldığım değerin ölçüm sonunda maximum ve minim değerlerini kaydetmek istiyorum nasıl yapabilirim
 
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.
Bu işlem için genellikle karşılaştırma (Compare) ve hareket (Move) bloklarını kullanabilirsiniz.
Aşağıdaki adımlar, genel bir rehberdir:

Değişkenlerin Tanımlanması:
İlk olarak, ölçümünüzü tutacak bir değişken (örneğin MeasuredValue), maksimum değeri tutacak bir değişken (örneğin MaxValue) ve minimum değeri tutacak bir değişken (örneğin MinValue) tanımlayın.

Maksimum Değerin Kaydedilmesi:
MeasuredValue'nın MaxValue'dan büyük olup olmadığını kontrol edin.
Eğer MeasuredValue > MaxValue ise, MeasuredValue'nın değerini MaxValue'ya kopyalayın.
Bu işlem için bir karşılaştırma bloğu (örneğin, >) ve bir hareket bloğu (örneğin, MOVE) kullanabilirsiniz.

Minimum Değerin Kaydedilmesi:
MeasuredValue'nın MinValue'dan küçük olup olmadığını kontrol edin.
Eğer MeasuredValue < MinValue ise, MeasuredValue'nın değerini MinValue'ya kopyalayın.
Bu işlem için yine bir karşılaştırma (örneğin, <) ve bir hareket bloğu kullanabilirsiniz.

Programlama Mantığı:
Bu işlemleri gerçekleştirebilmek için PLC'nizin programlama mantığında,
genellikle bir döngü içinde veya "bir olay" tetiklendiğinde çalışacak bir mantık bloğu (örneğin, bir FC veya FB) oluşturmanız gerekir.
Analog değer okuma, maksimum ve minimum değerleri güncelleme işlemleri bu blok içinde gerçekleştirilir.

Başlangıç Değerlerinin Ayarlanması:
Sistemin başlangıcında, MaxValue'yu mümkün olan en düşük değere, MinValue'yu ise mümkün olan en yüksek değere ayarlamak önemlidir.
Bu, ilk ölçüm değerinin doğru bir şekilde maksimum veya minimum olarak kaydedilmesini sağlar.

Örnek Programlama Kodu:
TIA Portal'da, bu mantığı Ladder (Merdiven) diyagramı veya Structured Control Language (SCL) gibi bir programlama dilinde uygulayabilirsiniz.
Özellikle SCL, bu tür karşılaştırma ve atama işlemleri için oldukça uygundur.
Bu işlemleri TIA Portal'da gerçekleştirmek, PLC'nizin modeline ve kullanımına bağlı olarak değişiklik gösterebilir.
Ancak, temel mantık genellikle yukarıda açıklanan adımlara benzer.

Eğer spesifik bir PLC modeli veya programlama dili kullanıyorsanız,
bu model veya dilin özelliklerine uygun şekilde uyarlama yapmanız gerekebilir.
 
öncelikle cevabınız için teşekkür ederim ama tam olarak anlayamadım küçük bir örnek yapıp yüklmeme yapabilir misin, analog sensörden gelen verileri kaydedip min max komutları ile karşılaştırma yapıp max ve min değerini görmem gerekiyor yardımlarınız için teşekürler
 
öncelikle cevabınız için teşekkür ederim ama tam olarak anlayamadım küçük bir örnek yapıp yüklmeme yapabilir misin, analog sensörden gelen verileri kaydedip min max komutları ile karşılaştırma yapıp max ve min değerini görmem gerekiyor yardımlarınız için teşekürler
Örnek bir S7-1200 TIA Portal projesinde, analog giriş değerlerinin minimum ve maksimum değerlerini kaydetmek için bir örnek kod aşağıdaki gibi olabilir:

Bu kod parçası, analog giriş değerini okur ve mevcut minimum ve maksimum değerlerle karşılaştırarak günceller.

VAR
AnalogValue : INT; // Analog giriş değerini saklamak için değişken
MinValue : INT; // Minimum değeri saklamak için değişken
MaxValue : INT; // Maksimum değeri saklamak için değişken
END_VAR

// Örnek olarak, analog giriş değerini %IW1000 etiketinden alalım
AnalogValue := %IW1000;

// Minimum ve maksimum değerleri güncelle
IF AnalogValue < MinValue THEN
MinValue := AnalogValue;
END_IF;

IF AnalogValue > MaxValue THEN
MaxValue := AnalogValue;
END_IF;

// Minimum ve maksimum değerleri kaydetmek için bir veri bloğu kullanıyorsanız, bu değerleri burada güncelleyin
 
Örnek bir S7-1200 TIA Portal projesinde, analog giriş değerlerinin minimum ve maksimum değerlerini kaydetmek için bir örnek kod aşağıdaki gibi olabilir:

Bu kod parçası, analog giriş değerini okur ve mevcut minimum ve maksimum değerlerle karşılaştırarak günceller.

VAR
AnalogValue : INT; // Analog giriş değerini saklamak için değişken
MinValue : INT; // Minimum değeri saklamak için değişken
MaxValue : INT; // Maksimum değeri saklamak için değişken
END_VAR

// Örnek olarak, analog giriş değerini %IW1000 etiketinden alalım
AnalogValue := %IW1000;

// Minimum ve maksimum değerleri güncelle
IF AnalogValue < MinValue THEN
MinValue := AnalogValue;
END_IF;

IF AnalogValue > MaxValue THEN
MaxValue := AnalogValue;
END_IF;

// Minimum ve maksimum değerleri kaydetmek için bir veri bloğu kullanıyorsanız, bu değerleri burada güncelleyin
çok teşekkür ederim
 

Yeni mesajlar

Forum istatistikleri

Konular
128,193
Mesajlar
915,740
Kullanıcılar
449,969
Son üye
kdrtkn

Yeni konular

Geri
Üst