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 if bitVal != bitValNew: #Определяем, изменился ли нужный нам бит
} } items.append(item) step=60 web.initOut("0_1") web.initOut("0_05") web.initOut("0_2") data=[] val=web.getVal(ds,tagS) bitVal=web.getBitVal(val,bit) onDT=None offDT=None if bitVal: onDT=ds dt=ds while dt<de: d1=web.getDateChangeFull(dt,de,tagS,val) valNew=web.getVal(d1,tagS) bitValNew=web.getBitVal(valNew,bit) if val!=valNew: val=valNew dt=d1 if bitVal != bitValNew: bitVal=bitValNew if bitVal: