修改脚本文件名;
提取报文传输函数;
This commit is contained in:
@@ -110,13 +110,16 @@ modbus_map = {
|
||||
|
||||
|
||||
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:
|
||||
self.com = Serial(com_name, baudrate=115200, parity='N', timeout=2)
|
||||
else:
|
||||
self.com =None
|
||||
|
||||
if 'frame_print' in kwargs.keys():
|
||||
self.frame_print = False
|
||||
|
||||
# 设置645协议地址
|
||||
self.addr_645 = addr_645
|
||||
# 设置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):
|
||||
self.block['data']['type'] = 'read'
|
||||
self.block['data']['data_addr'] = daddr
|
||||
@@ -139,14 +154,8 @@ class LaminaAdapter:
|
||||
|
||||
if self.com is None:
|
||||
print(trans_list_to_str(frame))
|
||||
return
|
||||
|
||||
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)
|
||||
else:
|
||||
self._transfer_data(frame)
|
||||
|
||||
def frame_write_one(self, daddr=0x85, dval=-900):
|
||||
self.block['data']['type'] = 'write_one'
|
||||
@@ -156,8 +165,8 @@ class LaminaAdapter:
|
||||
if self.com is None:
|
||||
print(trans_list_to_str(frame))
|
||||
return
|
||||
|
||||
self.com.write(bytearray(frame))
|
||||
else:
|
||||
self._transfer_data(frame)
|
||||
|
||||
def frame_write_dual(self, daddr=0x91, dval=600):
|
||||
self.block['data']['type'] = 'write_dual'
|
||||
@@ -167,8 +176,8 @@ class LaminaAdapter:
|
||||
if self.com is None:
|
||||
print(trans_list_to_str(frame))
|
||||
return
|
||||
|
||||
self.com.write(bytearray(frame))
|
||||
else:
|
||||
self._transfer_data(frame)
|
||||
|
||||
def frame_write_str(self, daddr=0x82, dval=[0x06, 0x05, 0x04, 0x03, 0x02, 0x01]):
|
||||
self.block['data']['type'] = 'write_str'
|
||||
@@ -178,8 +187,8 @@ class LaminaAdapter:
|
||||
if self.com is None:
|
||||
print(trans_list_to_str(frame))
|
||||
return
|
||||
|
||||
self.com.write(bytearray(frame))
|
||||
else:
|
||||
self._transfer_data(frame)
|
||||
|
||||
def frame_update(self, path_bin):
|
||||
""" 程序升级
|
||||
@@ -259,8 +268,8 @@ if __name__=='__main__':
|
||||
|
||||
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_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_240520_0000_T1.11.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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user