OpenPLC Platformu Kullanarak Matematiksel İşlemler

This article explains how PLC systems perform core mathematical operations such as addition, subtraction, multiplication, division, modulo, and exponentiation within industrial automation. It shows...

OpenPLC, birçok açık kaynaklı PLC için veri hesaplamayı mümkün kılar. Geleneksel PLC'ler gibi, OpenPLC yazılımı da endüstriyel otomasyon hesaplama görevlerine yardımcı olmak için bir matematik komutları kütüphanesi sunar. Bu matematik hesaplamaları, ölçeklendirme, birim dönüşümleri ve üretim sayımı yönetimi gibi görevlerde kullanılır.

Matematik tabanlı işlemler, Instruction List (IL) ve Structured Text (ST) gibi IEC 61131-3 programlama dilleri kullanılarak kolayca uygulanabilir; çünkü bu diller metin tarzı/İngilizce formatındadır. OpenPLC yazılımı kullanılarak matematik işlemlerini göstermek için Ladder Diagram (LD) programlama dili kullanılacaktır; çünkü bu dil, makineler için endüstriyel kontrol sistemlerinde karmaşık mantık işlemleri oluşturmak için yaygın olarak kullanılır.

 

OpenPLC Matematik Komutlarına Genel Bakış

OpenPLC yazılımı ile aritmetik işlemler değişken veriler üzerinde gerçekleştirilir. Değişkenlerle ilgili bir tartışma, önceki bir OpenPLC makalesinde bulunabilir.

OpenPLC ile birlikte gelen temel matematik komutları toplama (ADD), çıkarma (SUB), çarpma (MUL) ve bölmedir (DIV). OpenPLC yazılımı, üs alma (EXPT) ve modül alma (MOD) gibi gelişmiş matematik işlemlerini de gerçekleştirebilir.

 

 Şekil 1. OpenPLC matematik komutları sağdaki paneldeki Kütüphane'de bulunur.

Şekil 1. OpenPLC matematik komutları sağdaki paneldeki Kütüphane'de bulunur.

 

Veri Tipleri

Tüm matematik komutları herhangi bir sayısal veri tipini kullanabilir. Matematik denklemlerinde en yaygın olanlar tam sayılar (16-bit INT ve 32-bit DINT uzunluk) veya kayan noktalı sayılar (REAL) dır.

Veri tipi değerleri, LD oluşturma sürecindeki Etiket Listesi etkinliği sırasında oluşturulur. Fiziksel girişlerden gelmedikleri sürece, tüm veri tipi değerleri Etiket listesinde değiştirilebilir.

OpenPLC ortamında yaygın bir PLC sorunu önlenmiştir. Herhangi bir matematik komutu herhangi bir sayısal veri tipini kullanabilse de, karışık tiplere izin vermez. Bu, bir REAL sayıyı DINT ile toplayamayacağınız ve INT girişleri REAL çıkışa göndererek işlem yapamayacağınız anlamına gelir.

Bu faydalı bir yaklaşımdır çünkü karışık tiplerle oluşabilecek ara hataları azaltır. Örneğin, DIV komutu için REAL giriş kullanmak bazen tam sayı sonuçları verirken bazen kesirli sonuçlar verebilir. Elbette, tam sayı matematiğinde yuvarlama hataları olabilir, ancak işlemler arasında tutarlı veri tipleri zorunlu kılındığında bu tür hatalar öngörülebilir olur.

 

Toplama (ADD) FB

En temel matematik işlemi toplama olup, ADD fonksiyon bloğu ile gerçekleştirilir. ADD komutu birden fazla giriş değeri (genellikle analog giriş veya bellekte saklanan bir sayı) kullanabilir ve tam olarak bir sayısal çözüm sağlar. ADD FB, hesaplanan sonucun kullanıcıya bildirildiği bir alarm veya pilot çıkış gibi fiziksel bir çıkış cihazını etkinleştirmek için kullanılabilir.

 

 Şekil 2. ADD LD Programı.

Şekil 2. ADD LD Programı.

 

Bu merdiven diyagramında, Compute düğmesi EN girişine aritmetik işlemi başlatır. ADD komutu seçildiğinde ek girişler dahil edilebilir. Son olarak, Enable Out (ENO) dijital çıkışı Answer1_LED göstergesini açar.

 

Çıkarma (SUB) FB

Çıkarma işlemi temelde negatif toplama gibidir, ancak SUB fonksiyon bloğu kullanılarak uygulanır. Compute düğmesi kapandığında, iki değişken veri tipi birbirinden çıkarılır.

Bu örneklerde, Etiket Listesinden simüle edilen değerler mor renkte gösterilmiştir. Bu örnekte, 5-4=1 basit bir denklem örneğidir. Ayrıca, Enable Out (ENO) pini Answer2_LED göstergesini açar.

Çıkarma hesaplamaları, bir PLC basınç izleme uygulamasında hata belirlemek için kullanılabilir. Hata, SUB FB kullanılarak psi set noktası ile sensörden alınan gerçek ölçüm arasındaki fark olarak hesaplanabilir.

 

 Şekil 3. SUB LD Programı.

Şekil 3. SUB LD Programı.

 

Çarpma (MUL) FB

Çarpma, bir dizi toplama işlemidir ve MUL FB bu işlemi iki veya daha fazla değişken veri tipi veya sayı üzerinde gerçekleştirir. Etkinleştirme işlemi ADD ve SUB ile aynıdır; EN girişinin etkinleştirilmesidir.

Bu örnek, A_Number ile B_Number (50x144) sayısını çarparak 7200 sonucunu üretir. Bu aritmetik komut, bir boya proses kontrol uygulamasında sıcaklık sensörü verilerini ölçeklendirmek için kullanılabilir; burada hesaplanan sıcaklık değeri, ölçülen analog dijital dönüştürücü (ADC) değeri ile ölçek faktörünün çarpılmasıyla belirlenir.

 

 Şekil 4. MUL LD Programı.

Şekil 4. MUL LD Programı.

 

Bölme (DIV) FB

Bölme, iki giriş değeri ile sınırlı başka bir matematik işlemidir. Sıfıra bölme yapılmaması için dikkat edilmelidir; çünkü bu geçersiz bir matematiksel sonuç üretir. IN2 için 0 girilirse, program çalışmaz. Bu örnekte, 7200/144 bölme işlemi sonucu 50 elde edilir.

Tamsayı tabanlı sayılar (INT ve DINT) için, sonuç tam sayı değilse hatalar olabilir. Bölme işlemi yapıldığında, kalan tam sayıdan kesilir (kesilir). Örneğin, sonuç 8.99 olsa bile, tamsayı sonucu sadece 8 olur. Bu sorun REAL veri tipleri kullanılarak çözülebilir, ancak giriş değerlerinin de REAL tipine dönüştürülmesi gerekir.

 

 Şekil 5. DIV LD Programı.

Şekil 5. DIV LD Programı.

 

Modül (MOD) FB

Modül komutu, bölme işleminden sonra kalan sayıyı döndürür. Bu, üretim ortamlarında bir çıkışı 2'ye bölerek değiştirmek için yaygın olarak kullanılır; kalan her zaman 0 veya 1 olur. MOD LD programının yapısı Şekil 6'da gösterilmiştir.

DIV FB gibi, modül komutu da 2 değişken sayı ile sınırlıdır. İlk IN1 bölünen (bölünecek sayı), ikinci IN2 bölen ve OUT tam sayı bölümünden sonra kalan sayıdır.

 

 Şekil 6. MOD LD Programı.

Şekil 6. MOD LD Programı.

 

Üs Alma (EXPT) FB

Son OpenPLC Matematik Komutu FB, üs alma (EXPT) fonksiyonudur. EXPT FB, bir taban sayısının n'inci kuvvetine (üs) yükseltilmesiyle sonucun elde edildiği gelişmiş bir aritmetik fonksiyondur. EXPT FB, PLC'nin üssel büyüme veya azalma modeli hesaplamalarını yaptığı kimyasal proses reaktörlerinde kullanılabilir.

EXPT FB'nin doğru kurulumu için, LD programının Etiket Listesinde gerçek bir sayı tanımlanmalıdır. Üs veya kuvvet tam sayı olarak belirlenir. Şekil 7, 7^2 işleminin kurulumu ve sonucunu gösterir.

 

 Şekil 7. EXPT LD Programı.

Şekil 7. EXPT LD Programı.

 

Sonuç

OpenPLC, mantık tabanlı kontrol işlemlerinin yanı sıra matematiksel komutları da çalıştırabilir. Sunulan matematik komutları, OpenPLC yazılımının potansiyel hesaplama gücünü gösterir. Her LD programında görüldüğü gibi, değişken veri tiplerinin doğru tanımlanması, hedef ESP32 veya Arduino tabanlı PLC'ye indirme sürecinde derleme hatalarını azaltacaktır.

Her LD basamağı titizlikle oluşturularak, Celsius'tan Fahrenheit'a dönüşüm gibi karmaşık dönüşüm denklemleri OpenPLC matematik komutları kullanılarak gerçekleştirilebilir. Örnek OpenPLC LD programları buradan indirilebilir.

Yorum bırakın

Lütfen unutmayın, yorumların yayınlanmadan önce onaylanması gerekmektedir.