Siemens TIA Portal: Maths Function (Matematik Fonksiyonları)

Siemens TIA Portal: Maths Function (Matematik Fonksiyonları)

Endüstriyel otomasyon sistemlerinde sayısal veri işleme, PLC programlamanın temel taşlarından biridir. Siemens TIA Portal, S7-1200 ve S7-1500 serisi PLC’lerde Ladder Diagram (LD) programlama ortamında kullanılan matematik fonksiyonlarıyla bu işlemleri kolaylaştırır. Bu rehberde, temel aritmetik işlemlerden trigonometrik ve logaritmik hesaplamalara kadar tüm matematik fonksiyonlarını detaylıca ele alacak, her bir fonksiyonun parametrelerini, kullanım alanlarını ve pratik örneklerini sunacağız.

Matematik Fonksiyonlarının Genel Bakışı

Siemens TIA Portal’daki matematik fonksiyonları, otomasyon sistemlerinde sayısal verilerin işlenmesi için tasarlanmıştır. Bu fonksiyonlar, hem INT hem de REAL veri türlerini destekler ve Ladder Logic (LD) programlama dilinde kullanılabilir. Temel aritmetik işlemler (toplama, çıkarma, çarpma, bölme), karşılaştırma (minimum, maksimum, sınırlama), üstel/logaritmik hesaplamalar ve trigonometrik fonksiyonlar gibi geniş bir yelpazeyi kapsar. Aşağıda, her bir fonksiyonun detaylı açıklaması ve örnekleri yer almaktadır.

Matematik Fonksiyonları ve Örnekler

1. CALCULATE (Hesapla)

Açıklama: Kullanıcı tanımlı matematiksel ifadeleri tek bir blokta hesaplar. Karmaşık işlemleri (örneğin, (IN1 + IN2) * (IN1 - IN2)) basitleştirir.

Parametreler:

ParametreVeri TipiAçıklama
ExpressionStringHesaplanacak ifade (örneğin, "IN1 + IN2")
IN1, IN2, ...INT, DINT, REALGiriş değişkenleri
OUTINT, DINT, REALSonuç

Örnekler:

Network 1:
|---[CALCULATE]----|
    | Expression: "(IN1 + IN2) * (IN1 - IN2)"
    | IN1: 5
    | IN2: 3
    | OUT: Result    → Result: 16
        
Network 2:
|---[CALCULATE]----|
    | Expression: "SQRT(IN1) + (IN2 * 0.5)"
    | IN1: 16
    | IN2: 4
    | OUT: Result    → Result: 6.0
        

Açıklama: İlk örnekte (5 + 3) * (5 - 3) = 16, ikinci örnekte SQRT(16) + (4 * 0.5) = 6.0 hesaplanır.

2. ADD (Toplama)

Açıklama: İki veya daha fazla operandı toplar. Giriş sayısı artırılabilir.

Parametreler:

ParametreVeri TipiAçıklama
IN1, IN2, ...INT, DINT, REALToplanacak değerler
OUTINT, DINT, REALSonuç

Örnekler:

Network 1:
|---[ADD]----|
    | IN1: 10
    | IN2: 20
    | OUT: Sum_Result    → Sum_Result: 30
        
Network 2:
|---[ADD]----|
    | IN1: 5
    | IN2: 7
    | IN3: 3
    | OUT: Sum_Multi    → Sum_Multi: 15
        

Açıklama: İlk örnekte iki sayı, ikinci örnekte üç sayı toplanır.

3. SUB (Çıkarma)

Açıklama: Birinci operanddan ikinci operandı çıkarır.

Parametreler:

ParametreVeri TipiAçıklama
IN1INT, DINT, REALÇıkarılacak değer (Minuend)
IN2INT, DINT, REALÇıkaran değer (Subtrahend)
OUTINT, DINT, REALFark

Örnekler:

Network 1:
|---[SUB]----|
    | IN1: 15
    | IN2: 7
    | OUT: Diff_Result    → Diff_Result: 8
        
Network 2:
|---[SUB]----|
    | IN1: -5
    | IN2: 3
    | OUT: Diff_Result    → Diff_Result: -8
        

Açıklama: İlk örnekte pozitif, ikinci örnekte negatif bir fark hesaplanır.

4. MUL (Çarpma)

Açıklama: İki veya daha fazla operandı çarpar. Giriş sayısı artırılabilir.

Parametreler:

ParametreVeri TipiAçıklama
IN1, IN2, ...INT, DINT, REALÇarpılacak değerler
OUTINT, DINT, REALSonuç

Örnekler:

Network 1:
|---[MUL]----|
    | IN1: 4
    | IN2: 5
    | OUT: Product_Result    → Product_Result: 20
        
Network 2:
|---[MUL]----|
    | IN1: -2
    | IN2: 3
    | OUT: Product_Result    → Product_Result: -6
        

Açıklama: İlk örnekte pozitif, ikinci örnekte negatif bir çarpım hesaplanır.

5. DIV (Bölme)

Açıklama: Birinci operandı ikinci operanda böler. Sıfıra bölünme durumunda ENO 0 olur.

Parametreler:

ParametreVeri TipiAçıklama
IN1INT, DINT, REALBölünen (Dividend)
IN2INT, DINT, REALBölen (Divisor)
OUTINT, DINT, REALBölüm

Örnekler:

Network 1:
|---[DIV]----|
    | IN1: 10
    | IN2: 2
    | OUT: Quotient_Result    → Quotient_Result: 5
        
Network 2:
|---[DIV]----|
    | IN1: 7
    | IN2: 2
    | OUT: Quotient_Result    → Quotient_Result: 3.5
        

Açıklama: İlk örnekte tam sayı, ikinci örnekte ondalıklı bir bölüm hesaplanır.

6. MOD (Bölümden Kalan)

Açıklama: Bölme işleminden kalan değeri hesaplar. Yalnızca INT ve DINT veri tipleriyle çalışır.

Parametreler:

ParametreVeri TipiAçıklama
IN1INT, DINTBölünen
IN2INT, DINTBölen
OUTINT, DINTKalan

Örnekler:

Network 1:
|---[MOD]----|
    | IN1: 8
    | IN2: 3
    | OUT: Remainder_Value    → Remainder_Value: 2
        
Network 2:
|---[MOD]----|
    | IN1: 15
    | IN2: 4
    | OUT: Remainder_Value    → Remainder_Value: 3
        

Açıklama: Bölme işleminden kalan hesaplanır, örneğin döngüsel sayaçlarda kullanılır.

7. NEG (Negatifleştirme)

Açıklama: Bir sayının işaretini tersine çevirir (pozitifi negatif, negatifi pozitif yapar).

Parametreler:

ParametreVeri TipiAçıklama
ININT, DINT, REALİşaret değiştirilecek değer
OUTINT, DINT, REALİşaret değiştirilmiş değer

Örnekler:

Network 1:
|---[NEG]----|
    | IN: 5
    | OUT: Negative_Value    → Negative_Value: -5
        
Network 2:
|---[NEG]----|
    | IN: -3
    | OUT: Positive_Value    → Positive_Value: 3
        

Açıklama: İşaret değiştirme, ters çevrilmiş sinyallerde kullanılır.

8. INC (Arttırma)

Açıklama: Bir değişkeni 1 artırır. TIA Portal’da ayrı bir blok olmayabilir, ADD ile gerçekleştirilir.

Parametreler:

ParametreVeri TipiAçıklama
IN1INT, DINTArtırılacak değer
IN2INT, DINTArtış miktarı (genellikle 1)
OUTINT, DINTSonuç

Örnekler:

Network 1:
|---[ADD]----|
    | IN1: Counter
    | IN2: 1
    | OUT: Counter    → Counter: Counter + 1
        
Network 2:
|---[ADD]----|
    | IN1: -2
    | IN2: 1
    | OUT: Counter    → Counter: -1
        

Açıklama: Sayaç uygulamalarında kullanılır, artış miktarı değiştirilebilir.

9. DEC (Azaltma)

Açıklama: Bir değişkeni 1 azaltır. TIA Portal’da ayrı bir blok olmayabilir, SUB ile gerçekleştirilir.

Parametreler:

ParametreVeri TipiAçıklama
IN1INT, DINTAzaltılacak değer
IN2INT, DINTAzalış miktarı (genellikle 1)
OUTINT, DINTSonuç

Örnekler:

Network 1:
|---[SUB]----|
    | IN1: Counter
    | IN2: 1
    | OUT: Counter    → Counter: Counter - 1
        
Network 2:
|---[SUB]----|
    | IN1: 0
    | IN2: 1
    | OUT: Counter    → Counter: -1
        

Açıklama: Geri sayım uygulamalarında kullanılır.

10. ABS (Mutlak Değer)

Açıklama: Bir sayının mutlak değerini hesaplar, negatif sayıları pozitife çevirir.

Parametreler:

ParametreVeri TipiAçıklama
ININT, DINT, REALMutlak değeri alınacak sayı
OUTINT, DINT, REALMutlak değer

Örnekler:

Network 1:
|---[ABS]----|
    | IN: -5
    | OUT: Absolute_Value    → Absolute_Value: 5
        
Network 2:
|---[ABS]----|
    | IN: 3
    | OUT: Absolute_Value    → Absolute_Value: 3
        

Açıklama: Sinyal düzeltmelerinde kullanılır.

11. MIN (Minimum Değer)

Açıklama: Verilen değerler arasında en küçük olanı seçer.

Parametreler:

ParametreVeri TipiAçıklama
IN1, IN2, ...INT, DINT, REALKarşılaştırılacak değerler
OUTINT, DINT, REALEn küçük değer

Örnekler:

Network 1:
|---[MIN]----|
    | IN1: 5
    | IN2: 3
    | IN3: 8
    | OUT: Minimum_Value    → Minimum_Value: 3
        
Network 2:
|---[MIN]----|
    | IN1: -1
    | IN2: -3
    | OUT: Minimum_Value    → Minimum_Value: -3
        

Açıklama: Sınır belirlemede kullanılır.

12. MAX (Maksimum Değer)

Açıklama: Verilen değerler arasında en büyük olanı seçer.

Parametreler:

ParametreVeri TipiAçıklama
IN1, IN2, ...INT, DINT, REALKarşılaştırılacak değerler
OUTINT, DINT, REALEn büyük değer

Örnekler:

Network 1:
|---[MAX]----|
    | IN1: 5
    | IN2: 3
    | IN3: 8
    | OUT: Maximum_Value    → Maximum_Value: 8
        
Network 2:
|---[MAX]----|
    | IN1: 2.5
    | IN2: 3.2
    | OUT: Maximum_Value    → Maximum_Value: 3.2
        

Açıklama: Üst sınır belirlemede kullanılır.

13. LIMIT (Sınırlama)

Açıklama: Bir değeri alt ve üst sınırlar arasında tutar.

Parametreler:

ParametreVeri TipiAçıklama
ININT, DINT, REALSınırlandırılacak değer
MININT, DINT, REALAlt sınır
MAXINT, DINT, REALÜst sınır
OUTINT, DINT, REALSınırlandırılmış değer

Örnekler:

Network 1:
|---[LIMIT]----|
    | IN: 10
    | MIN: 5
    | MAX: 15
    | OUT: Limited_Value    → Limited_Value: 10
        
Network 2:
|---[LIMIT]----|
    | IN: 20
    | MIN: 5
    | MAX: 15
    | OUT: Limited_Value    → Limited_Value: 15
        

Açıklama: Aşırı değerleri kontrol altına alır.

14. SQR (Kare Alma)

Açıklama: Bir sayının karesini hesaplar.

Parametreler:

ParametreVeri TipiAçıklama
INREALKaresi alınacak sayı
OUTREALKare değeri

Örnekler:

Network 1:
|---[SQR]----|
    | IN: 4
    | OUT: Square_Value    → Square_Value: 16
        
Network 2:
|---[SQR]----|
    | IN: -3
    | OUT: Square_Value    → Square_Value: 9
        

Açıklama: Enerji veya alan hesaplamalarında kullanılır.

15. SQRT (Karekök)

Açıklama: Bir sayının karekökünü hesaplar. Giriş negatifse ENO 0 olur.

Parametreler:

ParametreVeri TipiAçıklama
INREALKarekökü alınacak sayı
OUTREALKarekök değeri

Örnekler:

Network 1:
|---[SQRT]----|
    | IN: 16
    | OUT: Sqrt_Value    → Sqrt_Value: 4
        
Network 2:
|---[SQRT]----|
    | IN: 2
    | OUT: Sqrt_Value    → Sqrt_Value: 1.414
        

Açıklama: Geometrik ölçümlerde kullanılır.

16. LN (Doğal Logaritma)

Açıklama: Bir sayının doğal logaritmasını (baz e) hesaplar. Giriş > 0 olmalıdır.

Parametreler:

ParametreVeri TipiAçıklama
INREALLogaritması alınacak sayı
OUTREALLogaritma değeri

Örnekler:

Network 1:
|---[LN]----|
    | IN: 2.718
    | OUT: Natural_Log    → Natural_Log: 1
        
Network 2:
|---[LN]----|
    | IN: 10
    | OUT: Natural_Log    → Natural_Log: 2.302
        

Açıklama: Büyüme oranlarında kullanılır.

17. EXP (Üstel Fonksiyon)

Açıklama: e^x değerini hesaplar.

Parametreler:

ParametreVeri TipiAçıklama
INREALÜs değeri
OUTREALÜstel değer

Örnekler:

Network 1:
|---[EXP]----|
    | IN: 1
    | OUT: Exp_Result    → Exp_Result: 2.718
        
Network 2:
|---[EXP]----|
    | IN: 2
    | OUT: Exp_Result    → Exp_Result: 7.389
        

Açıklama: Fiziksel modellerde kullanılır.

18. SIN (Sinüs)

Açıklama: Radyan cinsinden bir açının sinüs değerini hesaplar.

Parametreler:

ParametreVeri TipiAçıklama
INREALRadyan cinsinden açı
OUTREALSinüs değeri

Örnekler:

Network 1:
|---[SIN]----|
    | IN: 0.5236 (π/6)
    | OUT: Sine_Value    → Sine_Value: 0.5
        
Network 2:
|---[SIN]----|
    | IN: 1.5708 (π/2)
    | OUT: Sine_Value    → Sine_Value: 1
        

Açıklama: Dalga formu analizlerinde kullanılır.

19. COS (Kosinüs)

Açıklama: Radyan cinsinden bir açının kosinüs değerini hesaplar.

Parametreler:

ParametreVeri TipiAçıklama
INREALRadyan cinsinden açı
OUTREALKosinüs değeri

Örnekler:

Network 1:
|---[COS]----|
    | IN: 0
    | OUT: Cosine_Value    → Cosine_Value: 1
        
Network 2:
|---[COS]----|
    | IN: 3.1416 (π)
    | OUT: Cosine_Value    → Cosine_Value: -1
        

Açıklama: Salınım hesaplamalarında kullanılır.

20. TAN (Tanjant)

Açıklama: Radyan cinsinden bir açının tanjant değerini hesaplar.

Parametreler:

ParametreVeri TipiAçıklama
INREALRadyan cinsinden açı
OUTREALTanjant değeri

Örnekler:

Network 1:
|---[TAN]----|
    | IN: 0.7854 (π/4)
    | OUT: Tangent_Value    → Tangent_Value: 1
        
Network 2:
|---[TAN]----|
    | IN: 1.0472 (π/3)
    | OUT: Tangent_Value    → Tangent_Value: 1.732
        

Açıklama: Eğim hesaplamalarında kullanılır.

21. ASIN (Arcsinüs)

Açıklama: Bir sayının ters sinüsünü (arcsinüs) hesaplar, sonuç radyan cinsindendir.

Parametreler:

ParametreVeri TipiAçıklama
INREALSinüs değeri (-1 ile 1 arasında)
OUTREALRadyan cinsinden açı

Örnekler:

Network 1:
|---[ASIN]----|
    | IN: 0.5
    | OUT: Angle_Rad    → Angle_Rad: 0.5236 (π/6)
        
Network 2:
|---[ASIN]----|
    | IN: -0.5
    | OUT: Angle_Rad    → Angle_Rad: -0.5236 (-π/6)
        

Açıklama: Açı ölçümlerinde kullanılır.

22. ACOS (Arccosinüs)

Açıklama: Bir sayının ters kosinüsünü (arccosinüs) hesaplar, sonuç radyan cinsindendir.

Parametreler:

ParametreVeri TipiAçıklama
INREALKosinüs değeri (-1 ile 1 arasında)
OUTREALRadyan cinsinden açı

Örnekler:

Network 1:
|---[ACOS]----|
    | IN: 1
    | OUT: Angle_Rad    → Angle_Rad: 0
        
Network 2:
|---[ACOS]----|
    | IN: 0.5
    | OUT: Angle_Rad    → Angle_Rad: 1.0472 (π/3)
        

Açıklama: Açı ölçümlerinde kullanılır.

23. ATAN (Arctanjant)

Açıklama: Bir sayının ters tanjantını (arctanjant) hesaplar, sonuç radyan cinsindendir.

Parametreler:

ParametreVeri TipiAçıklama
INREALTanjant değeri
OUTREALRadyan cinsinden açı

Örnekler:

Network 1:
|---[ATAN]----|
    | IN: 1
    | OUT: Angle_Rad    → Angle_Rad: 0.7854 (π/4)
        
Network 2:
|---[ATAN]----|
    | IN: -1
    | OUT: Angle_Rad    → Angle_Rad: -0.7854 (-π/4)
        

Açıklama: Açı ölçümlerinde kullanılır.

24. FRAC (Kesirli Kısım)

Açıklama: Bir sayının tam sayı kısmı hariç kesirli kısmını verir.

Parametreler:

ParametreVeri TipiAçıklama
INREALKesirli kısmı alınacak sayı
OUTREALKesirli kısım

Örnekler:

Network 1:
|---[FRAC]----|
    | IN: 3.75
    | OUT: Fraction_Part    → Fraction_Part: 0.75
        
Network 2:
|---[FRAC]----|
    | IN: -2.3
    | OUT: Fraction_Part    → Fraction_Part: -0.3
        

Açıklama: Veri ayrıştırmada kullanılır.

25. EXPT (Üs Alma)

Açıklama: Bir taban değerinin belirli bir üs ile üstel değerini hesaplar.

Parametreler:

ParametreVeri TipiAçıklama
IN1REALTaban
IN2REALÜs
OUTREALÜstel değer

Örnekler:

Network 1:
|---[EXPT]----|
    | IN1: 2
    | IN2: 3
    | OUT: Expt_Result    → Expt_Result: 8
        
Network 2:
|---[EXPT]----|
    | IN1: 5
    | IN2: 2
    | OUT: Expt_Result    → Expt_Result: 25
        

Açıklama: Bilimsel hesaplamalarda kullanılır.

Avantajlar

  • Esneklik: Hem INT hem de REAL veri tipleriyle çalışır, geniş bir kullanım alanı sunar.
  • Modülerlik: Fonksiyonlar zincirlenerek karmaşık hesaplamalar yapılabilir.
  • Hata Yönetimi: EN/ENO mekanizmasıyla hata kontrolü sağlar.
  • Çok Yönlülük: Temel aritmetikten trigonometrik hesaplamalara kadar geniş bir yelpazeyi kapsar.

Dikkat Edilmesi Gerekenler

  • Veri Tipi Uyumu: Fonksiyonlar için doğru veri tipini kullanın (örneğin, MOD yalnızca INT/DINT ile çalışır).
  • Sıfıra Bölünme: DIV fonksiyonunda sıfıra bölünme riskine karşı kontrol ekleyin.
  • Taşma Riski: Büyük sayılarla MUL veya EXPT kullanırken taşma kontrolü yapın.
  • Radyan Kullanımı: Trigonometrik fonksiyonlarda açıları radyan cinsinden girin.
< rotate180deg >

Uygulamalar

  • Sensör Veri İşleme: Sensör verilerinin toplanması, farklarının hesaplanması veya sınırlandırılması.
  • Matematiksel Modelleme: Fiziksel sistemlerin modellenmesi (örneğin, trigonometrik hesaplamalar).
  • Kontrol Sistemleri: PID kontrolörlerinde giriş değerlerinin sınırlandırılması veya mutlak değer alınması.
  • İstatistiksel Analiz: Logaritmik ve üstel fonksiyonlarla büyüme oranlarının hesaplanması.

İpuçları

  • Simülasyon: PLCSIM ile fonksiyonları test ederek sonuçları doğrulayın.
  • Hata Loglama: ENO 0 olduğunda hatayı kaydedin ve operatörü bilgilendirin.
  • Veri Doğrulama: Matematiksel işlemlerden önce Check Validity ile verileri kontrol edin.
  • Modüler Yapı: Karmaşık hesaplamaları birden fazla fonksiyonla zincirleyerek sadeleştirin.

Sonuç

Siemens TIA Portal’da Ladder programlama ortamında yer alan matematik fonksiyonları, otomasyon sistemlerinde kritik hesaplamaların doğru ve güvenilir bir şekilde gerçekleştirilmesini sağlar. Bu rehberde, temel aritmetik işlemlerden trigonometrik ve logaritmik hesaplamalara kadar tüm fonksiyonlar detaylıca ele alınmış, her biri için örnekler verilmiştir. Bu fonksiyonları projelerinizde kullanarak sensör verilerini işleyebilir, kontrol sistemlerini optimize edebilir ve karmaşık matematiksel modeller oluşturabilirsiniz. Daha fazla bilgi için Siemens TIA Portal Dokümantasyonu’nu ziyaret edebilirsiniz.

Yorumlar