Пример #1
0
 def Read(self,IPH_inOptions_outOptions):
     ''' Return a dummy value for all read requests '''
     newIPH = ItemPairHolder()
     for inItem, outItem in IPH:
         key = mkItemKey(inItem)
         if self.OPCItemDict.has_key(key):
             newIPH.append(inItem,
                           outItem = copy.deepcopy(self.OPCItemDict[key]))
         else:
             newIPH.append(inItem,
                           ItemContainer(ResultID=\
                                         self.OPC_E_UNKNOWNITEMNAME,
                                         ErrorText=\
                                         'No such OPC Item'))
     return super(BasicXDAServer,self).Read((newIPH,inOptions,outOptions))
Пример #2
0
 def Read(self, IPH_inOptions_outOptions):
     ''' Return a dummy value for all read requests '''
     newIPH = ItemPairHolder()
     for inItem, outItem in IPH:
         key = mkItemKey(inItem)
         if self.OPCItemDict.has_key(key):
             newIPH.append(inItem,
                           outItem=copy.deepcopy(self.OPCItemDict[key]))
         else:
             newIPH.append(inItem,
                           ItemContainer(ResultID=\
                                         self.OPC_E_UNKNOWNITEMNAME,
                                         ErrorText=\
                                         'No such OPC Item'))
     return super(BasicXDAServer, self).Read(
         (newIPH, inOptions, outOptions))
Пример #3
0
 def BuildOPCArgs(self, inIClist, inOptions):
     IPH = ItemPairHolder()
     for inItem in inIClist:
         IPH.append(inItem=inItem, outItem=inItem)
     outOptions = {}
     return (IPH, inOptions, outOptions)
Пример #4
0
	def BuildOPCArgs(self, inIClist, inOptions):
		IPH = ItemPairHolder()
		for inItem in inIClist:
			IPH.append(inItem=inItem, outItem=inItem)
		outOptions = {}
		return (IPH, inOptions, outOptions)
Пример #5
0
            return d

    def _cbReadESD(self, (NodeAddress, encoding, data), inItem, outItem):
        ''' Handle result of ESD Read '''
        outItem.Value = data
        outItem.QualityField = 'good'
        outItem.Timestamp = datetime.datetime.now()
        self.read_results.append((inItem.Sequence, inItem, outItem))

    def _cbRead(self, result, (IPH, inOptions, outOptions)):
        ''' Assemble IPH and return it '''
        # Sort results so that sequence is correct again
        self.read_results.sort()
        rIPH = ItemPairHolder()
        for i, inItem, outItem in self.read_results:
            rIPH.append(inItem, outItem)
        return super(ESDProxy, self).Read((rIPH, inOptions, outOptions))

    def _errRead(self, failure, inItem, outItem):
        ''' Fill errorneous property '''
        outItem.ResultID = self.ESD_E_READ
        outItem.ErrorText = str(failure.value.args)
        self.read_results.append((inItem.Sequence, inItem, outItem))
        newIPH = ItemPairHolder()

    def Write(self, (IPH, inOptions, outOptions)):
        ''' Write to the item dictionary '''
        # Here all results will be stored
        self.write_results = []
        dlist = []
        for seq, (inItem, outItem) in enumerate(IPH):