Step 7 Keine Erklärung - evtl. die Mainzelmännchen?

spirit

Level-1
Beiträge
961
Reaktionspunkte
23
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi, liebe Helferlein! ;)

Ich stehe (wie in letzter Zeit des öfteren) mal wieder vor einem Rätsel:

War gestern Abend noch bei einer Kundenanlage - die hatte mein Vorgänger (mit entsprechender SPS-Ausbildung) noch programmiert und der Kunde bemängelt, dass plötzlich im Betrieb ein Meldefenster eingeblendet wird;
allerdings ohne Meldung.

Der Grund dafür ist klar; es ist für DB30.DBX32.5 in WinCCflex keine Meldung projektiert.
Nur, warum ist dieses BOOL plötzlich TRUE? :confused:

Es gibt dafür im ganzen Programm keinen Querverweis - siehe Bild!

Zwar kann ich über einen Merker DB30.DBX32.5 rücksetzen, aber sobald ich den Merker wieder wegnehme ist alles wieder auf TRUE.

Kann die SPS zaubern?

Sorry, aber wie könnte ich hier weiter vorgehen, wenn DB30.DBX32.5 niergends im Programm beschrieben wird?
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    77,5 KB · Aufrufe: 76
Zuletzt bearbeitet:
1. Hake mal "Überlappende Speicherbereiche" an, falls der Kollege irgendwas mit dem Word/Dword gemacht hat.
2. gib mal nur DBX32.5 in die Suche ein, da bekommst du zwar auch alle anderen DB, die dieses Bit verwenden, aber auch Konstrukte wie:

Auf DB30
...
= DBX32.5

angezeigt.

3. Nun bleibt nur noch indirekte Adressierung bzw. Fehladressierung und natürich auch noch die Möglichkeit, dass die ganze Struktur (DB) an einen FB/FC übergeben und dort dann über die IN/INOUT - Variable zugegriffen wurde. Das wird dann ein nettes Suchen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

suche mal nach überlappende Zugriffe (haken setzen) und dann DB30.DBW32 bzw. DB30.dbd30, vieleicht wird irgendwo das Wort bzw. Doppelwort gesetzt.
Was natürlich auch noch sein kann das irgendwo indirekt auf den Speicherbereich zugegriffen wird.
Da kannst du dann eigentlich nur über Querverweis vom DB30 gehen (auch wieder überlappende zugriff nur nach DB30 suche).

Mfg
 
Nein, leider ...

Egal ob mit oder ohne "überlappende Zugriffe" - es wird keine Verwendungsstelle angezeigt.

Und wenn ich nur den DB30 eingeben, dann werden zwar viele Stellen aufgezeigt, aber keine die auf DB30.DBX32.5 passt.

Das kann doch gar nicht sein - es ist mitten im Betrieb passiert, ohne dass jemand am Programm eine Änderung gemacht hätte.

Es handelt sich um einen DB mit Störmeldungen, der nur in einer FC Anwendung findet ...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
... da bleibt dir dann wohl nur noch die Möglichkeit nach indirekten Adressierungen (also Pointern) zu suchen (der Punkt 3 aus Ralle's Vorschlag).
Hast du die Möglichkeit, bei dem Programm, verschiedene Bausteinaufrufe zeitweilig aus dem Ablauf zu nehmen um zu sehen, wann das Bit nicht mehr gesetzt wird ?

Gruß
Larry
 
Vielleicht stammt den Zugriff von ein SCL oder GRAPH generierte Baustein, wo beim kompilieren in SCL/GRAPH den Einstellung "Referenzen generieren" abgewählt war. Kann das sein ? In der Simatic Manager, gibt es Bausteine die als erzeugt mit SCL oder GRAPH markiert sind ?
Probier auch den Referenzliste zu neugenerieren.
Im schlimmsten Fall ist es ein Pointer wo auch das DB-Nummer zur Laufzeit generiert wird.

Zwar kann ich über einen Merker DB30.DBX32.5 rücksetzen, aber sobald ich den Merker wieder wegnehme ist alles wieder auf TRUE.
Gut, weil dann hast du eine realistischen Möglichkeit den Zugriff auf DB30.DBX32.5 zu finden. Wenn es nur passiert ab und zu wird es viel schwieriger.
 
Du kannst auch mal das Panel abhängen und schauen, ob das Bit überhaupt von der SPS gesetzt wird.
Manchmal macht auch ein Panel "seltsame" Sachen.

Gruß
Dieter
 
Ist dass eine Anlage die in Betrieb ist? Wenn ja könntest du einen Abzug im Simulator laufen lassen, wenn du dort immer noch das selbe passiert würde ich anfangen Baustein für Baustein auszukommentieren bis du den Übeltäter gefunden ist. Dann im Baustein noch mit Sprungmarken gewisse Teile überspringen bis man da bist...

Zum Thema Mainzelmännchen sage ich immer: Die CPU tut meinstens das was man ihr sagt. Gehorsam nach dem Motto: Ja Boss ... geht klar Boss ... wird gemacht ... wenn du das so schreibst Boss...
 
KAnn ja auch sein, das dieses Bit in der Visu selbst gesetzt wird und somit findet man es nicht in der SPS ;)
 
Wenn das Bit nur zur Anzeige benutzt wird und die Anzeige keinen Sinn bzw. unerwünscht ist im letzten Netzwerk des OB1 die Zeilen clear =DB30.DBX32.5 schreiben. Dann sollte das Meldefenster nicht mehr aufgehen.


Gesendet von iPhone mit Tapatalk
 
So, ganz herzlichen Dank für eure Hilfe - hat mir echt sehr geholfen, auch um Einiges auszuschließen! Hatte irgendwann den Wald vor lauter Bäumen nicht mehr gesehen.


Habe jetzt in mühsamer Kleinstarbeit das ganze Programm nach indirekten Adressierungen (Pointern) abgesucht und bin fündig geworden.

Leider hatte ich mich auf die Kundenaussage - es hat niemand etwas geändert - verlassen; doch dem kann nicht so sein ... *menno*


In besagtem DB wurden im oberen Bereich Störmeldungen hinzugefügt; allerdings wurde übersehen, dass jetzt der Bereich, der über die Pointer abgefragt wurde, sich ebenfalls verschoben hat. Die indirekte Adressierung
schaut eigentlich nur nach, ob eine Störmeldung aktiv ist, bzw., eine neue hinzugekommen ist.


Ok, werde es meinem Chef so sagen, dass am Programm zwingend Veränderungen vorgenommen worden sein müssen - den Rest muss er dann klären. Streite mich nicht mit dem Kunden rum. :???:


Wie macht ihr das nur, wenn dann zusätzlich noch Zeitdruck bei der Fehlersuche dazukommt - nicht auszudenken ...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ob etwas verändert wurde, kann man am besten über eine vernünftige Datensicherung feststellen und dieses dann dem Kunden unter die Nase halten.
Bausteinvergleich zwischen Datensicherung und Stand auf SPS durchführen und man sieht ob etwas verändert wurde. Ist für mich das A und O!!! Nur dann kann man sich sicher sein und sich weit aus dem Fenster lehnen und sagen der Kunde hat etwas verändert.
Und zum Thema Fehlersuche unter druck kann ich dir sagen, leg dir eine dickes Fell zu, wo auch mal "Angriffe " auf dich und sogar auf deine Person( Behauptung von Unfähigkeit) einfach abprallen, bzw. ganz gesund bewertet werden. denn nur wenn du selber ruhig bleibst und von dir überzeugt bist, kannst du ruhig bleiben und vernünftig nachdenken.
So habe ich das für mich jedenfalls gehandhabt. und las nichts an dich zu sehr an dich ran kommen sonst kann man ganz schnell an seinen eigenen Fähigkeiten zweifeln.
 
Ob etwas verändert wurde, kann man am besten über eine vernünftige Datensicherung feststellen und dieses dann dem Kunden unter die Nase halten.
Bausteinvergleich zwischen Datensicherung und Stand auf SPS durchführen und man sieht ob etwas verändert wurde. Ist für mich das A und O!!! Nur dann kann man sich sicher sein und sich weit aus dem Fenster lehnen und sagen der Kunde hat etwas verändert.
Und zum Thema Fehlersuche unter druck kann ich dir sagen, leg dir eine dickes Fell zu, wo auch mal "Angriffe " auf dich und sogar auf deine Person( Behauptung von Unfähigkeit) einfach abprallen, bzw. ganz gesund bewertet werden. denn nur wenn du selber ruhig bleibst und von dir überzeugt bist, kannst du ruhig bleiben und vernünftig nachdenken.
So habe ich das für mich jedenfalls gehandhabt. und las nichts an dich zu sehr an dich ran kommen sonst kann man ganz schnell an seinen eigenen Fähigkeiten zweifeln.

Ja danke - super Idee!

Wir haben ja das originale Programm bei uns in der Firma; dadurch sollte es sich leicht beweisen lassen, ob Änderungen vorgenommen wurden.

Es war ja z.T. jetzt schon grenzwertig, weil der Kunde (schlechtes Gewissen?) ständig hinter mir stand und fragte, wie lange das hier jetzt noch dauert ... da zweifelt frau dann schon sehr schnell an sich.

Und die Steigerung wäre - ein Automobilhersteller, bei dem jede Stunde (oder Minute?) Stillstand richtig Geld kostet. Wow.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...Wie macht ihr das nur, wenn dann zusätzlich noch Zeitdruck bei der Fehlersuche dazukommt - nicht auszudenken ...

1. Kaffee
2. Irgendwas mit der SPS machen
3. Irgendwas rückgängig machen
4. Anschiss
5. Neue Teile bestellen
6. Kaffee

Hab selten Montagen OHNE Zeitdruck.
Ausdenken könnt ich mir das schon.
 
1. Kaffee
2. Irgendwas mit der SPS machen
3. Irgendwas rückgängig machen
4. Anschiss
5. Neue Teile bestellen
6. Kaffee

Hab selten Montagen OHNE Zeitdruck.
Ausdenken könnt ich mir das schon.


Also ich glaube, wenn ich zu Pkt. 1 übergegangen wäre, dann hätte der Kunde blitzartig Schnappatmung bekommen ... ;)
 
Ja, oberster Grundsatz: bevor überhaupt irgendwas mit dem SPS-Programm gemacht wird, den eigenen offline-Projektstand mit dem online-Programm vergleichen! Soviel Zeit MUSS sein.

Außerdem bewahrt das einen selber davor, bei vernetzten Anlagen in der falschen Anlage oder mit dem falschen Projekt 'rumzumachen... Druck wegen Produktionsstillstand kann groß sein - ein Totalausfall wegen unüberlegtem Handeln ist aber noch viel schlimmer.

Harald
 
Zurück
Oben