Ver Mensaje Individual
  #5  
Antiguo 22-07-2007
carlohg carlohg is offline
Registrado
 
Registrado: may 2007
Ubicación: Medellin - Colombia
Posts: 9
Reputación: 0
carlohg Va por buen camino

Esta es mi clase en visual 2005

Imports
NationalInstruments.DAQmx
<Microsoft.VisualBasic.ComClass()>
PublicClass ADQclass
Private myTask As Task
Private runningTask As Task
Private data AsDouble(,)
Private analogInReader As AnalogMultiChannelReader
Private analogCallback As AsyncCallback
Private FSizePaq AsInteger = 4096
Private FFrecAdq AsInteger = 4096
Private FLimite AsInteger = 10
Public Senales(,) AsDouble
Public Senales16(,) AsSingle
PublicSub ConfStart()
If runningTask IsNothingThen
Try
'Crear la tarea
myTask = New Task()
'Crear y configuro canales
myTask.AIChannels.CreateVoltageChannel("Dev1/ai0:31", "", AITerminalConfiguration.Nrse, Convert.ToDouble(-FLimite), Convert.ToDouble(FLimite), AIVoltageUnits.Volts)
myTask.Timing.ConfigureSampleClock(
"", Convert.ToDouble(FFrecAdq), SampleClockActiveEdge.Rising, SampleQuantityMode.ContinuousSamples, FSizePaq)
'Verifico la tarea
myTask.Control(TaskAction.Verify)
runningTask = myTask
analogInReader =
New AnalogMultiChannelReader(myTask.Stream)
analogInReader.SynchronizeCallbacks =
True
analogCallback = New AsyncCallback(AddressOf AnalogInCallback)
analogInReader.BeginReadMultiSample(Convert.ToInt32(FSizePaq), analogCallback, myTask)
Catch exception As DaqException
'Escribir en archivo de reportes
runningTask = Nothing
myTask.Dispose()
EndTry
EndIf
EndSub
PrivateSub AnalogInCallback(ByVal ar As IAsyncResult)
Try
If runningTask Is ar.AsyncState Then
data = analogInReader.EndReadMultiSample(ar)
Senales = data
analogInReader.BeginReadMultiSample(Convert.ToInt32(FSizePaq), analogCallback, myTask)
EndIf
Catch ex As DaqException
'Escribir en archivo de reportes
runningTask = Nothing
myTask.Dispose()
EndTry
EndSub
PublicSub Detener()
IfNot (runningTask IsNothing) Then
runningTask = Nothing
myTask.Dispose()
EndIf
EndSub
PublicProperty SizePaq() AsInteger
Get
Return FSizePaq
EndGet
Set(ByVal value AsInteger)
FSizePaq = value
EndSet
EndProperty
PublicProperty FrecAdq() AsInteger
Get
Return FFrecAdq
EndGet
Set(ByVal value AsInteger)
FFrecAdq = value
EndSet
EndProperty
PublicProperty Limite() AsInteger
Get
Return FLimite
EndGet
Set(ByVal value AsInteger)
FLimite = value
EndSet
EndProperty
End
Class
Responder Con Cita