积累修改;

This commit is contained in:
何 泽隆
2024-12-12 22:02:09 +08:00
parent 38d6ff30a3
commit 810bac464f
12 changed files with 599 additions and 234 deletions

View File

@@ -128,6 +128,10 @@ class LaminaStation(DeviceMQTT):
'data_define': ParamMap_LaminaCombiner,
}
def frame_read_adapter(self, id, daddr, dlen) -> bool:
""" 读取适配器数据 """
return self.frame_read(0x4000 + id * 0x200 + daddr, dlen)
def frame_read(self, daddr=0x60, dlen=0x30) -> bool:
self.block['type'] = 'read'
self.block['data_addr'] = daddr
@@ -137,15 +141,15 @@ class LaminaStation(DeviceMQTT):
def frame_write_one(self, daddr=0x85, dval=-900) -> bool:
self.block['type'] = 'write_one'
self.block['data_addr'] = daddr
item_coff = self.block['data_define'][daddr][2] if len(self.block['data_define'][daddr]) > 2 else 1
self.block['data_val'] = int(dval * item_coff)
# item_coff = self.block['data_define'][daddr][2] if len(self.block['data_define'][daddr]) > 2 else 1
self.block['data_val'] = int(dval) # * item_coff
return self._transfer_data()
def frame_write_dual(self, daddr=0x91, dval=600) -> bool:
self.block['type'] = 'write_dual'
self.block['data_addr'] = daddr
item_coff = self.block['data_define'][daddr][2] if len(self.block['data_define'][daddr]) > 2 else 1
self.block['data_val'] = int(dval * item_coff)
# item_coff = self.block['data_define'][daddr][2] if len(self.block['data_define'][daddr]) > 2 else 1
self.block['data_val'] = int(dval) # * item_coff
return self._transfer_data()
def frame_write_str(self, daddr=0x82, dval=[0x06, 0x05, 0x04, 0x03, 0x02, 0x01]) -> bool:
@@ -163,17 +167,40 @@ if __name__ == '__main__':
"dev2": {'device_id': 'TTE0101DX2409230113', # 常来东-光伏
'frame_print': True,
'time_out': 4, 'retry': 1},
"dev3": {'device_id': 'TTE0101DX2406270041', # 大丰市镇区补点139
'frame_print': True,
'time_out': 4, 'retry': 1},
"dev4": {'device_id': 'TTE0101DX2407020114', # 大丰大龙南
'frame_print': True,
'time_out': 4, 'retry': 1},
"dev5": {'device_id': 'TTE0101DX2407010082', # 大丰草堰镇双垛村
'frame_print': True,
'time_out': 4, 'retry': 1},
"dev6": {'device_id': 'TTE0101DX2406140040', # 张家港泗港公落地内爬单管塔
'frame_print': True,
'time_out': 4, 'retry': 1},
"dev7": {'device_id': 'TTE0101DX2406260040', # 常熟河坝落地外爬单管塔
'frame_print': True,
'time_out': 4, 'retry': 1},
"dev8": {'device_id': 'TTE0101DX2407080036', # 昆山好孩子西落地外爬单管塔
'frame_print': True,
'time_out': 4, 'retry': 1},
"dev9": {'device_id': 'TTE0101DX2406140009', # 市区东山镇
'frame_print': True,
'time_out': 4, 'retry': 1},
"dev10": {'device_id': 'TTE0101DX2406270018', # 张家港兆丰北单管塔
'frame_print': True,
'time_out': 4, 'retry': 1},
}
dev_lamina = LaminaStation(**mode_config["dev4"])
dev_lamina = LaminaStation(**mode_config["dev8"])
dev_lamina.frame_read(0x0000, 0x20)
dev_lamina.frame_read(0x4100, 0x20)
# dev_lamina.frame_read(0x4100, 0x20)
if not hasattr(__builtins__,"__IPYTHON__"):
pass
dev_lamina.frame_read(0x400E + 0x200 * (6-1), 0x20)
dev_lamina.frame_read(0x4072 + 0x200 * (6-1), 0x03)