Unsere Partner:

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner






Stellenangebote:
Testingenieur (m/w) bei Healthcare CV
Planung und Durchführung von Komponenten- und Integrationstests
Siemens AG
Erlangen
Entwicklungsingenieur Messtechnik und Fahrzeugelektronik (m/w)
Planung und Durchführung von Projekten im Bereich NFZ-Messtechnik
MBtech Group GmbH Co. KGaA
Magstadt bei Sindelfingen
Entwicklungsingenieur Getriebemechatronik (m/w)
Bearbeitung von Getriebe und Hybrid Aufgabenstellungen
MBtech Group GmbH Co. KGaA
Fellbach bei Stuttgart
Getriebemechatroniker (m/w)
Sensorik - konstruktive Integration, Erstellung von Toleranzrechnungen
MBtech Group GmbH Co. KGaA
Fellbach bei Stuttgart
Entwickler für Mechatronikkomponenten in Automatgetrieben (m/w)
Konzeption elektrohydraulischer Steuereinheiten
MBtech Group GmbH Co. KGaA
Fellbach bei Stuttgart
Versuchsingenieur (m/w) Systemprüfstand elektrische Parkbremse
Erstellung, Durchführung und Auswertung von Versuchsprogrammen an Systemprüfständen
Continental AG
Frankfurt
Systemingenieur Rückhaltesysteme / Restraint System Engineer (m/w)
Bewertung von Styling-, Package- und Bauteilvarianten, Versuchs- und Berechnungsplanung
EDAG GmbH Co. KGaA
Osnabrück, Ingolstadt, München, Sindelfingen, Fulda
Systemingenieur Fußgängerschutz / Pedestrian Protection System Engineer (m/w)
Bewertung von Styling-, Package- und Bauteilvarianten
EDAG GmbH Co. KGaA
Ingolstadt, München, Sindelfingen, Fulda
Versuchsingenieur Betriebsfestigkeit (m/w)
Auswertung von Messdaten im Bereich Betriebsfestigkeit
MBtech Group GmbH Co. KGaA
Wörth, Untertürkheim
Applikationsingenieur Abgasnachbehandlung / SCR Dosiermodul (m/w)
Spezifikation, Applikation, Test und Validierung von Softwarefunktionen der Abgasnachbehandlung
MBtech Group GmbH Co. KGaA
Fellbach
Entwicklungsingenieur Fahrzeugapplikation Verbrennungsmotor (m/w)
Applikation, Test und Validierung von Motorsteuergerät-Funktionen auf den Gebieten Fahrbarkeit und Regelungssysteme
MBtech Group GmbH Co. KGaA
Fellbach
Applikationsingenieur Abgasnachbehandlung /-OBD Otto (m/w)
Applikation, Test und Validierung von Softwarefunktionen der Abgasnachbehandlung / - OBD
MBtech Group GmbH Co. KGaA
Fellbach

Stand: 17:59:42 19.05.2012



.
 
Thema geschlossen 
 
Themabewertung:
  • 1 Bewertungen - 3 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

[ERLEDIGT] DIAdem Script für Wert aus Kanal
01.04.2011, 07:26 (Dieser Beitrag wurde zuletzt bearbeitet: 06.04.2011 14:47 von Dennis.)
Beitrag #1
DIAdem-Version: 11.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
[ERLEDIGT] DIAdem Script für Wert aus Kanal

Guten Morgen zusammen,

Frage 1:

ich habe ein kleines Brett vor dem Kopf und hoffe Ihr könnt mir weiter helfen.
Ich möchte aus einer Langen Spalte einen Bestimmten Wert mit Index xy in das RegisterVal2 schreiben.

bei dem Entwert habe ich es so gelöst

Code:
DIM Chn_laenge
DIM Chn_Wert
DIM vValueP
Chn_laenge = ChnPropValGet("[1]/Temp01", "length")
vValueP = CHD(Chn_laenge,"[1]/Temp01")
Call ChnPropValSet("[1]/Temp01", "registerval1", vValuep)
vValueP = CHD(Chn_laenge,"[1]/Temp02")

Für Hinweise bin ich stehts dankbar.

MFG
Dennis

Antwort zu 1.
(01.04.2011 11:15)Bruno schrieb:  Hallo Dennis,
Du möchtest also einen Kanalwert an der Stelle xy auslesen? Aber den Befehl hast Du doch schon...
Dim xy
xy = 123
vValueP = CHD(xy,"[1]/Temp02")
Oder ich hab es noch nicht ganz verstanden...
Gruß
Bruno

-----------------------------------------------------------------------

Frage 2:

Zitat:Habe da noch eine Kleine Frage bezüglich VB Script und for schleife.

Code:
For i = 1 to 20

Chn_laenge = ChnPropValGet("[1]/Temp01", "length")
vValueP = CHD(Chn_laenge,"[1]/Temp01")
Call ChnPropValSet("[1]/Temp01", "registerval1", vValuep)

Next i

Ich würde gerne mit einer for Schleife die Zwanzig Kanäle abarbeiten. Habe aber das Problem das er mir in den String "[1]/Temp01" die 01 nicht mit der Zahl i ersetzt wenn ich "[1]/Tempi" schreibe oder "[1]/Temp&i" wo ist mein gedanken fehler? PHP war da einfacher find ich :#

Antwort zu 2:

(06.04.2011 11:25)bamboocopter schrieb:  Hi Dennis,

versuchs mal mit "[1]/Temp" & i, ...
wobei, dann hast du immer noch das Problem mit der führenden Null;
hm, ich denk mal drüber nach, vielleicht komm ich auf was
sg, b.c.
---------------------------------------

Frage 3

Zitat:Nun muss ich nur noch mein abfrage ob der Kanal existiert hinbekommen und ich bin glücklich und um 2 erfahrungen reicher Wink

So schaut es bis jetzt aus
Code:
DIM vValueP
DIM i
DIM Chn_laenge
DIM Chn_Wert

'Es werden 2 Schleifen benutzt das von 1-9 eine 0 vorne steht. Lösung noch nicht vorhanden
'Fühler 1 bis 9
For i = 1 to 9
Chn_laenge = ChnPropValGet("[1]/Temp0"&i, "length")
vValueP = CHD(Chn_laenge,"[1]/Temp0"&i)
Call ChnPropValSet("[1]/Temp0"&i, "registerval1", vValuep)
Next

'Fühler 10 bis 20
For i = 10 to 20
Chn_laenge = ChnPropValGet("[1]/Temp"&i, "length")
vValueP = CHD(Chn_laenge,"[1]/Temp"&i)
Call ChnPropValSet("[1]/Temp"&i, "registerval1", vValuep)
Next


Anwort zu 3

Code:
If CNo("Kanalname")>0 Then
    Führe diesen code aus
End If

Beispiel an meinem Code
Code:
DIM vValueP
DIM i
DIM Chn_laenge
DIM Chn_Wert
i = 50



'Es werden 2 Schleifen benutzt da von 1-9 eine 0 vorne steht. Lösung noch nicht vorhanden
'Mit If CNo("[1]/Temp0"&i)>0 Then Prüfe ich ob der Channel vorhanden ist. Ist er Vorhanden so
'gibt er mir den Index des channels raus der größer als 0 ist


'Fühler 1 bis 9
For i = 1 to 9
If CNo("[1]/Temp0"&i)>0 Then
Chn_laenge = ChnPropValGet("[1]/Temp0"&i, "length")
vValueP = CHD(Chn_laenge,"[1]/Temp0"&i)
Call ChnPropValSet("[1]/Temp0"&i, "registerval1", vValuep)
End If
Next

'Fühler 10 bis 20
For i = 10 to 20
If CNo("[1]/Temp"&i)>0 Then
Chn_laenge = ChnPropValGet("[1]/Temp"&i, "length")
vValueP = CHD(Chn_laenge,"[1]/Temp"&i)
Call ChnPropValSet("[1]/Temp"&i, "registerval1", vValuep)
End If
Next

Alle Beiträge dieses Benutzers finden



01.04.2011, 08:15
Beitrag #2
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
[ERLEDIGT] DIAdem Script für Wert aus Kanal

Hallo Dennis,
Ich verstehe noch nicht ganz was Du machen willst...
In DIAdem 11 arbeitest Du am Besten mit dem Objekt Daten Modell:

Code:
DIM myChanne1
Set myChanne1 = Data.Root.ChannelGroups(1).Channels("Temp01")
Jetzt kannst Du über
myChanne1(Index)
auf jeden Wert schnell und einfach zugreifen.
Oder mit
myChanne1.Size
die Kanalläne abfragen.
"registerval1" hört sich so nach den DIAdem vorprogrammierten Properties an. Ich würde Dir zu eigenen Properties raten...
Gruß
Bruno

Diadem 2010
Alle Beiträge dieses Benutzers finden
01.04.2011, 08:32
Beitrag #3
DIAdem-Version: 11.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
[ERLEDIGT] DIAdem Script für Wert aus Kanal

Ah Sry mein Fehler. Sehe gerade das hier DIAdem 10.1 lauft Sad

Mein Kollege möchte das der Entwert des Kanals in "registerval1" und der Wert index(xy) in "registerval2" steht damit er sie in seinem Report dann auslesen kann um sie in die Legende zu füllen.

Nun möchte ich halt nicht per hand jeden Kanal nachschauen bei index(xy) sondern einfach nur den index im script eintragen und das script sucht mir die werte raus und schreibt sie für den Kanal in "registerval2".

Hoffe es war nun verständlicher

Alle Beiträge dieses Benutzers finden
01.04.2011, 11:15
Beitrag #4
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
[ERLEDIGT] DIAdem Script für Wert aus Kanal

Hallo Dennis,
Du möchtest also einen Kanalwert an der Stelle xy auslesen? Aber den Befehl hast Du doch schon...
Dim xy
xy = 123
vValueP = CHD(xy,"[1]/Temp02")
Oder ich hab es noch nicht ganz verstanden...
Gruß
Bruno

Diadem 2010
Alle Beiträge dieses Benutzers finden
04.04.2011, 07:16
Beitrag #5
DIAdem-Version: 11.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
[ERLEDIGT] DIAdem Script für Wert aus Kanal

Autsch das totale Brett vor dem Kopf... ich danke dir.

Habe da noch eine Kleine Frage bezüglich VB Script und for schleife.

Code:
For i = 1 to 20

Chn_laenge = ChnPropValGet("[1]/Temp01", "length")
vValueP = CHD(Chn_laenge,"[1]/Temp01")
Call ChnPropValSet("[1]/Temp01", "registerval1", vValuep)

Next i

Ich würde gerne mit einer for Schleife die Zwanzig Kanäle abarbeiten. Habe aber das Problem das er mir in den String "[1]/Temp01" die 01 nicht mit der Zahl i ersetzt wenn ich "[1]/Tempi" schreibe oder "[1]/Temp&i" wo ist mein gedanken fehler? PHP war da einfacher find ich :#

Alle Beiträge dieses Benutzers finden
06.04.2011, 11:25
Beitrag #6
DIAdem-Version: 11
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2011
[ERLEDIGT] DIAdem Script für Wert aus Kanal

Hi Dennis,

versuchs mal mit "[1]/Temp" & i, ...
wobei, dann hast du immer noch das Problem mit der führenden Null;
hm, ich denk mal drüber nach, vielleicht komm ich auf was
sg, b.c.

Alle Beiträge dieses Benutzers finden
06.04.2011, 12:47 (Dieser Beitrag wurde zuletzt bearbeitet: 06.04.2011 14:44 von Dennis.)
Beitrag #7
DIAdem-Version: 11.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
[ERLEDIGT] DIAdem Script für Wert aus Kanal

Damit lauft es Smile
Das mit der Null umgehe ich einfach indem ich 2 For schleifen mache. Einmal von 1-9 und einmal von 10-20 Wink
nun muss ich nur noch mein abfrage ob der Kanal existiert hinbekommen und ich bin glücklich und um 2 erfahrungen reicher Wink

So schaut es bis jetzt aus

Code:
DIM vValueP
DIM i
DIM Chn_laenge
DIM Chn_Wert

'Es werden 2 Schleifen benutzt das von 1-9 eine 0 vorne steht. Lösung noch nicht vorhanden
'Fühler 1 bis 9
For i = 1 to 9
Chn_laenge = ChnPropValGet("[1]/Temp0"&i, "length")
vValueP = CHD(Chn_laenge,"[1]/Temp0"&i)
Call ChnPropValSet("[1]/Temp0"&i, "registerval1", vValuep)
Next

'Fühler 10 bis 20
For i = 10 to 20
Chn_laenge = ChnPropValGet("[1]/Temp"&i, "length")
vValueP = CHD(Chn_laenge,"[1]/Temp"&i)
Call ChnPropValSet("[1]/Temp"&i, "registerval1", vValuep)
Next

Alle Beiträge dieses Benutzers finden
06.04.2011, 14:43 (Dieser Beitrag wurde zuletzt bearbeitet: 06.04.2011 14:48 von Dennis.)
Beitrag #8
DIAdem-Version: 11.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 2009
[ERLEDIGT] DIAdem Script für Wert aus Kanal

Habe die Lösung gefunden

Code:
If CNo("[1]/Temp01")>0 Then
blabla
End If

Ich danke Smile habe mal alle fragen und die antworten im ersten beitrag zusammen gefasst für die die sowas auch suchen.

Alle Beiträge dieses Benutzers finden
Thema geschlossen 


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Einheiten mittels Script erstellen/ändern Trucker_Joe 3 94 11.05.2012 07:21
Letzter Beitrag: voyager
  Fehler in DIAdem Hilfe? - Kanäle alphabetisch sortieren Trucker_Joe 1 80 03.05.2012 13:17
Letzter Beitrag: MBT
  [ERLEDIGT] Überrollungsklassierung Trucker_Joe 6 192 26.04.2012 11:10
Letzter Beitrag: Trucker_Joe
  nächsten Kanal im Datenportal markieren (Debugmode geht, Normaler Aufruf geht nicht) STG 2 317 19.04.2012 12:00
Letzter Beitrag: Der_ELCH
  [ERLEDIGT] for-Schleife / Typen unverträglich Der_ELCH 1 179 17.04.2012 14:21
Letzter Beitrag: Der_ELCH
  Kanaleigenschaften auf einen anderen Kanal übertragen Malleus_Maleficarum 0 248 02.03.2012 15:03
Letzter Beitrag: Malleus_Maleficarum
  Array aus LabVIEW in DIAdem übernehmen flipside2112 2 327 28.02.2012 13:33
Letzter Beitrag: flipside2112
  Zugriff auf Komponenten per Script CHLINDE 0 302 17.02.2012 12:23
Letzter Beitrag: CHLINDE
  im Dialog Excel Datei laden und mit Werten im Script rechnen Timo 5 487 13.02.2012 14:59
Letzter Beitrag: Timo
  [ERLEDIGT] ChV gibt keine Millisekunden zurück bischjli 3 358 17.01.2012 13:53
Letzter Beitrag: bischjli

Gehe zu: