Compare commits

..

No commits in common. "main" and "v0.0.41" have entirely different histories.

2 changed files with 67 additions and 75 deletions

View File

@ -1,11 +1,11 @@
version: bwc/v2 # bwc 버전 정보입니다. version: bwc/v2 # bwc 버전 정보입니다.
spec: spec:
appName: sampyo-dio-app # 앱의 이름입니다. appName: sampyo-dio-app # 앱의 이름입니다.
runFile: main.py # 앱의 실행 파일입니다. runFile: main.py # 앱의 실행 파일입니다.
env: env:
bin: python3 # 앱을 실행할 바이너라 파일 종류입니다.(장비에 따라 다르므로 확인 후 정의해야 합니다.) bin: python3 # 앱을 실행할 바이너라 파일 종류입니다.(장비에 따라 다르므로 확인 후 정의해야 합니다.)
virtualEnv: base # 사용할 가상환경 이름입니다. virtualEnv: base # 사용할 가상환경 이름입니다.
package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.) package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.)
stackbase: stackbase:
tagName: v0.0.49 # Stackbase(gitea)에 릴리즈 태그명 입니다. tagName: v0.0.41 # Stackbase(gitea)에 릴리즈 태그명 입니다.
repoName: sampyo-dio # Stackbase(gitea)에 저장될 저장소 이릅니다. repoName: sampyo-dio # Stackbase(gitea)에 저장될 저장소 이릅니다.

120
main.py
View File

@ -43,27 +43,29 @@ def Valve_PureWater(chip, status, action, duration=7):
chip.set_values(status) chip.set_values(status)
time.sleep(0.05) time.sleep(0.05)
if pure_valve_status != 0 and action == 'Off': if action == 'On':
status[2] = 0
status[3] = 1
chip.set_values(status)
time.sleep(7)
pure_valve_status = 0
elif pure_valve_status == 0 and action == 'On':
status[2] = 1 status[2] = 1
status[3] = 0 status[3] = 0
chip.set_values(status) chip.set_values(status)
time.sleep(duration) time.sleep(duration)
if duration >= 7: else: # 'Off'
pure_valve_status = 2 status[2] = 0
elif duration < 7: status[3] = 1
pure_valve_status = 1 chip.set_values(status)
time.sleep(7)
status[2] = 0 status[2] = 0
status[3] = 0 status[3] = 0
chip.set_values(status) chip.set_values(status)
time.sleep(0.05) time.sleep(0.05)
if action == 'On' and duration >= 7:
pure_valve_status = 2
elif action == 'On' and duration < 7:
pure_valve_status = 1
else:
pure_valve_status = 0
def Valve_EnterWater(chip, status, action): def Valve_EnterWater(chip, status, action):
if action == 'On': if action == 'On':
status[4] = 1 status[4] = 1
@ -80,27 +82,29 @@ def Valve_MainWater(chip, status, action, duration=7):
chip.set_values(status) chip.set_values(status)
time.sleep(0.05) time.sleep(0.05)
if main_valve_status != 0 and action == 'Off': if action == 'On':
status[5] = 0
status[6] = 1
chip.set_values(status)
time.sleep(7)
main_valve_status = 0
elif main_valve_status == 0 and action == 'On':
status[5] = 1 status[5] = 1
status[6] = 0 status[6] = 0
chip.set_values(status) chip.set_values(status)
time.sleep(duration) time.sleep(duration)
if duration >= 7: else: # 'Off'
main_valve_status = 2 status[5] = 0
elif duration < 7: status[6] = 1
main_valve_status = 1 chip.set_values(status)
time.sleep(7)
status[5] = 0 status[5] = 0
status[6] = 0 status[6] = 0
chip.set_values(status) chip.set_values(status)
time.sleep(0.05) time.sleep(0.05)
if action == 'On' and duration >= 7:
main_valve_status = 2
elif action == 'On' and duration < 7:
main_valve_status = 1
else:
main_valve_status = 0
def Measure_Weight(client): def Measure_Weight(client):
# print('in') # print('in')
val = 0 val = 0
@ -138,20 +142,20 @@ def Command_Read():
if cmd['type'] == 'auto': if cmd['type'] == 'auto':
main_duration = float(cmd['device']['main']['duration']) main_duration = float(cmd['device']['main']['duration'])
pure_duration = float(cmd['device']['pure']['duration']) pure_duration = float(cmd['device']['pure']['duration'])
step0_duration = float(cmd['working-time']['step0']) setp0_duration = float(cmd['working-time']['setp0'])
step1_duration = float(cmd['working-time']['step1']) setp1_duration = float(cmd['working-time']['setp1'])
step2_duration = float(cmd['working-time']['step2']) setp2_duration = float(cmd['working-time']['setp2'])
step3_duration = float(cmd['working-time']['step3']) setp3_duration = float(cmd['working-time']['setp3'])
step4_duration = float(cmd['working-time']['step4']) setp4_duration = float(cmd['working-time']['setp4'])
step5_duration = float(cmd['working-time']['step5']) setp5_duration = float(cmd['working-time']['setp5'])
step6_duration = float(cmd['working-time']['step6']) setp6_duration = float(cmd['working-time']['setp6'])
step7_duration = float(cmd['working-time']['step7']) setp7_duration = float(cmd['working-time']['setp7'])
step8_duration = float(cmd['working-time']['step8']) setp8_duration = float(cmd['working-time']['setp8'])
step9_duration = float(cmd['working-time']['step9']) setp9_duration = float(cmd['working-time']['setp9'])
# Step 0. Mesure init weight before starting the sequence # Step 0. Mesure init weight before starting the sequence
time.sleep(step0_duration) time.sleep(setp0_duration)
start = Measure_Weight(client=client) start = Measure_Weight(client=client)
# Step 1. Vent pured water before input mixed water # Step 1. Vent pured water before input mixed water
@ -161,19 +165,19 @@ def Command_Read():
Valve_Vent(chip=output_lines, status=status, action='On') Valve_Vent(chip=output_lines, status=status, action='On')
time.sleep(0.5) time.sleep(0.5)
Valve_MainWater(chip=output_lines, status=status, action='On', duration=main_duration) Valve_MainWater(chip=output_lines, status=status, action='On', duration=main_duration)
time.sleep(step1_duration) time.sleep(setp1_duration)
# Step 2. Empty the remaining pure water # Step 2. Empty the remaining pure water
# Target valve status: [Motor: Off, Vent: On, Pure: Off, Enter: Off, Main: On] # Target valve status: [Motor: Off, Vent: On, Pure: Off, Enter: Off, Main: On]
Valve_EnterWater(chip=output_lines, status=status, action='Off') Valve_EnterWater(chip=output_lines, status=status, action='Off')
time.sleep(step2_duration) time.sleep(setp2_duration)
# Step 3. Input the mixed water # Step 3. Input the mixed water
# Target valve status: [Motor: Off, Vent: Off, Pure: Off, Enter: On, Main: On] # Target valve status: [Motor: Off, Vent: Off, Pure: Off, Enter: On, Main: On]
Valve_Vent(chip=output_lines, status=status, action='Off') Valve_Vent(chip=output_lines, status=status, action='Off')
time.sleep(0.5) time.sleep(0.5)
Valve_EnterWater(chip=output_lines, status=status, action='On') Valve_EnterWater(chip=output_lines, status=status, action='On')
time.sleep(step3_duration) time.sleep(setp3_duration)
# Step 4. Mesure the weight # Step 4. Mesure the weight
# Target valve status: [Motor: Off, Vent: Off, Pure: Off, Enter: Off, Main: Off] # Target valve status: [Motor: Off, Vent: Off, Pure: Off, Enter: Off, Main: Off]
@ -181,7 +185,7 @@ def Command_Read():
time.sleep(0.5) time.sleep(0.5)
Valve_MainWater(chip=output_lines, status=status, action='Off') Valve_MainWater(chip=output_lines, status=status, action='Off')
time.sleep(step4_duration) time.sleep(setp4_duration)
end = Measure_Weight(client=client) end = Measure_Weight(client=client)
time.sleep(1) time.sleep(1)
@ -194,12 +198,12 @@ def Command_Read():
Valve_Vent(chip=output_lines, status=status, action='On') Valve_Vent(chip=output_lines, status=status, action='On')
time.sleep(0.5) time.sleep(0.5)
Valve_PureWater(chip=output_lines, status=status, action='On', duration=pure_duration) Valve_PureWater(chip=output_lines, status=status, action='On', duration=pure_duration)
time.sleep(step5_duration) time.sleep(setp5_duration)
# Step 6. Drain mixed water # Step 6. Drain mixed water
# Target valve status: [Motor: Off, Vent: On, Pure: On, Enter: Off, Main: Off] # Target valve status: [Motor: Off, Vent: On, Pure: On, Enter: Off, Main: Off]
Valve_EnterWater(chip=output_lines, status=status, action='Off') Valve_EnterWater(chip=output_lines, status=status, action='Off')
time.sleep(step6_duration) time.sleep(setp6_duration)
# Step 7. Input pure water and clean # Step 7. Input pure water and clean
# Target valve status: [Motor: On, Vent: Off, Pure: On, Enter: On, Main: Off] # Target valve status: [Motor: On, Vent: Off, Pure: On, Enter: On, Main: Off]
@ -208,7 +212,7 @@ def Command_Read():
Valve_Vent(chip=output_lines, status=status, action='Off') Valve_Vent(chip=output_lines, status=status, action='Off')
time.sleep(0.5) time.sleep(0.5)
Motor(chip=output_lines, status=status, action='On') Motor(chip=output_lines, status=status, action='On')
time.sleep(step7_duration) time.sleep(setp7_duration)
# Step 8. Drain pure Water # Step 8. Drain pure Water
# Target valve status: [Motor: On, Vent: On, Pure: Off, Enter: Off, Main: Off] # Target valve status: [Motor: On, Vent: On, Pure: Off, Enter: Off, Main: Off]
@ -217,12 +221,12 @@ def Command_Read():
Valve_Vent(chip=output_lines, status=status, action='On') Valve_Vent(chip=output_lines, status=status, action='On')
time.sleep(0.5) time.sleep(0.5)
Valve_PureWater(chip=output_lines, status=status, action='Off') Valve_PureWater(chip=output_lines, status=status, action='Off')
time.sleep(step8_duration) time.sleep(setp8_duration)
# Step 9. Stop moter # Step 9. Stop moter
# Target valve status: [Motor: Off, Vent: On, Pure: Off, Enter: Off, Main: Off] # Target valve status: [Motor: Off, Vent: On, Pure: Off, Enter: Off, Main: Off]
Motor(chip=output_lines, status=status, action='Off') Motor(chip=output_lines, status=status, action='Off')
time.sleep(step9_duration) time.sleep(setp9_duration)
return 1 return 1
@ -233,16 +237,10 @@ def Command_Read():
else: # cmd['type'] == 'manual' else: # cmd['type'] == 'manual'
Motor(chip=output_lines, status=status, action=cmd['device']['motor']['action']) Motor(chip=output_lines, status=status, action=cmd['device']['motor']['action'])
Valve_Vent(chip=output_lines, status=status, action=cmd['device']['vent']['action']) Valve_Vent(chip=output_lines, status=status, action=cmd['device']['vent']['action'])
# Valve_MixedWater(chip=output_lines, status=status, action=cmd['device']['mixed']['action']) Valve_MixedWater(chip=output_lines, status=status, action=cmd['device']['mixed']['action'])
# Valve_PureWater(chip=output_lines, status=status, action=cmd['device']['pure']['action']) Valve_PureWater(chip=output_lines, status=status, action=cmd['device']['pure']['action'])
Valve_EnterWater(chip=output_lines, status=status, action=cmd['device']['enter']['action']) Valve_EnterWater(chip=output_lines, status=status, action=cmd['device']['enter']['action'])
if cmd['device']['pure']['duration'] == 0:
Valve_PureWater(chip=output_lines, status=status, action=cmd['device']['pure']['action'])
else:
Valve_PureWater(chip=output_lines, status=status, action=cmd['device']['pure']['action'], duration=cmd['device']['pure']['duration'])
if cmd['device']['main']['duration'] == 0: if cmd['device']['main']['duration'] == 0:
Valve_MainWater(chip=output_lines, status=status, action=cmd['device']['main']['action']) Valve_MainWater(chip=output_lines, status=status, action=cmd['device']['main']['action'])
else: else:
@ -273,22 +271,16 @@ def clean_system():
Valve_MainWater(chip=output_lines, status=status, action='On') Valve_MainWater(chip=output_lines, status=status, action='On')
time.sleep(0.5) time.sleep(0.5)
Valve_PureWater(chip=output_lines, status=status, action='On') Valve_PureWater(chip=output_lines, status=status, action='On')
time.sleep(0.5)
Valve_MixedWater(chip=output_lines, status=status, action='On')
time.sleep(clean_duration) time.sleep(clean_duration)
Valve_MainWater(chip=output_lines, status=status, action='Off') Valve_MainWater(chip=output_lines, status=status, action='Off')
time.sleep(0.5) time.sleep(0.5)
Valve_EnterWater(chip=output_lines, status=status, action='On')
time.sleep(0.5)
Valve_Vent(chip=output_lines, status=status, action='On')
time.sleep(clean_duration)
Valve_PureWater(chip=output_lines, status=status, action='Off') Valve_PureWater(chip=output_lines, status=status, action='Off')
time.sleep(0.5) time.sleep(0.5)
Valve_Vent(chip=output_lines, status=status, action='Off') Valve_MixedWater(chip=output_lines, status=status, action='Off')
time.sleep(0.5) time.sleep(6)
Valve_EnterWater(chip=output_lines, status=status, action='Off')
time.sleep(0.5)
def runAction(): def runAction():
# Write the app's actions in the "runAction" function. # Write the app's actions in the "runAction" function.
@ -475,7 +467,7 @@ def start_server(addr, port):
def exit_handler(signum, frame): def exit_handler(signum, frame):
Motor(chip=output_lines, status=status, action='Off') Motor(chip=output_lines, status=status, action='Off')
Valve_Vent(chip=output_lines, status=status, action='Off') Valve_Vent(chip=output_lines, status=status, action='Off')
# Valve_MixedWater(chip=output_lines, status=status, action='Off') Valve_MixedWater(chip=output_lines, status=status, action='Off')
Valve_PureWater(chip=output_lines, status=status, action='Off') Valve_PureWater(chip=output_lines, status=status, action='Off')
Valve_EnterWater(chip=output_lines, status=status, action='Off') Valve_EnterWater(chip=output_lines, status=status, action='Off')
Valve_MainWater(chip=output_lines, status=status, action='Off') Valve_MainWater(chip=output_lines, status=status, action='Off')
@ -498,7 +490,7 @@ if __name__ == "__main__":
signal.signal(signal.SIGINT, exit_handler) signal.signal(signal.SIGINT, exit_handler)
main_valve_status = 0 main_valve_status = 0
pure_valve_status = 0 pure_value_status = 0
Valve_MainWater(chip=output_lines, status=status, action='Off') Valve_MainWater(chip=output_lines, status=status, action='Off')
Valve_PureWater(chip=output_lines, status=status, action='Off') Valve_PureWater(chip=output_lines, status=status, action='Off')