runtime/PLCObject.py
changeset 219 43d65f0179e2
parent 216 11124e129a28
child 227 48c13b84505c
equal deleted inserted replaced
218:71fddab24be9 219:43d65f0179e2
    40      }.get(sys.platform, "")
    40      }.get(sys.platform, "")
    41 
    41 
    42 class PLCObject(pyro.ObjBase):
    42 class PLCObject(pyro.ObjBase):
    43     def __init__(self, workingdir, daemon, argv):
    43     def __init__(self, workingdir, daemon, argv):
    44         pyro.ObjBase.__init__(self)
    44         pyro.ObjBase.__init__(self)
    45         self.argv=argv
    45         self.argv = [workingdir] + argv # force argv[0] to be "path" to exec...
    46         self.workingdir = workingdir
    46         self.workingdir = workingdir
    47         self.PLCStatus = "Stopped"
    47         self.PLCStatus = "Stopped"
    48         self.PLClibraryHandle = None
    48         self.PLClibraryHandle = None
    49         # Creates fake C funcs proxies
    49         # Creates fake C funcs proxies
    50         self._FreePLC()
    50         self._FreePLC()
   149 
   149 
   150     
   150     
   151     def StartPLC(self):
   151     def StartPLC(self):
   152         print "StartPLC"
   152         print "StartPLC"
   153         if self.CurrentPLCFilename is not None and self.PLCStatus == "Stopped":
   153         if self.CurrentPLCFilename is not None and self.PLCStatus == "Stopped":
   154             c_argv = ctypes.c_char_p * len(sys.argv)
   154             c_argv = ctypes.c_char_p * len(self.argv)
   155             if self._LoadNewPLC() and self._startPLC(len(self.argv),c_argv(*self.argv)) == 0:
   155             if self._LoadNewPLC() and self._startPLC(len(self.argv),c_argv(*self.argv)) == 0:
   156                 self.PLCStatus = "Started"
   156                 self.PLCStatus = "Started"
   157                 return True
   157                 return True
   158             else:
   158             else:
   159                 print "_StartPLC did not return 0 !"
   159                 print "_StartPLC did not return 0 !"