s7 300 Scale algoritması

Aşağıdaki kodlada scale işlemi yapabiliriz daha önce SCL dilinde vermiştim bu kodu iki noktası belli doğru denklemini düşünelim (Lineer bir sistem için)
Birinci istedigimiz nokta X1=27648.0 iken Y1=0.0 olmalı
ikinci istediğimiz nokta X2=0.0 iken Y1=27648.0 OLSUN İSTİYORUZ
aşağıdaki fonksiyonu çağırın noktaları girin, X girişinden gelen bilgiyi verin size scale etsin ;)

Kod:
FUNCTION FC10: REAL  (* Fonk. sonucu y degeri *) 

(*this function calculates the linear equation f_lin = a*x + b given by two points x1/y1 and x2/y2. *)


VAR_INPUT       (*Değişkenleri tanıtma kısmımız *)
    X : REAL;   (* X için sonucu hesaplanacak değişken*)
    X1: REAL;   (* Varolan x1 degeri *)
    Y1 : REAL;  (* Varolan  y1 degeri *)
    X2 : REAL;  (* Varolan x2 degeri *)
    Y2 : REAL;  (* Varolan y2 degeri *)
END_VAR

BEGIN    (* Programımız burdan başlıyor *)

     FC10 := (Y2 - Y1) / (X2 - X1) * (X - X1) + Y1;  

END_FUNCTION

verdiğiniz bilgi için teşekkür ederim ancak ben stl ve lad programlama biliyorum. scl nin avantajları nelerdir öğrenmemde yarar varmıdır?
 
Sanırım bunlar SCL Değil CodeSys.

Evet tersleme bazen gerekiyor fakat tersleme işimizi görür dediğimiz bir çok yerde asıl aradğımızın PID olduğunu fark ediyoruz.
S7300 - 400 FB41 bir çok özellik barındıran çok özellikli bir PID Bloğu(fazla sayıda kullanıldığında daha fazla bellek alanı gerekiyor ve çevrim zamanını uzatıyor) bunun yerine kendi mantığımızla üretebileceğimiz daha basit basit bir PID yazamazmıyız ?, ben denedim ve açıkçası bir yerden sonra başaramadım.
 
Siemensteki SCL ile CodeSys ST dili aynı dildir ve PLC lerde hareket kabiliyeti en yüksek dildir.
Scale işlemi lineer bir ölçeklendirme işlemidir, PID işlemi kontrol olayıdır, PID içinde de verileri matematiksel işleme sokmadan önce scale işlemi yapılır, yoksa elmayla armutu karşılaştırmış olursun.
 
Son düzenleme:

Forum istatistikleri

Konular
130,126
Mesajlar
933,361
Kullanıcılar
453,199
Son üye
mosmanali01

Yeni konular

Çevrimiçi üyeler

Geri
Üst