修改脚本文件名;
提取报文传输函数;
This commit is contained in:
@@ -110,13 +110,16 @@ modbus_map = {
|
|||||||
|
|
||||||
|
|
||||||
class LaminaAdapter:
|
class LaminaAdapter:
|
||||||
def __init__(self, com_name="COM16", addr_645=[0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA], addr_modbus=0x01):
|
def __init__(self, com_name="COM16", addr_645=[0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA], addr_modbus=0x01, **kwargs):
|
||||||
# 初始化串口通信
|
# 初始化串口通信
|
||||||
if com_name is not None:
|
if com_name is not None:
|
||||||
self.com = Serial(com_name, baudrate=115200, parity='N', timeout=2)
|
self.com = Serial(com_name, baudrate=115200, parity='N', timeout=2)
|
||||||
else:
|
else:
|
||||||
self.com =None
|
self.com =None
|
||||||
|
|
||||||
|
if 'frame_print' in kwargs.keys():
|
||||||
|
self.frame_print = False
|
||||||
|
|
||||||
# 设置645协议地址
|
# 设置645协议地址
|
||||||
self.addr_645 = addr_645
|
self.addr_645 = addr_645
|
||||||
# 设置Modbus地址
|
# 设置Modbus地址
|
||||||
@@ -131,6 +134,18 @@ class LaminaAdapter:
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def _transfer_data(self, frame):
|
||||||
|
""" 报文数据传输 """
|
||||||
|
self.com.read_all()
|
||||||
|
self.com.write(bytearray(frame))
|
||||||
|
time.sleep(0.5)
|
||||||
|
frame_recv = self.com.read_all()
|
||||||
|
output_text = check_frame_dlt645(frame_recv, block=self.block)
|
||||||
|
print(output_text)
|
||||||
|
if self.frame_print:
|
||||||
|
print(trans_list_to_str(frame))
|
||||||
|
print(trans_list_to_str(frame_recv))
|
||||||
|
|
||||||
def frame_read(self, daddr=0x60, dlen=0x50):
|
def frame_read(self, daddr=0x60, dlen=0x50):
|
||||||
self.block['data']['type'] = 'read'
|
self.block['data']['type'] = 'read'
|
||||||
self.block['data']['data_addr'] = daddr
|
self.block['data']['data_addr'] = daddr
|
||||||
@@ -139,14 +154,8 @@ class LaminaAdapter:
|
|||||||
|
|
||||||
if self.com is None:
|
if self.com is None:
|
||||||
print(trans_list_to_str(frame))
|
print(trans_list_to_str(frame))
|
||||||
return
|
else:
|
||||||
|
self._transfer_data(frame)
|
||||||
self.com.read_all()
|
|
||||||
self.com.write(bytearray(frame))
|
|
||||||
time.sleep(0.5)
|
|
||||||
frame_recv = self.com.read_all()
|
|
||||||
output_text = check_frame_dlt645(frame_recv, block=self.block)
|
|
||||||
print(output_text)
|
|
||||||
|
|
||||||
def frame_write_one(self, daddr=0x85, dval=-900):
|
def frame_write_one(self, daddr=0x85, dval=-900):
|
||||||
self.block['data']['type'] = 'write_one'
|
self.block['data']['type'] = 'write_one'
|
||||||
@@ -156,8 +165,8 @@ class LaminaAdapter:
|
|||||||
if self.com is None:
|
if self.com is None:
|
||||||
print(trans_list_to_str(frame))
|
print(trans_list_to_str(frame))
|
||||||
return
|
return
|
||||||
|
else:
|
||||||
self.com.write(bytearray(frame))
|
self._transfer_data(frame)
|
||||||
|
|
||||||
def frame_write_dual(self, daddr=0x91, dval=600):
|
def frame_write_dual(self, daddr=0x91, dval=600):
|
||||||
self.block['data']['type'] = 'write_dual'
|
self.block['data']['type'] = 'write_dual'
|
||||||
@@ -167,8 +176,8 @@ class LaminaAdapter:
|
|||||||
if self.com is None:
|
if self.com is None:
|
||||||
print(trans_list_to_str(frame))
|
print(trans_list_to_str(frame))
|
||||||
return
|
return
|
||||||
|
else:
|
||||||
self.com.write(bytearray(frame))
|
self._transfer_data(frame)
|
||||||
|
|
||||||
def frame_write_str(self, daddr=0x82, dval=[0x06, 0x05, 0x04, 0x03, 0x02, 0x01]):
|
def frame_write_str(self, daddr=0x82, dval=[0x06, 0x05, 0x04, 0x03, 0x02, 0x01]):
|
||||||
self.block['data']['type'] = 'write_str'
|
self.block['data']['type'] = 'write_str'
|
||||||
@@ -178,8 +187,8 @@ class LaminaAdapter:
|
|||||||
if self.com is None:
|
if self.com is None:
|
||||||
print(trans_list_to_str(frame))
|
print(trans_list_to_str(frame))
|
||||||
return
|
return
|
||||||
|
else:
|
||||||
self.com.write(bytearray(frame))
|
self._transfer_data(frame)
|
||||||
|
|
||||||
def frame_update(self, path_bin):
|
def frame_update(self, path_bin):
|
||||||
""" 程序升级
|
""" 程序升级
|
||||||
@@ -259,8 +268,8 @@ if __name__=='__main__':
|
|||||||
|
|
||||||
if not hasattr(__builtins__,"__IPYTHON__"):
|
if not hasattr(__builtins__,"__IPYTHON__"):
|
||||||
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240517_1100_T1.10.bin")
|
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240517_1100_T1.10.bin")
|
||||||
path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240520_0000_T1.11.bin")
|
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240520_0000_T1.11.bin")
|
||||||
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\DGAPD_240516_0000_V1.10.bin")
|
path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240517_1800_V1.11.bin")
|
||||||
dev_lamina.frame_update(path_bin)
|
dev_lamina.frame_update(path_bin)
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user