Unsere Partner:

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner






Stellenangebote:
Entwicklungsingenieur Messtechnik und Fahrzeugelektronik (m/w)
Planung und Durchführung von Projekten im Bereich NFZ-Messtechnik
MBtech Group GmbH Co. KGaA
Magstadt, Sindelfingen bei Stuttugart, Stuttgart
Versuchsingenieur innovative Chassissysteme (m/w)
Erprobung von Chassissystemen, Koordination des Aufbaus von Aggregateträgern
MBtech Group GmbH Co. KGaA
Magstadt
Laboringenieur / Messtechnikingenieur mit Labview (w/m)
Entwicklung und Auslegung von Versuchsaufbauten
Brunel GmbH
Frankfurt/Offenbach
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
Versuchsingenieur Chassis Erprobung (m/w)
Grundsatzuntersuchungen, Fahrversuche und Freigabeuntersuchungen im Fahrwerkbereich
MBtech Group GmbH Co. KGaA
Magstadt
Entwicklungsingenieur Getriebemechatronik (m/w)
Getriebe und Hybrid Aufgabenstellungen
MBtech Group GmbH Co. KGaA
Fellbach, Stuttgart
Applikationsingenieur Abgasnachbehandlung / SCR Dosiermodul (m/w)
Spezifikation, Applikation, Test und Validierung von Softwarefunktionen der Abgasnachbehandlung
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
Versuchsingenieur Betriebsfestigkeit (m/w)
Auswerten von Messdaten, Erstellung von Autosequenzen
MBtech Group GmbH Co. KGaA
Wörth, Untertürkheim
Versuchsingenieure / Produktionsingenieure (m/w)
Prozessentwicklung, Versuchswesen in den Bereichen Messtechnik, Elektronik, Getriebetechnik
über Steinbach Partner Executive Consultants
Region Stuttgart und Unterfranken
Versuchsingenieur (m/w) Sonderversuch
Entwicklung neuer Testmethoden im Sonderversuch
Continental AG
Hannover
Test Engineer (m/w)
Durchführung und Analyse von Versuchen an PKW-Innenraumkomponenten
Johnson Controls Automotive Experienc über Scheerer Werbung GmbH
Burscheid

Stand: 21:21:08 07.02.2012



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

Performance in DIAdem: Optimales Lesen und Schreiben von Kanaldaten
17.12.2008, 11:08 (Dieser Beitrag wurde zuletzt bearbeitet: 07.11.2009 11:15 von Carpe_DIAdem.)
Beitrag #1
DIAdem-Version: alle
DIAdem-Sprachversion: DE/EN
DIAdem Erfahrung seit: 1995
Performance in DIAdem: Optimales Lesen und Schreiben von Kanaldaten

Hallo zusammen,

vorweg möchte ich betonen, dass es keinen Wertezugriff auf Kanäle gibt, der schneller ist als der einer DIAdem-Standardfunktion, die den gesamten Kanal verarbeitet. Wenn die Performance eines Scripts eine Rolle spielt, sollte also immer eine schon vorhandene DIAdem-Funktion eingesetzt werden. Beispiele: um einen Wert zu einem Kanal zu addieren, Kanäle zu multiplizieren usw. kann man Basisfunktionen benutzten. Bei der Suche eines bestimmten Wertes in einem Kanal hilft die ChnFind-Funktion.
Aber es gibt Aufgabenstellungen, bei denen die Standardfunktionen nicht ausreichen und einzelne Werte verarbeitet werden müssen. Für das gezielte Lesen und Schreiben von Kanalwerten bietet DIAdem verschiedene Varianten (CHT, CHV, CHD, CHDX, Data-API), die unterschiedlich schnell sind und die verschiedene Vor- und Nachteile besitzen. Die Unterschiede liegen in den unterstützten Kanaltypen (Text oder Zahl) und der automatischen Berechnung der Kanalkennwerte.

Liste der DIAdem-Funktionen für den Zugriff auf Kanaleinzelwerte.

CHT: Nur für Textkanäle. Aktuelle Kanallänge und Kanalkennwerte werden automatisch angepasst. Normale Performance.
CHV: Für beliebige Datentypen. Aktuelle Kanallänge und Kanalkennwerte werden automatisch angepasst. Normale Performance.
CHD: Nur für numerische Daten. Aktuelle Kanallänge und Kanalkennwerte werden automatisch angepasst. Schnell.
CHDX: Nur für numerische Daten. Kanallänge und Kanalkennwerte müssen durch weitere Befehle gesetzt werden. Sehr schnell.
Data-API: Für den jeweiligen Datentyp des Objektes. Kanallänge wird automatisch angepasst. Die Kanalkennwerte müssen durch zusätzliche Befehle gesetzt werden. Sehr sehr schnell.


Funktion Kanaltyp Berechnet Kennwerte Geschwindigkeit
cht(z,s) Text Ja Langsam
chv(z,s) alle Ja Normal
chd(z,s) numerisch Ja Schnell
chdx(z,s) numerisch Nein Sehr schnell
oChn.Values(z) alle Nein Sehr schnell (-)
oChn(z) alle Nein Sehr sehr schnell

Beispiel: Data_Performance.ZIP

Im angehängten Beispiel werden die unterschiedlichen Varianten gegenübergestellt. Es wird die Zeit für jeweils 50000 Lese- und Schreibvorgänge gemessen und in die Log-Datei eingetragen. Dabei ist leicht zu erkennen, dass die Data-API Variante in DIAdem 11.1 den schnellsten Zugriff auf einzelne Kanalwerte darstellt. In der Data-API liegt also die Zukunft; deshalb möchte ich noch ein paar Hinweise hierzu geben.
Eine ausformulierte Zuweisung auf einen Einzelwert eines bestimmten Kanals in einer bestimmten Kanalgruppe sieht wie folgt aus:

Code:
Data.Root.ChannelGroups(x).Channels(y).Values(z) = i

Hier hat VBS aber noch einiges zu interpretieren. Jeder Punkt und jeder Index kostet dabei etwas Zeit. Wenn das dann in einer Schleife aufgerufen wird dauert es ein wenig länger als nötig. Besser ist es in VBS ein Objekt (z. B. eine Kanalgruppe oder ein Kanal) in einer Variablen zu speichern. Dann ist die Interpretation nur einmal erforderlich.

Code:
Dim oMyChn
Set oMyChn = Data.Root.ChannelGroups(x).Channels(y)
oMyChn.Values(z) = i

Das ist schon erheblich schneller. Wenn jetzt noch ausgenutzt wird, dass DIAdem bei Kanälen das Property „Values“ als Default kennt, dann ist das der optimale und schnellste Data-API Zugriff.

Code:
oMyChn(z) = i


.zip  Data_Performance.zip (Größe: 35,19 KB / Downloads: 287)

Carpe DIAdem

Alle Beiträge dieses Benutzers finden



Thema geschlossen 


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Vergleich Excel / DIAdem Bruno 0 1.364 18.02.2011 11:36
Letzter Beitrag: Bruno
  DIAdem Autocode: Programmieren leichtgemacht Bruno 0 2.473 19.03.2010 08:39
Letzter Beitrag: Bruno
  Performance in DIAdem: ScriptInclude anstelle von ScriptStart Carpe_DIAdem 0 2.139 04.12.2008 18:25
Letzter Beitrag: Carpe_DIAdem

Gehe zu: