4-20 ma Hesaplama

mc_grsl

Üye
Katılım
12 Nis 2008
Mesajlar
4
Puanları
1
Yaş
40
Öncelikle merhaba arkadaşlar ben plc proğramlamayı öğrenmeye çalışıyorum bunuda codesys'in cfc dili ile yapmaya çalışıyorum ve bir yerde takıldım yardımınıza ihtiyacım var. Şimdi -25 ile +25 arasında 4-20ma veren bir transmitter var. Bu transmitterden gelen 4ma'i -25 olarak, 20ma'i +25 olarak okuyacak bir fonksiyon bloğu oluşturamadım :( bu konuda bilgisi olan arkadaşlardam yardım bekliyorum Şimdiden teşekkürler.
 
Codsys i bilmem. Ama ENDA plc de hazir bir lineer blogu var. Sadece baslangic ve bitis noktalarini belirtiyorsun, ara degerleri blok otomatik olarak kendi hesapliyor.

NexusHD2 cihazımdan Tapatalk 2 ile gönderildi
 
Öncelikle merhaba arkadaşlar ben plc proğramlamayı öğrenmeye çalışıyorum bunuda codesys'in cfc dili ile yapmaya çalışıyorum ve bir yerde takıldım yardımınıza ihtiyacım var. Şimdi -25 ile +25 arasında 4-20ma veren bir transmitter var. Bu transmitterden gelen 4ma'i -25 olarak, 20ma'i +25 olarak okuyacak bir fonksiyon bloğu oluşturamadım :( bu konuda bilgisi olan arkadaşlardam yardım bekliyorum Şimdiden teşekkürler.

SCL bilmiyorum ama mantık şöyle olmalı.

y = m x + n formülünden

Y = [okunan / 27648] (-> real'a dönüştür) * 50.0 - 25.0

FB ye ait data block değişkenlerinde Y yi output ve real olarak tanımla, okunanı word input olarak tanımla. tmp alanında bir tmp1 değişkenini real tanımla, okunan'ı tmp1 tip dönüşümü yaparak ata. 27648.

Fonksiyon bloğunda işlemi yaptır ve Y değerini geri döndür (Return Y)
 
basit bir skalandırma bloğu yazabilirsin. örneğin;

deklarasyon kısmı:

var_in
analog_giris:int;
cikis_min:real;
cikis_max:real;
end
var_out
act_cikis:real;
end

program kısmı:

act_cikis:=(((analog_giris/27648)*(cikis_max-cikis_min))+cikis_min);

sanırım bu işini görebilir. yalnızca değişken dönüşümü (int_to_real) gerektirebilir hatırlamıyorum.

kolay gelsin. iyi çalışmalar....
 
Öncelikle merhaba arkadaşlar ben plc proğramlamayı öğrenmeye çalışıyorum bunuda codesys'in cfc dili ile yapmaya çalışıyorum ve bir yerde takıldım yardımınıza ihtiyacım var. Şimdi -25 ile +25 arasında 4-20ma veren bir transmitter var. Bu transmitterden gelen 4ma'i -25 olarak, 20ma'i +25 olarak okuyacak bir fonksiyon bloğu oluşturamadım :( bu konuda bilgisi olan arkadaşlardam yardım bekliyorum Şimdiden teşekkürler.

Oscat diye bir kütüphane var. Bu formda da konusu geçti daha önce. Onu bulup indirdikten ve projene ekledikten sonra bu işi yapan fonksiyonu içerisinde bulabilirsin.
 
eger programlama yapacagın program SoMachineyse modülünü programdan ekle sana birde örnek resim gönderegim ordan ayarlarsın istedigin gibi



Adsız2.jpgAdsız3.jpganalog.jpg
 
Moderatör tarafında düzenlendi:

Forum istatistikleri

Konular
129,842
Mesajlar
930,702
Kullanıcılar
452,686
Son üye
heisener123

Yeni konular

Geri
Üst