AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Hohe CPU-Auslastung bei andauernder Abfrage
Thema durchsuchen
Ansicht
Themen-Optionen

Hohe CPU-Auslastung bei andauernder Abfrage

Ein Thema von ameise · begonnen am 2. Sep 2012 · letzter Beitrag vom 3. Sep 2012
 
Furtbichler
(Gast)

n/a Beiträge
 
#9

AW: Hohe CPU-Auslastung bei andauernder Abfrage

  Alt 3. Sep 2012, 06:55
Hey Leute. Es funktioniert ja, so wie er es gemacht hat.

So ein kleiner Ringpuffer ist wirklich zu empfehlen. Ich verwende z.B. einen Ringpuffer mit 2-Tupeln: Das erste Byte ist eine ID (eine fortlaufende Nummer 0-255) und der zweite Wert der Messwert. Ich lese immer den ganzen Ringpuffer und merke mir die letzten X IDs. X ist dabei die Ringpuffergröße. Nun prüfe ich, ob ich die ID schon gelesen habe und bekomme dadurch nur die neuesten Messwerte zu Gesicht.

So kann man mit dem Ringpuffer, seiner Größe und der Abtastrate so rumspielen, das eine skalierbare Lösung dabei herauskommt, die man dann individuell an den IPC und die Umgebung anpassen kann. Es läuft ja vielleicht eine HMI (GUI) oder ein MES-Interface oder noch andere Dinge zusätzlich. Und 'Ja', es gibt IPC, auf denen AV-Scanner laufen.

Ich habe mit dem Verfahren mehr als 5000 Messwerte pro Sekunde in meine Delphi-Anwendung geschaufelt, ohne das die CPU großartig gezuckt hat. Das war zwar nicht in Echtzeit, aber 100ms (oder 150ms k.A) reichen, um die Daten in quasi Echtzeit grafisch anzuzeigen und in einer DB abzulegen. Die war allerdings auf einem anderen Rechner
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz