#!/usr/bin/env python3 import sys, string import lxml.etree import plcData from plcElement import plcElementXML from plcModule import plcModule from plcTag import plcTag class plcAddOnParameter(plcElementXML): """Allen-Bradley PLC RSLogix5000 Add-On Instruction Parameter""" # Constructor of the tag from XML element def __init__(self, rootElement, parentObj=None): plcElementXML.__init__(self, rootElement, parentObj) # print( "Created parameter {0}".format(self.name)) return class plcAddOnInstruction(plcElementXML): """Allen-Bradley PLC RSLogix5000 Add-On Instruction""" # Constructor of the tag from XML element def __init__(self, rootElement, parentObj=None ): plcElementXML.__init__(self, rootElement, parentObj) self.parameters = {} # print( "Will create parameters for addOn {0} or {1}".format(self.name, rootElement.attrib["Name"] ) ) self.createParams() return def createParams(self): parElements = self.root.xpath("Parameters/Parameter") for parElm in parElements: if "Name" in list(parElm.attrib.keys()) : # print( "Trying to create parameter {0} for addOn {1}".format(parElm.attrib["Name"], self.name)) paramObj = plcAddOnParameter( parElm, self ) self.parameters[paramObj.name] = paramObj def getParameters(self): return self.parameters def getParameter(self, name): return self.parameters[name]