web=EdsWebApi() web.connect() web.logger.debug('lalalala') ds=datetime.datetime(2019,3,1) de=datetime.datetime(2019,4,25) #tag='62VT_UB1B8T-FP.UNIT0@SCADA:B1' tag='72VT_SP03SP-005.UNIT0@SCADA' bit=3 dt=ds data=[] val=web.getVal(ds,tag)#Получаем значение точки bitVal=web.getBitVal(val,bit)#Получаем значения бита print(bitVal) #val=0.1 #bitVal=True onDT=None offDT=None if bitVal:#Если бит взведен, то инициализируем значение точки onDT onDT=ds while dt<de: d1=web.getDateChangeFull(dt,de,tag,val)#Получаем следующее изменение пакетной точки (как целочисленной величины) valNew=web.getVal(d1,tag)#Получаем значение точки в этот момент bitValNew=web.getBitVal(valNew,bit)#Получаем значение бита в данный момент if val!=valNew:#Если значение пакетной точки изменилось обновляем дату начала выборки val=valNew dt=d1
return False web = EdsWebApi() web.connect() web.logger.debug('lalalala') ds = datetime.datetime(2018, 10, 1) de = datetime.datetime(2018, 10, 18) tag = '07VT_AM01P-47.MCR@GRARM' tag = '07VT_AM03P-01.MCR@GRARM' bit = 14 dt = ds data = [] val = web.getVal(ds, tag) bitVal = getBitVal(val, bit) #val=0.1 #bitVal=False onDT = None offDT = None if bitVal: onDT = ds while dt < de: d1 = web.getDateChangeFull(dt, de, tag, val) valNew = web.getVal(d1, tag) bitValNew = getBitVal(valNew, bit) if val != valNew: val = valNew dt = d1 if bitVal != bitValNew: