27.07.2023, 12:11
Beitrag #2
|
GerdW
______________
Beiträge: 17.457
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Generatorsteuerung (Beispiele?)
Hallo Kaya,
zu deinen aktuellen VIs:
- "Befehlsstring aus 7 Werten": der Input sollte ein Array sein anstatt 7 einzelner Controls. Der Rest vereinfacht sich dadurch enorm… (Warum sind die Controls als U16 definiert, wenn es um 7 Bytes (=U8) geht?
- "SerielleKommunikation": Das sollte aufgeteilt werden in SerialInit, WriteCommand, ReadResponse, ClosePort. Init/Close muss nur je einmal aufgerufen werden, Write/Read bei Bedarf.
- Beispielmenü: Du verwendest weiterhin die Eventstruktur, um alle User-Aktionen auszuwerten. Der Tab ist nett, aber aus Blockdiagrammsicht "transparent" (d.h. nicht für den Programmablauf notwendig).
Du hast die LabVIEW-Grundlagen durchgearbeitet und kannst mit einem LabVIEW-Projekt, subVIs und Typedefinitionen umgehen?
Zumindest das Enum hast du (immer) noch nicht typdefiniert…
|
|
|
27.07.2023, 12:26
Beitrag #3
|
Kaya
LVF-Grünschnäbelin
Beiträge: 39
Registriert seit: Jul 2023
16
2019
DE
Deutschland
|
RE: Generatorsteuerung (Beispiele?)
Hi Gerd,
danke für Deine Rückmeldungen. Ich habe Lv grundlagen 1 durchgearbeitet, aber trotzdem noch total am Anfang.
Mit Projekten und SubVIs kann ich was anfangen, Typdefinitionen sind mir noch nicht über den Weg gelaufen.
LG Kaya
|
|
|
27.07.2023, 16:43
(Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2023 01:18 von Martin.Henz.)
Beitrag #4
|
Martin.Henz
LVF-Team
Beiträge: 424
Registriert seit: Jan 2005
2.5.1 bis 20
1992
kA
74363
Deutschland
|
RE: Generatorsteuerung (Beispiele?)
Hallo Kaya,
mich irritiert auch ein wenig, wie du deinen Befehlsstring zusammenstellst und was du in dem anderen VI tatsächlich sendest. Das Ganze lässt mich vermuten, dass ein Befehl aus ein paar Buchstaben (und evtl. Zahlen) besteht. Daraufhin folgt ein Semikolon, eine Checksumme und ein Linefeed. Den Befehlsstring mit fest programmierten 7 Zeichen zusammenzustellen passt doch gar nicht dazu.
Was ist denn, wenn der Befehl aus nur drei Zeichen besteht (inclusive Semikolon), wie z.B. das "CC;" oder "AR;" aus deinem anderen VI. Was macht das Gerät, wenn die Checksumme ein Linefeed ist? Soweit so unklar.
Zu deiner Checksummenberechnung: Interessant - aber vor allem ist es sehr abenteuerlich :-)
Was du brauchst, das ist doch eher so etwas:
|
|
|
28.07.2023, 09:47
Beitrag #5
|
Kaya
LVF-Grünschnäbelin
Beiträge: 39
Registriert seit: Jul 2023
16
2019
DE
Deutschland
|
RE: Generatorsteuerung (Beispiele?)
Hi Martin,
ja, das ist genau, was ich brauche, vielen Dank dafür!
Es war mein erstes VI, dementsprechend abenteuerlich...
Tja, ich fürchte, es führt kein Weg dran vorbei, mich jetzt mit SubVIs und lokalen und globalen Variablen auseinanderzusetzen.
LG Kaya
|
|
|
28.07.2023, 10:11
Beitrag #6
|
Kaya
LVF-Grünschnäbelin
Beiträge: 39
Registriert seit: Jul 2023
16
2019
DE
Deutschland
|
RE: Generatorsteuerung (Beispiele?)
Ach so und die einzelnen Eingaben bei der Checksummenberechnung hatte ich so gedacht, dass man mit verschiedenen Eingaben umgehen kann, also zum Beispiel verschiedene Volt. Du hast aber Recht, dass das VI nicht mit unterschiedlichen Längen umgehen kann.
Woher hast du die Berechnung der Checksumme? Das NOT und +1 erschließt sich mir auch nach scharfem Nachdenken nicht.
LG Kaya
|
|
|
28.07.2023, 10:58
Beitrag #7
|
GerdW
______________
Beiträge: 17.457
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Generatorsteuerung (Beispiele?)
Hallo Kaya,
Zitat:Das NOT und +1 erschließt sich mir auch nach scharfem Nachdenken nicht.
Binäre Algebra?
In deinem VI hast du die U16-Werte addiert, dann per Q&R (modulo 0x100) auf das untere Byte begrenzt und dann rechnest du "0x100 - byte". Und diese Subtraktion ist dem NOT +1 ähnlich…
|
|
|
28.07.2023, 15:13
(Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2023 07:19 von Martin.Henz.)
Beitrag #8
|
Martin.Henz
LVF-Team
Beiträge: 424
Registriert seit: Jan 2005
2.5.1 bis 20
1992
kA
74363
Deutschland
|
RE: Generatorsteuerung (Beispiele?)
(28.07.2023 10:11 )Kaya schrieb: Woher hast du die Berechnung der Checksumme? Das NOT und +1 erschließt sich mir auch nach scharfem Nachdenken nicht.
Wenn man so lange wie ich mit und an Labview, Prüfständen, Messeinrichtungen usw. herum programmiert, dann ist das bei so einer einfachen Checksumme ein Blick, dass das sehr viel einfacher geht und nur ein paar Sekunden bis klar ist, wie das aussehen muss. Alles andere wäre mir eher peinlich - das kommt aber auch vor.
Ganz nebenbei: Mit globalen Variablen brauchst du dich nicht zu beschäftigen. Ich hatte noch nie die Notwendigkeit diese zu verwenden. Wenn du meinst, dass du unbedingt eine brauchst, dann denke nach. Du brauchst sie nicht, da bin ich 100% sicher.
Mit lokalen Variablen ist es etwas anders. Es gilt aber auch hier, dass sie nur sehr punktuell eingesetzt werden sollten (bei VIs mit Benutzeroberfläche). In SubVIs sind sie genauso überflüssig wie globale Variablen.
|
|
|
01.08.2023, 08:43
Beitrag #9
|
Kaya
LVF-Grünschnäbelin
Beiträge: 39
Registriert seit: Jul 2023
16
2019
DE
Deutschland
|
RE: Generatorsteuerung (Beispiele?)
Tjaaa, bei mir sind's 3 Wochen aber cool, dass es dieses Forum gibt!
Sind für die Erstellung von einem User Interface Registerkarten eigentlich eine gute Lösung um durch verschiedene Seiten mit Einstellungen zu navigieren, oder gibt es da was besseres?
LG Kaya
|
|
|
01.08.2023, 09:01
|
GerdW
______________
Beiträge: 17.457
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Generatorsteuerung (Beispiele?)
Hallo Kaya,
Zitat:Sind für die Erstellung von einem User Interface Registerkarten eigentlich eine gute Lösung um durch verschiedene Seiten mit Einstellungen zu navigieren, oder gibt es da was besseres?
Manche mögen TabContainer, manche hassen sie…
Was wollen denn deine User eigentlich haben? Gibt es ein Lastenheft?
Gegenvorschlag: Subpanels verwenden. Schau dir als Beispiel doch mal den Options-Dialog von LabVIEW an (Tools->Options)!
|
|
|
| |