LV10 (german) – Projekt Plotter in LabVIEW – Teil 2

hallo und willkommen beim bildmarke screencast das ist das zweite video einer zweiteiligen dabei in der es um ein level break geht und zwar um den platter in dem video nummer eins habe ich gezeigt wie man das grundgerüst der applikation zusammenstellt und wie man mit objektorientierter programmierung zwei verschiedene treiber entwirft und ja in diesem zweiten teil soll es darum gehen dass hier zyklisch und daten aus unserem treiber auslesen und diese daten in einem scope darstellen ich hab jetzt die applikation sowie die im ersten video sag ich mal gebaut wurde von mir ich habe es mal nichts geändert und werde in diesem video jetzt quasi die ganze dynamische seite dieser applikation noch mit einbauen wenn wir daten aus dem treiber auslesen wer es nicht in der gleichen schleife machen wir unsere haupt applikation sondern es muss eine zweite schleife her in dieser zweiten schleife werden wir zyklisch den freibad fragen bis uns die daten liefert und diese daten schreiben wir dann in den scope ich habe jetzt die erste schleife quasi schon da und bäume jetzt die zweite schleife noch mit 1 das jetzt meine schleife die dann zyklisch läuft und um diese schleifen zu synchronisieren also die zweite schleife hier unten und die erste schlag für die oben benutze ich so genannte cuse das sind einfach nur jetzt sieht man dass eine im moment so eine kuh ist einfach nur so eine warteschlange sag ich mal in die ich daten reinpacken kann und diese daten werde ich den anderen stelle wieder abholen können und wenn ich jetzt diesen beiden schleifen benutzen dann kann ich aus der ersten schleifen daten in diese kyu packen und die zweite schleife schaut sich an ob es daten in der eu gibt und wenn es daten gibt dann kann sie irgendwas machen als ja inhalt dieser daten sage ich mal von der crew habe ich überlegt würde ausreichen in diesem fall dass ich einfach nur den status den gewollten status der applikation von mir übertragen und zwar ist es staat oder stoppt wenn ich den treiber verbinde sage ich dann start und dann musste ich schleife laufen wenn ich sage stoppt dann muss die schleife den treiber sage ich mal schließen und dann beenden so ich stelle ich jetzt meine kuh und verbindet sie sofort hier mit der ersten schleife und an der stelle hier wo also den namen brauchen wir nicht den datentyp braucht let you an der stelle sage ich okay das ist dann auch ein element und alle tester sage ich hier in oder am besten ist es eine enklave überlegt die schleife könnte es im leerlauf zustand haben dann starrt zustand dann den zustand wann wo die zyklisch läuft und den staub zustand wo sie irgendetwas aufräumt so das war jetzt auch zu einer typ definition speicher ist auch gleich so in applikation das ist jetzt ein neues update oder so ähnlich da sind meine zustände die tiere das ganze gleich auch so auch in time definition und bearbeite meine items ich brauche genau vier zustände so ok speichern jetzt kann ich diesen zustand mit meiner schleife mit meiner crew verbinden und damit den datentyp mitteilen das heißt automatisch wird auch diese linie hier bio sagt weiterhin das aber nicht denn die elemente aus der crew heraushole dann weiß läppchen automatisch dass diese von diesem datentyp sein soll so den fehler cluster verbinden und natürlich die gleiche team brauche ich hier unten in der zweiten schleife deswegen ziehe ich und verbindet das ganze hier unten auch meine fehler cluster so das heißt wenn jetzt jede klinik erstellt werden kann dann wird die ganze applikation auch abstürzen so jetzt bin ich hier unten in der ecke und an dieser stelle habe ich

natürlich auch die auswahl treffen kann und diese auswahl soll meine these struktur beeinflussen und damit ich mit irgendetwas anfangen kann erstelle ich hier wieder mal eine konstante welche create konstant die sie nach und so das heißt ich habe jetzt die konstante mit dem status beziehungsweise mit dem schritt der der case an weise daraus mache ich ebenfalls ein schieber register weil das wollen natürlich weiter leiten und jetzt muss ich mir alle zuständig dann sage ich ihm was ea review und damit habe ich hier alle start und so weiter wenn ich ein idol bin möchte ich aus meiner crew daten rausholen dafür benutze ich den befehl moment dafür benutze ich den befehl die kuh ist das element das heißt ich hole mir jetzt hier ein element aus der warteschlange und das ganze ist natürlich von dem typ dieses zustandes und dann leighton das sogleich weiter aber erstmal bin ich auch natürlich die fehler leitung die auch nicht fehlen darf machen sie auch zu einem der gäste hier so das heißt ich würde jetzt hier designelement herausholen aus der schleife und da soll mein nächster zustand sein das heißt ich nehme dieses element wo leute das hier nach unten hin das heißt wenn meine schlafe einen neuen also einen neuen befehl sag ich mal empfängt dann leiten sie den inhalt sofort weiter und im nächsten durchlauf der also nicht schlafen wenn die kuh etwas empfängt mit dem nächsten durchlauf das schleife dass auch ausgeführt so dass ganze schieben schieben register werden und das hier sage ich auch dass mir die kunden also dieser tunnel verbunden werden soll auf der anderen seite also und das gleiche man bei der fehler leitung die muss hier auch verbunden werden so jetzt bin ich in idol das heißt wenn mir wenn meine haupt applikation jetzt einen befehl geschickt hat dass ich starten soll und diese befehle wird hier weitergeleitet da gehe ich ein staat wenn ich im staat bin dann mache ich irgendwas und danach laufe ich den ran wenn ich dran bin wenn ich in rambin dann bleibe ich natürlich auch mal ran ich möchte mich von alleine die schleifarbeiten das heißt man geht da zu hören und wenn ich im stop bin dann mache ich irgendwas wieder hier zurück in idol so man merkt natürlich jetzt wenn ich in rambin und wieder in rom laufen dass meine applikation ja eigentlich nie wieder aus diesem zustand weiß heraus läuft das heißt ich kann jetzt nicht aus der haupt applikation beeinflussen deswegen muss ich an dieser stelle an schauen dass ich hier die diese kuh die ich natürlich in jedem schritt habe dass ich dort überprüfen vielleicht auch ein element da enthalten ist was für meine haut applikation geschickt wurde und wenn es was gibt dann muss ich dementsprechend handeln labview gibt also bietet mir hier so ein vieh an das heißt preview also preview element das heißt ich kann so eine art vorschau auf das element in dieser grube kommen und weiß okay da ist irgendwas drin enthalten und wenn es irgendetwas gegeben hat dann kann ich mich entscheiden ob ich jetzt irgendwie weiterlaufen nicht an dieser stelle kann ich dann entscheiden wenn es jetzt ein element gegeben hat ja also wenn es von haupt applikation geschickt wurde dann wird der ausgang timeout auf 1 gehen auf null gehen das heißt es gab kein timeout und in der crew ist ein element enthalten das heißt in diesem fall gehe ich zu dem idle zustand so ich kopiere mir jetzt hier diesen diese szene und sage also das heißt wenn timeout 0 ist dann wird der untere teil abgehandelt und ich gehe in eine das heißt ich überprüfe ob es in der schleife in trance geändert wenn es aber in der schleife nichts gegeben hat dann wird time out of eins

gehen und dann übernehme ich dir den ersten fall und im ersten fall gehe ich natürlich wieder in rang so kombinieren das will ich noch mal das heißt ich gehe hier an und das leitet jetzt weiter an im nächsten schritt der mir das ganze auch funktioniert muss ich hier beim time out sagen zum beispiel eine sekunde timeout das heißt eine sekunde wird dieses die amg auch melden ob es ein time-out gab oder nicht ein bisschen elemente in der schleife also in der warteschlange gab oder nicht genau so an dieser stelle bin ich fertig habe ich auch nichts mehr zu tun und in allem bin ich eigentlich auch schon soweit fertig damit ich sehe dass meine schleife läuft ja ständig hier so ein indicator das heißt mit jedem durchlauf diese schleife würde ich sehen dass hier diese zahlen immer hoch zielt wenn ich jetzt die applikation starte habe ich noch einen fehler ok irgendwas ist noch nicht verraten und was ist denn auch nicht verraten natürlich ist mein meine abbruch bedingungen für die schlafen ich verrate ich verbinde sie jetzt hier einfach mal mit dem fehler cluster damit wenig fehlerfrei und für das ganze aus maine applikation nicht wenn ich connector oder sonst irgendwas tour passiert dass man nichts aber ich kann die applikation auch nicht schließen das liegt daran dass meine eine schleife hier in diesem fall niemals beendet wird dafür also wir sehen hier beide ist ja natürlich dieses element das wartet auf ein neues element in der in der schleife also in der warteschlange und wird so lange in diesem zustand fahren bis ein element reingekommen ist oder bis meine kuh gelöscht wurde genau das möchte ich jetzt machen hier oben wenn ich auf exit gehe dann will ich diese kuh einfach mal löschen sag ich hier wheelies kuh da kann ich das mal hier unten verbinden so man hier und an der stelle sage ich forst ist räumt das heißt ich möchte es jetzt zwingend dass meine kuh geschlossen wird und gut weiterleiten muss jetzt nicht aber ich könnte das auch mit einem schieber der gäste nach das ist falsch na gut ich lass das mal so also ich muss das jetzt nicht weiter leiten ich brauche auch kein schiebedach ist an der stelle weil lisa dieser wert deckte bleibt immer gleich so aber wenn ich in england bin dann zerstöre ich diese kino und wenn diese zerstört wird dann wird hier unten unten beim 1 dieser fehler ausgangs sofort auf 1 gehen das heißt hier hätte ich einen fehler und dann beende ich auf meine schleife also die zweite ebenfalls so das ganze noch mal ausführen wir haben keine fehler mehr und wenn ich jetzt schließe dann wird das ganze auch geschlossen perfekt was jetzt noch fehlt es wenn ich beim start bin also hier bei dem verbinden muss ich natürlich auch diese schleifer starten deswegen nehme ich mir wieder ein wie das sieht man da nicht das heißt mtu element und mit diesem weg kann ich in die schleife ein neues element hinzufügen dieses element ist natürlich dass dieses element ist natürlich staat also ich möchte dass meine zweite schleife in den staat zustand übergeht noch mal den fehler cluster verbinden und das sollte so weit fertig sein mit steuerung ihrer zeit ich mir das frontpanel an und ich das ganze aus führer und connect sehen wir dann meldet sich der treiber und da oben läuft schon mal meine zahl hoch das heißt diese zweite schleife läuft jetzt zyklisch mit wenn ich jetzt natürlich trainer passiert dass man nichts denn das habe ich auch noch nicht programmiert so ich kann das ganze augen schließen und die applikation wird wie erwartet geschlossen wie schon gesagt das muss man ja auch beim schließen also beim disco nächten hier aus führen an der stelle sage ich auch in kiel element element und dann natürlich hier auch den fehler cluster verbinden um ein element erstelle ich eine konstante heißt natürlich stopp stopp so nochmal das ganze ausführen wenn ich kann echte sehe ich oben läuft mein zahl hoch oder nicht disconnect perfekter hält auch meine schleifen

ich kann das immer wieder machen anhalten und wieder loslaufen ich kann die applikation erstmals schließen so was schön wäre es natürlich dass wenn ich es wenn die schleife also wenn ich jetzt die schleife die zweite schleife startet das dann maintaler verbunden wird deswegen verlage welch am besten den ganzen inhalt für meinem connect hier oben das als bei connect steht packe ich einfach mal in meine schleifen nummer zwei in diesem nicht erwarte ich erweitere sich etwas so die anzeige für diese laufende zeit brauche ich nicht mehr aber ich könnte einfach mal hier bei start das alles machen was oben bei connect passiert und dafür nehme ich jetzt hier oben ist mir meine ganzen klassen weg und verschieben sie nach unten die habe ich jetzt schon mal unten und jetzt die auswahl ich versuchen soweit alles auszugehen was ich dafür benötige weil ich gelöscht dass es mal so die initialisierung benötige ich es mal da unten ebenfalls genau das heißt dass alles wandert in die zweite schleife das erinnert und connect soll schon mal beim start sein die auswahl des treibers die wandert auch nach unten das geht auch in die zweite schleife so connect das hier jetzt mal auch nicht aber ich genau ich habe natürlich noch die disconnect bedingung die wird auch nach hinten wandern die verbinde ich also den fehler cluster können hier direkt so und verschiebe das ganze ebenfalls nach unten das jetzt müssen sie selig alles aber so passiert das noch mal wo man die applikation nicht von vornherein so mit multitasking sag ich mal fähig macht muss man gewisse sachen umstrukturieren so ich brauche dann auch diese ganze diesen klassen cluster nicht mehr das jetzt meine auswahl das heißt vielleicht nie so ganz schlau das komplett zu löschen aber ich kann es jetzt von hier unten nach oben leiten das heißt ich brauche das ganze an beiden stellen also hier unten so dass gar nicht da oben verbinden da nach darum denn ich benötige natürlich meine ganzen klassen auch wenn ich die applikation starte und dann die auswahl der beiden klassen darstellen möchte das braucht natürlich an der stelle auch ja dafür bin ich auch den fehler cluster an der stelle denn das ist gar nicht mal so blöd so bei kerosin tanks ist bei euch nicht hier bei connect schicke ich den stopp bei niska nächtlichen stadt mountain-bike schicke ich den start und das war’s soweit hier um ich müsste jetzt hier natürlich noch den hier diesen cluster verbindet so jetzt kann ich mich ganz der zweiten schleife widmen so jetzt habe ich in meinen beiden klassen und bei staat will ich hier natürlich ebenfalls die passende aus und leitet sie weiter an die ganze verbindungs ja wie eis und natürlich ebenfalls weiter angehen weiteren durchläuft für meine schleife das heißt das muss natürlich ebenfalls ein register 3 so empfehle ich die passende klasse und sie packe ich dann natürlich ebenfalls in archive register denn sie will ich auch bei den nächsten durchlauf namen nun verbindet ihr erstmal das ganze mein fehler cluster ebenfalls so jetzt bin ich ein start ich will den richtigen treiber aus verbindet mich nie dran ich mache ihnen irgendwas aber dann lag ich spiel das zu staub und den stopp möchte ich die zwei anderen wie einst benutzen und weißes disconnect und clean

up natürlich die fehler cluster verbinden und dann meine klasse hier nochmal und weiterleiten fehler cluster um so ich sehe jetzt natürlich hier auf diesen punkt das heißt nicht alle zustände sind verbunden deswegen ebenfalls diese verlinkung auf die andere seite und auch hier so zustand starten und fertig zustand eine fertig stopp fertig und ist auch schon mal fertig wir haben immer noch einen fehler dieser fusion ja stimmt die klasse die ich theoretisch aussehen müsste die fehlt hier das ganze komplett löschen und natürlich in allen anderen fällen auch die ebenfalls das ist jetzt ziemlich oft ihr so setzt sich oben hier schon mal den fall der ist weiß geworden ist ja keine fehler mehr ich kann das ganz ausführen so ich hatte im cdm ausgewählt ich kann mich connecten es kommt die nachricht und dann läuft es mal nicht so was ist passiert noch mal hier rein gucken ich bin bei staat den nachricht kam wenn ich müsste ihn ran gehen ach so natürlich ich habe keine anzeige werden das heißt auch wenn die schleife läuft sich das nicht deswegen werde ich jetzt einfach mal mein scope nehmen so wie er ist und verschiebe den natürlichen drang in diesem zustand und damit wir irgendwas sehen könnt verbinde ich das ganze hier mit einer zufälligen zahl ist damit eher einfach irgendeine ausgabe sehen damit das nicht so schnell läuft kann ich hier bei dieser timeout bei diesem thema sagen das ganze soll nummer 50 millisekunden warten das heißt wenn ich jetzt hier 50 millisekunden gewartet habe laufe ich wieder dran seid natürlich gab es gab ein element in der kino aber wenn es kein element gab werde ich immer 50 sekunden warten dann gibt es ein timeout da laufe ich wieder in rand- und so weiter das heißt alle 50 sekunden kann ich jetzt in run etwas ausführen soll des täters geben dann würde ich natürlich sofort in meinem zustand übergehen und dort die nächsten also die nächsten schritt entscheiden so das ganze ausführen connect die meldung und da sehe ich meine aufgabe das ganze läuft jetzt zyklisch durch wunderbar und ich kann das ganze auch wieder verbinden zum beispiel dann steht wieder meine seele klasse und sozialisiert und ich kann das ganze wieder hier brennen so ich würde sagen für dieses video reicht es schon mal gesehen man kann hier den treiber auswählen zum beispiel auf den zweiten dann wird die b klasse angezeigt und wir können zyklisch die daten jetzt zufällige damit daten aber später dicht dem thema daten in einem zweiten schleife parallel zur ersten schleife ausführen und darstellen und dabei bleibt unsere applikation ansprechbar man kann sie schließen und man kann mit ihr alles was man sich vorstellt und die zwei schleifen werden wenn man die applikation schließt die auch erwartet abgebrochen ohne dass ich etwas aufhängt vielen dank fürs zuschauen ich denke ich werde im nächsten video dann auch schon den treiber mit den richtigen daten befüllen und ja vielen dank fürs zuschauen tschüss und biss ihm nicht