tests/syntax/configuration/configuration.txt
author Edouard Tisserant
Tue, 14 Dec 2021 08:48:05 +0100
changeset 1096 fad6e7a818e2
parent 109 3af0b849b9c6
permissions -rwxr-xr-x
Variable forcing now uses limited list and buffer instead of systematical instance tree traversal and in-tree "fvalue" to keep track of forced value for pointed variables (external, located). Pointer swapping is performed when forcing externals and located, with backup being restored when forcing is reset. Match Beremiz commit 93ad018fb602.



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