Step 7 SCL Editor Frage

Sickone4

Level-2
Beiträge
68
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo und guten morgen Leute,

ich habe mal eine möglicherweise ganz dumme Frage:

ich hab einen Fb in SCl (Step 7 5.5) geschrieben und möchte diesen nun beobachten. Der Balken unten rechts der in den normalen Editoren (AWL FUP KOP) angezeigt wird läuft immer von links nacht rechts durch.
In meinem SCL Editor steht der grüne Balken permanent bei 100%, falls man das so nennen darf. Sprich der flackert nicht. Ist das korrekt oder habe ich einen Fehler? (0 Fehler 0 Warnungen)
Wenn das nämlich in den anderen Editoren auftritt ist immer irgendwas falsch. Im SCL Editor hab ich nur noch nie ein flackern bemerkt.

Gruß
Sven
 
Hallo,
- hast du im SCL-Editorbereich unter Extras\Einstellungen\Compiler die Option "Debug-Info erstellen" aktiviert ?
- bist du sicher, ob der gewünschte Programmteil überhaupt bearbeitet wird ? (IF-Abfrage , Schleife , Select Case , etc.)

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Balken unten rechts der in den normalen Editoren (AWL FUP KOP) angezeigt wird läuft immer von links nacht rechts durch.

Das ist beim SCL Editor normal. Wenn was nicht durchlaufen wird, wird zum Symbol/Variable kein wert angezeigt, also statt "symbol = 20" steht "symbol = "

mfG René
 
Zuletzt bearbeitet:
also die debug sache ist aktiviert und die for schleifen sollten alle durchlaufen werden, da sie nicht getriggert sind (via if o.Ä.)
 
Sorry ... das ist ja jetzt ein bißchen "stockern ins Blaue" was wir hier machen ... deshalb verzeih mir die Frage : der Baustein selbst wird auch bearbeitet ...?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ja der baustein wird abgearbeitet. im prinzip funktioniert er auch.
jetzt kommt das aber.

ich hab einige for schleifen in dem baustein, die gewisse sachen ausführen. diese laufen prinzipiell in jedem zyklus ab. ich weiß
dass das noch nicht ideal ist, aber das ist erstmal der aktuelle stand.

die for schleifen laufen alle auch nur von 1 bis 52.

was mich jedoch wundert ist, dass die for schleife um die es mir speziell geht scheinbar nur durch einen trigger einmalig abgearbeitet wird, der jedoch garnichts mit der funktion zutun hat.

und so sieht die for schleife aus:

Code:
FOR i:= 1 TO 52 DO
   
   // 1..11 
   IF    IO_AppPos[i] >= arrI[1] AND IO_AppPos[i] < arrI[2] THEN
      "DB_Apps".App[i].Page := 101;
   
   // 12..21   
   ELSIF IO_AppPos[i] >= arrI[2] AND IO_AppPos[i] < arrI[3] THEN
      "DB_Apps".App[i].Page := 102;
   
   // 22..31   
   ELSIF IO_AppPos[i] >= arrI[3] AND IO_AppPos[i] < arrI[4] THEN
      "DB_Apps".App[i].Page := 103;

   // 32..41
   ELSIF IO_AppPos[i] >= arrI[4] AND IO_AppPos[i] < arrI[5] THEN
      "DB_Apps".App[i].Page := 104;
   
   // 42..52   
   ELSIF IO_AppPos[i] >= arrI[5] AND IO_AppPos[i] < 52 THEN
      "DB_Apps".App[i].Page := 105;
      
   ELSE
      "DB_Apps".App[i].Page := 101;   
   END_IF;

END_FOR;

also ohne trigger gestartet, es gibt auch keinen trigger davor oder danach
 
... dann ist es eine Frage, in welcher Spalte du im SCL-Editor mit dem Cursor beim Beobachten stehst.

Stehst du in der Zeile " For i ..." dann zeigt er dir wahrscheinlich irgendeinen der möglichen i-Werte an - nämlich den, den i zum Zeitpunkt der Abfrage hatte. Das ist hier natürlich von der CPU abhängig und davon, wann die ihre B&B-Kommunikation abwickelt.

Stehst du in der Zeile "IF ..." dann sollte dir von den darin befindlichen Variablen der Inhalt angezeigt werden - je nachdem, welchen Wert i hier hat ...
Stehst du in der Zeile nach der If-Abfrage dann ist die Status-Anzeige davon abhängig ob das Ergebnis der IF-Abfrage vorher ein TRUE ergab - wenn nicht dann würde diese Zeile gar nicht bearbeitet werden ...

Das, was du da hast ist zum Debuggen nicht unbedingt toll.
Du könntest, um mehr zu sehen ggf. das "FOT .. TO" einfach auskommentieren und an Stelle dessen den Wert von i testweise fest zuweisen. Vielleicht hilft dir das ...

Gruß
Larry
 
Hi!

Setz doch mal einen haltepunkt in der schleife, dann siehst du doch ob und wann sie bearbeitet wird und du kannst jeden schleifendurchlauf kontrollieren und sehen was gemacht wird.

Gruß,

Ottmar
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich muss ganz ehrlich gestehen dass ich mich mit scl im editor von tia wohl besser auskenne als im editor von step 7. liegt wohl auch eher daran, dass in tia der aufbau den anderen editoren gleich gemacht wurde.
die schleife scheint zu funktionieren, ich wüsste auch nicht warum, das mit dem grünen balken ist jedoch so, wie beschrieben.

vielen dank schonmal
 
Zurück
Oben