Changes

Jump to navigation Jump to search
1,364 bytes added ,  10:50, 25 March 2015
no edit summary
Line 100: Line 100:     
== Python software ==
 
== Python software ==
 +
 +
from PyDAQmx import Task
 +
from PyDAQmx.DAQmxConstants import *
 +
from PyDAQmx.DAQmxTypes import *
 +
import numpy
 +
import msvcrt
 +
import time
 +
 +
times = []
 +
try :
 +
    freq = 100.0 # Hz
 +
    numinputs = 4
 +
 +
    analog_input = Task()
 +
    read = int32()
 +
    timer= time.clock()
 +
    running = True
 +
 +
    data = numpy.zeros((numinputs,), dtype=numpy.float64)
 +
 +
    #DAQmx Configure Code
 +
    analog_input.CreateAIVoltageChan("Dev1/ai0:%i" % (numinputs - 1), None, DAQmx_Val_RSE, -10.0,10.0,DAQmx_Val_Volts,None)
 +
    #analog_input.CfgInputBuffer(0)
 +
    #analog_input.CfgSampClkTiming("",freq,DAQmx_Val_Rising,DAQmx_Val_ContSamps,1000)
 +
 +
    analog_input.StartTask()
 +
    datalist = []
 +
    while running:
 +
        #DAQmx Start Code
 +
       
 +
   
 +
       
 +
        timeBeforeRead = time.clock()
 +
        analog_input.ReadAnalogF64(-1,10.0,DAQmx_Val_GroupByChannel,data,numinputs*2,byref(read),None)
 +
        ser.write('S')
 +
        line = ser.readline()
 +
 +
        time.sleep((1 / freq) - (time.clock()- timeBeforeRead))
 +
       
 +
        times.append(timeBeforeRead - time.clock())
 +
     
 +
 
 +
        if msvcrt.kbhit():
 +
            running = False
 +
       
 +
 +
finally :
 +
    print "Stop"
 +
    t = numpy.array(times)
 +
    afwijking = numpy.mean(abs(t - numpy.mean(t)))
 +
    maxafwijking = max(abs(t-numpy.mean(t)))
 +
   
 +
    print numpy.mean(t), afwijking, maxafwijking
 +
 
 +
 +
    analog_input.StopTask();

Navigation menu