FUNCTION_BLOCK ScaleXY
VAR_INPUT
X, X1,Y1,X2,Y2 :REAL; // X Girilen değer (X1,Y1) (X2,Y2) bilinen noktalara göre Scale edilir
END_VAR
VAR_OUTPUT
Y:REAL; // Çıkış
END_VAR
VAR
k,d:REAL; // Ara hesaplama değerleri
END_VAR
IF X1 = X2 THEN
Y:= 0; // X1 = X2 ise eşitse sıfıra bölme olmasın diye çıkış 0
ELSE
k: = (Y2-Y1) / (X2-X1); // fonk.nun eğimi(tanjantı) hesaplaması
d: = Y1 - (k * X1); // fonksiyon sabiti d, 1 noktaya göre(X1,Y1) hesaplanır
Y: = k * x + d; // Eğimi ve 1 noktası belli lineer fonksiyon denklemi çıkışı
END_IF