runtime/PLCObject.py
changeset 1156 9708ed2a4ac2
parent 1145 203f4eff3313
child 1288 adc79fc44079
equal deleted inserted replaced
1155:412e30abf7e5 1156:9708ed2a4ac2
   264             self.python_runtime_vars["_runtime_%s"%methodname] = []
   264             self.python_runtime_vars["_runtime_%s"%methodname] = []
   265         self.python_runtime_vars["PLCObject"] = self
   265         self.python_runtime_vars["PLCObject"] = self
   266         self.python_runtime_vars["PLCBinary"] = self.PLClibraryHandle
   266         self.python_runtime_vars["PLCBinary"] = self.PLClibraryHandle
   267         class PLCSafeGlobals:
   267         class PLCSafeGlobals:
   268             def __getattr__(_self, name):
   268             def __getattr__(_self, name):
   269                 v = self.python_runtime_vars["_"+name+"_ctype"]()
   269                 try :
       
   270                     t = self.python_runtime_vars["_"+name+"_ctype"]
       
   271                 except KeyError:
       
   272                     raise KeyError("Try to get unknown shared global variable : %s"%name)
       
   273                 v = t()
   270                 r = self.python_runtime_vars["_PySafeGetPLCGlob_"+name](ctypes.byref(v))
   274                 r = self.python_runtime_vars["_PySafeGetPLCGlob_"+name](ctypes.byref(v))
   271                 return self.python_runtime_vars["_"+name+"_unpack"](v)
   275                 return self.python_runtime_vars["_"+name+"_unpack"](v)
   272             def __setattr__(_self, name, value):
   276             def __setattr__(_self, name, value):
   273                 t = self.python_runtime_vars["_"+name+"_ctype"]
   277                 try :
       
   278                     t = self.python_runtime_vars["_"+name+"_ctype"]
       
   279                 except KeyError:
       
   280                     raise KeyError("Try to set unknown shared global variable : %s"%name)
   274                 v = self.python_runtime_vars["_"+name+"_pack"](t,value)
   281                 v = self.python_runtime_vars["_"+name+"_pack"](t,value)
   275                 self.python_runtime_vars["_PySafeSetPLCGlob_"+name](ctypes.byref(v))
   282                 self.python_runtime_vars["_PySafeSetPLCGlob_"+name](ctypes.byref(v))
   276         self.python_runtime_vars["PLCGlobals"] = PLCSafeGlobals()
   283         self.python_runtime_vars["PLCGlobals"] = PLCSafeGlobals()
   277         try:
   284         try:
   278             for filename in os.listdir(self.workingdir):
   285             for filename in os.listdir(self.workingdir):