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: 33
Registriert seit: May 2015

2024
2016
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: 11)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
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: 33
Registriert seit: May 2015

2024
2016
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
Heute, 07:56 (Dieser Beitrag wurde zuletzt bearbeitet: Heute 08:12 von stefan1312.)
Beitrag #5

stefan1312 Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: May 2015

2024
2016
EN


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

Zunächst einmal vielen Dank für die Rückmeldung! und den Tip!

Ich habe versucht, mein Programm als älterer LabVIEW Version abzuspeichern. Leider funktioniert das scheinbar nicht so einfach, weil die "ADS Bibliothek" ein Passwort von
mir dafür habe möchte. Habe deshalb nur zwei Bilder von meinem VI anhängen können.

Der Hauptgrund warum ich einen EventCase verwenden wollte, ist das ich diese Variante recht übersichtlich finde. - für jedes Bit einen eigenen Event - Case und darin eine Meldung ausgeben. Find ich
persönlich super übersichtlich - leider bin ich gerade für einen alternativen Ansatz, der ähnlich funktioniert etwas "blind" =/

Eine Wertänderung zu erkennen, ist das eine .. (vielen Dank dafür! ) - aber wie könnte ich unterschiedliche Meldungen hier am übersichtlichsten / kompaktesten einpflegen?

Vielen Dank noch einmal!

LG Stefan


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Heute, 08:00 (Dieser Beitrag wurde zuletzt bearbeitet: Heute 08:01 von GerdW.)
Beitrag #6

GerdW Online
______________
LVF-Team

Beiträge: 17.500
Registriert seit: May 2009

LV2019 (LV2021)
1995
DE_EN

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

Zitat:Eine Wertänderung zu erkennen, ist das eine .. (vielen Dank dafür! ) - aber wie könnte ich unterschiedliche Meldungen hier am übersichtlichsten einpflegen?
Ein einzelnes Bit kennt nur 2 Werte: du könntest die "unterschiedlichen Meldungen" also per Select oder AppendTrueFalseString "einpflegen"…

Bitte Profil_ergaenzen, du benutzt ja nicht mehr (ausschließlich) LV2017…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Heute, 08:06 (Dieser Beitrag wurde zuletzt bearbeitet: Heute 08:14 von stefan1312.)
Beitrag #7

stefan1312 Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: May 2015

2024
2016
EN


Deutschland
RE: Bitmeldung an Benutzer - TwinCAT (Beckhoff) - LabVIEW
Tut mir leid, da hab ich mich jetzt falsch ausgedrückt.

Auf die verschiedenen Bitänderungen in meinem Array wollte ich schreiben..( jedes Bit soll hier mit einer eigenen Meldung verknüpft sein ).

Auf den SPS`n die ich bis jetzt kenne funktioniert das super einfach, eine Bitmeldung in der Visualisierung zu erstellen.. In Labview fehlt mir eben leider
gerade der Blick / die Funktion dafür.

LG Stefan

( werde mein Profil gleich ergänzen - Danke für den Hinweis! )
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Heute, 09:23 (Dieser Beitrag wurde zuletzt bearbeitet: Heute 09:24 von GerdW.)
Beitrag #8

GerdW Online
______________
LVF-Team

Beiträge: 17.500
Registriert seit: May 2009

LV2019 (LV2021)
1995
DE_EN

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

Zitat:Auf die verschiedenen Bitänderungen in meinem Array wollte ich schreiben..( jedes Bit soll hier mit einer eigenen Meldung verknüpft sein ).
Das finde ich nicht so kompliziert:
   
Im boolschen Array sollten die Elemente TRUE sein, wenn du die entsprechende Meldung ausgeben willst…

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
  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.350 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?
7 User(s) read this thread:
Martin.Henz, IchSelbst, Woodeye, TpunktN, GerdW, cordm, stefan1312

Gehe zu: