plcopen/plcopen.py
changeset 1768 691083b5682a
parent 1766 c1e5b9f19483
child 1777 c46ec818bdd7
equal deleted inserted replaced
1767:c74815729afd 1768:691083b5682a
    57 VarOrder = ["Local", "Temp", "Input", "Output", "InOut", "External", "Global", "Access"]
    57 VarOrder = ["Local", "Temp", "Input", "Output", "InOut", "External", "Global", "Access"]
    58 
    58 
    59 """
    59 """
    60 Define which action qualifier must be associated with a duration
    60 Define which action qualifier must be associated with a duration
    61 """
    61 """
    62 QualifierList = OrderedDict([("N", False), ("R", False), ("S", False),
    62 QualifierList = OrderedDict([
       
    63     ("N", False), ("R", False), ("S", False),
    63     ("L", True), ("D", True), ("P", False), ("P0", False),
    64     ("L", True), ("D", True), ("P", False), ("P0", False),
    64     ("P1", False), ("SD", True), ("DS", True), ("SL", True)])
    65     ("P1", False), ("SD", True), ("DS", True), ("SL", True)])
    65 
    66 
    66 
    67 
    67 FILTER_ADDRESS_MODEL = "(%%[IQM](?:[XBWDL])?)(%s)((?:\.[0-9]+)*)"
    68 FILTER_ADDRESS_MODEL = "(%%[IQM](?:[XBWDL])?)(%s)((?:\.[0-9]+)*)"
  1128             block_infos["outputs"].extend(
  1129             block_infos["outputs"].extend(
  1129                 [(var.getname(), _getvariableTypeinfos(var.type), "none")
  1130                 [(var.getname(), _getvariableTypeinfos(var.type), "none")
  1130                  for var in block_outputs_xpath(self)])
  1131                  for var in block_outputs_xpath(self)])
  1131 
  1132 
  1132         block_infos["usage"] = ("\n (%s) => (%s)" %
  1133         block_infos["usage"] = ("\n (%s) => (%s)" %
  1133             (", ".join(["%s:%s" % (input[1], input[0])
  1134                                 (", ".join(["%s:%s" % (input[1], input[0])
  1134                         for input in block_infos["inputs"]]),
  1135                                             for input in block_infos["inputs"]]),
  1135              ", ".join(["%s:%s" % (output[1], output[0])
  1136                                  ", ".join(["%s:%s" % (output[1], output[0])
  1136                         for output in block_infos["outputs"]])))
  1137                                             for output in block_infos["outputs"]])))
  1137         return block_infos
  1138         return block_infos
  1138     setattr(cls, "getblockInfos", getblockInfos)
  1139     setattr(cls, "getblockInfos", getblockInfos)
  1139 
  1140 
  1140     def setdescription(self, description):
  1141     def setdescription(self, description):
  1141         doc = self.getdocumentation()
  1142         doc = self.getdocumentation()
  1959 _connectionsFunctions = {
  1960 _connectionsFunctions = {
  1960     "bbox": {"none": _getBoundingBox,
  1961     "bbox": {"none": _getBoundingBox,
  1961              "single": _getBoundingBoxSingle,
  1962              "single": _getBoundingBoxSingle,
  1962              "multiple": _getBoundingBoxMultiple},
  1963              "multiple": _getBoundingBoxMultiple},
  1963     "translate": {"none": _translate,
  1964     "translate": {"none": _translate,
  1964                "single": _translateSingle,
  1965                   "single": _translateSingle,
  1965                "multiple": _translateMultiple},
  1966                   "multiple": _translateMultiple},
  1966     "filter": {"none": lambda self, connections: None,
  1967     "filter": {"none": lambda self, connections: None,
  1967                "single": _filterConnectionsSingle,
  1968                "single": _filterConnectionsSingle,
  1968                "multiple": _filterConnectionsMultiple},
  1969                "multiple": _filterConnectionsMultiple},
  1969     "update": {"none": lambda self, translation: {},
  1970     "update": {"none": lambda self, translation: {},
  1970                "single": _updateConnectionsIdSingle,
  1971                "single": _updateConnectionsIdSingle,