Ejemplo n.º 1
0
def runGPID():
    gPIDInstance = gPID.gPID()
    gPIDInstance.ChangeSetPoint(40.0)
    while True:
        getCFPval = float(GP.getcFP())
        next_PV = gPIDInstance.Compute(getCFPval)
        print "Present Temp: " + str(getCFPval) + "| nextPV: " + str(next_PV)
        GP.HeaterControl(next_PV)
        time.sleep(1)
Ejemplo n.º 2
0
 def UpdateDispatcher(self):
     reactor.callWhenRunning(self.SQLInterrupts)
     if self._isRunning == True:
         #reactor.callWhenRunning(self.UpdateVars)
         self.Pressure = GP.getPressure()
         reactor.callWhenRunning(self.dataRecorder.UpdateDatapoint, self.LeadAvg, self.Pressure)
         sys.stdout.flush()
         sys.stdout.write("\rTemperature: %.02f | PID: %.01f | Pressure: %.01f" % (self.LeadAvg, self.PIDVal, self.Pressure))
Ejemplo n.º 3
0
    def UpdateVars(self):
        #Update the temperature variables!
        self.TemperatureData.append(GP.getcFP())
        self.TemperatureData.pop(0)
        self.TrailAvg = np.average(self.TemperatureData[:self.step])
        self.LeadAvg = np.average(self.TemperatureData[-self.step:])
        #Update Pressure Variable
        #self.Pressure = GP.getPressure()
        #Call stability check

        reactor.callWhenRunning(self.StabilityWrapper)
        #get PID Value
        PIDValue = self.gPID.Compute(float(self.LeadAvg))

        if int(PIDValue) != int(self.PIDVal):
            #write PID Value
            GP.HeaterControl(PIDValue)
            self.PIDVal = PIDValue
Ejemplo n.º 4
0
def runGPID():
    gPIDInstance = gPID.gPID()
    gPIDInstance.ChangeSetPoint(40.0)
    while True:
        getCFPval = float(GP.getcFP())
        next_PV = gPIDInstance.Compute(getCFPval)
        print "Present Temp: "+ str(getCFPval) + "| nextPV: "+str(next_PV)
        GP.HeaterControl(next_PV)
        time.sleep(1)
Ejemplo n.º 5
0
def ControlArduino(TempDataInStream, DaemonRunFlag, PressureVoltage):
    while True:
        #get some data now!
        temperature_celcius = float(GP.getTemperature())

        #put this to the queue
        TempDataInStream.put(temperature_celcius)

        #get the pressure transducer data and put that on memory
        PressureVoltage.value = float(GP.getPressure())

        #This routine checks if the stop flag is raised, and puts it in
        #variable "runflag" to stop the loop
        if DaemonRunFlag.qsize() != 0:
            if DaemonRunFlag.get(timeout=1) == True:
                RunFlag = False

        time.sleep(1)
Ejemplo n.º 6
0
 def RunPIDonce(self, measurement_value):
     pid_raw = self.pid_control.update(measurement_value)
     pid = self.Constrain(pid_raw, 0.0, 100.0)
     sys.stdout.flush()
     sys.stdout.write("\rPID RAW: %.02f | PID: %.02f | Temperature: %.02f" %
                      (pid_raw, pid, measurement_value))
     if measurement_value >= self.pid_control.set_point + 30.0:
         self.stop()
     GP.HeaterControl(pid)
Ejemplo n.º 7
0
def ControlArduino(TempDataInStream, DaemonRunFlag, PressureVoltage):
    while True:
        #get some data now!
        temperature_celcius = float(GP.getTemperature())
        
        #put this to the queue
        TempDataInStream.put(temperature_celcius)
        
        #get the pressure transducer data and put that on memory
        PressureVoltage.value = float(GP.getPressure())
        
        
        
        #This routine checks if the stop flag is raised, and puts it in
        #variable "runflag" to stop the loop
        if DaemonRunFlag.qsize() != 0:
            if DaemonRunFlag.get(timeout=1) == True:
                RunFlag = False
                
        time.sleep(1)    
Ejemplo n.º 8
0
 def UpdateDispatcher(self):
     reactor.callWhenRunning(self.SQLInterrupts)
     if self._isRunning == True:
         #reactor.callWhenRunning(self.UpdateVars)
         self.Pressure = GP.getPressure()
         reactor.callWhenRunning(self.dataRecorder.UpdateDatapoint,
                                 self.LeadAvg, self.Pressure)
         sys.stdout.flush()
         sys.stdout.write(
             "\rTemperature: %.02f | PID: %.01f | Pressure: %.01f" %
             (self.LeadAvg, self.PIDVal, self.Pressure))
Ejemplo n.º 9
0
 def UpdateVars(self):
     #Update the temperature variables!
     self.TemperatureData.append(GP.getcFP())
     self.TemperatureData.pop(0)
     self.TrailAvg = np.average(self.TemperatureData[:self.step])
     self.LeadAvg = np.average(self.TemperatureData[-self.step:])
     #Update Pressure Variable
     #self.Pressure = GP.getPressure()
     #Call stability check
     
     reactor.callWhenRunning(self.StabilityWrapper)
     #get PID Value
     PIDValue = self.gPID.Compute(float(self.LeadAvg))
     
     if int(PIDValue) != int(self.PIDVal) :
         #write PID Value
         GP.HeaterControl(PIDValue)
         self.PIDVal = PIDValue
Ejemplo n.º 10
0
#!/usr/bin/env python

import GeyserProto as GP
import time

while True:
    print GP.getPressure()
    time.sleep(1)
Ejemplo n.º 11
0
 def Initialize(self):
     self.TemperatureData += [float(GP.getcFP())] * self.BoxCarSize()
Ejemplo n.º 12
0
#!/usr/bin/env python


import GeyserProto as GP
import time

while True:   
    print GP.getPressure()
    time.sleep(1)
Ejemplo n.º 13
0
def killall():
    GP.HeaterControl(0)
    reactor.stop()
Ejemplo n.º 14
0
 def Initialize(self):
     self.TemperatureData += [float(GP.getcFP())] * self.BoxCarSize()
Ejemplo n.º 15
0
 def stop(self):
     GP.HeaterControl(0)
     print "Stopped"
     sys.exit("Overheat. Stopped.")