Jump to content

HolWo

Administratoren
  • Gesamte Inhalte

    259
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

HolWo hat zuletzt am 11. Oktober 2016 gewonnen

HolWo hat die beliebtesten Inhalte erstellt!

Über HolWo

  • Rang
    DASYmatrix 001

Profile Information

  • Gender
    Not Telling

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Da bin ich leider etwas ratlos... welche Messtechnik/-hardware nutzen Sie für die Erfassung?
  2. Hallo! Können Sie bitte das verwendete Schaltbild hier hochladen? DASYLab verarbeitet Daten blockweise: bei bspw. 1000Hz Abtastrate und Blockgröße 100 werden zwar 1000 Werte pro Sekunde verarbeitet, aber die 1000 Werte werden in 100er-Blöcken von einem Modul zum nächsten gereicht. D.h., wenn Sie die Blockgröße von 100 auf 500 verändern, dann sehen Sie bei 1000Hz Abtastrate im Digitalinstrument nicht mehr jede zehntel Sekunde einen Wert, sondern nur noch einen neuen Wert pro halbe Sekunde. Bei sich schnell ändernden Signalverläufen, bekommen Sie bei verschiedenen Blockgrößen folglich andere Einzelwerte im Digitalinstrument dargestellt, diese müssen aber nicht falsch sein -- man bekommt von z.B. einer Sinuskurve nur unterschiedliche "Momentaufnahmen" zu sehen (bspw. "jede zehntel Sekunde" versus "zwei Werte pro Sekunde").
  3. HolWo

    RS232 lesen/schreiben

    Ich meinte nicht, dass alle Antworten verworfen werden sollen. Vielmehr gibt es Geräte, die einen erhaltenen Befehl bestätigen ("ACK" o.ä.) und dann erst die eigentlich Antwort senden, falls das Zusammenstellen der Antwort mehr Zeit in Anspruch nimmt. Diese Bestätigungen können natürlich auch beim RS232-Eingang an und stören bei der Interpretation der eigentlich gewünschten Antwort. Sie können testweise probieren, dem RS232-Eingang so viele Kanäle zu geben, wie die erwartete Antwort Zeichen hat. Der Formatstring jedes Kanals ist nur ein einzelnen b (für Byte). Ein Digitalinstrument anschließen und auf Hex bzw. ASCII-Darstellung stellen. Jetzt sollten Sie nach dem Senden die einzelnen Zeichen der Antwort sehen können. Wenn Sie immer denselben Befehl senden, sollte im Digitalinstrument immer das gleiche Format erkennbar sind mit stellenweise unterschiedlichen Zeichen.
  4. HolWo

    PT100 Messung

    Danke für die Rückmeldung!
  5. HolWo

    RS232 lesen/schreiben

    Hallo! Wenn Sie die Befehle senden, bestätigt das Gerät diese durch zurückgesendeten Zeichen/Nachrichten? Diese Zeichen würden dann vom RS232-Eingang empfangen und die Interpretation der "Datennachrichten" durcheinanderbringen. Im Formatstring des RS232-Ausgangs können Sie das Steuerzeichen /# m verwenden, wobei m die Anzahl der Zeichen ist, die der RS232-Ausgang aus dem Empfangspuffer entfernt, damit diese nicht vom RS232-Eingang gelesen werden können.
  6. HolWo

    Can Bus Ansteuerung

    Hallo! Im Configurator von DASYLab können Sie einen der CAN-Treiber aktivieren, passend zur verwendeten CAN-Hardware (siehe Bild). DASYLab 13 und 2016 unterstützen Vector-CAN, NI-CAN und IXXAT-CAN. Laut Webseite von MCC bietet das DaqBoard/3001 leider keine CAN-Ports an, sondern "nur" Analog-I/O, Digital-I/O und Counter.
  7. Hallo! Der Kombitrigger hat zwei Modi; bei einem hat das Modul zwei Eingänge und einen Ausgang. Das erste "Lichtschranken-Signal" an den Eingang 0, das zweite an den Eingang 1 anschließen. Im "Triggermodul mit 2 Eingängen" ist die Startbedingung an das Signal des ersten Eingangs gekoppelt (Eingang0), die Stoppbedingung an die des anderen Eingangs. Wenn nun am ersten Eingang eine steigende Flanke erkannt wird (Startbedingung: Steigende Flanke) aktiviert sich der Trigger und schaltet seine Ausgabe von 0.0V auf 5.0V um. Wenn am zweiten Eingang die Flanke der anderen LIchtschranke erkannt wird (Startbedingung: auch Steigende Flanke), soll der Trigger wieder deaktiviert werden (Ausgabe 5.0V >> 0.0V). D.h., wenn die beiden Lichtschranken nacheinander unterbrochen werden, gibt der Trigger für diese Zeit TTL High, TTL Low sonst. Jetzt das Statistik-Modul Zähler an den Ausgang des Triggers anschließen und das Modul die Zeitdauer mit High-Pegel ausgeben lassen. Über die Option Rücksetzen nach Flanke kann man nun entscheiden, ob bei jeder erkannten steigenden Flanke (Ausgabe des Triggers) die Zeit zurückgesetzt werden soll oder die Zeit vom letzten Zählstand fortgezählt werden soll. Das Ganze funktioniert natürlich nur, wenn die Lichtschranken immer in derselben Richtung "angefahren" werden und die Reihenfolge der Unterbrechungen gleich bleibt..
  8. HolWo

    Boolean im Text anzeigen

    Hallo! Die Bitfolgen entsprechen Dezimalzahlen. Nutzen Sie einen Positionsschalter mit 5 Schalterstellungen, jede Schalterstellung gibt einen Wert aus: Schalterstellung0 gibt 0.0 aus, Schalterstellung1 gibt 1.0 aus, usw. Verbinden Sie das Positionsschalter-Modul mit einem Aktionsmodul. Hier können Sie das Erreichen des Werts 1.0 überwachen und dann einen globalen String auf "rechts" setzen. Ist der Datenkanal gleich 5.0, entsprechend auf "gestoppt". Analog für die übrigen Texte und Bitkombinationen/Dezimalzahlen.
  9. HolWo

    IXXAT-CAN und DAsyLab v13.0

    Hallo! Welche Version des IXXAT VCI-Betriebssystemtreibers nutzen Sie? Mit VCI 4.x gibt's noch einige... Unstimmigkeiten; nutzen Sie daher bitte die jüngste VCI 3.x-Version! Ist die Baudrate korrekt? Nutzen Sie bitte zuerst einmal einen passend konfigurierten CAN-Eingang mit einem angeschlossenen Digitalinstrument, um sicherzustellen, dass auch tatsächlich etwas empfangen werden kann.
  10. HolWo

    Script-Modul

    Hallo! Das Skript-Modul kann keine Aktionen senden und empfangen. Anstatt im Skriptmodul zusätzlich eine Variable zu setzen, um zu signalisieren, dass der String bereitgestellt wurde, können Sie selber einen TTL-Puls am Ausgang erzeugen, um mit einem folgenden Aktionsmodul den String "zu melden". Eine Übersicht der Funktionen finden Sie in der DASYLab-Hilfe: Module >> Spezial >> Script-Modul. Prinzipiell hat man Zugriff auf Funktionen zum Zugriff auf die "eigenen" Moduleingänge/-ausgänge, um Daten anzunehmen und nachfolgenden Modulen Daten bereitszustellen. Globale Variablen und Strings lassen sich lesen und schreiben, man kann eine eigene Zeitbasis anbieten (falls man einen Treiber erstellt) und die Einstellungen einer vorhandenen Zeitbasis lesen. Eigene Fenster können mittels Python zwar erzeugt werden, sind aber unabhängig von DASYLab und nicht auf einer Layoutseite einbettbar.
  11. Hallo! Wenn Sie IOtech-Hardware nutzen, dann legt der zugehörigen DASYLab-Treiber von IOtech Konfigurations-Informationen in einer XML-Datei ab. Diese hat denselben Dateinamen wie die entsprechende Schaltbild-Datei. Wenn ein Schaltbild geladen wird, in dem sich IOtech-DASYLab-Module befinden, sucht der IOtech-DASYLab-Treiber nach dieser Datei; wenn diese nicht gefunden wird, erscheint die gezeigte Meldung. Stellen Sie bitte sicher, dass DASYLab auf dem Rechner ausreichende Privilegien hat, um die XML-Datei auf der Festplatte anzulegen bzw. eine existierende zu ändern. Außerdem, dass die XML-Datei, die zum Schaltbild gehört, entweder im selben Verzeichnis wie das Schaltbild liegt oder im DASYLab-Programmverzeichnis. Den aktuellsten (und letzten) Treiber finden Sie auf der Seite von Measurement Computing (IOtech gehört zu MCC): https://www.mccdaq.com/downloads/iotech_software/DaqBoard_3000_Series_PCI_USB/
  12. HolWo

    Skriptmodul-Zeitbasis

    Hallo! Hier fehlt leider im Skript in der Funktion SetupFifo die explizite Rückgabe von True. Ohne explizites return True bzw. return False wird automatisch None zurückgegeben. Wenn das DASYLab-Subsystem den Rückgabewert None erkennt, dann wird die SetupFifo-Funktion des Skripts ignoriert und die Optionen des Dialogs Kanal-Eigenschaften werden stattdessen angewendet -- aber ohne die Information über Abtastrate und Blockgröße auf die Ausgänge anzuwenden: Da man aber im Beispiel eine Datenquelle als Modul vorliegen hat, muss man über die SetupFifo-Funktion nachfolgenden Modulen mitteilen, mit welchen Eigenschaften die Daten während der laufenden Messung ankommen werden (u.a. Abtastrate und Blockgröße). Da die SetupFifo durch das fehlende return True aber gar keine Auswirkung hat, bleiben die Eigenschaften des ausgegebenen Datenstroms nach dem Laden des fehlerhaften(!) Skripts in das Modul aber unverändert (hier: info.timebaseID = 2, also Treiber-Zeitbasis). Ändert man nun im Dialog die Zeitbasis-Einstellung, dann werden in der ProcessData-Funktion zwar die von der nun ausgewählten Zeitbasis vorgegebene Abtastrate und Blockgröße an den leeren angeforderten Block (Funktion GetOutputBlock) geschrieben... aber der leere Block ist weiterhin mit den Eigenschaften der Treiber-Zeitbasis vorkonfiguriert, weil das return True fehlt in der SetupFifo-Funktion! Konkret für das Beispiel heisst das: In der info-Klasse ist die Zeitbasis-ID 2 vorgegeben, die Eigenschaften der Ausgänge werden also von der Treiber-Zeitbasis abgeleitet. Die Treiber-Zeitbasis ist im Schaltbild auf 10 Hz, Blockgröße 4 eingestellt. Startet man die Messung funktioniert alles wie erwartet. Ändert man nun die Zeitbasis auf DASYLab (10000 Hz, BG 1000 im Beispiel), dann werden in der ProcessData-Funktion die Eigenschaften zwar von der DASYLab-Zeitbasis abgefragt, aber durch Funktion GetOutputBlock stellt DASYLab nachwievor einen leeren Block bereit, der eine maximale(!) Blockgröße von 4 hat -- weil die SetupFifo-Funktion des Skripts keine Auswirkung hat und Eigenschaften der Ausgänge nicht an die Zeitbasis-Änderung im Dialog angepasst werden. Die Eigenschaft BlockSize, die an jeden Datenblock noch einmal explizit drangeschrieben wird, ist die reale Blockgröße, die immer kleiner oder gleich der maximalen Blockgröße ist, niemals größer. Da die "alte" maximale Blockgröße aber in diesem Beispiel quasi fest 4 ist (auch wenn's langsam langweilig wird : wegen des fehlenden return True in der SetupFifo-Funktion!), hat der angeforderte Datenblock Platz für höchstens vier Datenwerte. Durch die Umstellung im Dialog auf die DASYLab-Zeitbasis aber sollen 1000 Werte in den Block geschrieben werden. Hier kommt es dann zum Fehler FIFO data mismatch, weil die durch die in der SetupFifo vereinbarte maximale Blockgröße durch das Falschbelegen in der ProcessData-Funktion nicht eingehalten wird -- 1000 Werte passen nunmal nicht in einen Block mit nur 4 Plätzen. Lange Rede, kurzer Sinn: die SetupFifo-Funktion explizit mit return True abschliessen!
  13. Hallo, ich habe ein Beispiel angehängt von dem Sie sich inspierieren lassen können: die Excel-Tabelle müssen Sie zunächst im Windows ODBC Administrator** als Datenquelle namens "Obst-DB" einrichten (s. Schaltbild, ODBC-Module). Das Beispielschaltbild kann ab einschließlich DASYLab 13 verwendet werden. ** Unbedingt die 32-Bit-Version verwenden, wenn Sie ein 64-Bit-Betriebssystem einsetzen: c:\windows\syswow64\odbcad32.exe DASYLab 13_ODBC_Obst-Beispiel.zip
  14. HolWo

    PID PWM Signal erzeugen

    Das PID-Modul gibt keine PWM-Signale aus. Wenn bspw. die Parameter P=1, I=0 und D=0 gewählt sind, dann gibt das Modul die Differenz zwischen den Eingängen (Sollwert oben, Istwert unten) aus.
  15. HolWo

    Verwendung von 2 x NI cDAQ-9174

    DASYLabs bis einschließlich Version 12 sind empfindlich ggü. nicht lauffähigen Tasks, unabhängig davon, ob die Tasks fehlerhaft konfiguriert sind oder verknüpfte Geräte nicht angeschlossen sind. Es kann durchaus sein, dass die "ersten" Tasks, die im MAX lauffähig sind, im DASYLab 12 ebenfalls funktionieren. D.h. alle bis zum ersten nicht lauffähigen Task erfolgreich importierten Tasks können genutzt werden, alle folgenden Tasks -- selbst funktionierende, die nach einem fehlerhaften Task importiert werden -- nicht mehr. Die Fehlermeldung zeigt "nur" an, dass der Abgleich nicht erfolgreich gewesen ist; das bedeutet aber nicht, dass gar nichts importiert werden konnte. Ab einschließlich DASYLab 13 wurde das Verhalten angepasst, sodass bereits im MAX nicht lauffähige Tasks übersprungen werden und die Tasks, die im MAX funktionieren, ins DASYLab importiert werden können. Unabhängig davon sollten Sie Ihren MAX/DAQmx aktualisieren: die "frühen 15er-Versionen" sind nicht empfohlen, wenn DASYLab zum Einsatz kommt. Ab MAX/DAQmx 15.5 und neuer ist man wieder auf der sicheren Seite.
×