TIA TIA V15 Offset eines Instanz-DBs

Benni29

Level-1
Beiträge
36
Reaktionspunkte
0
Hallo zusammen,

ich möchte eine Schrittkette in einem FB ablaufen lassen, diese dann mehrmals für verschiedene Funktionen aufrufen. Damit ich im FB nicht 50 bool Variablen anlegen muss, wollte ich 3 Wörter als Statische Variablen anlegen und dann absolut drauf zugreifen um sie als Hilfsmerker zu verwenden. In dem Instanz-DB ist die Möglichkeit zur Anzeige des Offsets jedoch ausgegraut, ebenso wie das Entfernen des Hakens "optimierter Zugriff".

Weiß jemand wie das Problem lösen lässt, bzw. wie macht ihr das denn?

Danke im Voraus
 
Kurz und Bündig:
Damit der IDB nicht optimiert ist, muss der dazugehörige FB auf nicht optimiert gestellt sein.

Auf einen IDB von Außen zugreifen ist aber sehr unsauber und ich rate generell davon ab.
Noch dazu ein wahrscheinlich indirekter Zugriff ist schon fast böse.
Vlt kannst du dein Problem ein wenig genauer erklären und es lässt sich eine bessere Lösung finden.
 
Deswegen würde ich nicht auf Nicht-optimiert gehen. Warum legst du im FB kein Array of BOOL für die 50 an?
 
Das habe ich auch schon überlegt... Ich hätte es halt gerne so gemacht, damit ich nur die 3 WORD-Variablen abfragen muss um zu sehen wo die Schrittkette steht (z. B. Grundstellung), bzw. schnell initialisieren kann in dem ich eine 0 in die 3 Variablen schiebe und alle Hilfsmerker damit zurückgesetzt bin.

Ist vlt nicht das Eleganteste, daher auch die Frage wie das andere Mitglieder so machen.

update:
Ich habe es über das Array gelöst, gefällt mir ganz gut.

Trotzdem Danke für den Hinweis wo der optimierte Zugriff aufgehoben werden muss
 
Ich find solche Dinge immer sehr grenzwertig.
Ok du sparst Zeit beim programmieren.
Aber der Nächste, der da dran muß, flucht erstmal bis er weiß was Sache ist.
Ich persönlich versuche sowas zu vermeiden.
 
@Blockmove : D. h. du legst wirklich alle Hilfsmerker als einzelne bool-Variablen an? Ich finde die Lösung mit dem Array ganz ok, zumal die Kommentare gepflegt sind.
 
@Blockmove : D. h. du legst wirklich alle Hilfsmerker als einzelne bool-Variablen an?
Wie lange brauchst Du denn, um 50 Bool-Variablen anzulegen? Wie oft am Tag musst Du das machen? Und dann beim Programmieren, wie lange brauchst Du, um die richtige Variable im Code einzufügen, wenn die alle fast gleich heißen und womöglich auch keinen Kommentar haben? Du sparst vermeintlich ein paar Minuten Programmierzeit, aber jeder der nach Dir an den Code ran muss (auch Du selber) braucht dann jedesmal 15 Minuten um da durchzusteigen.

Harald
 
@Blockmove : D. h. du legst wirklich alle Hilfsmerker als einzelne bool-Variablen an? Ich finde die Lösung mit dem Array ganz ok, zumal die Kommentare gepflegt sind.

Ich hab für jede Schrittkette einen globalen DB.
Hab ich identische Stationen, dann gibt‘s ne UDT.
Mehrfach instanzierte Schrittketten mach ich so gut wie nie.
Wenn eine Station funktioniert, dann kopiere ich den Baustein und ändere die Stationsnummer mit Suche-Ersetze.
Wenn man vernünftige Variablennamen hat, geht das fix.
 
@Blockmove : D. h. du legst wirklich alle Hilfsmerker als einzelne bool-Variablen an? Ich finde die Lösung mit dem Array ganz ok, zumal die Kommentare gepflegt sind.
Wie viele Hilfsvariablen brauchst du denn? Ich hab pro Schrittkette einen Standard-UDT und eine Struktur mit individuellen Signallen in einem Global-DB
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…