예제 #1
0
파일: oven_greedy.py 프로젝트: mada1019/t
            temperatures_weighted += weightings[j] * temperature

        temperature_room = temperatures_weighted / sum(weightings)

        # print temperatures
        # print temperature_room

        # print "loop end"


        if (temperature_room < 20.0) and (abs(ex9024_level-valve_open) > 0.05):
            
            print "too cold"

            am.set_ex9024(opening_level = valve_open)

        elif (temperature_room > 21.5) and (abs(ex9024_level-valve_closed) > 0.05):

            print "too hot!"

            am.set_ex9024(opening_level = valve_closed)
        
        data_set = [time.ctime(), rtm1_0, rtm1_1, wt_0, wt_1, wt_2, wt_3, round(temperature_room, 2), ex9024_level]

        print data_set

        for data_element in data_set:
            
            with open("measurement_oven_greedy_1.csv", "a") as f:
                f.write(str(data_element) + ", ")
예제 #2
0
파일: oven_smoother.py 프로젝트: mada1019/t
        temperatures_weighted = 0

        for j, temperature in enumerate(temperatures):

            temperatures_weighted += weightings[j] * temperature

        temperature_room = temperatures_weighted / sum(weightings)




        if option==1:

            if (temperature_room < 19.85) and (abs(ex9024_level-valve_open) > 0.05):

                am.set_ex9024(opening_level = valve_open)

            elif (20.15 < temperature_room < 20.35) and (abs(ex9024_level-valve_light_open) > 0.05):

                am.set_ex9024(opening_level = valve_light_open)

            elif (20.65 < temperature_room < 20.85) and (abs(ex9024_level-valve_medium_open) > 0.05):
            
                am.set_ex9024(opening_level = valve_medium_open)

            elif (21.15 < temperature_room < 21.35) and (abs(ex9024_level - valve_light_closed) > 0.05):

                am.set_ex9024(opening_level = valve_light_closed)
            
            elif (22.15 < temperature_room < 22.35) and (abs(ex9024_level-valve_medium_closed) > 0.05):
actuator_client_address = os.environ["EX9132_ADDRESS"]
actuator_client_port = os.environ["EX9132_PORT_2"]

sensor_server_address = os.environ["WT_ADDRESS"]
sensor_server_port = os.environ["WT_PORT"]

am = ActuatorsModbus(actuator_client_address, actuator_client_port)
sm = SensorsModbus(sensor_client_address, sensor_client_port)
sh = SensorsHttp(sensor_server_address, sensor_server_port)

for k in np.linspace(0.15,0.6,46):
    
    opening_level = k

    am.set_ex9024(opening_level = opening_level)
    
    t_start= time.time()

    while time.time()- t_start < 60:
      
        flowrate = sm.get_mc602_flowrate()
        temperature_inlet = sm.get_mc602_temperature_inlet()
        temperature_outlet = sm.get_mc602_temperature_outlet()
        ex9024_level = am.get_ex9024()

        rtm1_0 = sm.get_rtm1_0()
        rtm1_1 = sm.get_rtm1_1()

        wt_0 = sh.get_wt_0()
        wt_1 = sh.get_wt_1()
from sensors_actuators_k004b.actuators_modbus import ActuatorsModbus
from time import sleep
import os

client_address_actuators = os.environ["EX9132_ADDRESS"]
client_port_actuators = os.environ["EX9132_PORT_2"]

am = ActuatorsModbus(client_address_actuators, client_port_actuators)

# sleep(3.0)

am.set_ex9024(opening_level = 0.0)

# sleep(3.0)

print am.get_ex9024()

am.disconnect_from_client()