Workbackup

This commit is contained in:
2015-04-21 05:36:34 +02:00
parent e4c9872fa1
commit c60ad615b5
3 changed files with 29 additions and 8 deletions

1
.gitignore vendored
View File

@@ -7,3 +7,4 @@
*.hex
*.pyc
*.cfg
test.db3

View File

@@ -18,15 +18,16 @@ from SOAPpy import SOAPProxy, SOAPServer
from redis import Redis
from pydave import pydave
from davedefs import *
from DB import DB
pid_file= '/tmp/ipserv.lock'
class IOSERV (object):
def __init__ (self, loglevel = 6, logfile = "/tmp/log_ioserv.txt"):
def __init__ (self, loglevel = 6, logfile = "/tmp/log_ioserv.txt", db = "test.db3"):
self.server = None
self.rproxy = None
self.DB = DB (db)
self.loglevel = int (loglevel)
self.logfile = logfile
self.conns = {}
@@ -88,7 +89,7 @@ class IOSERV (object):
bitaddr = (msgnr - 2000) % 8
self.log ("Set Quit for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
self.conns [cname].SetBit (daveAreas["DB"], 2, byteaddr, bitaddr)
self.rcvErrorstates ('ABP-Buero', msgnr)
self.rcvErrorstates (cname, msgnr)
def setMaintenance (self, cname, msgnr):
@@ -101,9 +102,8 @@ class IOSERV (object):
byteaddr = 2064 + (msgnr - 2000) / 8
bitaddr = (msgnr - 2000) % 8
self.log ("Set Maintenance for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
self.rcvErrorstates ('ABP-Buero', msgnr)
self.conns [cname].SetBit (daveAreas["DB"], 2, byteaddr, bitaddr)
self.rcvErrorstates ('ABP-Buero', msgnr)
self.rcvErrorstates (cname, msgnr)
def setDone (self, cname, msgnr):
@@ -117,7 +117,17 @@ class IOSERV (object):
bitaddr = (msgnr - 2000) % 8
self.log ("Set Maintenance for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
self.conns [cname].SetBit (daveAreas["DB"], 2, byteaddr, bitaddr)
self.rcvErrorstates ('ABP-Buero', msgnr)
self.rcvErrorstates (cname, msgnr)
def setControl (self, cname, ctrlnr):
if ctrlnr not in range (16):
self.log ("Bad MsgNr for Ctrl", 1)
return -1
byteaddr = ctrlnr / 8
bitaddr = ctrlnr % 8
self.log ("Set Ctrl for Conn %s CtrlNr %s cwAdr %s.%s" % (cname, msgnr, byteaddr, bitaddr), 6)
self.conns [cname].SetBit (daveAreas["DB"], 5, byteaddr, bitaddr)
def rcvErrorstates (self, cname, msgnr = 0):
@@ -183,7 +193,6 @@ class IOSERV (object):
def rcvErrorlogs (self, cname = 'ABP-Buero'):
val = self.conns [cname].ReadBytes (daveAreas["DB"], 104, 0, 16)
if int (val [1]):
mid = (val [2] << 8) + val [3]
year = val [4]
@@ -197,6 +206,7 @@ class IOSERV (object):
act = val [15]
ts = "20%02x-%02x-%02x %02x:%02x:%02x" % (year, month, day, hour, minute, seconds)
self.log ("New Errorlog ID:%s Count:%s State:%s Act:%s %s" % (mid, cnt, stat, act, ts), 6)
self.DB.logmsg (ts, mid + 1999, cnt, act)
val = self.conns [cname].WriteBytes (daveAreas["DB"], 104, 1, 1, '0')

View File

@@ -12,7 +12,6 @@ from time import sleep
def recvValueBlk (id):
ioserv = SOAPProxy ('http://localhost:8089/')
try:
#values = ioserv.recvValueBlk ('Demo')._asdict ()
values = ioserv.recvValueBlk (id)._aslist ()
@@ -41,3 +40,14 @@ def setDone (nr):
except:
print "FixMe"
def setCtrl (conn, nr):
ioserv = SOAPProxy ('http://localhost:8089/')
conns = {0 : 'ABP-Buero'
1 : 'HALLEA'
2 : 'HALLEB'
}
try:
ioserv.setCtrl (conns[conn] , int (nr))
except:
print "FixMe"