增加了新的调试界面,优化了一些功能

This commit is contained in:
zjk
2025-02-06 12:01:18 +08:00
parent c824caa27e
commit 6f5de4b614
14 changed files with 718 additions and 157 deletions
+13 -63
View File
@@ -8,6 +8,7 @@ from tkinter import font
import threading
from disSys import *
from logWin import *
from ccuSys import *
target_ip = '127.0.0.1'
target_port = 5000
@@ -17,6 +18,7 @@ def receive_messages(sock, logwin:logWin, disSysWin:disSys):
current_time = datetime.now()
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
data, address = sock.recvfrom(4096)
disSysWin.update_fromMsg(data)
headBuf = data[:6]
header = struct.unpack('<BBHH',headBuf)
start1 = data[0]
@@ -29,78 +31,26 @@ def receive_messages(sock, logwin:logWin, disSysWin:disSys):
msg.unpack(data)
# text_box.insert(tk.END, f"{formatted_time}->接收到来自 {address} | 高压母线配电指令:\n")
logWin.display_log(logwin,f"{formatted_time}->接收到来自 {address} | 高压母线配电指令:")
if(msg.fuelCellCircuitBreaker==0x55):
disSysWin.dict1['燃料电池断路器']='闭合'
elif(msg.fuelCellCircuitBreaker==0xAA):
disSysWin.dict1['燃料电池断路器']='断开'
if(msg.powerLithiumBatteryCircuitBreaker==0x55):
disSysWin.dict1['动力锂电池断路器']='闭合'
elif(msg.powerLithiumBatteryCircuitBreaker==0xAA):
disSysWin.dict1['动力锂电池断路器']='断开'
if(msg.propulsionMotorCircuitBreaker==0x55):
disSysWin.dict1['推进电机断路器']='闭合'
elif(msg.propulsionMotorCircuitBreaker==0xAA):
disSysWin.dict1['推进电机断路器']='断开'
if(msg.lithiumBatteryGroupInstrumentCircuitBreaker==0x55):
disSysWin.dict1['仪表锂电池断路器']='闭合'
elif(msg.lithiumBatteryGroupInstrumentCircuitBreaker==0xAA):
disSysWin.dict1['仪表锂电池断路器']='断开'
if(msg.dcDc5ModuleCircuitBreaker==0x55):
disSysWin.dict1['DC/DC5模块断路器']='闭合'
elif(msg.dcDc5ModuleCircuitBreaker==0xAA):
disSysWin.dict1['DC/DC5模块断路器']='断开'
if(msg.bowHighVoltageDistributionBoxCircuitBreaker==0x55):
disSysWin.dict1['艏部高压配电断路器']='闭合'
elif(msg.bowHighVoltageDistributionBoxCircuitBreaker==0xAA):
disSysWin.dict1['艏部高压配电断路器']='断开'
if(msg.sternFTDevice45CircuitBreaker==0x55):
disSysWin.dict1['艏部FT4/5断路器']='闭合'
elif(msg.sternFTDevice45CircuitBreaker==0xAA):
disSysWin.dict1['艏部FT4/5断路器']='断开'
if(msg.sternRudderSwitch1CircuitBreaker==0x55):
disSysWin.dict1['艉舵1/2断路器']='闭合'
elif(msg.sternRudderSwitch1CircuitBreaker==0xAA):
disSysWin.dict1['艉舵1/2断路器']='断开'
if(msg.sternRudderSwitch2CircuitBreaker==0x55):
disSysWin.dict1['艉舵3/4断路器']='闭合'
elif(msg.sternRudderSwitch2CircuitBreaker==0xAA):
disSysWin.dict1['艉舵3/4断路器']='断开'
if(msg.fbReservedCircuitBreaker==0x55):
disSysWin.dict1['FB预留断路器']='闭合'
elif(msg.fbReservedCircuitBreaker==0xAA):
disSysWin.dict1['FB预留断路器']='断开'
if(msg.tyzReservedCircuitBreaker==0x55):
disSysWin.dict1['TYZ预留断路器']='闭合'
elif(msg.tyzReservedCircuitBreaker==0xAA):
disSysWin.dict1['TYZ预留断路器']='断开'
if(msg.reservedCircuitBreaker==0x55):
disSysWin.dict1['预留断路器']='闭合'
elif(msg.reservedCircuitBreaker==0xAA):
disSysWin.dict1['预留断路器']='断开'
disSysWin.update_disp()
elif(msg_id==0x0002):
logWin.display_log(logwin,f"{formatted_time}->接收到来自 {address} | 高压汇流排A配电指令:")
elif(msg_id==0x0003):
logWin.display_log(logwin,f"{formatted_time}->接收到来自 {address} | 高压汇流排B配电指令:")
elif(msg_id==0x0004):
logWin.display_log(logwin,f"{formatted_time}->接收到来自 {address} | 低压母线配电指令:")
def send_messages(sock, logwin:logWin, disSysWin:disSys):
def send_messages(sock, logwin:logWin, disSysWin:disSys,ccuSysWin:ccuSys):
while True:
# 配电消息反馈
a,b,c,d = disSysWin.updata_data()
a,b,c,d = disSysWin.get_date()
sock.sendto(a, (target_ip, target_port))
sock.sendto(b, (target_ip, target_port))
sock.sendto(c, (target_ip, target_port))
sock.sendto(d, (target_ip, target_port))
#TODO复合管控消息反馈
#TODOccu消息反馈
e = ccuSysWin.ccuState.pack()
sock.sendto(e, (target_ip, target_port))
threading.Event().wait(1) # 每隔1秒发送一次消息