Array of BOOL: Anzahl von True und False

Zuviel Werbung?
-> Hier kostenlos registrieren
Moin, CODESYS 3.5 bzw. e!COCKPIT wäre etwas flexibler, aber in CODESYS 2.3 fällt mir auch nur das Zählen in einer Schleife ein.

axMemory: ARRAY [0..63] OF BOOL := 2(TRUE),2(FALSE),TRUE,2(FALSE),3(TRUE),FALSE,4(TRUE),FALSE,48(TRUE);
iIndex: USINT;
usiCounter: USINT;
xStartCounting: BOOL := TRUE;
---------------------
IF xStartCounting THEN
usiCounter := 0;
FOR iIndex:=0 TO 63 DO
usiCounter := usiCounter + BOOL_TO_USINT(axMemory[ iIndex ]);
END_FOR
xStartCounting := FALSE;
END_IF
 
Zurück
Oben