########################################################################### # # Copyright (c) 2019-2020 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 dg_valves_test.py # # @date 20-May-2020 # @author P. Montazemi # # @brief This development test script exercises the DG valves states in \n # single and batch modes # ############################################################################ import sys sys.path.append("..") from dialin.hd.constants import RESET, NO_RESET from dialin.dg.dialysate_generator import DG from time import sleep import dialin.dg.valves as valves if __name__ == "__main__": # Create an instance of the DG Class dg = DG() sleep(2) # Log in to DG as tester if dg.cmd_log_in_to_dg() == 0: print("DG login failed.") exit(1) sleep(1) # Reset override publish interval of DG valves states #valves.cmd_valve_broadcast_interval_override(RESET, 0) #sleep(1) # Override default publish interval (500 ms) of DG valves states #valves.cmd_valve_broadcast_interval_override(1000) #sleep(1) # Initialize (de-energize) all valves print("Initialize all valves to DEENERGIZED state") #valves.cmd_valve_override(0x0000, dg.valves.valves_states_all) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VRF) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VRI) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VRD) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VRO) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VPO) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VBF) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VRC) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VDR) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VPI) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VSP) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VR1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VR2) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VPD) def updateValvesStates(): valvesStates = "VRF=" + str(dg.valves.valve_state_VRF) + \ ", VRI=" + str(dg.valves.valve_state_VRI) + \ ", VRD=" + str(dg.valves.valve_state_VRD) + \ ", VRO=" + str(dg.valves.valve_state_VRO) + \ ", VPO=" + str(dg.valves.valve_state_VPO) + \ ", VBF=" + str(dg.valves.valve_state_VBF) + \ ", VRC=" + str(dg.valves.valve_state_VRC) + \ ", VDR=" + str(dg.valves.valve_state_VDR) + \ ", VPI=" + str(dg.valves.valve_state_VPI) + \ ", VSP=" + str(dg.valves.valve_state_VSP) + \ ", VR1=" + str(dg.valves.valve_state_VR1) + \ ", VR2=" + str(dg.valves.valve_state_VR2) + \ ", VPD=" + str(dg.valves.valve_state_VPD) # Print to console print("DG Valves States: " + valvesStates) return valvesStates updateValvesStates() sleep(3) # Create log file with open("DG_valves_test.log", "w") as f: dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VRF) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VRI) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VRD) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VRO) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VPO) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VBF) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VRC) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VDR) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VPI) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VSP) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VR1) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VR2) sleep(1) dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VPD) sleep(1) valvesStates = updateValvesStates() # Log data f.write(valvesStates) f.write("\n") sleep(3) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VRF) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VRI) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VRD) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VRO) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VPO) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VBF) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VRC) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VDR) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VPI) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VSP) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VR1) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VR2) sleep(1) dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VPD) valvesStates = updateValvesStates() # Log data f.write(valvesStates) f.write("\n") f.close()