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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
Expression | String | Hesaplanacak ifade (örneğin, "IN1 + IN2") |
IN1, IN2, ... | INT, DINT, REAL | Giriş değişkenleri |
OUT | INT, DINT, REAL | Sonuç |
Ö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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN1, IN2, ... | INT, DINT, REAL | Toplanacak değerler |
OUT | INT, DINT, REAL | Sonuç |
Ö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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN1 | INT, DINT, REAL | Çıkarılacak değer (Minuend) |
IN2 | INT, DINT, REAL | Çıkaran değer (Subtrahend) |
OUT | INT, DINT, REAL | Fark |
Ö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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN1, IN2, ... | INT, DINT, REAL | Çarpılacak değerler |
OUT | INT, DINT, REAL | Sonuç |
Ö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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN1 | INT, DINT, REAL | Bölünen (Dividend) |
IN2 | INT, DINT, REAL | Bölen (Divisor) |
OUT | INT, DINT, REAL | Bö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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN1 | INT, DINT | Bölünen |
IN2 | INT, DINT | Bölen |
OUT | INT, DINT | Kalan |
Ö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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | INT, DINT, REAL | İşaret değiştirilecek değer |
OUT | INT, 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN1 | INT, DINT | Artırılacak değer |
IN2 | INT, DINT | Artış miktarı (genellikle 1) |
OUT | INT, DINT | Sonuç |
Ö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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN1 | INT, DINT | Azaltılacak değer |
IN2 | INT, DINT | Azalış miktarı (genellikle 1) |
OUT | INT, DINT | Sonuç |
Ö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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | INT, DINT, REAL | Mutlak değeri alınacak sayı |
OUT | INT, DINT, REAL | Mutlak 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN1, IN2, ... | INT, DINT, REAL | Karşılaştırılacak değerler |
OUT | INT, DINT, REAL | En 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN1, IN2, ... | INT, DINT, REAL | Karşılaştırılacak değerler |
OUT | INT, DINT, REAL | En 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | INT, DINT, REAL | Sınırlandırılacak değer |
MIN | INT, DINT, REAL | Alt sınır |
MAX | INT, DINT, REAL | Üst sınır |
OUT | INT, DINT, REAL | Sı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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Karesi alınacak sayı |
OUT | REAL | Kare 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Karekökü alınacak sayı |
OUT | REAL | Karekö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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Logaritması alınacak sayı |
OUT | REAL | Logaritma 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Üs değeri |
OUT | REAL | Ü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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Radyan cinsinden açı |
OUT | REAL | Sinü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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Radyan cinsinden açı |
OUT | REAL | Kosinü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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Radyan cinsinden açı |
OUT | REAL | Tanjant 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Sinüs değeri (-1 ile 1 arasında) |
OUT | REAL | Radyan 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Kosinüs değeri (-1 ile 1 arasında) |
OUT | REAL | Radyan 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Tanjant değeri |
OUT | REAL | Radyan 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN | REAL | Kesirli kısmı alınacak sayı |
OUT | REAL | Kesirli 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:
Parametre | Veri Tipi | Açıklama |
---|---|---|
IN1 | REAL | Taban |
IN2 | REAL | Üs |
OUT | REAL | Ü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 deREAL
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ızcaINT/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
veyaEXPT
kullanırken taşma kontrolü yapın. - Radyan Kullanımı: Trigonometrik fonksiyonlarda açıları radyan cinsinden girin.
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
Yorum Gönder