|
|
|
@ -29,7 +29,7 @@ from configuration import Configuration |
|
|
|
|
from myexception import MyException |
|
|
|
|
from mylogger import log |
|
|
|
|
from mypath import MyDir |
|
|
|
|
from mythread import Mythead |
|
|
|
|
from mythread import Mythead,Multithread |
|
|
|
|
from readcal import ReadCal |
|
|
|
|
from uart import Uart |
|
|
|
|
# from viper import Viper |
|
|
|
@ -58,6 +58,8 @@ ID_LOG_SETTING = 10 |
|
|
|
|
|
|
|
|
|
ID_DEVICE_STOP = 11 |
|
|
|
|
|
|
|
|
|
ID_OPEN_SERIAL = 12 |
|
|
|
|
|
|
|
|
|
ID_PLOT_ONE = 15 |
|
|
|
|
ID_PLOT_SEVEN = 16 |
|
|
|
|
ID_PLOT_RULE = 17 |
|
|
|
@ -159,8 +161,10 @@ class YiwinFrame( wx.Frame ): |
|
|
|
|
self.menubar.Append(fileMenu, u'&文件 ') |
|
|
|
|
|
|
|
|
|
deviceMenu = wx.Menu() |
|
|
|
|
deviceMenu.Append(ID_DEVICE_SN, u'&序列号', '...') |
|
|
|
|
deviceMenu.Append(ID_OPEN_SERIAL, u'&打开串口', '...') |
|
|
|
|
deviceMenu.AppendSeparator() |
|
|
|
|
deviceMenu.Append(ID_DEVICE_SN, u'&序列号', '...') |
|
|
|
|
deviceMenu.AppendSeparator() |
|
|
|
|
deviceMenu.Append(ID_DEVICE_WL, u'&波长', '...') |
|
|
|
|
deviceMenu.AppendSeparator() |
|
|
|
|
deviceMenu.Append(ID_DEVICE_LOG, u'&采集数据', '...') |
|
|
|
@ -210,6 +214,7 @@ class YiwinFrame( wx.Frame ): |
|
|
|
|
''' |
|
|
|
|
self.Bind(wx.EVT_MENU, self.OnDealFile, id = ID_DEAL_FILE) |
|
|
|
|
|
|
|
|
|
self.Bind(wx.EVT_MENU, self.OnOpenSerial, id = ID_OPEN_SERIAL) |
|
|
|
|
self.Bind(wx.EVT_MENU, self.OnDeviceSN, id = ID_DEVICE_SN) |
|
|
|
|
self.Bind(wx.EVT_MENU, self.OnDeviceWL, id = ID_DEVICE_WL) |
|
|
|
|
self.Bind(wx.EVT_MENU, self.OnDeviceLog, id = ID_DEVICE_LOG) |
|
|
|
@ -385,63 +390,100 @@ class YiwinFrame( wx.Frame ): |
|
|
|
|
fl, FILE_MARK, self.myviper.deal_measure_time_data, 1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def OnOpenSerial(self, e)-> None: |
|
|
|
|
self.myviper.set_mode(mode = WorkMode.DEVICEMODE) |
|
|
|
|
self.uart = Uart() |
|
|
|
|
self.uart.set_serial_para( |
|
|
|
|
self.myviper.viper.serailPort.port |
|
|
|
|
,self.myviper.viper.serailPort.baudrate |
|
|
|
|
,self.myviper.viper.serailPort.bytesize |
|
|
|
|
,self.myviper.viper.serailPort.parity |
|
|
|
|
,self.myviper.viper.serailPort.stopbit |
|
|
|
|
) |
|
|
|
|
if not self.uart.connect(): |
|
|
|
|
raise MyException(f" 串口不可用 ") |
|
|
|
|
if self.uart.IsOpen(): |
|
|
|
|
self.uart.disconnect() |
|
|
|
|
self.uart_thread = Multithread() |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
def OnDeviceSN(self, e)-> None: |
|
|
|
|
self.__OnDeviceStop() |
|
|
|
|
log.info(f"OnDeviceSN: 获取device sn ", __name__, "", "") |
|
|
|
|
# self.mt = Mythead() |
|
|
|
|
self.viper.set_cfg(self.syscfg) |
|
|
|
|
self.viper.set_serial() |
|
|
|
|
# self.viper.set_modbus(self.syscfg['register']['SNAddress'], self.syscfg['register']['SNLen']) |
|
|
|
|
try: |
|
|
|
|
self.viper.sn_uart_thread( self.get_device_sn ) |
|
|
|
|
except Exception as e: |
|
|
|
|
self.alterStatus_0(e ) |
|
|
|
|
self.popDialog( e ) |
|
|
|
|
self.alterStatus_0(" SN 匹配一致" ) |
|
|
|
|
self.alterStatus_0( "正在获取 SN....") |
|
|
|
|
if self.myviper.viper.register is None: |
|
|
|
|
raise MyException(f" 请先打开串口,再试") |
|
|
|
|
|
|
|
|
|
self.myviper.viper.rawWavelength =None |
|
|
|
|
|
|
|
|
|
self.uart.set_modbus( |
|
|
|
|
self.myviper.viper.register.slaveaddress |
|
|
|
|
,self.myviper.viper.register.functioncode |
|
|
|
|
,self.myviper.viper.register.SNAddress |
|
|
|
|
,self.myviper.viper.register.SNLen) |
|
|
|
|
self.uart_thread.remove_tasks() |
|
|
|
|
self.uart_thread.add_task( self.__device_sn, args=() ) |
|
|
|
|
self.uart_thread.sequently_execute_tasks() |
|
|
|
|
self.myviper.viper.register.snBuf = self.res |
|
|
|
|
self.myviper.get_device_sn_from_buf() |
|
|
|
|
self.alterStatus_0( f" SN : {self.myviper.viper.deviceSN} ") |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
def get_device_sn(self,sn): |
|
|
|
|
self.device_sn = sn |
|
|
|
|
if self.device_sn != self.ui_sn: |
|
|
|
|
log.error( " 设备SN 与系统设置不一致 错误 " ) |
|
|
|
|
pass |
|
|
|
|
else: |
|
|
|
|
log.info(" sn 匹配成功 ! ") |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
def __device_sn(self)-> None: |
|
|
|
|
self.res =b'' |
|
|
|
|
self.uart.disconnect() |
|
|
|
|
self.uart.connect() |
|
|
|
|
self.uart.write() |
|
|
|
|
self.res = self.uart.OneMeasure() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def OnDeviceWL(self, e)-> None: |
|
|
|
|
self.__OnDeviceStop() |
|
|
|
|
log.info(f"OnDeviceWL: 获得device wavelength ... ", __name__, "", "") |
|
|
|
|
if self.device_sn != '': |
|
|
|
|
self.viper.set_cfg( self.syscfg ) |
|
|
|
|
self.viper.set_serial() |
|
|
|
|
try: |
|
|
|
|
self.viper.wl_uart_thread( self.get_device_wl ) |
|
|
|
|
except Exception as e: |
|
|
|
|
self.alterStatus_0(e ) |
|
|
|
|
self.popDialog( e ) |
|
|
|
|
self.alterStatus_0(" 获取波长成功!" ) |
|
|
|
|
else: |
|
|
|
|
self.popDialog('请获取设备序列号SN信息再试') |
|
|
|
|
pass |
|
|
|
|
self.alterStatus_0( "正在获取波长....") |
|
|
|
|
if self.myviper.viper.register is None: |
|
|
|
|
raise MyException(f" 请先打开串口,再试") |
|
|
|
|
if not self.myviper.devicesn_ok: |
|
|
|
|
raise MyException(f"设备SN {self.myviper.viper.deviceSN} 与系统SN {self.myviper.viper.SN} 不匹配") |
|
|
|
|
|
|
|
|
|
self.uart_thread.remove_tasks() |
|
|
|
|
|
|
|
|
|
self.res = b'' |
|
|
|
|
for i in range(self.myviper.viper.register.count): |
|
|
|
|
log.debug(f" -> i {i}", __name__,"OnDeviceWL") |
|
|
|
|
self.uart.set_modbus( self.myviper.viper.register.slaveaddress,self.myviper.viper.register.functioncode |
|
|
|
|
,self.myviper.viper.register.WLBeginAddress + i*122, 122 ) |
|
|
|
|
log.debug(f" command -> {self.uart.command.hex()} ") |
|
|
|
|
self.uart_thread.add_task( self.__device_wl, args=() ) |
|
|
|
|
self.uart_thread.sequently_execute_tasks() |
|
|
|
|
# 处理self.res, 将self.res 返回 myviper |
|
|
|
|
self.myviper.viper.register.wavelengthBuf = self.res |
|
|
|
|
self.myviper.get_raw_wavelength_from_buf() |
|
|
|
|
|
|
|
|
|
def __device_wl(self, )-> None: |
|
|
|
|
self.uart.disconnect() |
|
|
|
|
self.uart.connect() |
|
|
|
|
self.uart.write() |
|
|
|
|
tmp = self.uart.OneMeasure() |
|
|
|
|
self.res = self.res + tmp[3:len(tmp)-2] |
|
|
|
|
|
|
|
|
|
def get_device_wl(self, wl_buf): |
|
|
|
|
if len(wl_buf) != 0: |
|
|
|
|
self.output_wavelength = wl_buf |
|
|
|
|
self.output_wl_ndarray = np.array(self.output_wavelength) |
|
|
|
|
else: |
|
|
|
|
log.error( " 获取设备波长出错 " ) |
|
|
|
|
raise MyException( " 获取设备波长出错 " ) |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
def OnDeviceLog(self, e)-> None: |
|
|
|
|
self.__OnDeviceStop() |
|
|
|
|
log.info( f"OnDeviceLog: 采集数据 定时器采集", __name__, "", "" ) |
|
|
|
|
# !!!! 判断是否有波长和sn |
|
|
|
|
if self.output_wavelength == []: |
|
|
|
|
self.alterStatus_0( " 没有设备波长信息,请获取设备波长") |
|
|
|
|
self.popDialog( " 没有设备波长信息,请获取设备波长") |
|
|
|
|
raise MyException(" 没有设备波长信息,请获取设备波长") |
|
|
|
|
self.alterStatus_0( "开始采集数据....") |
|
|
|
|
if self.myviper.viper.register is None: |
|
|
|
|
self.alterStatus_0( " 请先打开串口,再试") |
|
|
|
|
raise MyException(f" 请先打开串口,再试") |
|
|
|
|
if not self.myviper.devicesn_ok: |
|
|
|
|
self.alterStatus_0( " 设备SN 与系统不匹配") |
|
|
|
|
raise MyException(f"设备SN 与系统不匹配") |
|
|
|
|
if self.myviper.viper.rawWavelength is None: |
|
|
|
|
raise MyException(f"没有波长信息") |
|
|
|
|
|
|
|
|
|
## 获取纯水标定文件 |
|
|
|
|
self.__read_cal_file() |
|
|
|
|
|
|
|
|
|
self.__OnDeviceLog() |
|
|
|
|
|
|
|
|
|
# 如何整点获取,如何快速获取 |
|
|
|
@ -449,30 +491,42 @@ class YiwinFrame( wx.Frame ): |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
def __OnDeviceLog(self,)-> None: |
|
|
|
|
self.device_data = b'' |
|
|
|
|
self.mt = Mythead() |
|
|
|
|
self.viper.set_cfg( self.syscfg ) |
|
|
|
|
self.viper.set_serial() |
|
|
|
|
try: |
|
|
|
|
self.viper.log_uart_thread( self.get_device_data ) |
|
|
|
|
except Exception as e: |
|
|
|
|
self.alterStatus_0(e ) |
|
|
|
|
self.popDialog( e ) |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
def get_device_data( self,tm, data_buf ): |
|
|
|
|
if len(data_buf) != 0: |
|
|
|
|
self.device_data = self.viper.convert_buf_2_float( data_buf,8 ) |
|
|
|
|
self.plotpanel.clear_past() |
|
|
|
|
self.plotpanel.plot_one( |
|
|
|
|
tm |
|
|
|
|
, self.output_wl_ndarray |
|
|
|
|
,np.array(data_buf) |
|
|
|
|
) |
|
|
|
|
else: |
|
|
|
|
log.error( " 采集设备数据出错 " ) |
|
|
|
|
raise MyException(" 采集设备数据出错 ") |
|
|
|
|
pass |
|
|
|
|
self.uart_thread.remove_tasks() |
|
|
|
|
|
|
|
|
|
self.res = b'' |
|
|
|
|
for i in range(self.myviper.viper.register.count): |
|
|
|
|
log.debug(f" -> i {i}", __name__,"OnDeviceWL") |
|
|
|
|
self.uart.set_modbus( self.myviper.viper.register.slaveaddress,self.myviper.viper.register.functioncode |
|
|
|
|
,self.myviper.viper.register.DataBeginAddress + i*122, 122 ) |
|
|
|
|
log.debug(f" command -> {self.uart.command.hex()} ") |
|
|
|
|
self.uart_thread.add_task( self.__device_log, args=() ) |
|
|
|
|
self.uart_thread.sequently_execute_tasks() |
|
|
|
|
# 处理self.res, 将self.res 返回 myviper |
|
|
|
|
self.myviper.viper.register.intensityBuf = self.res |
|
|
|
|
self.myviper.get_raw_intensity_from_buf() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def __device_log(self, )-> None: |
|
|
|
|
# self.res =b'' |
|
|
|
|
self.uart.disconnect() |
|
|
|
|
self.uart.connect() |
|
|
|
|
self.uart.write() |
|
|
|
|
tmp = self.uart.OneMeasure() |
|
|
|
|
self.res = self.res + tmp[3:len(tmp)-2] |
|
|
|
|
|
|
|
|
|
# def get_device_data( self,tm, data_buf ): |
|
|
|
|
# if len(data_buf) != 0: |
|
|
|
|
# self.device_data = self.viper.convert_buf_2_float( data_buf,8 ) |
|
|
|
|
# self.plotpanel.clear_past() |
|
|
|
|
# self.plotpanel.plot_one( |
|
|
|
|
# tm |
|
|
|
|
# , self.output_wl_ndarray |
|
|
|
|
# ,np.array(data_buf) |
|
|
|
|
# ) |
|
|
|
|
# else: |
|
|
|
|
# log.error( " 采集设备数据出错 " ) |
|
|
|
|
# raise MyException(" 采集设备数据出错 ") |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
def OnDeviceStop(self, e)-> None: |
|
|
|
|
self.__OnDeviceStop() |
|
|
|
@ -680,186 +734,4 @@ class YiwinFrame( wx.Frame ): |
|
|
|
|
with wx.MessageDialog( self, msg, msg_type, wx.OK )as dlg: |
|
|
|
|
dlg.ShowModal() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# class SerialThread(threading.Thread): |
|
|
|
|
# """进度条类 """ |
|
|
|
|
# def __init__(self, parent): |
|
|
|
|
# """ |
|
|
|
|
# :param parent: 主线程UI |
|
|
|
|
# """ |
|
|
|
|
# super(SerialThread, self).__init__() # 继承 |
|
|
|
|
# self.parent = parent |
|
|
|
|
# # log.info(f"SerialThread ... {self.parent.kh}") |
|
|
|
|
# self.start() |
|
|
|
|
# self.join() |
|
|
|
|
# # self.setDaemon(True) # 设置为守护线程, 即子线程是守护进程,主线程结束子线程也随之结束。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# def stop(self): |
|
|
|
|
# self.parent.kh.disconnect() |
|
|
|
|
# log.info(" Serial stop.... ") |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
# def run(self): |
|
|
|
|
# log.info(" Serial run.... ") |
|
|
|
|
# wx.CallAfter(self.parent.OnRcv) |
|
|
|
|
|
|
|
|
|
# wx.CallAfter(self.parent.update_process_bar, count) # 调用parent的函数 |
|
|
|
|
# wx.CallAfter(self.parent.close_process_bar) # destroy进度条 |
|
|
|
|
|
|
|
|
|
# def OnSerialThreadStart(self): |
|
|
|
|
# self.m = SerialThread(self) |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
# def OnSerialThreadStop(self): |
|
|
|
|
# self.m.stop() |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
# def OnDisplaySave(self): |
|
|
|
|
# ''' |
|
|
|
|
# 保存数据 self.result |
|
|
|
|
# ''' |
|
|
|
|
# log.info(f"OnDisplaySave ....") |
|
|
|
|
# # self.m = SerialThread(self) |
|
|
|
|
# # self.kh.flush() |
|
|
|
|
# self.OnSerialThreadStart() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# def OnRcv( self ): |
|
|
|
|
# log.info(f"OnRcv....") |
|
|
|
|
# self.kh.setPort(self.port) |
|
|
|
|
# if not self.OnDetectPort: |
|
|
|
|
# MyException(f"Can not find port : {self.port}") |
|
|
|
|
# log.info(f"{self.port} ok!") |
|
|
|
|
# # if not self.kh: |
|
|
|
|
# # self.kh = KH3000(self.port) |
|
|
|
|
# # self.result = self.kh.OneMeasure() |
|
|
|
|
# log.info( f"OnRcv success {self.result}", __class__.__name__ ) |
|
|
|
|
# self.OnSave() |
|
|
|
|
# self.OnDisplay() |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# def __get_data_files(self,) -> list: |
|
|
|
|
# # 读取配置文件 |
|
|
|
|
# file_lst = [] |
|
|
|
|
# self.mydir.setBaseDir( Path(self.datadir) ) |
|
|
|
|
# file_lst = self.mydir.get_files_from_currentdir(fmt= "*/*.DAT") |
|
|
|
|
# return file_lst |
|
|
|
|
|
|
|
|
|
# def __check_sn_from_datafile(self,fpath) -> bool: |
|
|
|
|
# # 读取配置文件 |
|
|
|
|
# sn = ReadCal.readFileSNbyIDDevice(fpath) |
|
|
|
|
# if sn == self.ui_sn: |
|
|
|
|
# return True |
|
|
|
|
# return False |
|
|
|
|
|
|
|
|
|
# def __get_raw_wl_from_datafile(self,fpath) -> list: |
|
|
|
|
# # 读取配置文件 |
|
|
|
|
# _,raw_wl = ReadCal.read_columns_set_by_mark(fpath, FILE_MARK,0) |
|
|
|
|
# return raw_wl |
|
|
|
|
|
|
|
|
|
# def __deal_file_lst(self,file_lst): |
|
|
|
|
|
|
|
|
|
# for fl in file_lst: |
|
|
|
|
# # 判断序列号是否一致file_lst |
|
|
|
|
# if not self.__check_sn_from_datafile(fl): |
|
|
|
|
# self.onNotify("文件的序列号和系统设置不一致" ) |
|
|
|
|
# self.popDialog(" 文件的序列号和系统设置不一致") |
|
|
|
|
# raise MyException("文件的序列号和系统设置不一致") |
|
|
|
|
|
|
|
|
|
# # 判断原始波长是否为空 |
|
|
|
|
# if self.raw_wavelength == []: |
|
|
|
|
# res = self.__get_raw_wl_from_datafile(file_lst[0]) |
|
|
|
|
# self.raw_wavelength = res[0] |
|
|
|
|
|
|
|
|
|
# # 处理输出文件 |
|
|
|
|
# self.mydir.setBaseDir(self.output_dir) |
|
|
|
|
# self.mydir.newDirIfNot() |
|
|
|
|
# self.mydir.newFileIfNot(self.ui_sn+SAVE_EXT_NAME) |
|
|
|
|
# if self.syscfg['retrieve']['enable'] == 0: |
|
|
|
|
# self.mydir.setHeader(self.raw_wavelength,TOKEN,self.ui_sn) |
|
|
|
|
# if self.mydir.checkHeader()==0: |
|
|
|
|
# self.mydir.writeHeader() |
|
|
|
|
# if self.mydir.checkHeader()==-1: |
|
|
|
|
# self.popDialog(" 文件头不一致, 请备份到其他目录,并在该目录下删除") |
|
|
|
|
# raise MyException(" 文件头不一致, 请备份到其他目录,并在该目录下删除") |
|
|
|
|
# res_time,res_data = ReadCal.read_columns_sets_by_mark( fl, FILE_MARK, 1 ) |
|
|
|
|
# for i in range( len(res_time) ): |
|
|
|
|
# self.__deal_one_measure_time_data(res_time[i], res_data[i]) |
|
|
|
|
# pass |
|
|
|
|
# pass |
|
|
|
|
# # 需要插值处理波长 |
|
|
|
|
# if self.syscfg['retrieve']['enable'] == 1: |
|
|
|
|
# self.mydir.setHeader(self.new_wavelength.tolist(),TOKEN,self.ui_sn) |
|
|
|
|
# if self.mydir.checkHeader()==0: |
|
|
|
|
# self.mydir.writeHeader() |
|
|
|
|
# if self.mydir.checkHeader()==-1: |
|
|
|
|
# self.popDialog(" 文件头不一致, 请备份到其他目录,并在该目录下删除") |
|
|
|
|
# raise MyException(" 文件头不一致, 请备份到其他目录,并在该目录下删除") |
|
|
|
|
|
|
|
|
|
# # res_data 不用带回调的函数callback 会导致多组数据拼接?? |
|
|
|
|
# res_time,res_data = ReadCal.read_columns_sets_by_mark( fl, FILE_MARK, 1 ) |
|
|
|
|
|
|
|
|
|
# log.warning(f" ==== {len(res_time)}" ) |
|
|
|
|
# log.warning(res_time) |
|
|
|
|
# log.warning(f" ==== {len(res_data[0])}" ) |
|
|
|
|
# log.warning(f" ==== { res_data[0] }" ) |
|
|
|
|
|
|
|
|
|
# for i in range( len(res_time) ): |
|
|
|
|
# self.__deal_one_measure_time_data(res_time[i], res_data[0][i]) |
|
|
|
|
# pass |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
# def __deal_one_measure_time_data(self,res_time,res_data): |
|
|
|
|
# if self.syscfg['retrieve']['enable'] == 0: |
|
|
|
|
# self.mydir.setContent(res_data ,TOKEN,res_time ) |
|
|
|
|
# self.mydir.writeContent() |
|
|
|
|
# # 插值处理 |
|
|
|
|
# if self.syscfg['retrieve']['enable'] == 1: |
|
|
|
|
# # tmp_data = np.interp( self.new_wavelength, np.array(self.raw_wavelength) , np.array(res_data) ) |
|
|
|
|
|
|
|
|
|
# x = self.new_wavelength |
|
|
|
|
# xp = np.array(self.raw_wavelength).astype(np.float32) |
|
|
|
|
# fp = np.array(res_data).astype(np.float32) |
|
|
|
|
# log.warning(f" {x}") |
|
|
|
|
# log.warning(f" {xp.shape }") |
|
|
|
|
# log.warning(f" { fp.shape }") |
|
|
|
|
# tmp_data = np.interp( x, xp , fp ) |
|
|
|
|
# # tmp_data = np.interp( self.new_wavelength.tolist(), self.raw_wavelength , res_data[0] ) |
|
|
|
|
# self.mydir.setContent( tmp_data ,TOKEN, res_time ) |
|
|
|
|
# self.mydir.writeContent() |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# def __deal_one_file(self,fpath): |
|
|
|
|
# res_time,res_data = ReadCal.read_columns_sets_by_mark( fpath, FILE_MARK, 1 ) |
|
|
|
|
# for i in range( len(res_time) ): |
|
|
|
|
# if self.syscfg['retrieve']['enable'] == 0: |
|
|
|
|
# self.mydir.setContent(res_data[i],TOKEN,res_time[i]) |
|
|
|
|
# self.mydir.writeContent() |
|
|
|
|
# # 插值处理 |
|
|
|
|
# if self.syscfg['retrieve']['enable'] == 1: |
|
|
|
|
# self.mydir.setContent(res_data[i],TOKEN,res_time[i]) |
|
|
|
|
# self.mydir.writeContent() |
|
|
|
|
# pass |
|
|
|
|
# pass |
|
|
|
|
|
|
|
|
|
# def __set_serial(self, )-> None: |
|
|
|
|
# self.uart.set_serial_para( |
|
|
|
|
# self.syscfg['comsetting']['port'] |
|
|
|
|
# ,self.syscfg['comsetting']['baudrate'] |
|
|
|
|
# ,self.syscfg['comsetting']['bytesize'] |
|
|
|
|
# ,self.syscfg['comsetting']['parity'] |
|
|
|
|
# ,self.syscfg['comsetting']['stopbit'] |
|
|
|
|
# ) |
|
|
|
|
|
|
|
|
|
# def __set_modbus(self, beginaddress, step)-> None: |
|
|
|
|
# self.uart.set_modbus( |
|
|
|
|
# self.syscfg['register']['slaveadress'] |
|
|
|
|
# ,self.syscfg['register']['functioncode'] |
|
|
|
|
# ,beginaddress |
|
|
|
|
# ,step |
|
|
|
|
# ) |
|
|
|
|
|