Comparación de los editores de programación

Los principales criterios para seleccionar un editor de programación son los siguientes:

Operaciones booleanas: Editor LD/FBD recomendado

LD/FBD (recomendado)

ST

IL

(* 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 pasos

35 pasos

35 pasos

Llamadas a la función: Editor LD/FBD recomendado

LD/FBD (recomendado)

ST

IL

(* 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 pasos

35 pasos

35 pasos

Cálculos incondicionales: Editor ST recomendado

LD/FBD

ST (recomendado)

IL

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

108 pasos

108 pasos

108 pasos

Cálculos condicionales: Editor ST recomendado

LD/FBD

ST (recomendado)

IL

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

111 pasos

109 pasos

109 pasos

Cálculos condicionales if-else: Editor ST recomendado

LD/FBD

ST (recomendado)

IL

NOTA

¡Cuando se cambia del funcionamiento incondicional al condicional se tiene que redibujar la red completamente!

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 pasos

190 pasos

194 pasos

Operaciones de bucle: Editor ST recomendado

LD/FBD

ST (recomendado)

IL

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

Conclusión:

Modificado el: 2022-04-19Comentarios sobre esta páginaLínea directa de Panasonic