18.04.2019 14:00 | |
Beigetreten: 10.01.2012 Letzter Bes: 15.04.2024 Beiträge: 19 Bewertung: (1) |
Der Beitrag ist zwar schon älter, BITSUM ist sehr Langsam im vergleich zum einzeln Zählen und BITSUM geht auch bei der 1200er nicht //Hier Merker Bit´s Zählen, Baustein selber ist Optimiert #vDWord := PEEK_DWORD(area := 16#83, dbNumber := 0, byteOffset := #vIndex); IF #vDWord <> 0 THEN //#vCount := #vCount + INT_TO_DINT(BITSUM(#vDWord)); // nicht 1200er und 0,2ms vs 1,5ms langsamer bei 400Byte IF (#vDWord AND 2#1) <> 0 THEN #vCount := #vCount + 1; END_IF; IF (#vDWord AND 2#10) <> 0 THEN #vCount := #vCount + 1; END_IF; IF (#vDWord AND 2#100) <> 0 THEN #vCount := #vCount + 1; .... IF (#vDWord AND 2#10000000000000000000000000000000) <> 0 THEN #vCount := #vCount + 1; END_IF; ------------------------------------------------------------------------------------------ |
Zuletzt bearbeitet von: Jen_Moderator am: 20.04.2019 11:07:35Neue Überschrift nach Splitten |
|
05.06.2019 15:14 | |
Beigetreten: 10.10.2005 Letzter Bes: 29.08.2024 Beiträge: 1917 Bewertung: (136) |
Hallo Thomas, die Anweisung „BITSUM“ wird von der S7-1200 nicht unterstützt. Nur bei der S7-1500/S7-300/S7-400. Probieren Sie doch die Programmierung mit variablem Index, die im nachfolgend FAQ beschrieben sind. Diese können Sie auch bei der S7-1200 einsetzen. Wie kann ein Array-Zugriff bei einer S7-1200/S7-1500 mit variablem Index realisiert werden? Cicero |
Folgen Sie uns auf