批量保存多个点的内存快照列表

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

批量保存多个点的内存快照列表

Previous pageReturn to chapter overviewNext page

 

方法定义

 

save_snapshots(self, snapshots_list)

 

 

方法参数说明

参数名称

参数说明

参数类型

默认值

snapshots_list

内存快照列表,[(tagid, snapshot), ...],元素为record.Record类型,对于数字状态集digitalset, Record的属性value应该为数字状态集digitalset的状态ID(state id)。列表个数不超过65535。

Record对象结构体:

{

 sec: 数字类型

 msec: 数字类型

 tagType: 枚举型

 quality: 数字类型

 value: 数字类型

}

record.Record类型的list

 

 

 

异常

 

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

 

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

 

方法调用

 

def SaveSnapshots(self): tagnames = []

   hdrecord_list = []

   snapshot_list = []

   for i in range(10, 20):

       tagnames.append('tag_int16_' + str(i))

   for tagname in tagnames:

      try:

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

       except Exception as e:

           print(e)

      hdrecord = record.Record(int(time.strftime('%m%d%H%M%S', time.localtime())), 0)

      hdrecord.tagtype = self.myTag.tagtype

      hdrecord.quality = 192

      hdrecord.value = random.randint(0, 10)    

      hdrecord_list.append(hdrecord)

   try:

       ret = self.myTagMgr.get_tagIDs(tagnames)

   except Exception as e:

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

   for i in range(10):

       snapshot_list.append((ret[1][i], hdrecord_list[i]))

   try:

       self.myTag.save_snapshots(snapshot_list)

   except Exception as e:

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

   else:

       print("saving snapshots succeeds")