Datenbaustein Profibus

andrece

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe ein problem. ich weiß folgendes in einem Datenbaustein Profibus nicht zu deuten: dort steht STAT 1, 2 usw. was bedeutet das? Bin in den Sachen noch nicht so bewandert


Andre
 
Ich habe ein problem. ich weiß folgendes in einem Datenbaustein Profibus nicht zu deuten: dort steht STAT 1, 2 usw. was bedeutet das? Bin in den Sachen noch nicht so bewandert
Wenn das die Ansicht im Online Modus ist, dann hat jemand im Offline Modus etwas an der Symboladresse oder an der Struktur geändert und nicht ins AG übertragen.

Wenn das die Ansicht im Offline Modus ist, dann hat einer den "defekten" (siehe oben) Datenbaustein vom AG in das PG geladen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist die Ansicht Offline wie Online auch. Ich suche nämlich das DB4. DBX3.1 nur wenn da keine Deklaration drin steht sondern nur STAT1, STAT 2 usw. kann ich damit ja nichts anfangen ne. Was kann man da machen?
 
Das ist die Ansicht Offline wie Online auch. Ich suche nämlich das DB4. DBX3.1 nur wenn da keine Deklaration drin steht sondern nur STAT1, STAT 2 usw. kann ich damit ja nichts anfangen ne. Was kann man da machen?

Obgleich die Sache ansich zwar unschön ist,
aber was hindert dich daran DB4.DBX3.1 mittels der Referenzdaten zu suchen?

Sobald der DB mindestens 4 Byte lang ist, gibt es auch ein DBX3.1,
vollkommen unabhängig ob das nun auch explizit so deklariert ist.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
nach Suche zeigt er ihn mir nur an wo er gelesen wird. es gibt nirgends was wo steht wie er in DB4 reingeschrieben wird. Kommt wohl über Profibus wir haben da noch so ne PPC Steuerung und FU´s mit drin
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ja das weiß ich. Aber es gibt nur den DB4 Profibus wo diese STAT drinstehen. Es ist nicht ersichtlich wo das DB4.DBX3.1 geschrieben wird auch überlappend nicht. Irgendwo muss ja in den DB geschrieben werden. Aber das findet man so nicht.

Kann mir denn jemand sagen was das STAT da drin bedeutet?
 
Kann mir denn jemand sagen was das STAT da drin bedeutet?
STAT ist ein Platzhalter-Name, den Step7 vergibt, wenn es den vom Programmierer vergebenen Name nicht mehr ermitteln kann.
Wie die Variablen im DB ursprünglich deklariert wurden, kann es aus dem Ladespeicher der CPU ermitteln, den Namen aber nicht.
Vor den STAT's muß aber auch noch die Adresse innerhalb des DB stehen.

Im übrigen ist es völlig egal, ob die Variablen im DB exakt so deklariert wurden, wie sie nachher im Programm verwendet werden.
Das Programm arbeitet nur mit den Adressen, nicht mit den Namen. Es liest sich aber im Programm besser, wenn die Deklaration
zur Verwendung passt. Es kommt nur darauf an, daß der DB groß genug deklariert wurde. Ich habe schon oft erlebt, daß Programmierer
aus Faulheit einfach nur viele Bytes oder Words oder DWords im DB deklariert haben und noch nicht einmal Namen vergeben haben, bis
der DB groß genug für die Verwendung ist.

Es wäre eventuell hilfreich, wenn Du mal den DB4 oder einen Screenshot davon hier hochlädst (als Dateianhang an einem Beitrag).
Ist der DB4 eigentlich ein Global-DB oder ein Instanz-DB (das steht im Step7-Bausteineordner in der Spalte Typ)?

Harald
 
Hi,

STAT = Statische Variable

Wie Paule bereits geschrieben hat, wurde der Datenbaustein Offline geändert und von der Steuerung (Online, anderer Stand des DBs) in das Offline Projekt kopiert.
Die Folge ist, der Variablenname (Bezeichner) der dafür mal vergeben wurde ist weg.

Such mal nach z.B. so was:
Code:
L   PEW256
T   DB4.DBW2

Gruss Daniel
 
hätte er das nicht gefunden wenn ich nach Verwendung schaue da kommt dann doch transferieren auch rein und man würde es finden
 
Schau mal ob du etwas wie P#DB4.DBX 0.0 BYTE XXX findest, dazu muss das Programm aber manuell durchsucht werden.

Gruss Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie kann man die Stelle(n) finden, wo der DB4.DBX3.1 beschrieben wird?

Das DB4.DBX3.1 ist Bestandteil von
* DB4.DBD0
* DB4.DBW2
* DB4.DBB3
* P#DB4.DBX0.0 BYTE 3 (oder länger oder andere Bereichsangaben, die DBX3.1 einschließen)

Wenn Du in den Referenzdaten den DB4.DBX3.1 gefunden hast, dann mach' mal einen Rechts-Klick auf diese Zeile
und dann auf "Referenzdaten für diesen Operanden anzeigen" (oder so ähnlich).
Oder an einer Verwendungstelle im Programm Rechts-Klick auf das DB4.DBX3.1 und "Gehe zu Verwendungsstelle..."
und dann in dem Dialog einen Haken bei "überlappende Zugriffe".
Bei beiden Verfahren sollten Dir nun die Byte/Word/DWord-Zugriffe mit angezeigt werden.

Wenn Du da auch nichts findest, dann mal bei Referenzdaten - Programmstruktur nach Verwendung der SFC20 suchen.
Hat Deine SPS einen Profibus-CP342-5? Dann mal nach Verwendung des FC "DP_RDAT" suchen, der heißt meistens FC5
(bei dem Name bin ich mir jetzt ohne Step7 nicht ganz sicher).

Ein Profibus-Slave kann nicht in einen DB schreiben, aber ein HMI-Panel oder eine Visualisierung oder ein anderer
mit der CPU vernetzter Teilnehmer. Hast Du ein Operator-Panel oder eine Visu an der CPU?

Du kannst auch mal Dein Programm in PLCSIM laden und versuchen, per VAT den Wert des DB4.DBX3.1 zu ändern.
Wenn das nicht geht, dann wird der DB4.DBX3.1 ganz sicher in dem Programm beschrieben.

Harald
 
ja wir haben ein panel dort dran ein T177B
Hast Du das WinCC flexible Projekt von dem TP?
Dann dort mal das DB4.DBX3.1 bei den Variablen suchen und Querverweise aufrufen.
Es könnte z.B. eine Schaltfläche sein, die dieses Bit beschreibt.

Wenn Du unter PLCSIM den Wert von dem Bit ändern kannst, dann ist es sehr wahrscheinlich,
daß die Schreibzugriffe von dem TP kommen.

Noch eine mögliche Schweinerei:

Mach' mal bei dem Refenzdaten-Filter einen * bei DB, so daß alle DB-Zugriffe aufgelistet werden.
Gibt es da Einträge für "AUF DB4" oder "AUF DB?" oder nur DBD0/DBW2/DBB3 ohne DB-Angabe?

Harald
 
Zurück
Oben