diff -r 000000000000 -r 51f5a3138405 LPCconnector/LPCObject.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LPCconnector/LPCObject.py Sun May 20 11:29:35 2012 +0200 @@ -0,0 +1,78 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +#This file is part of Beremiz, a Integrated Development Environment for +#programming IEC 61131-3 automates supporting plcopen standard and CanFestival. +# +#Copyright (C) 2007: Edouard TISSERANT and Laurent BESSARD +# +#See COPYING file for copyrights details. +# +#This library is free software; you can redistribute it and/or +#modify it under the terms of the GNU General Public +#License as published by the Free Software Foundation; either +#version 2.1 of the License, or (at your option) any later version. +# +#This library is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +#General Public License for more details. +# +#You should have received a copy of the GNU General Public +#License along with this library; if not, write to the Free Software +#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from LPCProto import * + + + +class LPCObject(): + def __init__(self, confnodesroot, comportstr): + self.PLCStatus = "Disconnected" + self.confnodesroot = confnodesroot + self.PLCprint = confnodesroot.logger.writeyield + self._Idxs = [] + comport = int(comportstr[3:]) - 1 + try: + self.connect(comportstr) + except Exception,e: + self.confnodesroot.logger.write_error(str(e)+"\n") + self.SerialConnection = None + self.PLCStatus = "Disconnected" + + def HandleSerialTransaction(self, transaction): + if self.SerialConnection is not None: + try: + self.PLCStatus, res = self.SerialConnection.HandleTransaction(transaction) + return res + except LPCProtoError,e: + self.confnodesroot.logger.write(_("PLC disconnected\n")) + if self.SerialConnection is not None: + self.SerialConnection.close() + self.SerialConnection = None + self.PLCStatus = "Disconnected" + return None + except Exception,e: + self.confnodesroot.logger.write_warning(str(e)+"\n") + + def StartPLC(self, debug=False): + raise LPCProtoError("Not implemented") + + def StopPLC(self): + raise LPCProtoError("Not implemented") + + def GetPLCstatus(self): + raise LPCProtoError("Not implemented") + + def NewPLC(self, md5sum, data, extrafiles): + raise LPCProtoError("Not implemented") + + def MatchMD5(self, MD5): + raise LPCProtoError("Not implemented") + + def SetTraceVariablesList(self, idxs): + raise LPCProtoError("Not implemented") + + def GetTraceVariables(self): + raise LPCProtoError("Not implemented") +