Un oscilloscopio in VB

 

Nei problemi di automazione una delle principali esigenze è quella della rappresentazione degli stati e dei valori dei segnali. Per le grandezze analogiche l'oscilloscopio (analogico o digitale) è lo strumento privilegiato.
Disponendo di una scheda di acquisizione A/D come trasformare lo schermo del PC in un oscilloscopio?
Il problema fondamentale è realizzare il refresh dello schermo. Per questo  si fa uso di una API di Windows la <GDI32> ed in particolare del metodo <BitBlt> che consente di copiare e spostare in un solo passo la memoria video creando l'effetto di movimento delle tracce.
Il trucco utilizzato è quello di lanciare un loop infinito e tracciare l'ultimo campione in una sottile striscia della finestra di visualizzazione ed in seguito spostare tutta la finestra.

Questo tipo di di approccio si adatta ad inseguire fedelmente fenomeni lenti (fino ad un massimo di 500Hz).

Bibliography Use Windows BitBlt Function in Visual Basic Application

MSKB

Download oscilloscope.zip Source code VB 5KByte