runtime/PLCObject.py
changeset 1730 64d8f52bc8c8
parent 1667 cefc9219bb48
child 1732 94ffe74e6895
equal deleted inserted replaced
1726:d51af006fa6b 1730:64d8f52bc8c8
   141         try:
   141         try:
   142             self._PLClibraryHandle = dlopen(self._GetLibFileName())
   142             self._PLClibraryHandle = dlopen(self._GetLibFileName())
   143             self.PLClibraryHandle = ctypes.CDLL(self.CurrentPLCFilename, handle=self._PLClibraryHandle)
   143             self.PLClibraryHandle = ctypes.CDLL(self.CurrentPLCFilename, handle=self._PLClibraryHandle)
   144 
   144 
   145             self.PLC_ID = ctypes.c_char_p.in_dll(self.PLClibraryHandle, "PLC_ID")
   145             self.PLC_ID = ctypes.c_char_p.in_dll(self.PLClibraryHandle, "PLC_ID")
   146             if len(md5) == 32 : 
   146             if len(md5) == 32 :
   147                 self.PLC_ID.value = md5 
   147                 self.PLC_ID.value = md5
   148 
   148 
   149             self._startPLC = self.PLClibraryHandle.startPLC
   149             self._startPLC = self.PLClibraryHandle.startPLC
   150             self._startPLC.restype = ctypes.c_int
   150             self._startPLC.restype = ctypes.c_int
   151             self._startPLC.argtypes = [ctypes.c_int, ctypes.POINTER(ctypes.c_char_p)]
   151             self._startPLC.argtypes = [ctypes.c_int, ctypes.POINTER(ctypes.c_char_p)]
   152 
   152 
   554             e_type, e_value, e_traceback = sys.exc_info()
   554             e_type, e_value, e_traceback = sys.exc_info()
   555             line_no = traceback.tb_lineno(get_last_traceback(e_traceback))
   555             line_no = traceback.tb_lineno(get_last_traceback(e_traceback))
   556             return (-1, "RemoteExec script failed!\n\nLine %d: %s\n\t%s" %
   556             return (-1, "RemoteExec script failed!\n\nLine %d: %s\n\t%s" %
   557                         (line_no, e_value, script.splitlines()[line_no - 1]))
   557                         (line_no, e_value, script.splitlines()[line_no - 1]))
   558         return (0, kwargs.get("returnVal", None))
   558         return (0, kwargs.get("returnVal", None))
   559 
       
   560