Sujune: Upload
This commit is contained in:
parent
310f0b507d
commit
fe68e4e7e0
|
@ -6,8 +6,8 @@
|
|||
]
|
||||
},
|
||||
"ref_zero_point": {
|
||||
"oilInFlowRate": 4005,
|
||||
"waterInFlowRate": 4000
|
||||
"oilInFlowRate": 3995,
|
||||
"waterInFlowRate": 3984
|
||||
},
|
||||
"cdu_digital_list": {
|
||||
"valve1OpenStatus": [
|
||||
|
@ -164,11 +164,11 @@
|
|||
"tank_pdu_list": {
|
||||
"pduTank1": [
|
||||
1,
|
||||
"n"
|
||||
"y"
|
||||
],
|
||||
"pduTank2": [
|
||||
2,
|
||||
"n"
|
||||
"y"
|
||||
],
|
||||
"pduTank3": [
|
||||
3,
|
||||
|
|
20
control.json
20
control.json
|
@ -1,18 +1,18 @@
|
|||
{
|
||||
"cmd": "none",
|
||||
"get_data_interval": 2,
|
||||
"set_zero_flow": "n",
|
||||
"valve1": "Off",
|
||||
"valve2": "Off",
|
||||
"inverter": {
|
||||
"inverter1": "Off",
|
||||
"inverter1Frq": 50,
|
||||
"inverter1Acc": 5.0,
|
||||
"inverter1Dec": 10.0,
|
||||
"inverter1Acc": 10,
|
||||
"inverter1Dec": 5,
|
||||
"inverter1Frq": 40,
|
||||
"inverter2": "Off",
|
||||
"inverter2Frq": 40,
|
||||
"inverter2Acc": 5.0,
|
||||
"inverter2Dec": 10.0
|
||||
"inverter2Acc": 10,
|
||||
"inverter2Dec": 5,
|
||||
"inverter2Frq": 20
|
||||
},
|
||||
"mode": "auto",
|
||||
"cmd": "none"
|
||||
"set_zero_flow": "n",
|
||||
"valve1": "Off",
|
||||
"valve2": "Off"
|
||||
}
|
|
@ -8,5 +8,5 @@ spec:
|
|||
package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.)
|
||||
runtime: python3.9
|
||||
stackbase:
|
||||
tagName: v2.0.4 # Stackbase(gitea)에 릴리즈 태그명 입니다.
|
||||
tagName: v2.0.5 # Stackbase(gitea)에 릴리즈 태그명 입니다.
|
||||
repoName: aquarack-sensor-collector # Satackbase(gitea)에 저장될 저장소 이릅니다.
|
||||
|
|
103
main.py
103
main.py
|
@ -23,6 +23,7 @@ def get_modbus(evt, serial_obj):
|
|||
valve_status = [False] * 8
|
||||
pre_dict = {}
|
||||
init_flag = 0
|
||||
frq1, acc1, dec1, frq2, acc2, dec2 = 0, 0, 0, 0, 0, 0
|
||||
|
||||
while isThread:
|
||||
evt.wait()
|
||||
|
@ -84,7 +85,7 @@ def get_modbus(evt, serial_obj):
|
|||
pub_dict[j] = ((cdu_analog.registers[i] - 4000) / 16000) * 100
|
||||
elif j == 'oilOutTemp' or j == 'waterOutTemp':
|
||||
scale = ((cdu_analog.registers[i] - 4000) / 16000) # need to edit for temperature sensor
|
||||
pub_dict[j] = (scale * 100) - 20
|
||||
pub_dict[j] = (scale * 100)
|
||||
elif j == 'oilInPress' or j == 'waterInPress':
|
||||
pub_dict[j] = ((cdu_analog.registers[i] - 4000) / 16000) # need to edit for pressure sensor
|
||||
|
||||
|
@ -107,7 +108,14 @@ def get_modbus(evt, serial_obj):
|
|||
inverter_status[2] = 'running'
|
||||
elif run_status & 0x08:
|
||||
inverter_status[2] = 'error'
|
||||
|
||||
except Exception as e:
|
||||
inverter_status[0] = -9999
|
||||
inverter_status[1] = 'CLOST'
|
||||
inverter_status[2] = 'error'
|
||||
print(f'Inverter Status Error: {e}')
|
||||
|
||||
try:
|
||||
# M100
|
||||
res = client1.read_holding_registers(address=9, count=6, slave=11)
|
||||
inverter_status[3] = res.registers[0] / 100 # frequncy
|
||||
inverter_status[4] = get_inverter_errorcode(res.registers[5]) # errorcode
|
||||
|
@ -118,12 +126,14 @@ def get_modbus(evt, serial_obj):
|
|||
inverter_status[5] = 'running'
|
||||
elif run_status & 0x08:
|
||||
inverter_status[5] = 'error'
|
||||
|
||||
for i, j in enumerate(p_col):
|
||||
pub_dict[j] = inverter_status[i]
|
||||
except Exception as e:
|
||||
inverter_status[3] = -9999
|
||||
inverter_status[4] = 'CLOST'
|
||||
inverter_status[5] = 'error'
|
||||
print(f'Inverter Status Error: {e}')
|
||||
|
||||
for i, j in enumerate(p_col):
|
||||
pub_dict[j] = inverter_status[i]
|
||||
try:
|
||||
if control_data['mode'] == 'auto':
|
||||
if control_data['cmd'] == 'init':
|
||||
|
@ -193,6 +203,17 @@ def get_modbus(evt, serial_obj):
|
|||
cmd_status = 'act1'
|
||||
cmd_sub_status = 'closeValve2'
|
||||
pub_dict['cmd'] = 'startAct1'
|
||||
|
||||
elif cmd_sub_status == 'workingPump1':
|
||||
if pub_dict['pump1StatusRunning'] == 'running':
|
||||
cmd_status = 'none'
|
||||
cmd_sub_status = 'workingPump1'
|
||||
pub_dict['cmd'] = 'workingAct1'
|
||||
control_data['cmd'] = 'none'
|
||||
frq1 = int(control_data['inverter']['inverter1Frq'] * 100)
|
||||
acc1 = int(control_data['inverter']['inverter1Acc'] * 10)
|
||||
dec1 = int(control_data['inverter']['inverter1Dec'] * 10)
|
||||
client1.write_registers(address=4, values=[frq1, 194, acc1, dec1], slave=10)
|
||||
|
||||
elif cmd_sub_status == 'workingPump2':
|
||||
cmd_status = 'act1'
|
||||
|
@ -235,10 +256,10 @@ def get_modbus(evt, serial_obj):
|
|||
cmd_sub_status = 'startPump1'
|
||||
|
||||
elif cmd_sub_status == 'startPump1':
|
||||
frq = int(control_data['inverter']['inverter1Frq'] * 100)
|
||||
acc = int(control_data['inverter']['inverter1Acc'] * 10)
|
||||
dec = int(control_data['inverter']['inverter1Dec'] * 10)
|
||||
client1.write_registers(address=4, values=[frq, 194, acc, dec], slave=10)
|
||||
frq1 = int(control_data['inverter']['inverter1Frq'] * 100)
|
||||
acc1 = int(control_data['inverter']['inverter1Acc'] * 10)
|
||||
dec1 = int(control_data['inverter']['inverter1Dec'] * 10)
|
||||
client1.write_registers(address=4, values=[frq1, 194, acc1, dec1], slave=10)
|
||||
cmd_sub_status = 'startingPump1'
|
||||
|
||||
elif cmd_sub_status == 'startingPump1':
|
||||
|
@ -263,7 +284,18 @@ def get_modbus(evt, serial_obj):
|
|||
cmd_status = 'act2'
|
||||
cmd_sub_status = 'closeValve1'
|
||||
pub_dict['cmd'] = 'startAct2'
|
||||
|
||||
|
||||
elif cmd_sub_status == 'workingPump2':
|
||||
if pub_dict['pump2StatusRunning'] == 'running':
|
||||
cmd_status = 'none'
|
||||
cmd_sub_status = 'workingPump2'
|
||||
pub_dict['cmd'] = 'workingAct2'
|
||||
control_data['cmd'] = 'none'
|
||||
frq2 = int(control_data['inverter']['inverter2Frq'] * 100)
|
||||
acc2 = int(control_data['inverter']['inverter2Acc'] * 10)
|
||||
dec2 = int(control_data['inverter']['inverter2Dec'] * 10)
|
||||
client1.write_registers(address=4, values=[frq2, 194, acc2, dec2], slave=11)
|
||||
|
||||
elif cmd_sub_status == 'workingPump1':
|
||||
cmd_status = 'act2'
|
||||
cmd_sub_status = 'stopPump1'
|
||||
|
@ -305,10 +337,10 @@ def get_modbus(evt, serial_obj):
|
|||
cmd_sub_status = 'startPump2'
|
||||
|
||||
elif cmd_sub_status == 'startPump2':
|
||||
frq = int(control_data['inverter']['inverter2Frq'] * 100)
|
||||
acc = int(control_data['inverter']['inverter2Acc'] * 10)
|
||||
dec = int(control_data['inverter']['inverter2Dec'] * 10)
|
||||
client1.write_registers(address=4, values=[frq, 194, acc, dec], slave=11)
|
||||
frq2 = int(control_data['inverter']['inverter2Frq'] * 100)
|
||||
acc2 = int(control_data['inverter']['inverter2Acc'] * 10)
|
||||
dec2 = int(control_data['inverter']['inverter2Dec'] * 10)
|
||||
client1.write_registers(address=4, values=[frq2, 194, acc2, dec2], slave=11)
|
||||
cmd_sub_status = 'startingPump2'
|
||||
|
||||
elif cmd_sub_status == 'startingPump2':
|
||||
|
@ -332,39 +364,32 @@ def get_modbus(evt, serial_obj):
|
|||
elif control_data['mode'] == 'manual':
|
||||
if control_data != pre_dict:
|
||||
pub_dict['cmd'] = 'manual'
|
||||
if control_data['inverter']['inverter1'] == 'On' and cmd_status[0] == 0:
|
||||
frq = int(control_data['inverter']['inverter1Frq'] * 100)
|
||||
acc = int(control_data['inverter']['inverter1Acc'] * 10)
|
||||
dec = int(control_data['inverter']['inverter1Dec'] * 10)
|
||||
client1.write_registers(address=4, values=[frq, 194, acc, dec], slave=10)
|
||||
cmd_status[0] = 1
|
||||
elif control_data['inverter']['inverter1'] == 'Off' and cmd_status[0] == 1:
|
||||
# print(control_data)
|
||||
if control_data['inverter']['inverter1'] == 'On':
|
||||
frq1 = int(control_data['inverter']['inverter1Frq'] * 100)
|
||||
acc1 = int(control_data['inverter']['inverter1Acc'] * 10)
|
||||
dec1 = int(control_data['inverter']['inverter1Dec'] * 10)
|
||||
client1.write_registers(address=4, values=[frq1, 194, acc1, dec1], slave=10)
|
||||
elif control_data['inverter']['inverter1'] == 'Off':
|
||||
client1.write_registers(address=5, values=[193], slave=10)
|
||||
cmd_status[0] = 0
|
||||
|
||||
if control_data['inverter']['inverter2'] == 'On' and cmd_status[1] == 0:
|
||||
frq = int(control_data['inverter']['inverter1Frq'] * 100)
|
||||
acc = int(control_data['inverter']['inverter1Acc'] * 10)
|
||||
dec = int(control_data['inverter']['inverter1Dec'] * 10)
|
||||
client1.write_registers(address=4, values=[frq, 194, acc, dec], slave=10)
|
||||
cmd_status[1] = 1
|
||||
elif control_data['inverter']['inverter2'] == 'Off' and cmd_status[1] == 1:
|
||||
client1.write_registers(address=5, values=[193], slave=10)
|
||||
cmd_status[1] = 0
|
||||
if control_data['inverter']['inverter2'] == 'On':
|
||||
frq2 = int(control_data['inverter']['inverter2Frq'] * 100)
|
||||
acc2 = int(control_data['inverter']['inverter2Acc'] * 10)
|
||||
dec2 = int(control_data['inverter']['inverter2Dec'] * 10)
|
||||
client1.write_registers(address=4, values=[frq2, 194, acc2, dec2], slave=11)
|
||||
elif control_data['inverter']['inverter2'] == 'Off':
|
||||
client1.write_registers(address=5, values=[193], slave=11)
|
||||
|
||||
if control_data['valve1'] == 'On' and cmd_status[2] == 0:
|
||||
if control_data['valve1'] == 'On':
|
||||
valve_status[0] = True
|
||||
cmd_status[2] = 1
|
||||
elif control_data['valve1'] == 'Off' and cmd_status[2] == 1:
|
||||
elif control_data['valve1'] == 'Off':
|
||||
valve_status[0] = False
|
||||
cmd_status[2] = 0
|
||||
|
||||
if control_data['valve2'] == 'On' and cmd_status[3] == 0:
|
||||
if control_data['valve2'] == 'On':
|
||||
valve_status[1] = True
|
||||
cmd_status[3] = 1
|
||||
elif control_data['valve2'] == 'Off' and cmd_status[3] == 1:
|
||||
elif control_data['valve2'] == 'Off':
|
||||
valve_status[1] = False
|
||||
cmd_status[3] = 0
|
||||
|
||||
res = serial_obj.write_coils(address=0, values=valve_status, slave=5)
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue