Module Process
[hide private]
[frames] | no frames]

Source Code for Module Process

 1  #!/usr/bin/env python 
 2  # -*- coding: iso-8859-1 -*- 
 3   
 4   
 5  # This example shows how to set up a fuzzy controller for  
 6  # the temperature in a container in which we can put cold or warm water (through the mixer). 
 7  # The container is modeled as a PT1-System which means the final value is 
 8  # asymptotically with ongoing time. 
 9   
10  # Weitere Arbeiten: 
11  # 
12  # 1. Darstellung der Eingangs- und Ausgangsvariablen 
13  # 2. Fahren eines Fuzzy-Reglers über einen veränderbaren Sollwert 
14  # 3. Randbedingungen für die Variablen bei der Start- und Endefunktion 
15  # 4. Verarbeitung von beliebig gro0en Fuzzysets 
16  # 5. Verarbeitungen von mehreren Eingangs- und Ausgangsvariablen 
17   
18  from PT1 import cPT1,cPT1_ 
19   
20 -class Process(object):
21 # initialization
22 - def __init__(self,FuzzySystem):
23 self.rltemp = 10. 24 self.vltemp = 10. 25 26 self.FuzzySystem = FuzzySystem 27 # Definition der Regelglieder 28 # Mischer 29 self.Mischer = cPT1(1.,2.0,20.) 30 # Wärmespeicher 31 self.Speicher = cPT1(1.,4.0,20.) 32 33 self.ftime = 0.
34
35 - def step(self,time_step):
36 # definition of value to reach with difference to another value 37 self.inMischer = self.FuzzySystem.calculate(self.rltemp) 38 39 # mixer PT1 function 40 self.vltemp = self.Mischer.getoutput(self.ftime,self.inMischer) 41 42 # container PT1 function 43 self.rltemp = self.Speicher.getoutput(self.ftime,self.vltemp) 44 45 self.ftime += time_step
46