Datenausreisser im DB

Deep Blue

Level-2
Beiträge
431
Reaktionspunkte
17
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich kämpfe z.Zt. mit einem Problem, welches meinen geistigen Horizont sprengt. Die AWL Programmzeile sieht so aus:

Code:
      AUF   DB    15
      L     PEW  330
      SSI   3
      ITD   
      DTR   
      L     1.296000e+000
      /R    
      TRUNC 
      +     -12
      T     DBW  208
      T     DB7.DBW  188
      L     -50
      <=I   
      =     DB5.DBX    3.5

In meiner Variablentabelle springt der Wert in DB7.DBW188 und der Wert in DB15.DBW208 ist konstant. Wie kann so etwas zustande kommen? Sie werde doch beide im selben Netzwerk erstellt, sollten demzufolge auch den selben Zyklen unterliegen und demzufolge auch im DB die selben konstanten Werte haben.
Der Wert vom DB7.DBW188 geht in Sprüngen bis auf 28000. Das PEW ist ok.:confused:
 
Da wird wohl im DB 7 auf das DW 188 (oder einem Teil davon) noch an anderer Stelle im Programm geschrieben.

Benutze doch die Variablennamen des DB, dann passiert so etwas nicht so schnell.

Gruß
raika
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöchen

Sieh dir die Referenzdaten an und kontrollier ob auf dw 188 / dw 187 / dd 185 / dd 186 / dd 187 / dd 188 bzw die ganzen bits von d188.0 d 189.0 db 188 / db 189 noch von wo beschrieben werden.

wenn du nichts findest dann bleibt dir nichts anderes übrig das du denn restlich code lahmlegst und nur diesen code reinspielst dann wirst du sehen das das dw188 stehen bleibt . dann nach der reihe denn restlichen code wieder freigeben und sehen ab wann es zu springen beginnt und dann diesen fc bzw fb kontrollieren
 
Hallöchen

Sieh dir die Referenzdaten an und kontrollier ob auf dw 188 / dw 187 / dd 185 / dd 186 / dd 187 / dd 188 bzw die ganzen bits von d188.0 d 189.0 db 188 / db 189 noch von wo beschrieben werden.

wenn du nichts findest dann bleibt dir nichts anderes übrig das du denn restlich code lahmlegst und nur diesen code reinspielst dann wirst du sehen das das dw188 stehen bleibt . dann nach der reihe denn restlichen code wieder freigeben und sehen ab wann es zu springen beginnt und dann diesen fc bzw fb kontrollieren

Also ich habe das vorher schon einmal getan und mir alles um mein DBW 188 angesehen. Es springen "nur" das 188´er und 189´er Byte. Es sind auch immer die selben Werte, welche "angesprungen" werden. Ich zeige Sie mal:
So soll es sein
DB7.DBW 188 DEZ 280
DB7.DBB 188 DEZ 1
DB7.DBB 189 DEZ 24

Fehler
DB7.DBW 188 DEZ 256
DB7.DBB 188 DEZ 1
DB7.DBB 189 DEZ 0

Fehler
DB7.DBW 188 DEZ 50
DB7.DBB 188 DEZ 0
DB7.DBB 189 DEZ 50

Ich komme einfach nicht weiter. Wie kann ich denn definitiv alles sehen, was mir mein DBW füllt? Code aus dem laufenden Programm möchte ich eigentlich nicht still legen, da die Anlage unser Herzstück ist und wir 24 Std. am Tag damit produzieren.
 
hallöchen

must du unbedingt diese speicherstelle nehmen sonst nimm einfach eine andere

spiel das programm in denn simulator und probier es dort aus

das problem ist das du auch indirekt drauf zugreifen kannst und dass siehst du nirgens in deinen referenzdaten

vor deiner änderung für was wurde diese speicherstelle genommen

kann es sein das dir eine panel oder ein wincc oder was auch immer auf diese speicherstelle schreibt

kann es sein das dir eine andere steuerung auf diese speicherstelle schreibt usw usw usw usw
 
Zuviel Werbung?
-> Hier kostenlos registrieren
kann es sein das dir eine panel oder ein wincc oder was auch immer auf diese speicherstelle schreibt

kann es sein das dir eine andere steuerung auf diese speicherstelle schreibt usw usw usw usw

Hallo kPeter,

vielen Dank erst mal für Deine Hilfe. Also da hängt schon eine Visu dran, welche auch Daten übergibt. Ich habe aber alle Scripte und Kommunikationskanäle angesehen, keiner schreibt auch nur im Ansatz einen Wert in dieser Nähe. Die Daten kommen definitiv aus dem FC, wo auch das konstante DW gebildet wird. Es ist ja gar nicht mal so schlimm (ist ein Handfühler) das der Wert macht was er will, doch möchte man ja gerne wissen: WARUM??? Naja, eines schönen Tages werde ich die Ursache wohl finden, bis dahin heule ich mich Nacht für Nacht in den Schlaf :D :rolleyes: :D
 
Was sagt die Querverweisliste ?
Passier das auch, wenn du nur diesen FCxy im OB 1 aufrufst und der Rest auskommentiert ist?

hth

kiestumpe
 
Zurück
Oben