以线性插值或者前向插值的模式获取一个指定时刻的插值记录

Navigation:  Python > Tag类管理 > tag模块 >

以线性插值或者前向插值的模式获取一个指定时刻的插值记录

Previous pageReturn to chapter overviewNext page

 

方法定义

 

get_inter_record_by_mode(self, mode, timestamp)

 

 

方法参数说明

参数名称

参数说明

参数类型

默认值

timestamp

插值时刻

datetime类型

 

mode

插值模式(0,线性LINEAR;1,前向PREV),后续插值模式均同此模式。插值类型:值为1表示前向插值,即将某一个时刻之前最近的一条原始值作为改时刻的插值;值为0表示线性插值,即根据某一时刻之前的最近一条原始值和该时刻之后最近一条原始值来进行线性计算该时刻的插值。

数字型

 

 

 

异常

 

如果调用失败,抛出hyperdb.HDError异常

 

如果参数错误,抛出ArgumentError异常

 

返回值

 

record.Record对象的实例

 

方法调用

 

def GetInterRecordByMode(self):

   tagname = 'tag_int16_10'

   try:

       self.myTag = self.myTagMgr.get_tag(tagname)

   except Exception as e:

       print(e)

   self.dattime = datetime.datetime(2023, 10, 16, 15, 10, 35, 0)

   try:

    ## mode:0/1        ->        LINEAR/PREV

       hdrecord = self.myTag.get_inter_record_by_mode(0, timestamp=self.dattime)

   except Exception as e:

       print("get_inter_record_by_mode error: ", e.errcode)

       time.sleep(10)

       try:

        ## mode:0/1        ->        LINEAR/PREV

           hdrecord = self.myTag.get_inter_record_by_mode(0, timestamp=self.dattime)

       except Exception as e:

           print("get_inter_record_by_mode error: ", e.errcode)

           time.sleep(10)

           try:

            ## mode:0/1        ->        LINEAR/PREV

               hdrecord = self.myTag.get_inter_record_by_mode(0, timestamp=self.dattime)

           except Exception as e:

               print("get_inter_record_by_mode error: ", e.errcode)

           else:

               print("snapshot quality: ", hdrecord.quality, "snapshot value: ", hdrecord.value, ", timestamp: ",hdrecord.sec)

       else:

           print("snapshot quality: ", hdrecord.quality, "snapshot value: ",hdrecord.value, ", timestamp: ",hdrecord.sec)

   else:

       print("snapshot quality: ", hdrecord.quality, "snapshot value: ", hdrecord.value, ", timestamp: ", hdrecord.sec)