for j in range(0, 12, 2): if addr[j:j + 2] == laddr[j:j + 2] or addr[j:j + 2] == 'AA': continue else: break if j >= 10: if addr[j:j + 2] == laddr[j:j + 2] or addr[j:j + 2] == 'AA': return index return -1 def getphaseNum(self, i): return 3 if __name__ == '__main__': mtr = meter485() mtr.addmeter(10) mtr.run(3600) # ac1 = mtr.readins(1) # print(ac1.I) mtr.run(3600) # ac1 = mtr.readins(1) # print(ac1.I) mmtr = dev2315(relation) # a = mmtr.readenergy(mtr, 1) a = mmtr.readins(mtr, 1) print(a) ''' frame = 'FE FE FE FE 68 02 00 00 00 50 48 68 11 04 33 32 35 33 4c 16'
'meterPhaseA': [6], 'meterPhaseB': [7], 'meterPhaseC': [8], 'topology': [], 'topologycol': [] }, ] } freezedatacfg = {'day': 62, 'month': 12, 'hour': 24} # 创建时钟 rtc = simrtc(mtrcfg['Magnification']) # 创建485表 mtr = dm.meter485() mtr.addmeter(mtrcfg['meterNum'], 1) # 创建485表 历史数据 mtr.createFreezeHisData(freezedatacfg) # 创建2315 mmtr = dc.dev2315(relation) # 485表 走字ins = mmtr.readins(index) threading.Thread(target=meterrun, args=(mtr, rtc, mtrcfg['looptimes'], mtrcfg['Magnification'])).start() # 创建 2215串口 threading.Thread(target=simserialexc, args=(cfg2215, relation)).start()