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 

Bitmeldung an Benutzer - TwinCAT (Beckhoff) - LabVIEW



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!

17.04.2025, 14:28
Beitrag #1

stefan1312 Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: May 2015

17
-
EN


Deutschland
Bitmeldung an Benutzer - TwinCAT (Beckhoff) - LabVIEW
Hallo an Alle,

Ich bin gerade dabei die ADS Schnittstelle von Beckhoff zu nutzen (Austausch von Daten zwischen PLC und LavIEW) und wollte Meldungen an
den Benutzer senden, um ihm den Status des Prüfstandes / den aktuell aktivierten Vorgang mitzuteilen.

Verwendet habe ich hierfür ein Array mit 50 Einträgen vom Datentyp Bool, welches über in LabVIEW eingelesen wird. Abhängig davon welcher Zustand aktiviert / ausgeschaltet wird, wird eben jeweils ein Bit im Array gesetzt / rückgesetzt.

Mein Problem ist nun - Wie kann ich auf eine Bitänderung in LabVIEW am einfachsten reagieren um eine Zustandsmeldung auszugeben?

Meine Idee war ursprünglich "LED anzeigen" mit einem eindeutigen Namen zu verwenden und deren Status in einer Eventschleife abzufragen. Abhängig von der Zustandsänderung der LED wird anschließend eine Meldung ausgegeben.

Dies funktioniert leider nicht - weil die Statusänderung der LED, in der Eventschleife bei "Value Change" nicht erkannt wird. - (wofür man die LED dann auswählen kann, obwohl die Statusänderung Value Change nicht funktioniert - ist in meinen Augen zwar sinnbefreit, aber das ist ein anderes Thema... )

Kann mir vl jemand einen sauberen Weg sagen, wie ich Bitmeldungen an den Benutzer ausgeben kann, abhängig vom jeweiligen Zustandsbit im Array? - ist mir aktuell noch ein Rätsel, wie man diese
Funktionalität am besten in Labview umsetzt.

Hätte gerne : eine Meldung mit: Datum / Uhrzeit, Information für Bediener, und Status (I / Information, bzw F / Fehler) und alle chronologisch in einer Liste. (Listbox?)

Wäre super könnte mir hier jemand behilflich sein.

Mein Programm zum Testen befindet sich im Anhang!

LG Stefan


Angehängte Datei(en)
24.0 .vi  Test_Benutzermeldungen_ADS.vi (Größe: 29,04 KB / Downloads: 10)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.04.2025, 15:25
Beitrag #2

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 435
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Bitmeldung an Benutzer - TwinCAT (Beckhoff) - LabVIEW
Hallo Stefan,

die meisten, die LabVIEW schon etwas länger verwenden, haben aus guten Gründen meist eine etwas ältere LabVIEW Version im Einsatz. Wenn du dein VI für eine ältere LabVIEW Version speicherst, dann bekommst du zwangsläufig auch mehr Antworten. Du solltest dabei mindestens bis LabVIEW 2021 zurück gehen. Es dürfte aber hier und in anderen Foren noch etliche geben, die LabVIEW 2019, 2018 verwenden.
Ich kann dein VI zur Zeit auch nicht öffnen.

Das mit dem Value Change ist vollkommen ok. Kein Benutzer hat den Status der LED geändert. Es war dein Programn und damit hast du es auch in der Hand auf die Änderung zu reagieren. Das was du vor hattest ist ungefär so, wie wenn du über Japan von Frankfurt nach Köln fährst anstatt den direkten Weg zu nehmen.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.04.2025, 23:25 (Dieser Beitrag wurde zuletzt bearbeitet: 17.04.2025 23:27 von stefan1312.)
Beitrag #3

stefan1312 Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: May 2015

17
-
EN


Deutschland
RE: Bitmeldung an Benutzer - TwinCAT (Beckhoff) - LabVIEW
Hallo,

Vielen Dank für den Hinweis!, werde versuchen mein VI morgen noch einmal als Vorgängerversion zu speichern und anschließend zu posten.

ok danke für den Hinweis, ist für mich zwar nicht ganz klar nachdem die Eigenschaft "Value Change" heißt, hätte ich angenommen das beides funktionieren sollte.
Entweder ich betätige eben selbst einen Button, wodurch der Interrupt ausgelöst wird oder der Programmablauf erledigt dies für mich.

Die Frage die sich mir dann aber noch immer stellt, wie ich diese benötigten Bitmeldungen am besten umsetzen kann?

LG Stefan
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2025, 10:46
Beitrag #4

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 435
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: Bitmeldung an Benutzer - TwinCAT (Beckhoff) - LabVIEW
Hi Stefan,

um ein wenig auf dein ursprüngliches Anliegen zurück zu kommen:

Ich wüsste nicht, wie es gehen sollte, dass dir die Event Struktur in irgend einer Weise helfen könnte. Ich wollte deshalb auch erst einmal auf dein VI warten - jetzt warte ich das doch nicht ...grrr.

Wenn du auf dem Front Panel ein numerisches Eingabefeld hast und der Benutzer dort einen neuen Zahlenwert eingibt, dann wird auch ein Value Change Event ausgelöst. Wenn du den in der Event Struktur bekommst, dann macht das absolut Null Aussage darüber, ob sich der Zahlenwert auch tatsächlich geändert hat. Es sagt nur aus, dass ein anderer Zahlenwert eingegeben wurde. Ein Programm kann auch über einen property node einen value change event auslösen. Auch dabei muss sich der Wert nicht ändern. Kurzum: Wenn du den in der Event Struktur einen Value Change Event bekommst und du eine Aktion nur ausführen willst, wenn sich der Wert (Zustand, Zahl, Text usw.) auch tatsächlich geändert hat, dann muss dein Programm das zunächst überprüfen.

Die Event Struktur hilft dir Null-Komma-Nichts bei deinem Problem.

Ich bin geneigt zu schreiben: Es gibt die wunderschöne und uralte Funktion mit den Namen "Equal?" in LabVIEW. Die löst dein Problem. Angel_not

Du liest von deiner Hardware mehr oder weniger regelmäßig ein immer gleich großes Array of Boolean ein. Dein Programm kennt die boolschen Werte vor der Abfrage und die boolschen Werte nach der Abfrage. Die beiden kannst du mit "Equal?" vergleichen (im Modus Compare Elements). Das Ergebnis st alles, was du brauchst um daraus die Meldung für den Benutzer zu generieren.

Vielleicht gibt die das eine Idee davon, wie es funktionieren könnte:
   


Angehängte Datei(en)
12.0 .vi  Bitmeldung_an_Benutzer_LVF_00.vi (Größe: 8,56 KB / Downloads: 4)

Martin Henz
Webseite des Benutzers besuchen 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
  Benutzer Event auslösen ? Niko1912 7 5.074 22.11.2018 16:35
Letzter Beitrag: GerdW
  Meldung an Benutzer Pansonia 4 5.330 07.04.2015 09:52
Letzter Beitrag: jg
  Schleifenkommunikation: Melder und Benutzer-Ereignisse oder lokale Variablen lumaxo 7 6.806 19.03.2015 17:49
Letzter Beitrag: lumaxo
  Benutzer-Eingabeaufforderung und speicherung der Daten. Index 5 7.349 28.07.2011 06:55
Letzter Beitrag: NWOmason
  LabView an TwinCat-PLC Schü 5 6.087 13.12.2010 17:46
Letzter Beitrag: BerndDasBrot
  Hinweise an den Benutzer nurso 3 4.360 03.12.2010 10:01
Letzter Beitrag: nurso

Who read this thread?
4 User(s) read this thread:
IchSelbst, stefan1312, GerdW, Martin.Henz

Gehe zu: