fix some bugs

This commit is contained in:
2024-10-03 19:48:06 +08:00
parent edeeb04a62
commit 78fd7ccbc9
4 changed files with 331 additions and 6 deletions

View File

@ -139,6 +139,13 @@ class ModbusRequest(object):
clibs.logger.info(f"40018-{action} 执行{actions}安全区 safe region 03")
sleep(clibs.interval)
def r_write_signals(self, addr: int, value): # OK | 40100 - 40109: signal_0 ~ signal_9
if -1 < addr < 10 and addr.is_integer():
self.__c.write_register(40100+addr, value)
clibs.logger.info(f"{40100+addr}-{value} 将寄存器 signal_{addr} 赋值为 {value}")
else:
clibs.logger.error(f"{40100+addr}-{value} 地址错误,无法赋值!")
@property
def w_alarm_state(self): # OK
res = self.__c.read_holding_registers(40500, 1).registers[0]
@ -418,7 +425,10 @@ class HmiRequest(object):
return res.get("data", f"{msg_id} has no data item")
sleep(clibs.interval*2)
else: # 尝试在上一次分割的日志中查找,只做一次
res = find_response("".join([clibs.log_path, sorted(listdir(clibs.log_path))[-3]]))
try:
res = find_response("".join([clibs.log_path, sorted(listdir(clibs.log_path))[-3]]))
except IndexError:
res = None
if res is not None:
return res.get("data", f"{msg_id} has no data item")
elif flag == 1:
@ -428,7 +438,10 @@ class HmiRequest(object):
return res
sleep(clibs.interval*2)
else:
res = find_response_xs("".join([clibs.log_path, sorted(listdir(clibs.log_path))[-3]]))
try:
res = find_response_xs("".join([clibs.log_path, sorted(listdir(clibs.log_path))[-3]]))
except IndexError:
res = None
if res is not None:
return res
self.__sth_wrong(11, f"无法找到请求 {msg_id} 的返回结果")