PLCControler.py
changeset 1767 c74815729afd
parent 1766 c1e5b9f19483
child 1768 691083b5682a
equal deleted inserted replaced
1766:c1e5b9f19483 1767:c74815729afd
   782             pou_variable_xslt_tree = etree.XSLT(
   782             pou_variable_xslt_tree = etree.XSLT(
   783                 etree.parse(
   783                 etree.parse(
   784                     os.path.join(ScriptDirectory, "plcopen", "pou_variables.xslt"),
   784                     os.path.join(ScriptDirectory, "plcopen", "pou_variables.xslt"),
   785                     parser),
   785                     parser),
   786                 extensions={("pou_vars_ns", name): getattr(factory, name)
   786                 extensions={("pou_vars_ns", name): getattr(factory, name)
   787                               for name in ["SetRoot", "AddVariable"]})
   787                             for name in ["SetRoot", "AddVariable"]})
   788 
   788 
   789             obj = None
   789             obj = None
   790             words = tagname.split("::")
   790             words = tagname.split("::")
   791             if words[0] == "P":
   791             if words[0] == "P":
   792                 obj = self.GetPou(words[1], debug)
   792                 obj = self.GetPou(words[1], debug)
   845         instance_tagname_xslt_tree = etree.XSLT(
   845         instance_tagname_xslt_tree = etree.XSLT(
   846             etree.parse(
   846             etree.parse(
   847                 os.path.join(ScriptDirectory, "plcopen", "instance_tagname.xslt"),
   847                 os.path.join(ScriptDirectory, "plcopen", "instance_tagname.xslt"),
   848                 parser),
   848                 parser),
   849             extensions={("instance_tagname_ns", name): getattr(factory, name)
   849             extensions={("instance_tagname_ns", name): getattr(factory, name)
   850                           for name in ["ConfigTagName", "ResourceTagName",
   850                         for name in ["ConfigTagName",
   851                                        "PouTagName", "ActionTagName",
   851                                      "ResourceTagName",
   852                                        "TransitionTagName"]})
   852                                      "PouTagName",
       
   853                                      "ActionTagName",
       
   854                                      "TransitionTagName"]})
   853 
   855 
   854         instance_tagname_xslt_tree(project,
   856         instance_tagname_xslt_tree(project,
   855             instance_path=etree.XSLT.strparam(instance_path))
   857             instance_path=etree.XSLT.strparam(instance_path))
   856 
   858 
   857         return factory.GetTagName()
   859         return factory.GetTagName()
  1391 
  1393 
  1392         return variables
  1394         return variables
  1393 
  1395 
  1394     # Add a global var to configuration to configuration
  1396     # Add a global var to configuration to configuration
  1395     def AddConfigurationGlobalVar(self, config_name, var_type, var_name,
  1397     def AddConfigurationGlobalVar(self, config_name, var_type, var_name,
  1396                                            location="", description=""):
  1398                                   location="", description=""):
  1397         if self.Project is not None:
  1399         if self.Project is not None:
  1398             # Found the configuration corresponding to name
  1400             # Found the configuration corresponding to name
  1399             configuration = self.Project.getconfiguration(config_name)
  1401             configuration = self.Project.getconfiguration(config_name)
  1400             if configuration is not None:
  1402             if configuration is not None:
  1401                 # Set configuration global vars
  1403                 # Set configuration global vars
  1547                 return_type_infos_xslt_tree = etree.XSLT(
  1549                 return_type_infos_xslt_tree = etree.XSLT(
  1548                     etree.parse(
  1550                     etree.parse(
  1549                         os.path.join(ScriptDirectory, "plcopen", "variables_infos.xslt"),
  1551                         os.path.join(ScriptDirectory, "plcopen", "variables_infos.xslt"),
  1550                         parser),
  1552                         parser),
  1551                     extensions={("var_infos_ns", name): getattr(factory, name)
  1553                     extensions={("var_infos_ns", name): getattr(factory, name)
  1552                                   for name in ["SetType", "AddDimension",
  1554                                 for name in ["SetType", "AddDimension",
  1553                                                "AddTree", "AddVarToTree"]})
  1555                                              "AddTree", "AddVarToTree"]})
  1554                 return_type_infos_xslt_tree(return_type,
  1556                 return_type_infos_xslt_tree(return_type,
  1555                     tree=etree.XSLT.strparam(str(tree)))
  1557                     tree=etree.XSLT.strparam(str(tree)))
  1556                 if tree:
  1558                 if tree:
  1557                     return [factory.GetType(), factory.GetTree()]
  1559                     return [factory.GetType(), factory.GetTree()]
  1558                 return factory.GetType()
  1560                 return factory.GetType()
  1565     def AddConfNodeTypesList(self, typeslist):
  1567     def AddConfNodeTypesList(self, typeslist):
  1566         self.ConfNodeTypes.extend(typeslist)
  1568         self.ConfNodeTypes.extend(typeslist)
  1567         addedcat = [{"name": _("%s POUs") % confnodetypes["name"],
  1569         addedcat = [{"name": _("%s POUs") % confnodetypes["name"],
  1568                      "list": [pou.getblockInfos()
  1570                      "list": [pou.getblockInfos()
  1569                               for pou in confnodetypes["types"].getpous()]}
  1571                               for pou in confnodetypes["types"].getpous()]}
  1570                      for confnodetypes in typeslist]
  1572                     for confnodetypes in typeslist]
  1571         self.TotalTypes.extend(addedcat)
  1573         self.TotalTypes.extend(addedcat)
  1572         for cat in addedcat:
  1574         for cat in addedcat:
  1573             for desc in cat["list"]:
  1575             for desc in cat["list"]:
  1574                 BlkLst = self.TotalTypesDict.setdefault(desc["name"], [])
  1576                 BlkLst = self.TotalTypesDict.setdefault(desc["name"], [])
  1575                 BlkLst.append((section["name"], desc))
  1577                 BlkLst.append((section["name"], desc))