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 

String Definition vor erzeugen einer EXE



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!

21.12.2016, 09:05
Beitrag #1

Ben16 Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Oct 2016

2014
2016
DE



String Definition vor erzeugen einer EXE
Hallo,

ich hoffe mir kann hier jemand weiter helfen. Ich arbeite zurzeit an einem Projekt, in dem ich eine Datenkommunikation zwischen Labview und CANoe herstelle. Zu dieser Datenkommunikation wird eine von der Firma Vector (CANoe Hersteller) erstellte Bibliothek verwendet. Zu dieser Bibliothek gehört ein Bedienelement, mit dem man die Möglichkeit hat auf die im CANoe Programm erstellten Variablen zuzugreifen. Anschließend wird die ausgewählte Variable in einen String-Anzeigelement geschrieben, welches auch noch zu dem Bedienelement des Bibliothek Blockes gehört.

Bevor man das Labview Programm startet, muss man über diesen Block die entsprechenden Variablen aussuchen (Definition). Anschließend kann man das Programm starten. Man sieht, dass die entsprechenden Variablen in dem Block zu sehen sind.

Das Problem was ich hierbei habe ist, dass sobald ich eine Exe erzeuge diese Definition nicht übernommen wird. Das selbe Problem hat man Übringens auch bei einem String Bedienelement. Gibt es eine Möglichkeit diese Definition vor dem erzeugen einer Exe irgend wie zu Speichern, sodass die Definition beim erzeugen einer Exe bestehen bleibt?

Da diese Frage sehr spziell ist habe ich mcih natürlich mit dem Vector Support in verbindung gesetzt leider konnten die mir auch keine Lösung nennen. Sie haben lediglich dadrauf verwiesen, dass es bei normalen Strings auch nicht geht!

Wenn mir jemand weiter helfen kann wäre ich sehr dankbar.

Im Anhang ein Bild von dem Schalter-Block


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.12.2016, 09:19 (Dieser Beitrag wurde zuletzt bearbeitet: 21.12.2016 09:35 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: String Definition vor erzeugen einer EXE
Hallo Ben,

Zitat:Im Anhang ein Bild von dem Schalter-Block
Schönes Bild. Und nun?
(Das ist ungefähr so, als wenn du in eine Autowerkstatt gehst, dort ein Foto deines Autos zeigst und sagst: "Der Motor springt nicht an. Was kann man tun?")
Blink

Zitat:Anschließend wird die ausgewählte Variable in einen String-Anzeigelement geschrieben, welches auch noch zu dem Bedienelement des Bibliothek Blockes gehört.
Wie kann ein Anzeigeelement (Indicator) zu den Bedienelementen (Control) gehören? Hmm

Zitat:Das Problem was ich hierbei habe ist, dass sobald ich eine Exe erzeuge diese Definition nicht übernommen wird.
Dann musst du debuggen!

Zitat:Das selbe Problem hat man Übringens auch bei einem String Bedienelement. Gibt es eine Möglichkeit diese Definition vor dem erzeugen einer Exe irgend wie zu Speichern, sodass die Definition beim erzeugen einer Exe bestehen bleibt?
Ja, sowas geht: Defaultvalues von Controls/Indicators kann man vorgeben und dauerhaft speichern!

Zitat:Sie haben lediglich dadrauf verwiesen, dass es bei normalen Strings auch nicht geht!
Aber sicher doch kann man "normalen" Strings Defaultwerte vorgeben!

Bahn
Kannst du dein Problem mal genauer erläutern? So, dass man es versteht und keine Widersprüche auftauchen?
Und vielleicht auch mal ein relevantes VI anhängen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.12.2016, 12:18
Beitrag #3

Ben16 Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Oct 2016

2014
2016
DE



RE: String Definition vor erzeugen einer EXE
Ja natürlich kann ich das machen. Sry ich hatte mir schon gedacht, dass ich es nicht so gut erklärt habe.

Ich schick am besten einfach mal einen Screenshot.

Links im Screenshot ist meine Exe die ich mir erzeugt habe und rechts das Programm in Labview. Wie man anhand der Markierungen sieht hat sich der "Schalterblock" verändert. ZUm einen ist der Button oben rechts weg, mit dem man die Variablen auswählen kann. Und zum anderen ist der Ausgewählte Text in dem Schalterblock nicht mehr zu erkennen.

Am schönsten wäre es natürlich wenn es eine Lösung geben würde, dass der Schlater nach dem erstellen der Exe genauso aussieht wie zuvor. Ein abgespeckte Lösung, die mir zumindest den Text im String Element behält, wäre für meine Zwecke auch schon ausreichend. Vor dem erstellen der EXE habe ich den Wert des "Schalterblocks" als Standartwert festgelegt. Aber dennoch war der Wert nach dem erzeugen der Exe nicht vorhanden.

Ich kann das Programm gerne anhängen, aber leider kann man ohne CANoe keine Variablen im "Schalterblock" auswählen.

Ich hoffe diesesmal ist das ganze Problem besser verständlich.


Angehängte Datei(en) Thumbnail(s)
   

14.0 .vi  Easy.vi (Größe: 90,49 KB / Downloads: 114)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.12.2016, 13:11 (Dieser Beitrag wurde zuletzt bearbeitet: 21.12.2016 13:13 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: String Definition vor erzeugen einer EXE
Hallo Ben,

Zitat:Ich kann das Programm gerne anhängen, aber leider kann man ohne CANoe keine Variablen im "Schalterblock" auswählen.
Ohne CANoe-Bibliothek kann man da leider nicht helfen.

Das Problem dürfte an diesen X-Control-"Schalterblöcke" liegen.
So sieht das nämlich bei mir aus:
   
Kannst du mal dieses "SymbSelBtn"-X-Control hier bereitstellen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.12.2016, 14:19
Beitrag #5

Ben16 Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Oct 2016

2014
2016
DE



RE: String Definition vor erzeugen einer EXE
Ich sende einfach mal die ganze Bibliothek die ich dafür habe.


Angehängte Datei(en)
0.0 .zip  _CANoe.zip (Größe: 225,26 KB / Downloads: 160)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.12.2016, 14:39 (Dieser Beitrag wurde zuletzt bearbeitet: 21.12.2016 14:41 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: String Definition vor erzeugen einer EXE
Hallo Ben,

ich hoffe mal, du hast diese VIs nicht auch schon von Vector als LLB bekommen - so fehlt leider die eigentlich XCtl-Definition!
Aber die im XCtl enthaltenen VIs sind in der LLB enthalten…

Was ich sehen konnte:
Im Event "Ausführungszustandsänderung" wird der "Select"-Button unsichtbar gemacht, wenn sich dein XCtl im "Run Mode" befindet. Dieser "Run Mode" ist dann TRUE, wenn das VI, in welchem sich das XCtl befindet, ausgeführt wird - wie z.B. in einem Executable.

Mit dieser Info solltest du jetzt mal den Vector-Support fragen, warum dieser Select-Button explizit versteckt (und das String-Control deaktiviert) wird, wenn das VI läuft! Die haben das doch programmiert und sollten Zugriff auf die hausinterne Programmierdoku haben!
Alternativ: einfach mal das XCtl editieren und dieses Verhalten disablen… (Vorher ein Backup erstellen und sicher verwahren!)

(Als Hilfestellung zum Thema kann ich das XControl-Projekt empfehlen, welches über den Menüpunkt Datei -> Neu… aufgerufen werden kann!)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.12.2016, 11:12
Beitrag #7

Ben16 Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Oct 2016

2014
2016
DE



RE: String Definition vor erzeugen einer EXE
Hallo Gerd,

vielen vielen Dank für deine Unterstützung.

Ich habe deine alternative Lösung ausprobiert. Der "Select"-Button war daraufhin wieder sichtbar. Leider konnten damit keine Auswahl von Variablen gemacht werden.
Der Wert der in der String-Control vor erzeugen der Exe stand, war ebenfalls wieder weg.

Ich habe mich zusätzlich nochmal mit dem Vector Support in Verbindung gesetzt. Als Antwort kam dann folgende Aussage:

"Die xControl bzw. die Information des Edit-Feldes werden beim Kompilieren nicht übernommen. Der Auswahldialog steht nur zum Definitionszeitpunkt zur Verfügung. Das Verhalten der nicht übernommenen Strings ist beispielsweise auch bei normalen Strings zu beobachten".

Die Aussage mit den Strings ist ja wie du zuvor erwähnt hattest nicht korrekt. Könntest du mir vllt ein kurzes Feedback geben, ob das mit dem xControl stimmt oder gibt es doch eine Möglichkeit das beim Kompilieren zu übernehmen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.12.2016, 19:05
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: String Definition vor erzeugen einer EXE
Hallo Ben,

Zitat:Die xControl bzw. die Information des Edit-Feldes werden beim Kompilieren nicht übernommen.
Korrekt.

Zitat:Der Auswahldialog steht nur zum Definitionszeitpunkt zur Verfügung.
Weil es so programmiert wurde. Ich kann nicht beurteilen, ob es technische Gründe dafür gibt…

Zitat:Das Verhalten der nicht übernommenen Strings ist beispielsweise auch bei normalen Strings zu beobachten
Jein.
Man kann Strings einen Defaultwert zuweisen, der bleibt dann auch in der EXE erhalten. Bei einem XControl ist das so nicht möglich (IMHO).

Was willst du eigentlich genau erreichen?
Sind diese Kanalnamen eigentlich schon vor dem Aufruf/Start der EXE bekannt? Kannst du die XControls nicht durch einfache String-Controls ersetzen?
Oder die Kanalnamen mit Konstanten vorgeben?
Oder eine eigene Kanal-Auswahl programmieren?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.01.2017, 10:30
Beitrag #9

Ben16 Offline
LVF-Grünschnabel
*


Beiträge: 14
Registriert seit: Oct 2016

2014
2016
DE



RE: String Definition vor erzeugen einer EXE
Hallo Gerd,

entschuldige meine verspätete Antwort. Ich war über die Feiertage weg.

Vielen Dank für deine Antwort. Jetzt bin ich deutlich schlauer Smile

Zitat:Was willst du eigentlich genau erreichen?
Sind diese Kanalnamen eigentlich schon vor dem Aufruf/Start der EXE bekannt? Kannst du die XControls nicht durch einfache String-Controls ersetzen?
Oder die Kanalnamen mit Konstanten vorgeben?
Oder eine eigene Kanal-Auswahl programmieren?

Im Prinzip sind die Kanalnamen vor dem Aufruf/Start der Exe bekannt. Dadurch kam mir auch schon die Idee auf einfache String-Controls oder Konstanten zurückzugreifen.

Es ist jedoch so, dass das verwendete CANoe Programm in Zukunft erneuert werden könnte. Aus diesem Grund dachte ich, dass es am schönsten wäre wenn die Auswahl genauso vorgenommen werden kann wie zuvor und man sich dadurch evtl. Änderungen an dem Labview Programm sparen kann.

Da wahrscheinlich eine Änderung des CANoe Programms sowieso auch eine Änderung des Labview Programms verursacht werde ich jetzt einfach String Konstanten verwenden.

Vielen vielen Dank für die Hilfe bei diesem Problem. Hat mir sehr geholfen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Erzeugen einer exe Applikation TiCy 20 12.718 17.12.2012 09:41
Letzter Beitrag: dali4u
  Mehrzeiligen String aus einer Tabelle auslesen Schorsch 4 4.703 20.12.2011 20:13
Letzter Beitrag: Schorsch
  Sub VI, wieso keine Definition von Ausgängen skaven 10 8.986 07.06.2010 16:50
Letzter Beitrag: Y-P
  Name einer Variablen als String bekommen Xaran 7 7.105 01.09.2009 08:09
Letzter Beitrag: schrotti
  Konstante in einer Case-Struktur erzeugen JoL 3 4.033 16.04.2009 16:49
Letzter Beitrag: JoL
  extrahieren von einer Zahl aus einem String Jenne 1 3.152 28.01.2009 14:42
Letzter Beitrag: kpa

Gehe zu: