25 from LPCProto import * |
25 from LPCProto import * |
26 |
26 |
27 |
27 |
28 |
28 |
29 class LPCObject(): |
29 class LPCObject(): |
30 def __init__(self, pluginsroot, comportstr): |
30 def __init__(self, confnodesroot, comportstr): |
31 self.PLCStatus = "Disconnected" |
31 self.PLCStatus = "Disconnected" |
32 self.pluginsroot = pluginsroot |
32 self.confnodesroot = confnodesroot |
33 self.PLCprint = pluginsroot.logger.writeyield |
33 self.PLCprint = confnodesroot.logger.writeyield |
34 self._Idxs = [] |
34 self._Idxs = [] |
35 comport = int(comportstr[3:]) - 1 |
35 comport = int(comportstr[3:]) - 1 |
36 try: |
36 try: |
37 self.connect(comportstr) |
37 self.connect(comportstr) |
38 except Exception,e: |
38 except Exception,e: |
39 self.pluginsroot.logger.write_error(str(e)+"\n") |
39 self.confnodesroot.logger.write_error(str(e)+"\n") |
40 self.SerialConnection = None |
40 self.SerialConnection = None |
41 self.PLCStatus = "Disconnected" |
41 self.PLCStatus = "Disconnected" |
42 |
42 |
43 def HandleSerialTransaction(self, transaction): |
43 def HandleSerialTransaction(self, transaction): |
44 if self.SerialConnection is not None: |
44 if self.SerialConnection is not None: |
45 try: |
45 try: |
46 self.PLCStatus, res = self.SerialConnection.HandleTransaction(transaction) |
46 self.PLCStatus, res = self.SerialConnection.HandleTransaction(transaction) |
47 return res |
47 return res |
48 except LPCProtoError,e: |
48 except LPCProtoError,e: |
49 self.pluginsroot.logger.write(_("PLC disconnected\n")) |
49 self.confnodesroot.logger.write(_("PLC disconnected\n")) |
50 if self.SerialConnection is not None: |
50 if self.SerialConnection is not None: |
51 self.SerialConnection.close() |
51 self.SerialConnection.close() |
52 self.SerialConnection = None |
52 self.SerialConnection = None |
53 self.PLCStatus = "Disconnected" |
53 self.PLCStatus = "Disconnected" |
54 return None |
54 return None |
55 except Exception,e: |
55 except Exception,e: |
56 self.pluginsroot.logger.write_warning(str(e)+"\n") |
56 self.confnodesroot.logger.write_warning(str(e)+"\n") |
57 |
57 |
58 def StartPLC(self, debug=False): |
58 def StartPLC(self, debug=False): |
59 raise LPCProtoError("Not implemented") |
59 raise LPCProtoError("Not implemented") |
60 |
60 |
61 def StopPLC(self): |
61 def StopPLC(self): |