Jump to content
Anzeige:
nächste DASYLab Schulungstermine bei measX
Messwerterfassung mit DASYLab – Grundlagen 12.09. + 13.09.2017 Mönchengladbach
DASYLab und Python 26.09. + 27.09.2017 Ludwigsburg

HolWo

Administratoren
  • Gesamte Inhalte

    234
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle erstellten Inhalte von HolWo

  1. Für Diadem ist eine aktualisierte Version des "DASYLab DataPlugin" erschienen: http://www.ni.com/example/29823/en/ ( August 1, 2017 [1.1.06788]) Behobene Fehler: "Corrected package block reading error." Mit diesem Plugin können im DASYLab-eigenen Dateiformat (Endungen *.DDF, *.DDB) aufgezeichnete Daten* direkt in Diadem gelesen werden. Dies ist hilfreich bei Nutzung älterer DASYLab-Versionen, die am Gegensatz zu DASYLab 2016 noch kein TDMS-Format unterstützen. * Das Plugin unterstützt nur Zeitdaten, aber keine Frequenz- und Histogrammdaten.
  2. NI USB 6501 an DL 12

    Hallo Herr Gull, im Measurement & Automation Explorer (MAX) müssen die enstprechenden Tasks erstellt werden, z.B. ein Task für die Digital-Erfassung. Zum Beispiel einen Rechtsklick auf das Gerät in der Baum-Struktur durchführen und im Kontextmenü Task erstellen auswählen. Dann öffnet sich ein Assistent, der Sie durch die Erstellung führt. Prüfen Sie bitte, ob im Configurator von DASYLab 12.0 der NI-DAQmx (ohne Can)-Treiber aktiviert ist. Anschließend bestätigen und nach dem Start von DASYLab finden Sie die entsprechenden Module in der Kategorie "Ein-/Ausgänge" des Modul-Browsers. Im DASYLab-Modul können Sie in der Dropdown-Liste im oberen Bereich des Dialog den zuvor im MAX erstellen Task einstellen. Natürlich nur Analog-Tasks in einem DAQmx-Analog-Eingangsmodul, Digital-Tasks in einem DAQmx-Digital-Eingangsmodul, usw.
  3. speichern eines Protokolls als .png Datei

    Hallo! Im Fenster der Visualisierungsmodule (s. Screenshot) können Sie über das Pinsel-Symbol die Eigenschaften der Darstellung konfigurieren: Liniendicke und -typ, Farbe, usw. Die Eigenschaften des Modul-Fensters gelten auch für die Grafikverknüpfung in der Layout-Ansicht.
  4. speichern eines Protokolls als .png Datei

    Hallo! Sie können bspw. einen PDF-Drucker (FreePDF, doPDF, etc.) installieren und das Layout per Aktion in eine PDF-Datei drucken lassen. Ab DASYLab 2016 kann bei Aktionen (z.B. Layout als PNG speichern) ein zusätzlicher Parameter gesetzt werden (s. Screenshot). Auszug aus der DASYLab-Hilfe: Bei allen Aktionen, bei denen ein Layout gespeichert oder in die Zwischenablage kopiert wird, wird ein zusätzlicher Parameter gesetzt (in alten Schaltbilder ist dieser zu 0 gesetzt). Dieser steuert die Skalierung des jeweiligen Bilds. Ohne zusätzliche Skalierung (bei Faktor 0 und 1) wird das Bitmap in der Größe des Bildschirms (auf dem DASYLab gestartet wurde) abgespeichert. 3 Wertebereiche werden vom Programm als gültig betrachtet, die für unterschiedlichen Skalieroptionen stehen. Alle Werte außerhalb dieser Bereiche werden wie 1.0 behandelt: Multiplikator: 0.125 <= Parameter <= 8.0 (Vergrößerungsfaktor zur Bildschirm- bzw. Layoutauflösung) DPI des Bildes: 150 <= Parameter <= 1200 (Pixelauflösung des resultierenden Bilds in dpi) Breite des zu erstellenden Bildes: 1280 <= Parameter <= 20000 (Breite des resultierenden Bilds in Pixeln (es können Rundungsfehler auftreten, z.B. bei feinen Linien)
  5. RS232 multible Ausgänge

    Möglicherweise sind die beiden einzelnen Aktionen zeitlich zu nahe beieinander. Der zweite Befehl soll gesendet werden während der erste noch nicht ganz "raus" ist. Probieren Sie mal zwei einzelne Aktionsmodule zu nutzen: eine Aktion pro Modul. Beim Modul Aktion03 die Option "Eingänge kopieren" aktivieren und dann das neue Modul anhängen. Evtl. ein Verzögerungsmodul zwischen die beiden Aktionsmodule plazieren (ein Block Verzögerung). Alternativ kann man auch versuchen, die beiden einzlnen Kommandos in einen einziges zu sendendes umzuwandeln. Anstatt eine globale Variable zu senden, die im RS232-Ausgang mit Text "dekoriert" wird, könnte man auch einen globalen String zusammenstellen und diesen dann als einzelne Nachricht versenden. Im Dialog der globalen String können Sie über "Erweitert..." die Option "Ausdruck automatisch berechnen" aktivieren und den Text Inhalt des Strings aus festen Textteilen und variablen Textteilen zusammesetzen.
  6. DasyLab2016 Probleme

    Hallo Herr Schreiber! Können Sie bitte ein mit DASYLab 2016 erstelltes Schaltbild zur Verfügung stellen, bei dem man dieses Verhalten nachvollziehen kann? Die Datei bitte hier an einen Beitrag anhängen oder an meine E--Mail-Adresse versenden: holger.wons@measx.com .
  7. Zufällige Zeitspanne generieren.

    Hallo! Mit Standardmodulen kenne ich keinen Weg, eine Zufallszahl zu bestimmen. Mit dem Skript-Modul hingegen (DASYLab 13 und 2016) geht dies problemlos (siehe Screenshot). Beim Start der Messung wird eine Zufallszahl zwischen "Rand Min" und "Rand Max" in die ausgewählte globale Variable von DASYLab geschrieben. Diese könnte man zum Beispiel in einem Kombitrigger-Modul (Startereignis: Direkt, Stoppereignis: Direkt) als Mindestzeit verwenden, sodass der Trigger dann für eine zufällige Zeit ab dem Start der DASYLab-Messung 5V ausgibt, nach Ablauf der Mindestdauer fällt die Ausgabe dann auf 0V. Diese fallende Flanke kann man dan wiederum für weitere Ereignisse weiterverwenden. Das Skript-Modul ist in der Kategorie "Spezial". Ein neues Modul ins Schaltbild legen, den erscheinenden Dialog einfach mit Ok bestätigen. Im Skript-Modulkonfigurationsdialog (Doppelklick auf das Modul im Schaltbild) den Button "Externen Editor benutzen" einmal anklicken ud mit Ok bestätigen. Jetzt erscheint ein "Laden"-Button. Hierüber können Sie nun die py-Datei "rand_var.py" in das Skript-Modul hineinladen (Link unter dem Screenshot). Mit Ok bestätigen und den Konfigurationsdialog verlassen. Das py-Skript ist nun im Skript-Modul und durch einen erneuten Doppelklick können Sie das Modul nun konfigurieren wie auf dem Screenshot zu sehen: die Nummer der Variablen, in die die Zufallszahl hineingeschrieben werden soll, zwei Werte Rand-Min/Max für den Bereich der Zufallszahl (Ganzzahl), min <= Zahl <= max. VORSICHT: Es sind keine Plausibilitätsprüfungen für die Parameter vorhanden!! Wenn man da z.B. eine Zahl eingibt, die keine gültige Nummer für eine globale DASYLab-Variable ist (1-999), wird es zu einem Fehler kommen. Das py-Skript ist eine Textdatei mit Python-Skript: www.python.org. DASYLab 13 verwendet Python 2.6.5. DASYLab 2016 verwendet Python 2.7.10. rand_var.py
  8. DasyLab und Peawatron Messgerät

    Hallo! Ich bin nicht sicher, aber ich vermute, das Gerät erwartet eine Pause zwischen einzelnen Datenanforderungen, nicht zwischen einzelnen Zeichen, die zum Gerät gesendet werden. Eine Anforderung kann durchaus aus mehreren Zeichen bestehen. Wenn das Gerät Anforderungen bestätigt, dann werden die ACK-Zeichen ebenfalls im Puffer liegen, zusätzlich zu den Antwortzeichen, die die "eigentlichen interessanten" Daten enthalten. D.h. das Datenformat muss ein zusätzlichen Zeichen überspringen. Alternativ können Sie die Anforderungen auch mit einem RS232-Ausgang senden. Dort können Sie nach dem Senden auf Zeichen vom Gerät warten und diese schon "weglesen", sodass diese erst gar nicht im Puffer des RS232-Eingangs landen. Mit \# 1 am Ende des Anforderungsstrings im RS232-Ausgang wird zunächst die Anforderung an das Gerät gesendet und auf die Bestätigung des Geräts des Erhalts der Anforderung gewartet. Wenn das ACK vom Gerät empfangen wird, wird dieses Zeichen nicht mehr in den Puffer vom RS232-Eingang gelegt. Ambei finden Sie Beispiele, um zeitversetzte Anforderungen zu versenden und wie man vorbereitete Anforderungen, die in globalen Strings stehen, versendet. rs232_strings_versenden.DSB rs232_zeitversetzt_senden_zyklus.DSB
  9. Dasylab - S-AGM Gasmitter

    Hallo! Das sollte mit dem folgenden Formatstring für die rot markierte Zahl gehen: 5x fy Die ersten fünf (schwarzen) Zeichen überspringen, dann die nächsten Zeichen als float-Zahl interpretieren und dabei das Big Endian-Format nutzen. Float ist vier Byte "breit", also werden die Zeichen A5 9A E1 3C interpretiert. "f mit y" --> 4-byte Fliesskommazahl im Format Motorola / Big Endian "f ohne y" --> 4-byte Fliesskommazahl im Format Intel / Little Endian
  10. RS232 Daten Empfangen und Datentyp wandeln

    Hallo! Das Problem wird sein, dass das Gerät gar kein Abschlusszeichen für eine Nachricht sendet. Probieren Sie bitte einmal aus, im Formatstring nach der Zeichenfolge "#2" zu suchen und von "hier" aus die Interpretation fortzuführen. "#2" scheint eine Kennung für den Nachrichtenstart zu sein. Formatstring: "#2" 8x a \x2c Die #2 ist tatsächlich mit "" zu umgeben. Es wird im Puffer des Moduls nach dem ersten Vorkommen von Text #2 gesucht. Der Interpretationscursor steht dann auf dem Komma hinter der 2. Jetzt 8 Zeichen überspringen. Nun alle Zeichen bis zum ersten Komma versuchen als Zahl auszugeben. Bei der nächsten Datenanforderung wird die neue Antwort an den noch im Puffer befindlichen Text angehängt. Beim erneuten Interpretieren, wird aber zum nächsten #2 gesprungen und der bis dahin noch uninterpretierte Text wird verworfen/übersprungen.
  11. RS232 Daten Empfangen und Datentyp wandeln

    Hallo, die Daten, die Sie als Antwort erhalten, werden im Monitor "einfach" nur angezeigt, bei der Analyse aber muss die Antwort perfekt zu den Formatstrings passen. Möglicherweise wird bei der neuen Verbindung ein oder mehrere Symbole zusätzlich (oder weniger) gesendet. D.h. hier sollten Sie in einem Testschaltbild die ankommende Nachricht, deren Daten Sie aus dem RS232-Modul ausgeben, noch einmal Zeichen für Zeichen kontrollieren.
  12. Dasylab - S-AGM Gasmitter

    Hallo! In eine ASCII-Datei zu schreiben erfordert synchrone Datenströme an den Eingängen: gleiche Abtastrate, gleiche Blockgröße und ein gleicher Zeitstempel. Eine von DASYLab geschriebene ASCII-Datei ist im Prinzip eine Tabelle, eine Spalte ist der Zeitkanal, die folgenden Spalten sind die Datenkanäle. Wenn an einem Eingang Daten vorhanden sind, dann müssen an den anderen Eingängen ebenfalls Daten vorhanden sein -- damit DASYLab eine Zeile in dieser Tabelle vollschreiben kann. Die RS232-Module fordern Daten von einem Gerät an, das Gerät sendet eine Antwort. Die Module sind vmtl so konfiguriert, dass sie die Daten sofort nach dem Empfang an das Schaltbild ausgeben. D.h., die Module geben die Daten nicht gleichzeitig aus, sodass am Schreiben-Modul auch mal Daten angelangen, zu denen es an den anderen Eingängen keine zeitlich passenden Daten gibt. Die Tabellenzeile kann nciht vollgeschrieben werden! In den Optionen der RS232-Module können Sie aber die Ausgabe der Daten an das Schaltbild von einer Zeitbasis abhängig machen. In allen Rs232-Modulen, die die Daten liefern, welche in die ASCII-Datei geschrieben werden soll, stellen Sie dieselbe Zeitbasis ein. Jetzt geben alle RS232-Module in festen Zeitabständen die Daten an das Schaltbild aus. Hier kann es natürlich auch mal dazu kommen, dass derselbe Datenwert mehrfach aus einem Modul ausgegeben wird oder ein Wert verloren geht, da die Ausgabe aus dem Modul nun nicht mehr von der Ankunft der Geräteantwort abhängt.
  13. Hallo! Anbei finden Sie ein Beispielschaltbild (DASYLab 12), das einen Lösungsvorschlag anbietet. Im Beispiel erfolgt die Ausgabe der Daten im 4-Sekunden-Takt. Schaltbild Download *klick*
  14. Dasylab - S-AGM Gasmitter

    Hallo, das richtige Kommando für die Anforderung von Daten hängt vom konkreten Gerät ab. Meistens müssen die Kommandos mit einem Terminator abgeschlossen werden, damit die "Gegenseite" weiss, dass jetzt keine weiteren Zeichen mehr zu erwarten sind. So ein Abschlusszeichen kann ein "Carriage Return"- oder ein "Line Feed"-Symbol (oder beides oder ein ganz anderes Symbol) sein. Probieren Sie daher einmal aus, was passiert, wenn Sie das Kommando im RS232-Monitor mit einem \r oder einem \n abschließen bevor die Anforderung gesendet wird. Beispielweise: "*IDN?\r" (ohne die "") Welches Zeichen genutzt werden sollte, müsste in der Beschreibung der Kommandos des Geräts zu finden sein.
  15. Globale Strings bearbeiten

    Hallo! Versuchen Sie einmal, Pfad und Dateiname zunächst in "eigenen" Strings unterzubringen, z.B. PFAD und DATEINAME . Den Dateinamen können Sie dann einfacher modifizieren. Ein weiterer String ist dann Ergebnis des Aneinanderhängens der beiden Strings PFAD und DATEINAME. Alternativ: Stringfunktionen Mit der Funktion SubStr("String",Start,Länge) können Sie einen Teilstring aus dem angegebenen "String" extrahieren. Die Länge können Sie mit StrLen("String") herausfinden. Beispiel: String 001: EINGABEDATEI: C:/Nutzer/Test/Daten/Test01.asc String 002: KEINE_ENDUNG: In der Übersicht einen Doppelklick auf diesen String machen und "Stringausdruck berechnen" aktivieren. Hier nun SubStr(${EINGABEDATEI},0, StrLen(${EINGABEDATEI})-4 ) eingeben. Der Inhalt vom String 002 ist jetzt immer der Inhalt vom String 001, aber um vier Zeichen gekürzt (hier: ".ASC" wird ausgelassen). Nun können Sie in einem weiteren String den Inhalt von String 002 um "_aaa.asc" erweitern.
  16. DASYLab 13 - Windows 10

    Hallo! Prinzipiell kann man DASYLab 13 auch unter Windows 10 nutzen, aber da DASYLab 13 einige Jahre vor Windows 10 erschienen ist, gibt es für den fehlerfreien Betrieb keine Garantie. DASYLab 2016 (noch nicht erschienen) wird Windows 10 aber offiziell unterstützen.
  17. OPC_Eingang (DasyLab 2016)

    Hallo! Die OPC Unified Architecture wird leider nicht unterstützt.
  18. Sollkurven / Spannungsregler

    Was muss täglich angepasst werden? Im Sollwertprogramm können für die einzelnen Programmschritte auch globale Variablen anstatt z.B. einer festen Zeitdauer für eine Rampe angegeben werden. D.h., Sie müssen nicht das komplette Programm austauschen, sondern können beim Start der Messung Variablenwerte abfragen (oder aus einer INI-Datei lesen), welche die Konfiguration der Programmschritte verändert.
  19. Sollkurven / Spannungsregler

    Hallo! Ja, wenn Sie Ihr DASYLab auf einem Rechner installieren, kommen Sie zu einem Dialog, in dem Sie die Seriennumer eingeben müssen. Anstatt die Nummer einzugeben, können Sie einen Haken bei "Evaluierungsversion installieren" setzen. Diese Version ist dann 28 Tage nutzbar, aber es sind alle Module ausprobierbar. Bei DASYLab 12 und 13 können Sie die Seriennummer im Configurator verändern. Bei älteren DASYLab müssen Sie die Installation noch einmal durchführen oder die "Installation ändern" (Windows-Systemsteuerung >>> Software).
  20. Sollkurven / Spannungsregler

    Hallo! Die Sollkurven sind eher für das Erkennen einer Toleranzverletzung gedacht: weicht mein aktuelles Signal von der Vorgabe ab -- Ja oder Nein? Die Werte der Sollkurve lassen sich nicht wieder als Signal an das Schaltbild ausgeben. Für Ihren Fall wäre vmtl der Sollwertgenerator besser geeignet (siehe angehängtes Bild). Hier können Sie ein "Sollwertprogramm" erstellen und sich ein Signal zusammenbauen, das Sie auch wieder an das Schaltbild ausgeben können, um es mit einem aktuellen Messwert zu vergleichen und die tatsächliche Abweichung zu bestimmen. Im Bild sehen Sie ein Beispiel für ein kleines Sollwertprogramm, im Linienschreiber die Ausgabe des Moduls. Schritt 0: Eine Rampe von absolut 0V bis absolut 3V über 5 Sekunden. Schritt 1: Den Pegel 10 Sekunden halten. Schritt 2: Vom aktuellen Pegel 3V ansteigen, wieder über 5 Sekunden. Schritt 3 Wieder den Pegel für 10 Sekunden halten. Schritt 4: Innerhalb einer Sekunde auf 0V zurückfallen. Schritt 5: Zurück zu Schritt 0 springen, 33 Wiederholungen Im Sollwertgenerator können Sie auch weitere Ausgänge hinzufügen und bspw. bei Erreichen eines bestimmten Schritts einen der Ausgänge kurz auf 5V schalten lassen. Die steigende Flanke wiederum können Sie dann verwenden, um eine Aktion auszulösen, welche ein Haltefunktions-Modul veranlasst, Werte auszugeben. In dieses Haltfunktion-Modul können Sie den Ist-Wert von der Hardware und den Sollwert vom Sollwertgenerator einleiten. Wenn die Aktion ausgelöst wird, werden die aktuellen Werte beider Signale ausgegeben. Diese können Sie z.B. mit einem Arithmetik-Modul verrechnen, um die Differenz zu bestimmen.
  21. Ausgang beim Stopp der Messung auf 0 setzen

    Hallo! Das, was die Hardware am Ende einer Messung ausgeben soll, muss über eine Funktion im Modul einstellbar sein, das der Gantner-DASYLab-Treiber anbietet. Ansonsten wird dies mit "herkömmlichen" DASYLab-Mitteln leider nicht funktionieren. Wenn man die Messung stoppt, dann wird an alle Module im Schaltbild das "Stoppsignal" gesendet. Man kann aber nicht sagen, in welcher Reihenfolge das passiert. Es kann sein, dass das Hardware-Ausgabemodul das Signal als erstes erhält, ein "Datenlieferant" erst danach. D.h., der Datenlieferant, der am Ende eine 0.0 ausgeben soll, kann diese 0.0 zwar noch einmal ausgeben, aber das Hardware-Modul ist bereits im "Stoppzustand" und nimmt keine Daten mehr an. Fragen Sie doch einfach einmal direkt bei Fa. Gantner nach, ob ihr DASYLab-Treiber die Ausgabe bestimmter Werte am Ende einer Messung unterstützt!
  22. Positive und negative Flanke

    Entschuldigen Sie, aber ich verstehe leider nicht, was Sie meinen. Können Sie das Problem anhand eines Beispielschaltbilds demonstrieren? Welches Triggermodul haben Sie genutzt?
  23. Hallo! Wie reduzieren Sie denn die Daten? Falls Sie mitteln, können Sie im Modul die Ausgabe-Blockgröße verringern, sodass der Datenblock nicht erst "vollgemacht" werden muss, z.B.: Ein Datenstrom mit 1000 Hz und Blockgröße 1000, arithmetische Mittelung von 1000 Werten zu einem. Wenn Sie die Blockgröße nicht reduzieren, müssen Sie erst 1000 Mittelungen abwarten, bis das Mittelungsmodul überhaupt den ersten Block ausgibt. Wenn Sie aber die Ausgabeblockgröße auf 1 reduzieren, dann wird das Ergebnis jeder Mittelung in einem Block der Größe 1 sofort an die folgenden Module weitergegeben, sodass keine Daten mehr "hängen bleiben".
  24. Darstellung von Layouts über den erweiterten Desktop

    Wenn man den Desktop auf beide Monitore erweitert, sollte DASYLab auch ein Layout bildschirmübergreifend darstellen. Schauen Sie mal nach, ob die Einstellungen des Grafikkartentreibers hier mehr Optionen abieten als die Windows eigenen. Die Bildschirme sollten dabei aber von derselben Grafikkarte bedient werden; nicht etwa ein Notebook-Display (integrierte Grafik) und ein externe Monitor (dedizierte Grafik). Oder ein Monitor an die Grafik(steck)karte, ein weiterer ans Mainboard anschließen.
  25. Benutzereingabe über Aktion "String eingeben"

    Hallo! Haben Sie in das Parameterfeld die Stringnummer eingegeben oder einen Platzhalter (z.B. ${STR_1} )? Letzteres funktioniert nicht, da die "Logik" des Eingabefelds eine Zahl erwartet. Das Kontextmenü (Rechtsklick in das Eingabefeld) bietet leider fälschlicherweise die globalen Strings an obwohl diese hier nicht nutzbar sind. Eine globale Variable lässt sich aber nutzen, um die Eingabe wechselnder Stringnummern zu ermöglichen.
×