+ Antworten
Seite 1 von 3 1 2 3 LetzteLetzte
Ergebnis 1 bis 10 von 21
  1. #1
    Registriert seit
    Oct 2007
    Beiträge
    8

    Standard Velleman USB Board - IPS "übersieht" Impulse

    Hallo,

    ich versuche meinen Stromverbrauch über IPS zu erfassen. Dazu habe ich den Impulsausgang eines digitalen Stromzählers (800 Impulse/kWh) mit dem Digital-Eingang 1 des Velleman USB Boards verbunden. An diesem Eingang werden die Impulse auch vom Board gezählt und können über die Funktion VelleUSB_ReadCounter ausgelesen werden.
    Im Startup-Script lese ich diesen Counter aus und speichere ihn in einer Variablen.
    In IPS kann man dem Eingang eine Boolean-Variable zuweisen. Diese triggert einen Script, der die Counter-Variable bei jedem Impuls um eins hochzählt und die Boolean-Variable wieder auf "false" setzt. Insgesamt würde ich erwarten, dass der Zähler des USB-Boards und der vom Script bediente Zähler synchron laufen. Wenn ich allerdings nach ein paar Minuten die beiden Zähler vergleiche, tauchen da recht grosse Differenzen auf (IPS-Zähler ist deutlich niedriger).
    Wenn ich mich nun mit dem Rechner vor den Zähler setze (der zeigt seine Impulse über eine LED an) und im Debugfenster verfolge, wie oft der Script getriggert wird, kann man recht deutlich sehen, dass IPS nur "gelegentlich" die Boolean-Variable korrekt ansteuert, obwohl nur alle 5-7 Sekunden ein Impuls kommt. Der Zähler des USB-Boards zählt hingegen alle Impulse korrekt mit.

    Ich muss also davon ausgehen, dass die Strecke Stromzähler->USB-Board ok ist, denn der Zähler auf dem USB-Board und der Stromzähler laufen synchron. Die Übertragung vom USB-Board zum PC ist auch ok, denn die Velleman-Software zeigt die hereinkommenden Impulse an und die laufen ebenfalls synchron mit der LED des Stromzählers.
    Bleibt noch IPS. Dort habe ich das Interface auf "Trigger High" gestellt. Die Boolean-Variable wird auch wie erwartet (wenn IPS es denn wahrnimmt) gesetzt, bzw. aktualisiert. Beobachtet man das Variablenfenster und die Stromzähler-LED, fällt ebenfalls auf, dass die Boolean-Variable NICHT synchron mit der LED läuft, sondern den einen oder anderen Impuls nicht mitbekommt.
    Da nicht allzu viele Impulse kommen, resultieren die Differenzen auch nicht aus irgendwelchen Überläufen (ca. alle 6 Sekunden ein Impuls = 10 Impulse/Minute = 600 Impulse/Stunde).

    Im Startup-Script wird die Counter-Variable mit dem aktuellen Zählerstand des USB-Boards initialisiert :

    PHP-Code:
    SetValueInteger("AZ_IO_Counter"VelleUSB_ReadCounter(123451)); 
    Der OnUpdate-Trigger startet dann den Script zum Hochzählen (die Trigger-Variable ist Boolean und heisst "AZ_IO":
    PHP-Code:
    SetValueInteger($IPS_VARIABLE."_Counter"GetValueInteger($IPS_VARIABLE."_Counter") + 1); 
    Eigentlich recht trivial - wenn nur AZ_IO bei jedem Impuls bedient werden würde <seufz>.

    Habe ich etwas übersehen oder hat das Velleman-Modul in IPS da tatsächlich ein Problem ?

    Grüsse
    Uwe

  2. #2
    Registriert seit
    Dec 2005
    Beiträge
    917

    Hallo Uwe,

    einige zusätzliche Angaben wären noch hilfreich:

    1. Triggertyp (OnChange, OnUpdate, ...)
    2. Ruhepegel (wenn kein Impuls ansteht, high oder low)
    3. Dauer eines Impulses


    Gruß
    HJH

  3. #3
    Registriert seit
    Oct 2007
    Beiträge
    8

    Hallo HJH,

    1. Triggertyp (OnChange, OnUpdate, ...)
    wie im ersten Beitrag bereits geschrieben : "Der OnUpdate-Trigger..."

    2. Ruhepegel (wenn kein Impuls ansteht, high oder low)
    Mit dem Multimeter messe ich 0.

    3. Dauer eines Impulses
    Dazu bräuchte ich wohl ein Speicher-Oszi. Im Datenblatt des Zählers stehen >=30ms.

    Grüsse

    Uwe

  4. #4
    Registriert seit
    Dec 2005
    Beiträge
    917

    Hallo Uwe,

    in der Wiki-Beschreibung zum Vellemann-USB-Board steht, dass die Eingänge nur alle 100ms abgetatstet werden. Daraus folgt, dass Impulse, die kürzer als das Abtastintervall sind, nur durch Zufall erfasst werden.

    Hier gibt es folgende Abhilfe:
    - dafür sorgen, dass die Impulse länger als 100ms dauern
    - andere Erfassungsmaßnahmen treffen

    Eine Verlängerung der Impulse erfordert zusätzliche Hardware, ist also mit Aufwand verbunden.

    Dagegen ist es einfacher bei der Erfassung einen anderen Weg einzuschlagen. Anstatt jeden Impuls einzeln zu zählen kannst Du auch (z.B. jede Minute, oder alle 15 Sekunden) den Zähler auslesen. Damit ist die zeitliche Auflösung nur geringfügig schlechter als bei der Einzelimpuls-Methode. Dafür ist das Ergebnis aber immer korrekt.


    Gruß
    HJH

  5. #5
    Registriert seit
    Oct 2007
    Beiträge
    8

    Hallo HJH,

    den Wiki kannte ich und nachdem ich die 30ms aus dem Datenblatt rausgesucht habe, dachte ich mir schon so etwas. Eine Zusatz-Hardware zur Impuls-Verlängerung wäre wohl etwas zu aufwendig. Das Problem liegt damit an IPS, denn die Velleman-Software schafft es ja problemlos, auch 30ms kurze Impulse anzuzeigen. Vielleicht sollte man die Abtastrate konfigurierbar machen.

    Vielen Dank für Deine Tipps. Da bleibt dann als kurzfristige Lösung wohl nur die Nutzung des USB-Board-Zählers.

    Grüsse

    Uwe

  6. #6
    Registriert seit
    Sep 2005
    Ort
    Stade
    Beiträge
    6,618

    Standard IPS ist nicht an allem Schuld...

    30ms sind für einen Windows-PC zu kurz um nebenbei erkannt zu werden. Dafür muss man besondere, prozessorfressende, externe Threads erstellen. Wer so kurze Intervalle abfragen will/muss braucht dafür einen Industrie PC oder eine SPS. Im Einfachsten Fall einen Mikrocontroller vorschalten, der einen Windowsfreundlichen Impuls erzeugt. Es gibt für diesnen Zweck spezielle Linux-Varianten, die so abgespeckt sind, dass sie die Schnittstellen in derart kurzen Intervallen abfagen können. Mit "einstellen" ist es also nicht getan...


    Gruß,

    Toni

  7. #7
    Registriert seit
    Nov 2005
    Ort
    Luxemburg
    Beiträge
    2,733

    Hallo,

    einfach 'nen kleinen Mono-Flop vorschalten. Hach, *träum* die gute alte Schulzeit.

    mfG Franz
    Geändert von guyabano (10.12.07 um 11:00 Uhr) Grund: Tippfehler



    11x HMS TF - 1x HMS T - 3x FHZ WLAN - 11x FHT80+TF - 4x FS20RST EcoRoll - 1x FS20SIG - 1x Comfort Comfort-Programmiergerät CRSZ-00/01 - 1x USB PC-Schnittstelle CKOZ-00/03 - 3x Dimmer CDAU-01/02 - 7x BIN 230VAC Eingang CBEU-02/01 - 6x Schaltaktor CSAU-01/01 - 1x Analog-Aktor 1-10V CAAE-01/02 - 5x Wandsender CTAA-02/02

  8. #8
    Registriert seit
    Sep 2005
    Ort
    Stade
    Beiträge
    6,618

    Stimmt auch... Das Gute liegt oft so nah...


    Toni

  9. #9
    Registriert seit
    Oct 2007
    Beiträge
    8

    Zitat Zitat von Tonic1024 Beitrag anzeigen
    30ms sind für einen Windows-PC zu kurz um nebenbei erkannt zu werden. Dafür muss man besondere, prozessorfressende, externe Threads erstellen.
    Ganz so kritisch kann es wohl nicht sein, da die Velleman-Software genau das schafft, ohne nennenswerte Prozessorlast zu erzeugen.

    Zitat Zitat von guyabano Beitrag anzeigen
    einfach 'nen kleinenMono-Flop vorschalten.
    Momentan behelfe ich mir mit dem Zähler auf dem USB-Board, weil es die einfachere Lösung ist und das Board momentan mit der USB-Versorgung auskommt (also ohne zusätzliche Stromversorgung). Ein Mono-Flop als "Seh-Hilfe" für IPS ist natürlich auch noch eine Option.

    Vielen Dank für die Tipps

    Uwe

  10. #10
    Registriert seit
    Sep 2005
    Ort
    Stade
    Beiträge
    6,618

    Das ist doch Milchmädchenlogik... Wenn die Hauptaufgabe der Software eine andere wäre würd sie es auch nicht schaffen... und die Prozessorlast, die du in Windows in Prozent angezeigt bekommst ist wohl auch sehr stark von deinem Prozessor abhängig, meinst du nicht?

    Toni
    Geändert von Tonic1024 (11.12.07 um 17:04 Uhr)

Ähnliche Themen

  1. Velleman USB Board - undefinierte Schaltvoränge
    Von rene im Forum Allgemeine Diskussion
    Antworten: 8
    Letzter Beitrag: 18.10.07, 07:59
  2. Velleman USB mit W2K3 lauffähig
    Von Ergoforce im Forum Bastel-Ecke
    Antworten: 9
    Letzter Beitrag: 08.03.07, 08:47
  3. Velleman USB Board neue DLL
    Von GGGss im Forum Bastel-Ecke
    Antworten: 0
    Letzter Beitrag: 28.02.06, 22:38
  4. Velleman Interface Board
    Von steiner im Forum Alte Beiträge
    Antworten: 1
    Letzter Beitrag: 05.10.05, 14:20
  5. VELLEMAN - USB - Board - Modul
    Von Keule im Forum Allgemeine Diskussion
    Antworten: 4
    Letzter Beitrag: 02.10.05, 16:39