INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

globale Konstanten?



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

18.02.2015, 18:53
Beitrag #1

Nordvestlys Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 108
Registriert seit: Sep 2014

2015 (und testweise 2016)
2005
EN

07743
Deutschland
globale Konstanten?
Moin,

gibt es eigentlich eine "elegante" Möglichkeit Cluster zu erstellen, die projektweit nur an genau einer Stelle verändert werden können?

Aktuell fällt mir dazu nur ein, eine Typdefinition in einem extra VI zu verpacken. Je nachdem wie der Inhalt später benutzt werden soll, ist das aber nicht mehr elegant.

Schöner fände ich es wenn man z.B. die Typdefinition "normal" für ein Bedienelement verwendet, aber ein zwingendes Autoupdate der Standardwerte (aus der Typdef) einstellen könnte.
(Die strikten Typdefinitionen beziehen sich doch nur auf's Design, oder?)


Irgendwelche Vorschläge / Ideen oder sogar Standardlösungen?

bis denne,
* mario *
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.02.2015, 19:23
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: globale Konstanten?
Könntest Du mal ein konkretes Beipiel bringen, welches das Problem illustriert? Ich verstehe es deshalb nicht, weil doch ein Programmierer es jederzeit einrichten kann, dass irgendeine Variable, die an mehreren Stellen gelesen werden muss, nur an einer Stelle im Programm beschrieben wird. Wieso wird daraus ein Problem?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.02.2015, 20:58 (Dieser Beitrag wurde zuletzt bearbeitet: 18.02.2015 21:00 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: globale Konstanten?
Hallo,

im NI-Forum läuft das unter WORM (write once, read many)…

Andere Option: ein Notifier, der beim Erstellen gleich beschrieben wird und danach nur noch gelesen (wie Lucki sagte: der Programmierer ist verantwortlich!)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.02.2015, 22:49
Beitrag #4

teegee Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Jan 2015

2014
2003
EN


Sonstige
RE: globale Konstanten?
Erstell eine Singelton Klasse mit dem Cluster als Attribut und mach den setter private und uebergeb den Cluster im Init()
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.02.2015, 09:39
Beitrag #5

Nordvestlys Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 108
Registriert seit: Sep 2014

2015 (und testweise 2016)
2005
EN

07743
Deutschland
RE: globale Konstanten?
Moin,

zunächst einmal zur "Schwere" des Problems: Es geht nicht darum, dass ich so eine Funktionalität unbedingt brauche - sondern mehr um die Überlegung, dass es doch bestimmt schon einen einfachen Weg für solche globalen Konstanten gibt, den ich bisher noch nicht kannte.

Insofern, kein echtes Problem. Eher ein "Luxusproblem".

Dann mal ein konkretes Beispiel:
Aktuell bin ich dabei eine umfangreiche Messanlagensteuerung zu programmieren. (Im wesentlichen sind das mehrere Statemachines.) Die meisten Einstellungen werden aus irgendwelchen Textdateien zur Laufzeit zugeordnet.

Ein paar Vorgaben brauche ich später jedoch nie wieder anzufassen. Beispielsweise habe ich eine Zuordnung welcher Zustand (z.B. Standby, Prüfling geladen, Messbereit) welche Ventilstellungen auslöst und welche Positionsschalterstellungen erwartet werden.
Es war ganz praktisch das alles in einem Cluster zu "verpacken" weil man dadurch relativ übersichtlich und schnell Variationen einstellen, anzeigen und testen kann.
(Dabei entspricht jeder State einem von ca. 20 gleich aufgebauten Bedienelementen. Jedes Bedienelement ist ein Array mit den aktuell relevanten Komponenten-Zuständen. Also ein Cluster mit Arrays aus identischen Clustern.)


Dieser Cluster wird "nur" an zwei oder drei Stellen benötigt und später eigentlich nicht mehr angefasst. Natürlich kann man das auch anders lösen (s.o.) aber ich wollte es ja einfach....

Ich habe kein Problem damit, die Änderungen während der Entwicklungszeit an besagten 2 oder 3 Stellen vorzunehmen. Aber wenn man die Standardwerte z.B. fest an die Typdefinition koppeln könnte, wäre das schon nett...

Ich möchte bei *diesem* Einsatzzweck auch ungern von den Clustern weg, weil sie von Übersichtlichkeit und Flexibilität perfekt passen.


Umwege über zwischengeschaltete VIs, Klassen, Zuordnungen aus Textdateien oder Notifiern wären alle denkbar, sind mir an *dieser* Stelle aber nicht "einfach" genug.

...ich vermute also, dass ich keine einfache Einstellmöglichkeit oder LV-Funktion übersehen habe, und nehme das mal so hin.

(Uiih - schon viel zu viel Text. In dieser Zeit hätte ich meine Cluster locker dreimal kontrollieren können...)

bis denne,
* mario *
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.02.2015, 22:26
Beitrag #6

teegee Offline
LVF-Grünschnabel
*


Beiträge: 49
Registriert seit: Jan 2015

2014
2003
EN


Sonstige
RE: globale Konstanten?
(19.02.2015 09:39 )Nordvestlys schrieb:  Ich möchte bei *diesem* Einsatzzweck auch ungern von den Clustern weg, weil sie von Übersichtlichkeit und Flexibilität perfekt passen.

Umwege über zwischengeschaltete VIs, Klassen, Zuordnungen aus Textdateien oder Notifiern wären alle denkbar, sind mir an *dieser* Stelle aber nicht "einfach" genug.

Wirklich? Nicht einfach genug?
Eine Klasse ist nur ein container fuer einen Cluster.
Und auf eine Singleton Klasse hast du ueberall Zugriff ohne deinen Cluster durch 4 connector panes durch zu zwaengen.

Das angehaengte Projekt hab ich in 5 Minuten zusammengehackt. Ich weiss nicht, ob es noch viel einfacher geht...

0.0 .zip  Singleton settings.zip (Größe: 112,83 KB / Downloads: 243)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.02.2015, 09:35
Beitrag #7

Nordvestlys Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 108
Registriert seit: Sep 2014

2015 (und testweise 2016)
2005
EN

07743
Deutschland
RE: globale Konstanten?
(19.02.2015 22:26 )teegee schrieb:  Wirklich? Nicht einfach genug?
Yepp :-)
(Zumindest in diesem speziellen Fall)
teegee schrieb:  [...]Das angehaengte Projekt hab ich in 5 Minuten zusammengehackt. Ich weiss nicht, ob es noch viel einfacher geht...
Trotzdem danke. Ich werde bei komplexeren Anforderungen darauf zurück kommen.

Der aktuelle Anlaß für meine Frage war ja auch kein echtes "Problem" sondern einfach die Überlegung ob es eine kleine vermisste Funktionalität nicht vielleicht schon gibt. Kommt ja öfters vor, dass es nette Arbeitserleichterungen gibt, die man selber noch nicht kennt.

bis denne,
* mario *
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Globale Variablen Edi70 7 4.473 08.10.2021 17:01
Letzter Beitrag: GerdW
  Boolean als globale Variable ares2013 12 11.349 06.09.2019 13:57
Letzter Beitrag: GerdW
  Strikte Typ-Def. & autom. Aktualisierung deren Konstanten _techniker_ 2 4.098 17.08.2016 07:47
Letzter Beitrag: _techniker_
  Anzeigeproblem mit unterschiedliche Text-Ring-Konstanten in Case/Ereignisstruktur I3erry 3 4.580 28.08.2015 08:50
Letzter Beitrag: Lucki
  Globale Variable mit Excel Banick 5 6.451 29.01.2014 11:44
Letzter Beitrag: Banick
  FGV Funktionale Globale Variable cabua 30 52.342 08.11.2013 10:33
Letzter Beitrag: mate Ria

Gehe zu: