String-Daten aus DAC-Scriptblock empfangen?

Gibt es irgend eine Möglichkeit, um nichtnumerische Daten, die innerhalb eines Scripblocks anfallen, zu empfangen?
Die Datenleitungen können nur numerische Werte (grüne Leitungen)
übertragen. Die Kanlal oder Scriptparameter können nur Daten an das
Script übergeben, jedoch keine Daten empfangen. Ich benötige aber einen
Weg, um einen innerhalb der Scriptbearbeitung anfallenden String (es
ist ein Pfad)  irgendwie zu empfangen.
In meiner Verzweifelung habe ich in Abwandlung eines Beispiels aus der
Hilfe versucht, Daten über eine OLE bzw. ActiveX -Verbindung in den
Datenbereich zu schaufeln. Hier der relevante Ausschnitt:
Function ConnectToDIAdem
'Create the DIAdem object
  Dim nValueT
  ConnectToDIAdem = 0
    On Error Resume Next
    Set oDIAdem = CreateObject("DIAdem.TOCommand")
    If Err.Number > 0 then
      MsgBox ("Err No " & CStr(Err.Number) & " " & Err.Description)
      Err.Clear
    Else
      oDIAdem.bNoErrorDisplay = true
      oDIAdem.bNoWarningDisplay = true
      ConnectToDIAdem = 1
    End If
End Function
Sub DisconnectFromDIAdem
'Destroy the DIAdem object
  Set oDIAdem   = Nothing
End Sub
Dim oDIAdem
Sub SFD_Init( DeviceParam1V, DeviceParam2V, ErrorP )
    Const strCanNotStart = "An error has occurred while executing the example."
'Execute the DIAdem command
        Dim Exe_All, Exe_One, Exe_Type, Para
    If ConnectToDIAdem Then
        If oDIAdem.CmdExecuteSync("ChD(2,2) = 15" ) <> 1 Then
           MsgBox strCanNotStart
        End If
        oDIAdem.CmdExecuteSync("WndShow('SHELL','Show')")
        Call DisconnectFromDIAdem
    Else
        MsgBox strCanNotStart
    End If
End Sub
Beim Start des DAC-Plans (mit Scriptblock) stürtzt zunächst Diadem
kommentarlos ab. Beim Versuch, Diadem mit dem Task-manager zu beenden,
gibt es promt ein reset des Rechners. (Win2000)
Ich poste in Deutsch, da Diadem-DAC ohnehin nur im deutschsprachigem Raum verbreitet sein dürfte.

Hallo,
Im Script als solches ist nur ein kleiner Fehler: Die Zuweisung eines Wertes an die CHD Variable muss mit einem := erfolgen.
Wenn Sie dies ändern, lässt sich das Programm im DIAdem SCRIPT ausführen.
Was man allerdings vermeiden sollte ist, die DIAdem.ToCommand Schnittstelle aus dem Script-DAC Treiber aufzurufen. Ein Zugriff auf die Datenmatrix ist aus dem Treiber generell nicht möglich, auch nicht auf diesem Umweg. Allerdings hängt der Programmfehler nicht mit der ChD Variable zusammen, der ActiveX Zugriff auf die DIAdem API aus diesem Kontext führt alleine schon zu Problemen.
Um die Strings Ihres Messgerätes verwerten zu können, müssten Sie diese während der Messung in einer Datei ablegen. FileIO ist im Script DAC Treiber Kontext gestattet.
MfG
Ingo Schumacher
Systems Engineer Sound&VibrationNational Instruments Germany

Similar Messages

  • Daten aus script dac in DATA kopieren

    Hallo,
    ich möchte Werte aus dem Script Dac in den DATA Bereich kopieren.
    Normalerweise kann ich über
    CHD(2,zaehler)=R1
    Daten aus einer der Systemvariablen übergeben, zumindest im Modul CALC
    Das funktioniert aber im Script nicht.
    Auch mit CHDX... geht nichts.
    Kann mir da wer weiterhelfen?
    Gruß
    Heinz

    Hallo krauh,
    es ist nicht möglich aus einer laufenden Messung direkt mit CHD oder CHDX in einen Datenkanal zu schreiben. In dem DAC-Script-Treiber muss ein weiterer Kanal erstellt werden, der die Werte von R1 enthält. Es werden somit in der eingestellten Taktrate R1-Werte erzeugt. Um nur zu bestimmten Stellen einen gültigen Wert zu erstellen, kann im DAC-Script-Treiber immer NOVALUE ausgegeben werden und nur wenn ein gültiger R1-Wert existiert wird dieser ausgegeben. Nach der Messung können ggf. die NOVALUES entfernt werden (Analysefunktion zu Novaluebehandlung).
    Gruß
    Walter

  • Beriebsmodus DAC-Scriptblock

    Während der DAC-Scriptblock unter Diadem 8.x die Auswahlbox "Betriebsmodus: synchron/asynchron zum Messtakt" führte, ist dieses Feld unter Diadem 9 verschwunden.
    Warum? (Die Betriebsart 'asynchron' hatte in Diadem 8.1 unter WinXP nicht funktioniert.)
    Habe ich etwas übersehen?
    In welcher Betreibsart läuft der Scriptblock von Diadem 9.1 eigentlich?
    Sollte der Block jetzt immer synchron zum Messtakt laufen und innerhalb des Scriptes z.B. (die relativ langsamen) seriellen Schnittstellen bewirtschaftet werden, so kann von 'harter Echtzeit' eines Dac-Schaltplans wohl keine Rede mehr sein.
    (siehe Attachment)
    Offenbar treten die Takte vom Block Takt2 (Software Interrupts ?) auch während der Bearbeitungszeit des Scriptblocks auf, werden aber nicht sofort bearbeitet, sondern stapeln sich auf und werden erst nach Ende der Bearbeitung des Scriptblocks praktisch gleichzeitig bearbeitet.
    Man male sich aus, was passiert, wenn anstelle des Generator-Simulationsblockes eine echte Messhardware stünde oder wenn der DAC-Schaltplan auch echte Regelaufgaben zu leisten hat.
    Martin Bohm
    [email protected]
    Attachments:
    script1.zip ‏4 KB

    Danke für den Hinweis, war mir entfallen. Es wird wohl so sein, wie Sie schreiben. Die Begründung, warum der Verarbeitungsblock nur synchron laufen sollte, kann ich nicht nachvollziehen. Besser solle der Scriptblock mit der Übergabe von Daten an langsame Hardware warten, als der gesammte DAC-Schaltplan. Dieser hat i.d.R. noch andere, wichtige Augaben zu erledigen (z.B. Regelabläufe), wie im Beispiel durch den Frequenzgenerator dargestellt.
    Ich habe meinen Test-Schaltplan entsprechend angepasst (Script2.zip). Im Asynchron-Mode ist die Ausführung deutlich verbessert, aber noch alles andere als befriedigend.
    Martin Bohm
    [email protected]
    Attachments:
    Script2.zip ‏4 KB

  • Fehler aus DAC Hardwaretreiber GfsNI-DAQ

    Hallo,
    ich arbeite mit DIAdem 8.10 unter WIN-XP-Pro.
    Während des Startens eines DAC-Planes aus einer Autosequenz wurde folgender Fehler gemeldet.
    "Fehler aus DAC Hardwaretreiber GfsNI-DAQ. Die Konfiguration konnte nicht aus dem MAX ausgelesen werden"
    Ich verwende zwei NI-PCI-Messkarten mit dem traditionellen DAQ-Treiber.
    Der Fehler tritt nur sporadisch auf, vieleicht 1-2 mal am Tag.
    Gibt es eine Lösung??? 
    Gruß
    Stefan Balzer
    Lohrentz GmbH

    Hallo,
    es ist schwierig sporadisch auftretende Fehler zu beheben. Da es scheinbar ein Problem der Daq Treiber DLL ist, wäre es interessant welche Treiberversion vom Trad. Daq Sie nutzen. Es gab Probleme mit Trad. Daq 7.0 und Diadem 8.1. Anbei die überarbeitete Gfsnidaq.dll. Die alte DLL durch diese ersetzen.
    Michael
    Attachments:
    GfS_NI.zip ‏84 KB

  • Problem mit Daten aus ATFX-Datei

    Hallo,
     ich habe identische Daten aus unterschiedlichen Quellen. Einmal direkt aus einem Datenlogger als ATFX, das andere mal wurden die gleichen Daten zunächst in eine ASAM ODS Datenbank importiert und von dort wieder in ein ATFX exportiert. Leider wird in einen Kanal (Datentyp T_LONGLONG) dann im DIAdem Unterschiede. Wenn ich beide ATFX-Dateien im ASAM Commander von HighQSoft betrachte, sind die Daten im Kanal beidemale korrekt. Im DIAdem werden nur die Daten aus dem Datenlogger korrekt dargestellt.
    Ich habe beide Datenpakete angehängt. Es handelt sich um den Kanal Time aus der Kanalgruppe TIMESERIES_(1Hz)_001.
    Gruß, Marc
    P.S. DIAdem in der Version 10.2.1f3219  wurde benutzt
    Message Edited by CramB on 10-02-2009 09:04 AM
    Solved!
    Go to Solution.
    Attachments:
    OdsExport.zip ‏12 KB
    Datalogger.zip ‏133 KB

    On a first look the exported file contains some curious duplicates.
    e.g.
          <MeasurementQuantity><Name>QuantInternTime_001</Name><Id>25739502</Id><Datatype>DT_FLOAT</Datatype><Minimum>0.000000e+00</Minimum><Maximum>91.00000000000</Maximum><Average>45.50000000000</Average><Quality>not_tested</Quality><Result>5405535</Result>
             <LocalColumns>25685658 </LocalColumns>
             <LocalColumns>25685658 </LocalColumns>
          </MeasurementQuantity>
    Please make sure that the duplicates are removed.
    The data coruption is done by the file
    Datalogger:
    <GenerationParameters>-1251709688064000 1</GenerationParameters>
    Export:
    <GenerationParameters>-1.25171e+15 1 </GenerationParameters>
    and should be
    <GenerationParameters>-1.251709688064E+15 1 </GenerationParameters>
    On the other hand the exporter of the file uses a output precision which is not enough for this numbers.
    The given number has a precision of 13 which still can be stored in a double value and which should be O.K. on formatting it to text.
    This means
    -1.25171e+15 - -1.251709688064E+15 = -311936000
    which is the start value in DIAdem.
    This means DIAdem is right in showing the data.

  • Daten aus tdm-Dateie​n extrahiere​n

    Ich habe ein kleines Script geschrieben, das die Daten aus dem *.tdm File ausliest. Ich habe aber noch ein Problem mit den deutschen Umlauten (siehe Screenshoot). Wenn ich die tdm Datei in einem Editor öffne, sind dort die Begriffe richtig geschrieben.
    Attachments:
    Meldung.jpg ‏6 KB
    Kommentare-auslesen.txt ‏3 KB

    Hallo Herrmann!
    Als Übergangslösung bis zu DIAdem 10.1 bleibt nur die Datei über einen XML Parser zu lesen. Der kümmert sich dann auch um die Zeichenkodierung und erspart auch ein wenig Parserarbeit. Das folgende Script ist aber wirklich nur eine Notlösung da es z.B. nicht überprüft ob die Registercomments der Wurzel zugeordnet sind:
    Option Explicit
    Dim oXML
    Dim oRegisterComments
    Dim oRegisterComment
    Dim oNodeName
    Dim oNodeDescription
    ' TDM als XML laden
    Set oXML = CreateObject("MSXML.DOMDocument")
    Call oXML.load( DateiName )
    ' registercomments über XPath ermitteln
    Set oRegisterComments = oXML.selectNodes("//usi:tdm/usi:data/registercomment")
    For Each oRegisterComment In oRegisterComments
    ' alle registercomment durchgehen und Namen/Description ermitteln und anzeigen
    Set oNodeName = oRegisterComment.selectSingleNode("name")
    Set oNodeDescription = oRegisterComment.selectSingleNode("description")
    If (Not oNodeName Is Nothing) And (Not oNodeDescription Is Nothing) Then
    MsgBox oNodeName.Text & " : " & oNodeDescription.Text
    End If
    Next
    Matthias
    Matthias Alleweldt
    Project Engineer / Projektingenieur
    Twigeater?  

  • RAW-Daten aus Canon Pro1

    Hallo,
    kann CS die RAW-Daten aus der Pro1 nicht lesen?
    Wenn nein, wird es da mal ein Update geben?
    Oder mache ich was flasch?

    Das Update 2.2 ist soeben erschienen und kann u. a. auch Pro1-Dateien lesen.
    Werner

  • Datenportal:Interne Daten aus einer SQL-Datenbank mittels OLEDB Abfrage füllen

    Es sollen Daten aus einer SQL-Datenbank mitttels OLEDB Abfrage in das Datenportal:Interne Daten in Diadem geschrieben werden. Die Daten in der SQL-Datenbank können nicht direkt verknüpft werden, da sie in komprimierter Form abgelegt sind und nur mittels einer OLEDB Abfrage ausgelesen werden können.
    Ich habe ein Script vorbereitet, aber ich bekomme die Daten nicht in das Datenportal importiert.
    Vieleicht hat ja jemand hierfür eine Lösung
    Attachments:
    WinCC import.zip ‏2 KB

    Hallo!
    Ich vermute mal mit 'Datenportal:Interne Daten' sind Kanäle gemeint. Beim Dekomprimieren der Daten (ist im Skript nicht zu erkennen) wird ja sicherlich die Kanallänge abfallen. Dann kann mit dem Befehl ChnAlloc ein passender Kanal angelegt werden, der dann über den Chd bzw. Chdx (schneller) Befehlen mit den Werten befüllt werden kann. Das wird aber bei vielen Werten nicht sonderlich schnell sein.
    Matthias
    Matthias Alleweldt
    Project Engineer / Projektingenieur
    Twigeater?  

  • Kann man Daten aus iCloud wahlweise wiederherstellen? wenn ja wie?

    kann man Daten aus iCloud wahlweise wiederherstellen? wenn ja wie?
    Ich will nur die Kontakte wiederherstellen, alles andere soll neu sein.
    Apple ID bleib die gleiche

    Settings > iCloud > Contacts: OFF then ON again.

  • Automatische Übernahme von Daten aus einer txt oder xls-Datei in ein pdf Formular

    Hallo zusammen,
    ich würde gerne automatisch Daten aus einer txt-Datei oder einer xls-Datei in ein pdf Formular übernehmen (z.B. Namen, Geburtsdatum).
    Die Daten sollen in Zeugnisformulare einer Schule übernommen werden, so dass alle Lehrerinnen und Lehrer diese Daten nicht mehr manuell eingeben müssen. Das Schulstatistik Programm exportiert die Schülerdaten eben in eine txt oder xls-Datei.
    Wie ist das möglich und wie muss ich hierfür die Einstellungen bei den Formularfeldern wählren?
    Vielen Dank für eure Antwort!

    Füll doch ein Formular aus, exportier die Daten als XFDF.
    Lies aus, wie das formatiert sein muss.
    Formatiere Deine Daten ebenso.
    Importiere dann diese Daten.

  • Fehler aus DAC Hardwaretreiber

    Ich habe mit einem Notebook mit Windows XP regelmässig Probleme mit der Datenerfassung/ Analogausgabe mit Diadem und einer NI Messkarte.
    Nach der Neuinstallation von Nidaq 7.4.4 konnte ich mit der Karte und Diadem arbeiten. Als ich den Schaltplan nach ca. 2 Wochen jetzt wieder verwendet habe, kam wieder wieder die Meldung:
    "Fehler aus DAC Hardwaretreiber "NIDAQmx"
    Es ist keine gültige NI-DAQmx Treiberbibliothek installiert...."
    oder:
    "Fehler aus DAC Hardwaretreiber "GfSNI-DAQ"
    Es ist keine gültige traditonal Treiberbibliothek installiert...."
    Verwendet: Windows XP
    Diadem 11.1
    NiDaq card 6024E
    NI Nidaq 6.9.3 oder 7.4.4.
    NI-DAQ Treiber DLL Version 11.1.0
    Mit einem alten Notebook mit windows 2000, NiDaq 6.9.3 und Diadem 10.2 habe ich keine Probleme.

    Nun gut, DIAdem 2011 entspricht DIAdem 11.3.
    Ich habe folgende Kompatibilitätsübersicht im Netz gefunden:
    http://ni-engineering.emea.corp.natinst.com/projects/diadem_released_versions.html
    Unter Umständen liegt das Problem darin, dass für DIAdem 11.1 nicht das notwendige Service Pack 2 unter WinXP installiert ist.
    Falls nicht, dann versuch doch den DAQ 7.4.4 erneut zu installieren und
    wähle aber dann "Support für alles (LabVIEW, CVI, Measurement Studio, ..)" bei der Installation aus.
    Gruß

  • Aut Script aus Dac Starten

    Hallo,
    ein weiteres Problem...
    Ich möchte nachdem im DAC automatisiert eine Messung gelaufen ist die Datei-Data über eine Autosequenz aufbereiten, bevor die nächste Messung startet.
    Signale zum starten der Autosequenz sind vorhanden ebenso die Autosequenz. Nach Möglichkeit sollte die Messung im DAC aber nicht unterbrochen werden sondern nur so lange gestopt bzw. auf Leerlaufe geschaltet werden, so lange die Autosequenz die Daten auswertet.
    Hoffe es gibt hierzu eine Mögliche Lösung...
    Besten Dank!
    Thomas Stock

    Hallo,
    Bei laufender Messung kann DIAdem nur sehr eingeschränkt mit Scripten arbeiten. Alles ist darauf optimiert den Messtakt möglichst genau einzuhalten. Wenn möglich werden die Messdaten z.B. zunächst binär so abgelegt wie sie von der Hardware kommen und erst nach dem Ende der Messung werden die Skalierungen durchgeführt.  In der Regel stehen die Messdateien oder Kanäle deshalb erst nach dem Ende der Messung so zur verfügung, dass man problemlos damit arbeiten kann.
    Aus diesem Grund sollte man immer einen Script nutzen, der die Messung startet und nach dem Ende der Messung die Auswertung durchführt. Erst dann sollte die nächst Messung gestartet werden.
    Wenn man nach der Messung unbedingt möglichst sofort weitermessen muß, kann man auch sofort den Namen der Messdatei ändern und eine neue Messung starten. Die Auswertung muß dann später oder mit einem zweiten DIAdem erfolgen. Im Netzwerk kann das auch auf einem zweiten Rechner gemacht werden, der die Daten dann parallel zur laufenden neuen Messung verarbeitet.
    Es gibt auch noch einige spezielle Einstellungen, mit denen man Messdateien so im Netz ablegen kann, dass ein zweites DIAdem schon bei laufender Messung darauf zugreifen kann. Damit kann man Messungen, die Lückenlos sehr lange laufen, schon wärend der Messung auswerten.
    Gruß
    Ulrich

  • Daten aus einer Datenbank in eine fertige Druck-PDF platzieren

    Hallo,
    gibt es in InDesign (CS6) die Möglichkeit ein Feld/Rahmen zu erstellen, auf welches später (nach schreiben der Druck-PDF) zugegriffen werden kann?
    Wir möchten gerne in die fertige Druckdatei individuelle Daten (Kontrollnummern) drucken.
    Annika

    Füll doch ein Formular aus, exportier die Daten als XFDF.
    Lies aus, wie das formatiert sein muss.
    Formatiere Deine Daten ebenso.
    Importiere dann diese Daten.

  • Wie hole ich mit pdf-script Daten aus Signatur?

    Ich habe mir Acrobat 9 ein Formular gebaut für einen Userantrag. Soweit so gut.
    Ich habe inzwischen herausgefunden, daß ich Daten wie Name, email, Zeitstempel etc. einer oder mehrerer digitalen Unterschriften im ausgefüllten Dokument nur via script in "exportierbare versteckte" Felder bringen kann um diese auszuwerten (via Tracker z.b.).
    Hat sowas schon mal jemand gemacht? Ich bin mit pdf-script nicht vertraut. Kann mir jemand dabei helfen?
    LG Peter

    Hallo PitOMally,
    Aperture bietet wenig Möglichkeiten den Raw Daten IPTC zuzufügen, da das raw format kameraspezifisch ist. 
    Wenn Du das Metadatenmenue verwendest -
         Metadata -> Write IPTC Metadata to Master (im deutschen Menu heißt das vermutlich: Schreibe IPTC Metadata in den Masterfile o.ä.)
    dann erzeugt Aperture eine Kopie des Raw-Masterfiles als Tiff-file in der Library, die ziemlich viel Speicher frisst, aber die IPTC tags enthält.
    Ansonsten ist die einzige Möglichkeit, beim Export
         File -> Export -> Master
    wieder einen Sidecar file auszugeben, aber den hast Du ja schon.
    Unabhängig von Aperture kann man versuchen mit exiftool, Automator oder AppleScript diese tags zu setzen, wenn man mit diesen Werkzeugen vertraut ist.
    Hummel Hummel aus Hamburg
    Léonie

  • Kann man mit channel API`s Daten aus der ECU lesen?

    Hallo zusammen,
    Bin ein Frischling und habe ein Problem mit der CAN Datenübermittlung von einer ECU und der PXI bzw LabView.
    die benötigten CAN Messages und Botschaften sind auf die PXI eingelesen. Die Baudrate ist auch richtig eingestellt.
     Reduced 16%
    286 x 476 (37.89K)
    <SCRIPT type=text/javascript> // </SCRIPT>
    wenn ich nun das VI "single sample Input VI" aus den Beispielen starte, dann gibt er mir den Default Wert aus, der auf der PXI gespeichert ist, aber leider nicht den Original Wert aus der ECU.
    Mit welchen VI kann ich die andauernd gesendeten Botschaften von der ECU zu LabVIEW senden bzw. mit welchen VI`s kann ich die aktuellen Werte aus der ECU lesen????
    geht das mit den channel API`s ???? Oder muss ich in der MAX eine andere Konfiguration wählen???
    Könnte mir bitte jemand helfen :-)
    hat jemand eine Idee, nen Tip für mich,
     Reduced 63%
    1069 x 827 (134.21K)
    <SCRIPT type=text/javascript> // </SCRIPT>
    Freu mich über jede Antwort
    und im Vorraus herzlichen Danke für Eure Antworten
    Grüssle

    Hallo alko,
    mit der folgenden Formel werden alle Werte kleiner als 3 zu NoValue-Werten gewandelt, während die restlichen, gültigen Werte erhalten bleiben.
    call Formulacalc("Ch('neu') := (ch('alt') < 3)* NV + (ch('alt') >= 3) * ch('alt')")
    Danach kannst du die NoValue's bearbeiten.
    Call CHNNOVHANDLE("Zeit","neu","Delete","XY",0,0)
    Es werden zwei neue Kanäle erstellt, die nur noch die gültigen Werte enthalten.
    Ich hoffe das hilft die weiter.
    Gruß
    Walter

Maybe you are looking for