Hallo,
ich kann nur immer wieder an die Programmierer appelieren, ihren Code zu kommentieren. Dazu hatte ich mich schon mehrfach geäußert.
Da meiner Meinung nach ST die mächtigste Sprache der IEC61131 ist, sollten Anfänger und Interessierte nicht auch noch durch unkommentierten Code abgeschreckt werden.
Es steigert doch das Verständnis, wenn man direkt sieht was die Codezeile bewirkt.
Ich möchte daher mal den Code von weiss_nix erklären:
Ich gehe davon aus, das vorher I01-I06 auf die Merker M01-M06 kopiert wurden
mb100 := 0; //Zählbyte auf 0 setzen
// eine FOR-Schleife mit der Laufvariable i von 1-6 in einerschrittweite durchlaufen
FOR MD01 := 1 TO 6 BY +1 DO
if i[MD01] then // nur wenn BitNr i in MD01 = 1 ist, dann
mb100 := mb100 +1; //Merkerbyte100 +1 Zählen
//sonst nichts machen
end_if;
END_FOR; //ende FOR-Schleife
mb101 := mb100; //Zählwert in das MB101 kopieren
Ich hoffe das ist zu verstehen
Gruß Thomas