########################################################################### # # Copyright (c) 2020-2024 Diality Inc. - All Rights Reserved. # # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN # WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file test_uf.py # # @author (last) Sean Nash # @date (last) 24-Sep-2022 # @author (original) Peter Lucia # @date (original) 14-Jul-2020 # ############################################################################ import sys sys.path.append("..") from time import sleep from leahi_dialin.ro.reverse_osmosis import RO from leahi_dialin.ro.modules.boost_pump import ROPumpNames from leahi_dialin.ro.modules.valves import ROValveNames from leahi_dialin.ro.modules.valves import ROValveStates if __name__ == "__main__": # create a RO object called ro ro = RO(log_level="DEBUG") # log in to RO as a tester if ro.cmd_log_in_to_ro() == 0: exit(1) ro.valves.cmd_valve_override(ROValveNames.VWI.value,ROValveStates.VALVE_STATE_OPEN.value) sleep(15) ro.valves.cmd_valve_override(ROValveNames.VWI.value,ROValveStates.VALVE_STATE_CLOSED.value) ro.pumps.cmd_boost_pump_set_pwm_request(ROPumpNames.PUMP_RO.value,50) # sleep(15) # ro.pumps.cmd_boost_pump_set_pwm_request(ROPumpNames.PUMP_RO.value,0) # create log file with open("RO_test.log", "w") as f: # collect data and display/log it while True: sleep(1) modes = "RO.m, " + '{:2d}'.format(ro.ro_operation_mode) + \ ", RO.s, " + '{:2d}'.format(ro.ro_operation_sub_mode) pumps = ", RO.st, " + '{:4d}'.format(ro.pumps.ro_pump_state) + \ ", RO.dc, " + '{:9.2f}'.format(ro.pumps.ro_pump_duty_cycle) +\ ", RO.sp, " + '{:9.2f}'.format(ro.pumps.ro_pump_speed) press = ", PRi, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_water_inlet_pre_reg) + \ ", PRo, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_water_inlet_post_reg) + \ ", PC2o, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_water_inlet_pre_cond) + \ ", PPo, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_pre_ro_filter) + \ ", PMp, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_post_ro_filter) # valves = ", VWi, " + '{:4d}'.format(ro.valves.valve_state_VWI) + \ # ", VFb, " + '{:4d}'.format(ro.valves.valve_state_VFB) + \ # ", VFf, " + '{:4d}'.format(ro.valves.valve_state_VFF) + \ # ", VPi, " + '{:4d}'.format(ro.valves.valve_state_VPI) + \ # ", VCr, " + '{:4d}'.format(ro.valves.valve_state_VCR) + \ # ", VCb, " + '{:4d}'.format(ro.valves.valve_state_VCB) + \ # ", VCd, " + '{:4d}'.format(ro.valves.valve_state_VCD) + \ # ", VROD, " + '{:4d}'.format(ro.valves.valve_state_VROD) # alarms = ", AL.s, " + '{:1d}'.format(td.alarms.get_current_alarms_state()) + \ # ", AL.t, " + '{:4d}'.format(td.alarms.alarm_top) # log data f.write(modes) f.write(pumps) f.write(press) # f.write(valves) # f.write(alarms) f.write("\n") # print to console print(" Modes: "+modes) print(" Pumps: "+pumps) print(" Pressures: "+press) # print(" Valves: "+valves) # print(" Alarms: "+alarms)