Comparaison des éditeurs de programmation

Critères possibles de sélection d’un éditeur de programmation :

Opérations booléennes : Éditeur LD/FBD recommandé

LD/FBD (recommandé)

ST

LI

(* 2 of 3 *)
Y1:=NOT X1 AND X2 AND X3 OR
    X1 AND NOT X2 AND X3 OR
    X1 AND X2 AND NOT X3;

(* Handle error case *)
if (Error1 OR Error2 OR Error3) then
    Alarm:=TRUE;
    Horn :=TRUE;
end_if;

(* Confirm alarm *)
if (ConfirmAlarm) then
    Horn:=FALSE;
end_if;

(* Reset alarm *)
if (ResetAlarm AND NOT Error1 AND NOT Error2 AND
NOT Error3) then
    Alarm:=FALSE;
    Horn :=FALSE;
end_if;

42 pas

35 pas

35 pas

Appels de fonctions : Éditeur LD/FBD recommandé

LD/FBD (recommandé)

ST

LI

(* Calculate statistical parameters *)
if (bCalculateStatistics) then
   	StatisticalCalculations(CalculateSum := bCalcSum,
                            CalculateMean := bCalcMean,
                            CalculateDeviation := bCalcDeviation,
                            Number := 3,
                            Input1 := Integer1,
                            Input2 := Integer2,
                            Input3 := Integer3,
                            Sum => Sum,
                            Mean => Mean,
                            Deviation => Deviation);
end_if;

32 pas

35 pas

35 pas

Calculs inconditionnels : Éditeur ST recommandé

LD/FBD

ST (recommandé)

LI

(* Linear interpolation: *)
y:=y1+(x-x1)*(y2-y1)/(x2-x1);

108 pas

108 pas

108 pas

Calculs conditionnels : Éditeur ST recommandé

LD/FBD

ST (recommandé)

LI

(* Conditional linear interpolation *)
if (NOT(XLtX1) AND NOT(XGtX2) AND
    NOT(X1EqualX2)) then
    y:=y1+(x-x1)*(y2-y1)/(x2-x1);
end_if;

111 pas

109 pas

109 pas

Calculs "Si-Sinon" conditionnels : Éditeur ST recommandé

LD/FBD

ST (recommandé)

LI

NOTA

Lorsque le calcul inconditionnel est modifié en un calcul conditionnel, l’ensemble du réseau doit être redessiné !

if (x > x1) then
    y:=y1;
elsif (x < x2) then
    y:=y2;
elsif (x1 = x2) then
    y:=(y1 + y2)/2;
else	(* Linear interpolation *)
    y:=y1+(x - x1)*(y2 - y1)/(x2 - x1);
end_if;

194 pas

190 pas

194 pas

Opérations de boucle : Éditeur ST recommandé

LD/FBD

ST (recommandé)

LI

Sum:=0;
for i := 1 to 10 do
    Sum:=Sum+Array1[i];
end_for;
Mean:=Sum/10;

Conclusion :

Modifié le : 2022-06-17Commentaires sur cette pageAssistance téléphonique