Compare commits
2 Commits
Author | SHA1 | Date |
---|---|---|
yjchu | c8453eac62 | |
yjchu | e9cc977949 |
|
@ -66,7 +66,7 @@ with open(f"{ROOT_PATH}/config.json","r") as f:
|
|||
for key in do_dict:
|
||||
do_dict[key] = "1"
|
||||
|
||||
print(do_dict)
|
||||
#print("do_dict", "\n", di_dict)
|
||||
#print(do_dict["1"])
|
||||
#print(type(do_dict["1"]))
|
||||
|
||||
|
@ -80,7 +80,9 @@ a = np.array(a)
|
|||
|
||||
with open(f"{ROOT_PATH}/config_corr.json","r") as f:
|
||||
corr_dict = json.load(f)
|
||||
print(corr_dict)
|
||||
#print(corr_dict)
|
||||
for key in corr_dict:
|
||||
corr_dict[key]= "0"
|
||||
|
||||
c = [corr_dict[str(n+1)] for n in range(64)]
|
||||
c = np.array(c)
|
||||
|
@ -93,26 +95,27 @@ c = np.array(c)
|
|||
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Get Data from Shared Memory_DO #
|
||||
###############################################################################
|
||||
|
||||
shm_DO = shared_memory.SharedMemory(create=True, size=a.nbytes, name="DO-shm2")
|
||||
shm_DO = shared_memory.SharedMemory(create=True, size=a.nbytes, name="DO-shm")
|
||||
|
||||
do_value = np.ndarray(a.shape, dtype=a.dtype, buffer=shm_DO.buf)
|
||||
do_value[:] = a[:]
|
||||
#print("Get data from shm-DO : ", do_value)
|
||||
print("Get data from shm-DO : ", do_value)
|
||||
#print(type(do_value[0]))
|
||||
|
||||
###############################################################################
|
||||
# Get Data from Shared Memory_CORR #
|
||||
###############################################################################
|
||||
|
||||
shm_CORR = shared_memory.SharedMemory(create=True, size=c.nbytes, name="Correction_Test2")
|
||||
shm_CORR = shared_memory.SharedMemory(create=True, size=c.nbytes, name="Correction_Test")
|
||||
|
||||
correction_value = np.ndarray(c.shape, dtype=c.dtype, buffer=shm_CORR.buf)
|
||||
correction_value[:] = c[:]
|
||||
#print("Get data from shm-CORR : ",correction_value)
|
||||
print("Get data from shm-CORR : ",correction_value)
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
@ -214,26 +217,32 @@ def cwt_thread(evt, chip_index, port_a_ai_id , port_a_do_id, port_b_ai_id , port
|
|||
port_a_do_value = []
|
||||
for i in list(do_value[:16]):
|
||||
port_a_do_value.append(int(i))
|
||||
port_a_do_value = list(do_value[:16])
|
||||
|
||||
#print("port a do: ", port_a_do_value)
|
||||
#print("do type: {}".format(type(port_a_do_value[0])))
|
||||
|
||||
try:
|
||||
a_ai_data=port_A_AI.read_registers(0x32, 32)
|
||||
prev_a_ai = a_ai_data
|
||||
print("a_ai ;", a_ai_data)
|
||||
# suc_cnt_ai = suc_cnt_ai +1
|
||||
|
||||
except:
|
||||
a_isSuccess = False
|
||||
print("a_ai fail")
|
||||
|
||||
#if isSuccess:
|
||||
# prev_a_ai = ai_array
|
||||
|
||||
try:
|
||||
port_A_DO.write_bits(0, port_a_do_value)
|
||||
#port_A_DO.write_bits(0, port_a_do_value)
|
||||
a_do_value = port_A_DO.write_bits(0, port_a_do_value)
|
||||
print("a_do ;", a_do_value)
|
||||
# suc_cnt_do = suc_cnt_do +1
|
||||
|
||||
except:
|
||||
print(port_A_DO)
|
||||
print("a_do fail")
|
||||
None
|
||||
|
||||
# PORT B
|
||||
|
@ -244,30 +253,35 @@ def cwt_thread(evt, chip_index, port_a_ai_id , port_a_do_id, port_b_ai_id , port
|
|||
try:
|
||||
b_ai_data=port_B_AI.read_registers(0x32, 32)
|
||||
prev_b_ai = b_ai_data
|
||||
print("b_ai ;", b_ai_data)
|
||||
# suc_cnt_ai = suc_cnt_ai +1
|
||||
|
||||
except:
|
||||
b_isSuccess = False
|
||||
print("b_ai fail")
|
||||
|
||||
#if isSuccess:
|
||||
# prev_b_ai = ai_array
|
||||
|
||||
try:
|
||||
port_B_DO.write_bits(0, port_b_do_value)
|
||||
#port_B_DO.write_bits(0, port_b_do_value)
|
||||
b_do_value = port_B_DO.write_bits(0, port_b_do_value)
|
||||
print("b_do ;", b_do_value)
|
||||
# suc_cnt_do = suc_cnt_do +1
|
||||
|
||||
except:
|
||||
None
|
||||
print("b_do fail")
|
||||
|
||||
if a_isSuccess:
|
||||
queue_a.put([timenow,ai_array, port_a_do_value])
|
||||
queue_a.put([timenow,a_ai_data, port_a_do_value])
|
||||
else:
|
||||
queue_a.put([0,ai_array, port_a_do_value])
|
||||
queue_a.put([0,prev_a_ai, port_a_do_value])
|
||||
|
||||
if b_isSuccess:
|
||||
queue_b.put([timenow,ai_array, port_b_do_value])
|
||||
queue_b.put([timenow,b_ai_data, port_b_do_value])
|
||||
else:
|
||||
queue_b.put([0,ai_array, port_b_do_value])
|
||||
queue_b.put([0,prev_b_ai, port_b_do_value])
|
||||
|
||||
|
||||
|
||||
|
@ -337,11 +351,13 @@ def data_process_thread(data_queue, ch, chamber):
|
|||
for i in ai:
|
||||
#짝수 current (확인 필요)
|
||||
ai_index = ai_index +1
|
||||
#print("ai list :", ai)
|
||||
if (ai_index%2) == 0:
|
||||
current.append(int(i))
|
||||
#print("current :", current)
|
||||
else:
|
||||
voltage.append(int(i))
|
||||
#print(voltage)
|
||||
#print("voltage :", voltage)
|
||||
|
||||
|
||||
calculated_voltage = voltage + np.array(correction_value_array)
|
||||
|
@ -455,8 +471,8 @@ def data_process_thread(data_queue, ch, chamber):
|
|||
#mult_element_count = [element_count[i] * do[i] for i in range(len(do))]
|
||||
#이건 아닌거 같다 카운트는 계속 올라갈 거고 10일 때 DO가 켜지면 또 에러 발생임
|
||||
|
||||
#print("check do : " ,do)
|
||||
#print("voltage list : ", calculated_voltage_list)
|
||||
print("check do : " ,do)
|
||||
print("voltage list : ", calculated_voltage_list)
|
||||
#print("element cosunts : ", element_counts,"\r\n")
|
||||
cycle_counts += 1
|
||||
|
||||
|
@ -578,7 +594,7 @@ def data_process_thread(data_queue, ch, chamber):
|
|||
# print(type(mqtt_msg['data']['list'][0]['do'][0]))
|
||||
|
||||
data_json_str = json.dumps(mqtt_msg, indent=4)
|
||||
#print(data_json_str)
|
||||
print(data_json_str)
|
||||
publish_json_message(client, data_json_str)
|
||||
|
||||
|
||||
|
@ -620,8 +636,8 @@ if __name__ == '__main__':
|
|||
chip0_evt = threading.Event()
|
||||
chip1_evt = threading.Event()
|
||||
|
||||
read_data_chip0 = threading.Thread(target=cwt_thread,args=(chip0_evt, 0, 1,2, 5,6, ch1_queue, ch2_queue)) #현재 4개씩 연결되 어 있어서 테스트 용
|
||||
read_data_chip1 = threading.Thread(target=cwt_thread,args=(chip1_evt, 1, 9,10, 13,14, ch3_queue, ch4_queue))
|
||||
read_data_chip0 = threading.Thread(target=cwt_thread,args=(chip0_evt, 0, 1,2, 13,14, ch1_queue, ch2_queue)) #현재 4개씩 연결되 어 있어서 테스트 용
|
||||
read_data_chip1 = threading.Thread(target=cwt_thread,args=(chip1_evt, 1, 5,6, 7,8, ch3_queue, ch4_queue))
|
||||
|
||||
data_process_ch1 = threading.Thread(target=data_process_thread,args=(ch1_queue, 1, 1))
|
||||
data_process_ch2 = threading.Thread(target=data_process_thread,args=(ch2_queue, 2, 1))
|
||||
|
|
Loading…
Reference in New Issue