Step 7 Verwendung Variable Multiinstanz Datenbaustein

Manuel123

Level-2
Beiträge
33
Reaktionspunkte
0
Hallo zusammen,

leider bin ich in dem Thema STep 7 nicht mehr so drin deshalb benötige ich Hilfe.

Kurze Beschreibung der Anlage:

Es handelt sich um eine Pulveranlage mit einer S7 Steuerung zusammen mit einem ASI-Bus.
Eine manuelle Pulverkabinenanwahl soll automatisiert werden.
Im Moment erfolgt die Anwahl über einen Wahlschalter E3.4.
Der Eingang wird in einem FB verwendet um einen Wert in eine lokale Variable zu schreiben.
Der FB wird nicht noch mal aufgerufen und ich finde auch keine weitere Verwendung der Variablen.
Die Variable muss aber irgendwo unter anderem dafür zuständig sein die Weiche für die Anwahl der Pulverkabine 1 oder 2 zu steuern.

Kann ich igrendwie die Variable #CodecValue suchen?

Anbei noch zwei Bilder von dem Programm

Danke euch vorab


PS.: Kann es sein das ASI direkt auf Datenbausteine zhugreifen kann???
Mir wäre das neu. Soweit ich weiß läuft der Datenaustausch über parametrierte Ein- und Ausgangsvariablen aber vielleicht täuche ich mich auch.
 

Anhänge

  • Bild1.jpg
    Bild1.jpg
    68 KB · Aufrufe: 41
  • Bild2.PNG
    Bild2.PNG
    12,8 KB · Aufrufe: 31
Zuletzt bearbeitet:
Hallo Manuel,

schon den DB39 in den Referenzdaten / Querverweise angeguckt? (Im Simatic Manager rechte Maustaste auf Bausteine -> Referenzdaten)

Gruß Ralf
 
DB nicht mit "Parametrieren von Datenbausteinen" sonder alternativ im DB-Editor öffnen (sollte er dich Fragen, wenn du es nicht ausgestellt hast).

Dann Rechtsklick auf entsprechenden Datenpunkt und "Gehe zur Verwendungsstelle". Wird er iwo außerhalb des IDB aufgerufen, wird das angezeigt.

Guckst du hier:

SIMATIC-2017-03-10-12-24-30.jpg
 
Das habe ich natürlich schon versucht.
Rechtsklick auf den Datenpunkt und es öffnet sich kein Fenster um "Gehe zur Verwendungsstelle" auszuwählen.
 
Die Variable muss aber irgendwo unter anderem dafür zuständig sein die Weiche für die Anwahl der Pulverkabine 1 oder 2 zu steuern.
Die Variable ist eine Instanzdatenvariable. Zugriffe von außen (außerhalb des FBs in dem sie gültig sind), auf Instanzdaten sind nicht gerne gesehen. Kann man machen, sollte man aber nicht.
Ich würde kontrollieren ob da nicht der gleiche Eingang verwendet wird um eine Auswahl zu treffen.
Kann ich igrendwie die Variable #CodecValue suchen?
Wenn, dann müsstest du nach der Variable DB39.DBW0 suchen. #CodecValue ist eine lokale Variable, die meines Wissens nach von außerhalb nicht Symbolisch erreichbar ist.

PS.: Kann es sein das ASI direkt auf Datenbausteine zhugreifen kann???
Mir wäre das neu. Soweit ich weiß läuft der Datenaustausch über parametrierte Ein- und Ausgangsvariablen aber vielleicht täuche ich mich auch.
Eigentlich nicht, man kann aber EW und AW mit Move direkt in den DB kopieren und dann aus dem DB heraus arbeiten.
 
So wie man das von der Grundstrucktur erahnen kann würde ich erst mal innerhalb des fraglichen FB suchen.
Variable im STAT-Bereich markieren, und dann mit STRG+UMSCH+F alle Verwendungsstellen innerhalb des FB durchgehen.
Nächste Möglichkeit wäre dann die Suche nach der Verwendung von DB39.DBW0 und als allerletzte Möglichkeit dann die Suche nach der Verwendung nur von DBW0 und, sofern Stellen gefunden werden checken ob davor der DB39 aufgerufen wurde.

Mfg
Manuel
 
Zurück
Oben