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): |