tests/syntax/configuration/configuration.txt
author Edouard Tisserant
Tue, 15 Feb 2022 10:34:23 +0100
changeset 1098 84bbafb4fb26
parent 109 3af0b849b9c6
permissions -rwxr-xr-x
Fixed logic for REPEAT..UNTIL

In Stage4, C code generator, REPEAT statement was generating a while loop with inverted logic



PROGRAM foo
VAR_INPUT
  single, interval, priority : BOOL;
END_VAR
  LD single
  LD interval
  LD priority
END_PROGRAM


PROGRAM priority
VAR_INPUT
  bar : BOOL;
END_VAR
  LD bar
END_PROGRAM


PROGRAM single
VAR_INPUT
  bar : BOOL;
END_VAR
  LD bar
END_PROGRAM


PROGRAM interval
VAR_INPUT
  bar : BOOL;
END_VAR
  LD bar
END_PROGRAM





CONFIGURATION config1
 TASK fast(PRIORITY := 4);
 PROGRAM P1 WITH fast:
       FOO(single := TRUE, interval := TRUE, priority := TRUE);
END_CONFIGURATION


CONFIGURATION config2
 TASK fast(SINGLE := 3, PRIORITY := 4);
 PROGRAM P1 WITH fast:
       FOO(single := TRUE, interval := TRUE, priority := TRUE);
END_CONFIGURATION


CONFIGURATION config3
 TASK fast(INTERVAL := T#1s, PRIORITY := 4);
 PROGRAM P1 WITH fast:
       FOO(single := TRUE, interval := TRUE, priority := TRUE);
END_CONFIGURATION


CONFIGURATION config4
 TASK fast(SINGLE := 3, INTERVAL := T#1s, PRIORITY := 4);
 PROGRAM P1 WITH fast:
       FOO(single := TRUE, interval := TRUE, priority := TRUE);
END_CONFIGURATION