Files
HendiControlFirmware/Control/brewpi/brewpi.py
T
2019-03-26 19:51:18 +00:00

61 lines
1.3 KiB
Python

#!/usr/bin/python3
import time
import json
from controller import Controller
from mass import Mass
from stirrer import Stirrer
from pololu1376 import Pololu1376
from matplotlib.pyplot import figure, clf, plot, xlabel, ylabel, xlim, ylim, title, grid, axes, show, subplot
def results_plot(self):
figure(1)
subplot(4, 1, 1)
plot(self.time_v, self.theta_v, 'b-', linewidth=1)
title('Temperature')
grid(True)
ylabel('°C')
subplot(4, 1, 2)
plot(self.time_v, self.power_v, 'r-', linewidth=1)
title('Power')
grid(True)
ylabel('W')
subplot(4, 1, 3)
plot(self.time_v, self.error_v, 'b-', linewidth=1)
title('Error')
grid(True)
ylabel('°C')
subplot(4, 1, 4)
plot(self.time_v, self.heatrate_v, 'r-', linewidth=1)
title('Heatrate')
grid(True)
ylabel('°C/min')
xlabel('t/min')
show()
if __name__ == '__main__':
fp = open("brewpi.json")
configJson = json.load(fp)
plant_class = globals()[configJson["Controller"]['plant_name']]
plant = plant_class(configJson["WaterSim"])
ruehrer_class = globals()[configJson["Controller"]['stirrer_name']]
ruehrer = ruehrer_class(configJson["Controller"]['dt'])
ablauf = Controller(configJson["Controller"], plant, ruehrer)
fp = open("Rezept-001.json")
recipeJson = json.load(fp)
ablauf.start(recipeJson)
ablauf.wait_finished()
results_plot(ablauf)
print ("End of program.")