Kanal Eigenschaft ändern
Hallo zusammen,
ist es möglich, die Kanal Eigenschaft "Status" von "readonly" auf "read" oder "eingelesen" zu ändern? Ich habe einen Zeitkanal, den ich deswegen nicht verarbeiten kann!
Vielen Dank!
Sebastian
Hallo Sebastian,
kann es sein das es sich bei diesem Kanal um einen "impliziten" Kanal handelt? Ein impliziter Kanal ist nicht wirklich in der Datei abgespeichert, sondern durch einen Startwert, eine Schrittweite und die Anzahl der Werte definiert. Erkennen kann man implizite Dateien an dem kleinen "i" im Symbol "123" im Datenportal ...
Um einen impliziten Kanal in einen "normalen" Kanal umzewandeln muss man (durch einen Rechtsklick auf den Kanalnamen) im Kontextmenue die Funktion "Kanal expandieren" (oder so aehnlich, meine Oberflaeche ist in Englisch - dort heisst es "Expand channel") benutzen. Danach solltest Du den Kanal beliebig bearbeiten koennen (also auch auf "read" oder "eingelesen"aendern).
Ich hoffe das hilf weiter.
Gruss,
Otmar
Otmar D. Foehner
Business Development Manager
DIAdem and Test Data Management
National Instruments
Austin, TX - USA
"For an optimist the glass is half full, for a pessimist it's half empty, and for an engineer is twice bigger than necessary."
Similar Messages
-
Hallo,
ich habe ein Diagramm eingebaut. X achse ist Zeit, Y achse ist Temperatur. Jetzt möchte ich die x-zeit um Strecke ändern, aber Y achse ist beihaltet.Ich habe schon die Funktion Kurven und Achsen Definition versucht, einhiet und X kanal geändert. Nicht klappt. Kann jemand mir dabei helfen? Vielen Dank!
Gruß
Andreas
Solved!
Go to Solution.Geht es um die Skalierung der x-Werte? d.h. statt Bereich 3:00 - 3:15 lieber den Bereich 3:25 - 3:50 anzeigen lassen?
Dann hilft ein Doppelklick auf die x-Achse und in der sich öffnenden Dialogbox 'Kurven- und Achsendefinition' im Reiter 'Achsenparameter' die Skalierung von x manuell zu verändern.
War's das, was du meintest?
Gruß
MiC -
Anzeigeformat des Kanals ändern
Hallo,
ich benutze DIAdem seit kurzem und brauche hilfe bzw. Tipps um weiter zu kommen.
In einem Kanal (Anzeigeformat: numerisch / Datentyp: Float64 ) möchte ich Werte, die ich in HEX konvertiere, im selben Kanal speichern.
dazu-----> temp = "AB01"
Variable1=Mid(temp,1,2)
Variable2=Mid(temp,3,2)Hallo Youssef!
Jetzt ist es schon fast klar. Ich hab nur noch ein Verständnisproblem damit das deine Konvertierung unabhängig von der Bytezahl zu sein scheint. Ist das so richtig? Erweitert man dein Beispiel noch um eine Zeile mit dem Wert 1 ergibt sich folgende Liste:
1 -->> HEX(1) = 01 --->> 01 01000000
33846 -->> HEX(33846) = 8436 --->> 3684 36840000
5243146 -->> HEX(5243146) = 50010A --->> 0A0150 0A015000
Die blauen Werte wären die m.E. bei 4 Byte sich ergeben müssen.
So nun zum Lösungsansatz. Ist erstaunlich umfangreich und ggf. noch nicht perfekt. Es gibt auch mindestens zwei Lösungen. Ich hab mal die etwas einfachere reingestellt, sollte die Performance nicht reichen muss man einen etwas anderen Weg gehen. Die Anzahl der Bytes hol ich mir über die Kanaleigenschaft 'CANNoOfBits'. Die Erklärung des Codes ist in den Kommentaren:
Option Explicit
' Ergebnisgruppe erstellen (wenn vorhanden vorher löschen
If GroupIndexGet("Ergebnis") > 0 Then
Call GroupDel( GroupIndexGet("Ergebnis") )
End If
Call GroupCreate("Ergebnis")
Call GroupDefaultSet( GroupIndexGet("Ergebnis") )
' Konvertierung der beiden Kanäle
Call Convert("SWA/Data_SWA")
Call Convert("SWA/var_SWA")
' Konvertierungsfunktion, Übergabeparameter ist der vollqualifierte Kanalname
Function Convert(ByRef sgSource)
Dim i
Dim j
Dim s
Dim nChn
Dim nChnHex
Dim sgHex
Dim nBytes
' Kanalnummer des Quellkanals bestimmen
nChn = CNo(sgSource)
' Ergebnistexkanal mit gleichem Namen anlegen
Call ChnAlloc(ChnName(nChn),ChnLength(nChn),1,DataTypeString,"Text")
' Kanalnummer des Ergebnistextkanals ermitteln
nChnHex = CNo("Ergebnis/" & ChnName(nChn))
' Anzahl Bytes bestimmen
nBytes = ChnPropValGet(nChn, "CANNoOfBits") / 8
' Umwandlung in einer Schleife über alle Werte (ggf. nicht performant!)
For i=1 To ChnLength(nChn)
' Wert in HEX-String umwandeln
sgHex = Hex( ChdX(i,nChn) )
' ggf. mit führenden Nullen auffüllen
sgHex = String(nBytes*2-Len(sgHex),"0") & sgHex
' Bytereihenfolge umkehren
s = ""
For j=0 to nBytes
s = Mid(sgHex,j*2+1,2) & s
Next
' neu zusammengesetzt in einen Textkanal speichern
ChT(i,nChnHex) = s
Next
End Function
Sollte was unklar sein bitte nachfragen.
Matthias
Message Edited by Twigeater on 09-30-2008 11:01 PM
Matthias Alleweldt
Project Engineer / Projektingenieur
Twigeater? -
Hallo an alle,
kann mir jemand erklären wie ich die Beschriftung von einem Signalverlaufs-Graphen über einen Eigenschaftsknoten ändern kann?
Ich möchte nämlich bei laufendem Programm zwei unterschiedliche Beschriftungen, die abhängig von einer Optionsauswahl sind, über dem Signalverlaufs-Graphen anzeigen lassen.
Habe es auf die normale Weise mit dem Eigenschaftsknoten versucht und bekomme folgende Fehlermeldung:
Fehler 1073 ist bei Eigenschaftsknoten (arg 1) in Unbenannt 1 aufgetreten
Mögliche Gründe: LabVIEW: Eigenschaft ist nur dann beschreibbar bzw. Methode steht nur dann zur Verfügung, wenn sich das VI im Bearbeitungsmodus befindet.
Gruss DuskoHallo Dusko
Kann dir jetzt nicht sagen wie's bei der deutschen LV-Version ausschaut, aber bei der englischen gibt es die "Label" und die "Caption"-Eigenschaft. Das Label ist der Name des Controls bzw. der Anzeige. Dieser Wert ist zur Laufzeit nicht änderbar.
Das Caption ist ein zusätzliches Textelement, das standardmässig nicht angezeigt wird. Über das Kontextmenü kannst du diesen Text einblenden, der über einen Eigenschaftsknoten änderbar ist.
Hoffe das hilft dir weiter.
Thomas
Using LV8.0
Don't be afraid to rate a good answer... -
Signalverlaufs-Graph Beschriftung über Eigenschaftsknoten ändern
Hallo an alle,
kann mir jemand erklären wie ich die Beschriftung von einem Signalverlaufs-Graphen über einen Eigenschaftsknoten ändern kann?
Ich möchte nämlich bei laufendem Programm zwei unterschiedliche Beschriftungen, die abhängig von einer Optionsauswahl sind, über dem Signalverlaufs-Graphen anzeigen lassen.
Habe es auf die normale Weise mit dem Eigenschaftsknoten versucht und bekomme folgende Fehlermeldung:
Fehler 1073 ist bei Eigenschaftsknoten (arg 1) in Unbenannt 1 aufgetreten
Mögliche Gründe: LabVIEW: Eigenschaft ist nur dann beschreibbar bzw. Methode steht nur dann zur Verfügung, wenn sich das VI im Bearbeitungsmodus befindet.LabVIEW referenziert Front Panel Elemente über ihre Beschriftung (Label). Daher ist es nicht möglich, die Beschriftung selbst auszutauschen. Zu diesem Zweck gibt es ein weiteres Texelement für Bedien- und Anzeigeelemente, das sich "Untertitel" bzw. "Caption" nennt und sich als sichtbares Element einblenden lässt. Der Text der Caption lässt sich problemlos zur Laufzeit austauschen.
Jochen Klier
National Instruments Germany -
Hi,
ich habe mal wieder ein Programmierproblem.
Ich will die Daten eines Kanals in eine Variable kopieren. Mit dieser will ich dann eine Rechnung durchführen und danach will ich die berechneten Kanalwerte in einen neuen Kanal schreiben.
Ich weiß das das mit Calculate möglich ist aber für meine Zwecke leider ein bisschen umständlich da ich einen VBA Excelcode habe und somit nur das rausschreiben und die Datenerfassung ändern müsste.
Ich habe mir das so vorgestellt aber leider funktioniert das nicht ganz.
Option Explicit 'Erzwingt die explizite Deklaration aller Variablen in einem Script.
Dim test, XY, ABC, Kanal
ABC="[2]/Time"
Set XY=Data.GetChannel(ABC)
'Call MsgBoxDisp (XY.Name)
test = 3+4*XY
Set Kanal = Data.Root.ChannelGroups(2).Channels.Add("Testkanal",DataTypeFloat64)
Kanal.Values = test
Kanal.Properties("unit_string").Value = "Testeinheit"
Das Skript soll die Werte von Kanal Time in die Variable XY schreiben, danach soll es die Rechnung durchführen und das Ergebnis in test schreiben. Die Werte von Test sollen dann in den neu Erzeugten Testkanal geschrieben werden und danach wird die Einheit zugewiesen.
Die Rechnung klappt leider nicht und das schreiben der Kanäle war auch eher geraten. Ich habe aber leider keine Lösung gefunden wie ich das mache.
könnt ihr mir sagen wie ich das hinbekomme?
Grüße,
NormannHallo Normannm,
ja, ein DIAdem Kanal fängt mit 1 an und ein VBS-Array beginnt mit 0. Wenn du REDIM test(Imax) benutzt hättest, hättes es wahrscheinlich funktioniert.
Aber ich möchte noch ein paar allgemeine Anmerkungen loswerden.
DIAdem unterstützt VBS das ist eine Untermenge des VBA Befehlsumfangs. Das bedeutet du kannst dein VBA nicht 1 zu 1 in DIAdem einsetzen.
Excel ist eine zellenorientierte SW, die typischer Weise im kaufmännischen Bereichen eingesetzt wird. Zellenorientiert bedeutet, dass Verrechnungen so definiert werden müssen, dass sie dem Zellen-Denken genügen. In den technischen und Ingenieur-Arbeitsbereichen hat man es aber in der Regel mit Messsignalen - also Werten, die als Array oder Kanal vorliegen zu tun.
DIAdem ist so konzipiert, dass man direkt mit solchen Kanälen arbeiten kann und dass ohne eine Schleife programmieren zu müssen. Diesen entscheidenden Unterschied solltest du dir zu Nutze machen - es wird dir die Arbeit erheblich erleichtern. Und in diesem Zusammenhang sei auch noch einmal auf den Calculation-Manager zur individuellen verrechnung von Kanälen aufmerksam gemacht.
Gruß
Walter
ReDim test(iMax-1) -
Anzeigeformat in Diadem 2010 SCRIPT ändern
Hallo,
ich benutze seit einigen Diadem-Versionen ein Script, in dem ich mit
Data.Root.ChannelGroups(1).Channels("Minuten").Properties("displaytype").Value = "numeric"
einen Kanal von Zeit auf Numerisch ändere.
In Diadem 2010 geht das nicht mehr und ich bekomme eine Fehlermeldung:
"Der Eigenschaft displaytype kann kein Wert vom Typ vbString zugewiesen werden."
Ich habe es auch mit
Data.Root.ChannelGroups(1).Channels("Minuten").Properties.Add("displaytype", "numeric")
versucht. Allerdings bekomme ich auch da eine Fehlermeldung:
"Beim Aufrufen einer Unterroutine dürfen keine Klammern verwendet werden."
Wie kann ich das Problem lösen?
Solved!
Go to Solution.Hallo Ludwig72,
das konnte ich reproduzieren und es verhält sich nicht richtig. Ich habe einen entsprechenden Eintrag in die Fehlerdatenbank gemacht. Die Korrektur wird Bestandteil eines Service Pack bzw. der nächsten Version sein. Bis dahin hilft dir dein Work-Around.
Noch ein Hinweis: Wenn du öfter auf die Eigenschaften oder Einzelwerte des Kanals zugreifen möchstest würde ich mir ein Kanalobjekt anlegen - das ist insgesamt schneller. Beispiel für deinen Work-Around:
Dim oChn
set oChn = Data.Root.ChannelGroups(1).Channels("Minuten")
ChnFormat(oChn.Properties("number").Value) = "Numeric"
Gruß
Walter -
Standarddateipfad im Destiller ändern
Ich möchte von VB aus automatisch eine PDF-Datei erstellen. Dazu stelle ich im Destiller ein, daß ich nicht den Dateinamen der PDF-Datei extra eingeben muß, d.h. er wählt den gleichen Namen der Quelldatei und einen Standardpfad (den Desktop). Kann ich diesen Standardpfad verändern, so daß ich mir selbst aussuchen kann, wo die Datei gespeichert wird, ohne daß ich einen Dialog bekomme in dem ich manuell Pfad und Dateiname eingeben muß?
Tausend Dank im voraus!
Tina--_=_=_=IMA.BOUNDARY.HTML_4924592=_=_=_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
:D
Tinaaaa! Daaankeeeeee!!!
Ich kann kaum glauben, dass Du Dir soviel Muehe gemacht hast! Bin sehr sehr froh ueber Deine Hilfe und daruber, dass Du so
ausfuehlich auf mein fuer Dich vmtl. banales Problem eingehst.
Allerdings versteh ich den Code nur muehsam, bin echt ehrlich totaler Anfaenger (*rotanlauf*):
muss ich um Deinen Code einzugeben aus Excel heraus den VBA-Editor aufrufen, oder ?
Du musst wissen: ich uebe VBA erst seit drei Tagen und zwar aus Word heraus, und habe heute morgen meine erste
Message-Box (klassisch natuerlich: "hello world!") zum flimmern gebracht (doch, bin schon stolz, lach jetzt nicht).
Und jetzt bekomme ich auch noch so nette Profi-Hilfe von unerwarteter Seite, ....das ist einfach toll, damit haette ich nie
gerechnet. Wuenschte mir, ich koennte auch Dir irgendwie nuetzlich sein, aber Du siehts ja, wie weit unten auf der steilen
Treppe der VBA-Welt ich stehe.....
Sobald ich besser verstehe, was Du im Quellcode schreibst, probiere ichs auch aus (aus Excel heraus?)
Ganz ganz lieben Gruss, viele Dank, darf ich Dich auch weiter ab und an mal mit kleinen Fragen quaelen?
Misho
--Original Message Text---
From: tinas
X-Originating-IP: From: tinas
Date: 5 Sep 2001 09:44:53 -0000
Hi misho, also, ich habe eine M=F6glichkeit gefunden, von MS Visual Basic 6.0 aus eine= PDF-Datei zu erzeugen. Ich schick dir mal den Quellcode. Wenn
du dazu Fra= gen hast, melde dich einfach bei mir. Als Verweise im Visual Studio 6.0 so= lltest du "OLE Automation" und "Excel" drin haben. Der Excel-
Verweis hei=DFt= bei mir: "Microsoft Excel 10.0 Object Library", kann bei dir anders hei=DFe= n, diese Verweise ben=F6tigst du aber dringend. Public Sub
excel=5Faufruf() \'so hei=DFt meine Prozedur, kannst du auch = anders nennen Dim excel As excel.Application \'Instanz von Excel-Applikation wird erzeug= t
On Error GoTo olefehler: \'Verweis auf Fehlerprozedur Dim i As Integer Set excel =3D CreateObject("Excel.Application") \'Excel-Objekt wird erzeugt= If Not
excel Is Nothing Then \'Pr=FCfung, ob Excel vorhanden ist With excel .Workbooks.Open FileName:=3D"DateipfadDateiname.xls" \'=D6ffnen einer = Excel-
Datei .Visible =3D True \'Excel sichtbar machen =09 \'ab hier beginnen die Druckereinstellungen, d.h. der Acrobat Distiller wi= rd aufgerufen und mit ihm wird
aus der z.B.Excel-Datei eine pdf- Datei; ha= be einfach im Excel als Macro aufgezeichnet und reinkopiert wenn du es um= gehen willst, einen Speicherort
per Hand w=E4hrend der Verarbeitung einzuge= ben, musst du im Distiller die Eigenschaft ausklicken "Eingabeaufforderun= g f=FCr PDF-Dateiname"
findest du im Excel unter Datei-->Drucken-->Acrobat D= istiller ausw=E4hlen=09 -->Eigenschaften -->Adobe PDF Einstellungen; dann speichert er es
automa= tisch auf dem Desktop, diesen Pfad m=F6chte ich eigentlich =E4ndern, aber ich = wei=DF nicht wie .Application.ActivePrinter =3D "Acrobat
Distiller auf Ne00:" .Active= Window.SelectedSheets.PrintOut Copies:=3D1, =5F ActivePrinter:=3D =5F "Acrobat Distiller auf Ne00:", Collate:=3DTrue End
With =20 End If Exit Sub olefehler: \'Fehlerabfangprozedur MsgBox "Fehler bei Ausf=FChrung!" & Chr(13) & Chr(10) & Err.Description,= =5F 16, "Problem"
Exit Sub Resume Next =20 End Sub Hoffe das hat dir etwas geholfen. Falls du rausbekommen solltest, wie man = den Dateipfad vom Distiller =E4ndert,
w=E4re ich dir sehr dankbar, wenn du mir= das sagen w=FCrdest. Wie gesagt, wenn du Fragen hast, meld dich einfach. Gru=DF, Tina =5F=5F=5F=5F=5F=
5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F= 5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=
5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F 1.000.000 DM gewinnen - kostenlos tippen -
http://millionenklick.web.de [email protected], 8MB Speicher, Verschluesselung - http://freemail.web.de
--_=_=_=IMA.BOUNDARY.HTML_4924592=_=_=_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: 7bit
<FONT COLOR=0000ff><FONT FACE="Arial"><FONT SIZE="2" POINTSIZE="10">:D<BR>
<FONT COLOR=000000 DEFAULT="COLOR">Tinaaaa! Daaankeeeeee!!!<BR>
Ich kann kaum glauben, dass Du Dir soviel Muehe gemacht hast! Bin sehr sehr froh ueber Deine Hilfe und daruber, dass Du so ausfuehlich auf mein fuer Dich vmtl. banales Problem eingehst.<BR>
Allerdings versteh ich den Code nur muehsam, bin echt ehrlich totaler Anfaenger (*rotanlauf*): <BR>
muss ich um Deinen Code einzugeben aus Excel heraus den VBA-Editor aufrufen, oder ? <BR>
Du musst wissen: ich uebe VBA erst seit drei Tagen und zwar aus Word heraus, und habe heute morgen meine erste Message-Box (klassisch natuerlich: "hello world!") zum flimmern gebracht (doch, bin schon stolz, lach jetzt nicht).<BR>
Und jetzt bekomme ich auch noch so nette Profi-Hilfe von unerwarteter Seite, ....das ist einfach toll, damit haette ich nie gerechnet. Wuenschte mir, ich koennte auch Dir irgendwie nuetzlich sein, aber Du siehts ja, wie weit unten auf der steilen Treppe der VBA-Welt ich stehe.....<BR>
Sobald ich besser verstehe, was Du im Quellcode schreibst, probiere ichs auch aus (aus Excel heraus?)<BR>
Ganz ganz lieben Gruss, viele Dank, darf ich Dich auch weiter ab und an mal mit kleinen Fragen quaelen? <BR>
Misho<FONT FACE="MS Shell Dlg" DEFAULT="FACE"><FONT SIZE="1" POINTSIZE="8" DEFAULT="SIZE"><BR>
<BR>
--Original Message Text---<BR>
<B>From:</B> tinas<BR>
<B>Date:</B> 5 Sep 2001 09:44:53 -0000<BR>
<BR>
Hi misho, also, ich habe eine M=F6glichkeit gefunden, von MS Visual Basic 6.0 aus eine= PDF-Datei zu erzeugen. Ich schick dir mal den Quellcode. Wenn du dazu Fra= gen hast, melde dich einfach bei mir. Als Verweise im Visual Studio 6.0 so= lltest du "OLE Automation" und "Excel" drin haben. Der Excel-Verweis hei=DFt= bei mir: "Microsoft Excel 10.0 Object Library", kann bei dir anders hei=DFe= n, diese Verweise ben=F6tigst du aber dringend. Public Sub excel=5Faufruf() \'so hei=DFt meine Prozedur, kannst du auch = anders nennen Dim excel As excel.Application \'Instanz von Excel-Applikation wird erzeug= t On Error GoTo olefehler: \'Verweis auf Fehlerprozedur Dim i As Integer Set excel =3D CreateObject("Excel.Application") \'Excel-Objekt wird erzeugt= If Not excel Is Nothing Then \'Pr=FCfung, ob Excel vorhanden ist With excel .Workbooks.Open FileName:=3D"DateipfadDateiname.xls" \'=D6ffnen einer = Excel-Datei .Visible =3D True \'Excel sichtbar machen =09 \'ab hier beginnen die Druckereinst!
ellungen, d.h. der Acrobat Distiller wi= rd aufgerufen und mit ihm wird aus der z.B.Excel-Datei eine pdf- Datei; ha= be einfach im Excel als Macro aufgezeichnet und reinkopiert wenn du es um= gehen willst, einen Speicherort per Hand w=E4hrend der Verarbeitung einzuge= ben, musst du im Distiller die Eigenschaft ausklicken "Eingabeaufforderun= g f=FCr PDF-Dateiname" findest du im Excel unter Datei-->Drucken-->Acrobat D= istiller ausw=E4hlen=09 -->Eigenschaften -->Adobe PDF Einstellungen; dann speichert er es automa= tisch auf dem Desktop, diesen Pfad m=F6chte ich eigentlich =E4ndern, aber ich = wei=DF nicht wie .Application.ActivePrinter =3D "Acrobat Distiller auf Ne00:" .Active= Window.SelectedSheets.PrintOut Copies:=3D1, =5F ActivePrinter:=3D =5F "Acrobat Distiller auf Ne00:", Collate:=3DTrue End With =20 End If Exit Sub olefehler: \'Fehlerabfangprozedur MsgBox "Fehler bei Ausf=FChrung!" & Chr(13) & Chr(10) & Err.Description,= =5F 16, "Problem" Exit Sub Resume Ne!
xt =20 End Sub Hoffe das hat dir etwas geholfen. Falls du rausbekommen
solltest, wie man = den Dateipfad vom Distiller =E4ndert, w=E4re ich dir sehr dankbar, wenn du mir= das sagen w=FCrdest. Wie gesagt, wenn du Fragen hast, meld dich einfach. Gru=DF, Tina =5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5 F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5 F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F 1.000.000 DM gewinnen - kostenlos tippen - http://millionenklick.web.de [email protected], 8MB Speicher, Verschluesselung - http://freemail.web.de <BR>
<BR>
<BR>
--_=_=_=IMA.BOUNDARY.HTML_4924592=_=_=_-- -
Datenrate in bestimmten Bereichen ändern
Hallo,
ich möchte in bereits vorhandenen Datenaufzeichnungen die Datenrate für bestimmte Bereiche ändern um die Datengröße zu reduzieren aber die Kurve dabei nicht verkürzen.
Beispiel:
es werden Daten über eine Zeit von 60 Sekunden erfasst. Zwischen einzelnen Peaks sind längere Pausen wo die Spannung zwischen 0 und x Volt liegt. Diese Bereiche möchte ich gerne kürzen.
Hatte an ein VBS Script gedacht aber da stoße ich immer wieder auf Probleme, da die Länge des Kanals bis zu 49247232 Werte umfassen kann und mehr.smooth
create_groups
if Data.Root.ChannelGroups(1).Channels.Exists("PXI1Slot2\ai0") Then
find_peak_hv1
kurve_teilen_hv1
end if
if Data.Root.ChannelGroups(1).Channels.Exists("PXI1Slot2\ai2") Then
find_peak_hv2
kurve_teilen_hv2
end if
'Kurven glätten
sub smooth
if Data.Root.ChannelGroups(1).Channels.Exists("PXI1Slot2\ai0") Then
Call ChnSmooth("[1]/PXI1Slot2\ai0","[1]/u_hv1",2,"maxNumber") '... Y,E,SmoothWidth,SmoothType
End if
if Data.Root.ChannelGroups(1).Channels.Exists("PXI1Slot2\ai1") Then
Call ChnSmooth("[1]/PXI1Slot2\ai1","[1]/i_hv1",2,"maxNumber") '... Y,E,SmoothWidth,SmoothType
End if
if Data.Root.ChannelGroups(1).Channels.Exists("PXI1Slot2\ai2") Then
Call ChnSmooth("[1]/PXI1Slot2\ai2","[1]/u_hv2",2,"maxNumber") '... Y,E,SmoothWidth,SmoothType
End if
if Data.Root.ChannelGroups(1).Channels.Exists("PXI1Slot2\ai3") Then
Call ChnSmooth("[1]/PXI1Slot2\ai3","[1]/i_hv2",2,"maxNumber") '... Y,E,SmoothWidth,SmoothType
End if
end sub
'Untergruppen erstellen
sub create_groups
Call Data.Root.ChannelGroups.Add("U_HV1")
Call Data.Root.ChannelGroups.Add("I_HV1")
Call Data.Root.ChannelGroups.Add("U_HV2")
Call Data.Root.ChannelGroups.Add("I_HV2")
end sub
'Kurven Start- und Stop-Werte finden für HV1
sub find_peak_hv1
dim oChn, i, low_hv1, high_hv1
dim x
Dim peak, low, st
x = 1
st = 1
Call Data.Root.ChannelGroups(1).Channels.Add("high_hv1",DataTypeFloat64)
Call Data.Root.ChannelGroups(1).Channels.Add("low_hv1",DataTypeFloat64)
set oChn = Data.Root.ChannelGroups(1).Channels("u_hv1")
set high_hv1 = Data.Root.ChannelGroups(1).Channels("high_hv1")
set low_hv1 = Data.Root.ChannelGroups(1).Channels("low_hv1")
While low <> 0 or peak <> 0 or x <= 100
low = Find("Ch(""u_hv1"")>=3",st)
if low >= 0 then
peak = Find("Ch(""u_hv1"")<=3",low)
if low >=0 and peak >= low and peak-low >=10 then
low_hv1(x) = low
high_hv1(x) = peak
st = peak
x = x + 1
else st = peak
end if
end if
Wend
end sub
'Kurven Start- und Stop-Werte finden für HV2
sub find_peak_hv2
dim oChn, i, low_hv2, high_hv2
dim x
Dim peak, low, st
x = 1
st = 1
Call Data.Root.ChannelGroups(1).Channels.Add("high_hv2",DataTypeFloat64)
Call Data.Root.ChannelGroups(1).Channels.Add("low_hv2",DataTypeFloat64)
set oChn = Data.Root.ChannelGroups(1).Channels("u_hv2")
set high_hv2 = Data.Root.ChannelGroups(1).Channels("high_hv2")
set low_hv2 = Data.Root.ChannelGroups(1).Channels("low_hv2")
While low <> 0 or peak <> 0 or x <= 100
low = Find("Ch(""u_hv2"")>=3",st)
if low >= 0 then
peak = Find("Ch(""u_hv2"")<=3",low)
if low >=0 and peak >= low and peak-low >=10 then
low_hv2(x) = low
high_hv2(x) = peak
st = peak
x = x + 1
else st = peak
end if
end if
Wend
end sub
'Kurven teilen HV1
sub kurve_teilen_hv1
dim u_hv1_ch, i_hv1_ch
dim x
Dim low_hv1, high_hv1, st
x = 1
set high_hv1 = Data.Root.ChannelGroups(1).Channels("high_hv1")
set low_hv1 = Data.Root.ChannelGroups(1).Channels("low_hv1")
for x = 1 to Data.Root.ChannelGroups(1).Channels("high_hv1").Properties("length").Value
u_hv1_ch = "uhv1_" & x
i_hv1_ch = "ihv1_" & x
Call Data.Root.ChannelGroups("U_HV1").Channels.Add(u_hv1_ch,DataTypeFloat64) 'hier entstehen Numerische Channel, diese sollen aber den Zeitstempel übernehmen
Call Data.Root.ChannelGroups("I_HV1").Channels.Add(i_hv1_ch,DataTypeFloat64)
Call DataBlCopy(Data.Root.ChannelGroups(1).Channels("u_hv1"),low_hv1(x),high_hv1(x)-low_hv1(x),Data.Root.ChannelGroups("U_HV1").Channels(u_hv1_ch),1)
Call DataBlCopy(Data.Root.ChannelGroups(1).Channels("i_hv1"),low_hv1(x),high_hv1(x)-low_hv1(x),Data.Root.ChannelGroups("I_HV1").Channels(i_hv1_ch),1)
next
end sub
'Kurven teilen HV2
sub kurve_teilen_hv2
dim u_hv1_ch, i_hv1_ch
dim x
Dim low_hv2, high_hv2
x = 1
set high_hv2 = Data.Root.ChannelGroups(1).Channels("high_hv2")
set low_hv2 = Data.Root.ChannelGroups(1).Channels("low_hv2")
for x = 1 to Data.Root.ChannelGroups(1).Channels("high_hv2").Properties("length").Value
u_hv1_ch = "uhv2_" & x
i_hv1_ch = "ihv2_" & x
Call Data.Root.ChannelGroups("U_HV2").Channels.Add(u_hv1_ch,DataTypeFloat64)
Call Data.Root.ChannelGroups("I_HV2").Channels.Add(i_hv1_ch,DataTypeFloat64)
Call DataBlCopy(Data.Root.ChannelGroups(1).Channels("u_hv2"),low_hv1(x),high_hv1(x)-low_hv1(x),Data.Root.ChannelGroups("U_HV2").Channels(u_hv2_ch),1)
Call DataBlCopy(Data.Root.ChannelGroups(1).Channels("i_hv2"),low_hv1(x),high_hv1(x)-low_hv1(x),Data.Root.ChannelGroups("I_HV2").Channels(i_hv2_ch),1)
next
end sub
Hier das Script. Beim erstellen der Channel, in die die Kurven übertragen werden, entstehen Numerische Kanäle. Diese haben allerdings keinen Zeitstempel sondern verwenden als X-Skalierung die Zeilennummern. Wie erstellt man auch dort eine Zeit-Achse?
Können Sie mir anhand diesem Beispiel sagen wie ich nach dem kopieren Werte verwerfen kann und damit eine dynamische Datenrate erzeugen kann?
Vielen Dank
Sven Hermsmeier -
In Premiere Elements 13 die Sprache von Holländisch in Deutsch ändern
Wer kann mir helfen
o.o die Sprache ist mit der Programm selbst eigentlich fest gelegt...da ist leider nicht viel mit ändern...
Kannst es höchstens mit einem Sprachwechsel probieren: Bestellen eines Produkts | Plattform-, Sprachenaustausch -
Adobe LiveCycle Designer-Bindung bei Dropdownliste ändern ohne das sich erste Liste verändert
Hallo,
ich bräuchte dringend Hilfe bei meinem Problem.
Ich habe mir 2 Dropdownlisten erstellt und sie mit Listenelementen belegt. Ich habe eine globale Bindung zwischen den beiden Listen eingefügt.
Wenn ich nun in der PDF Vorsschau auf die linke Dropdownliste klicke und zb. "Obst" auswähle,kommt richtiger Weise " Apfel".
Nun mein Problem:
Wenn ich jz "Apfel" in zb. "Karotte" (in der rechten Dropdownliste) ändern will (durch Benutzereingabe(Tastatur)) schreibt es automatisch in die linke Dropdownliste auch "Karotte" hinein. Mein Ziel ist es wenn ich jetzt "Karotte" eingebe, das "Obst" stehen bleibt.
Gibt es eine Möglichkeit dies zu verwirklichen?
Ich hoffe es war verständlich genug.
Lg -
Wo kann man die Linienstärke der Felder verändern?
Ich möchte die Linienstärke und die Größe der Formularbox ändern, kann aber nur die Textgröße ändern
Hi MichaelHein,
You can simply place your mouse on the filed and you get the option to expand it (Screen Shot attached). However, we do not have an option to increase or decrease the line thickness in Forms Central.
Thanks,
Vikrantt Singh -
Hallo Diadem-Kollegen,
da habe ich wenige Kanäle, die mit 0,1 s aufgenommen wurden.
Der Rest ist mit 1s. Wie passe ich sie aufeinander, damit ich sie mit einander bearbeiten kann?
Die mit 0,1s komprimieren?
Viele Grüße,
a6aHallo Andreas,
habe vielen Dank für Deine Hilfe.
Leider hilft es mir bei meinen Berechnungen nicht,
da meine Kanäle „nicht monoton steigend“ sind.
Diadem hat mich darauf hingewiesen.
Ich verstehe das Problem aus der Sicht des Diadems,
wenn ein Kanal gekürzt werden sollte -> da werden einige Daten verloren gehen.
Wo ist das Problem, wenn ein Kanal vergrößert werden soll.
Z.B. zwischen „10“ und „10“ -> x mal „10“.
Zwischen „10“ und „10,5“ -> eine lineare Interpolation, nicht wahr?
Kann ich es in Diadem einstellen und
mein Kanal vergrößern (an andere Kanäle anpassen)?
Viele Grüße,
a6a -
Audition - Multitrack - beats per minute ändern
Ich habe aus verschiedenen Liedern mir ein neues zusammengestellt. Dieses möchte ich nun schneller bzw langsamer laufen lassen. Ich kenne es so, dass man irgendwo die Einstellung beats per minute hat und dort kann man dann eine bestimmte Geschwindigkeit angeben. Das Lied wird dann auf die neue Geschwindigkeit umgerechnet und ist dann kürzer bzw. länger. Wo finde ich denn so eine Einstellmöglichkeit im Audition? In den Eigenschaften des Multitrack gibt es zwar die Angabe beats per minute, man kann es auch ändern, aber ich kann keine Veränderung meines Liedes feststellen. Was mache ich verkehrt?
Vielen Dank schon mal im voraus
SusanneTempo changes in CS6?
Adobe Audition Help | Navigating time and playing audio -
Wie kann ich die Sprache von Indesign CS 2 von Englisch auf Deutsch ändern?
Ich habe mir wieder Adobe CS 2 installiert, Alle Programme sind auf Deutsch, nur InDesign ist auf Englisch. Kann ich das ändern?
Did you install CS2 from original installer CDs? It's very strange to see only one application not installed in German. Can you uninstall just InDesign (including preferences) and then run the install again? During the installation, take a careful look at the dialog boxes (don't immediately click the 'next' button), there should be a dropdown menu at some point in the beginning, where you can set the installer language as far as I remember.
Also CS2 is a very old version, have you considered moving to Adobe Creative Cloud? Creative-Software und Cloud-Dienste | Adobe Creative Cloud. When downloading and installing applications through the Creative Cloud Desktop application you can easily set the installer language (before clicking Install), by selecting the Gear-icon in the CC Desktop app, then choosing Preferences, next click Apps tab at the top of preferences dialog box, then set your App Language to 'Deutsch'. Although most likely the installer will automatically pick-up your installation language based on your operating system language setting (assuming this is 'Deutsch').
Cari
Maybe you are looking for
-
Printing to Adobe PDF - non-existant print queue or hanging up error
When printing to a pdf, the process is getting stuck in the printing/saving part of the process. As the attached image will show, the pop-up window shows the file name in the Document Name list, but it defaults to the file entitled "06-2013 Newslette
-
User risk analysis offline mode in RAR
Hello colleagues We are in AC SP14 and trying to perform RA via risk analysis-> user level. When the offline analysis parameter is set to YES we don't receive results, when the offline analysis parameter is set to NO we receive results but they are p
-
Cannot open any apps in IOs 8.0.2
After the update, I cannot open any apps on my Ipad Air. They open only to close again immediately. All of them. They still run in the background, but none of them will go to a full screen. I cannot reset the Ipad either, because I need to turn off l
-
Time Machine says backup is larger then the actual disk
I recently had a HD die, I replaced it and restored from my TM back up. I then formatted the TM drive and am now trying to do a full back up however when I do I get an error saying that the back up size is 525GB but my HD is only a 500GB drive of whi
-
I've re-installed BB link about 5 times now, and I just can't get my PC to sync with my Q10. Link says they're connected, and so does the Q10. But I can't transfer files to the Q10 ("preparing to sync" hangs up), I can't see any photos on my phone