PLCGenerator.py
changeset 6 c8cf918ee7ea
parent 5 f8652b073e84
child 28 fc23e1f415d8
equal deleted inserted replaced
5:f8652b073e84 6:c8cf918ee7ea
    27 from types import *
    27 from types import *
    28 
    28 
    29 varTypeNames = {"localVars" : "VAR", "tempVars" : "VAR_TEMP", "inputVars" : "VAR_INPUT", 
    29 varTypeNames = {"localVars" : "VAR", "tempVars" : "VAR_TEMP", "inputVars" : "VAR_INPUT", 
    30                 "outputVars" : "VAR_OUTPUT", "inOutVars" : "VAR_IN_OUT", "externalVars" : "VAR_EXTERNAL",
    30                 "outputVars" : "VAR_OUTPUT", "inOutVars" : "VAR_IN_OUT", "externalVars" : "VAR_EXTERNAL",
    31                 "globalVars" : "VAR_GLOBAL", "accessVars" : "VAR_ACCESS"}
    31                 "globalVars" : "VAR_GLOBAL", "accessVars" : "VAR_ACCESS"}
       
    32 
       
    33 pouTypeNames = {"function" : "FUNCTION", "functionBlock" : "FUNCTION_BLOCK", "program" : "PROGRAM"}
    32 
    34 
    33 def ReIndentText(text, nb_spaces):
    35 def ReIndentText(text, nb_spaces):
    34     compute = ""
    36     compute = ""
    35     lines = text.splitlines()
    37     lines = text.splitlines()
    36     if len(lines) > 0:
    38     if len(lines) > 0:
   453     
   455     
   454 def GenerateCurrentProgram(project):
   456 def GenerateCurrentProgram(project):
   455     program = ""
   457     program = ""
   456     for pou in project.getPous():
   458     for pou in project.getPous():
   457         pou_type = pou.getPouType().getValue()
   459         pou_type = pou.getPouType().getValue()
   458         if pou_type == "function":
   460         if pou_type in pouTypeNames:
   459             pou_program = PouProgram(pou.getName(), "FUNCTION")
   461             pou_program = PouProgram(pou.getName(), pouTypeNames[pou_type])
   460         elif pou_type == "functionBlock":
       
   461             pou_program = PouProgram(pou.getName(), "FUNCTION_BLOCK")
       
   462         elif pou_type == "program":
       
   463             pou_program = PouProgram(pou.getName(), "PROGRAM")
       
   464         else:
   462         else:
   465             raise ValueError, "Undefined pou type"
   463             raise ValueError, "Undefined pou type"
   466         pou_program.GenerateInterface(pou.getInterface())
   464         pou_program.GenerateInterface(pou.getInterface())
   467         pou_program.GenerateProgram(pou)
   465         pou_program.GenerateProgram(pou)
   468         program += pou_program.GenerateSTProgram()
   466         program += pou_program.GenerateSTProgram()