PLCControler.py
changeset 307 fd1f6ae26d4f
parent 299 15669fe26e56
child 310 ccb47adebe80
equal deleted inserted replaced
306:eecc53781498 307:fd1f6ae26d4f
   497         if project is not None:
   497         if project is not None:
   498             return project.ElementIsUsedBy(name, reference)
   498             return project.ElementIsUsedBy(name, reference)
   499         return False
   499         return False
   500 
   500 
   501     def GenerateProgram(self, filepath=None):
   501     def GenerateProgram(self, filepath=None):
       
   502         errors = []
       
   503         warnings = []
   502         if self.Project is not None:
   504         if self.Project is not None:
   503             try:
   505             try:
   504                 self.ProgramChunks = GenerateCurrentProgram(self, self.Project)
   506                 self.ProgramChunks = GenerateCurrentProgram(self, self.Project, errors, warnings)
   505                 self.NextCompiledProject = self.Copy(self.Project)
   507                 self.NextCompiledProject = self.Copy(self.Project)
   506                 program_text = "".join([item[0] for item in self.ProgramChunks])
   508                 program_text = "".join([item[0] for item in self.ProgramChunks])
   507                 if filepath is not None:
   509                 if filepath is not None:
   508                     programfile = open(filepath, "w")
   510                     programfile = open(filepath, "w")
   509                     programfile.write(program_text)
   511                     programfile.write(program_text)
   510                     programfile.close()
   512                     programfile.close()
   511                     self.ProgramFilePath = filepath
   513                     self.ProgramFilePath = filepath
   512                     return None
   514                 return program_text, errors, warnings
   513                 else:
       
   514                     return program_text
       
   515             except PLCGenException, e:
   515             except PLCGenException, e:
   516                 return e.message
   516                 errors.append(e.message)
   517         return "No project opened"
   517         else:
       
   518             errors.append("No project opened")
       
   519         return "", errors, warnings
   518 
   520 
   519     def ProgramTransferred(self):
   521     def ProgramTransferred(self):
   520         self.CurrentCompiledProject = self.NextCompiledProject
   522         self.CurrentCompiledProject = self.NextCompiledProject
   521 
   523 
   522     def GetChunkInfos(self, from_location, to_location):
   524     def GetChunkInfos(self, from_location, to_location):