Anfänger in SCL

bluebird277

Level-1
Beiträge
100
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Kollegen:)

bin neu im Bereich ST auf Siemens Steuerungen bisher nur Beckhoff erfahrung :)

Kann mir jemnad erklären warum ich folgenden FB im Anhang nicht beobachten kann bzw warum der Run balken nicht läuft bzw steht?
 

Anhänge

  • SCL.doc
    186,5 KB · Aufrufe: 68
Beobachten tust du doch. Das siehst du weill die Aktualwerten für A1 und E1 angezeigt werden.

Warum es nicht läuft.
OB1 mit FB12 Aufruf ist geladen ? Probier OB1 zu beobachten.
CPU ist in RUN ? Du hast keiner Fehler-OBs. Es bedeutet das bei jeder kleine Fehler geht der CPU auf STOP.

NB. Postier screenshots als GIFs bitte !
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die hast im FUP-Aufruf des Bausteins deinen M0.0 an den EN (Enable) Eingang des FB gelegt. Dieser ist in FUP dazu da, um einen Baustein nur bedingt aufzurufen.
In deinem Fall wird der FB12 nur bearbeitet wenn M0.0 auf false steht.
Oder war das so gewollt? Ich könnte mir eher vorstellen dass du M0.0 an den Parameter E1 anschalten wolltest.

Beim Beobachten von SCL gibt es bei Siemens auch noch einen kleinen Unterschied zu Twincat ST. Bei ST lässt sich auch der Status bei bedingten Anweisungen die nicht wahr sind (IF/THEN, SWITCH/CASE etc.) anzeigen. Bei Siemens SCL wird in der Beobachtungs-Spalte dann kein Wert angezeigt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oh, stimmt.
Aber wenn der Status angezeigt wird und der Run-Balken aber nicht animiert ist, würde das heißen dass der Baustein zumindest einmal im Online-Status (also während der Bearbeitung) beobachtet wurde. Würde für mich bedeuten dass jemand den Wert von M0.0 schonmal geändert hat.

bedeutet es das wirklich? drückt der grüne balken nicht nur aus, cpu erreichbar und in run ... und wenn er sich zusätzlich noch bewegt: baustein wird bearbeitet?
so zumindest meine erfahrung...
 
Es scheint mir das bei der SCL Editor bewegt sich der grüne Balke nicht, obwohl das die code läuft. Bei der LAD/STL/FBD editor bewegt sich der grüne Balke.
Und in beide editoren schaltet der Balke auf Rot wenn der CPU geht in STOP.
Kann sein das es trotzdem läuft.

Probier der E1 mit ein MW Adresse in OB1 zu belegen, und dann der MW in ein VAT ändern.
 
Hallo danke für eure antworten

leider bekomme ich die Beobachtung nicht zum laufen.

selbst wenn ich MW anlegen geht es nicht.

Habe versucht eine boolsche Variable anzulegen und einen boolschen Ausgang zu setzten ging aber nicht.

Für mich sieht es so aus als ob der Baustein gar nicht bearbeitet wird.

Mache ich was falsch?
 
ok hab ich gemacht.

wie kann ich den sehen welche Zeile momentan aktiv ist bzw wo das Programm im moment gerade steht?
 

Anhänge

  • Versuc_3.zip
    614,2 KB · Aufrufe: 10
Man sieht nicht welche Zeile aktiv ist, nur ob eine Zeile ausgefüht wurde. Dann werden die Variabel-Werte angezeigt, wie in dein Screenshot.
Es macht auch nicht ganz Sinn um zu reden über welche Zeile momentan ausgeführt wird, weill ein SPS Program im Normal-Fall zyklisch ausgeführt wird.

Wenn der CPU ein Program-Fehler erkennt, geht es auf STOP wenn keine Fehler-OB vorhanden ist.
In den Fall kan man mit den B-stack sehen genau wo das Program gestoppt wurde.
 
ah ok wenn das normal ist bin das bisher anders gewohnt :)

kannst mir noch ein paar tipps geben wie man ein program in step7 scl debuggt?

bei beckhoff kann man sich anzeigen lassen welche zeilen gerade bearbeitet werden bzw welche bdingungen erfüllt sind und welche nicht geht das bei step7 nicht?

ok mittlerweile kann ich den ausgang setzten und rücksetzen aber dei variable test2 zeigt mir beim beobachten nie den aktuellen wert des a0.0 an den ich im ob verschaltet habe und in einer vat beobachte
 
Zurück
Oben