Workbackup
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,3 +7,4 @@
|
|||||||
*.hex
|
*.hex
|
||||||
*.pyc
|
*.pyc
|
||||||
*.cfg
|
*.cfg
|
||||||
|
test.db3
|
||||||
|
|||||||
24
ioserv.py
24
ioserv.py
@@ -18,15 +18,16 @@ from SOAPpy import SOAPProxy, SOAPServer
|
|||||||
from redis import Redis
|
from redis import Redis
|
||||||
from pydave import pydave
|
from pydave import pydave
|
||||||
from davedefs import *
|
from davedefs import *
|
||||||
|
from DB import DB
|
||||||
|
|
||||||
pid_file= '/tmp/ipserv.lock'
|
pid_file= '/tmp/ipserv.lock'
|
||||||
|
|
||||||
|
|
||||||
class IOSERV (object):
|
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.server = None
|
||||||
self.rproxy = None
|
self.rproxy = None
|
||||||
|
self.DB = DB (db)
|
||||||
self.loglevel = int (loglevel)
|
self.loglevel = int (loglevel)
|
||||||
self.logfile = logfile
|
self.logfile = logfile
|
||||||
self.conns = {}
|
self.conns = {}
|
||||||
@@ -88,7 +89,7 @@ class IOSERV (object):
|
|||||||
bitaddr = (msgnr - 2000) % 8
|
bitaddr = (msgnr - 2000) % 8
|
||||||
self.log ("Set Quit for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
|
self.log ("Set Quit for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
|
||||||
self.conns [cname].SetBit (daveAreas["DB"], 2, byteaddr, bitaddr)
|
self.conns [cname].SetBit (daveAreas["DB"], 2, byteaddr, bitaddr)
|
||||||
self.rcvErrorstates ('ABP-Buero', msgnr)
|
self.rcvErrorstates (cname, msgnr)
|
||||||
|
|
||||||
|
|
||||||
def setMaintenance (self, cname, msgnr):
|
def setMaintenance (self, cname, msgnr):
|
||||||
@@ -101,9 +102,8 @@ class IOSERV (object):
|
|||||||
byteaddr = 2064 + (msgnr - 2000) / 8
|
byteaddr = 2064 + (msgnr - 2000) / 8
|
||||||
bitaddr = (msgnr - 2000) % 8
|
bitaddr = (msgnr - 2000) % 8
|
||||||
self.log ("Set Maintenance for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
|
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.conns [cname].SetBit (daveAreas["DB"], 2, byteaddr, bitaddr)
|
||||||
self.rcvErrorstates ('ABP-Buero', msgnr)
|
self.rcvErrorstates (cname, msgnr)
|
||||||
|
|
||||||
|
|
||||||
def setDone (self, cname, msgnr):
|
def setDone (self, cname, msgnr):
|
||||||
@@ -117,7 +117,17 @@ class IOSERV (object):
|
|||||||
bitaddr = (msgnr - 2000) % 8
|
bitaddr = (msgnr - 2000) % 8
|
||||||
self.log ("Set Maintenance for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
|
self.log ("Set Maintenance for MsgNr %s Adr %s.%s" % (msgnr, byteaddr, bitaddr), 6)
|
||||||
self.conns [cname].SetBit (daveAreas["DB"], 2, byteaddr, bitaddr)
|
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):
|
def rcvErrorstates (self, cname, msgnr = 0):
|
||||||
@@ -183,7 +193,6 @@ class IOSERV (object):
|
|||||||
|
|
||||||
def rcvErrorlogs (self, cname = 'ABP-Buero'):
|
def rcvErrorlogs (self, cname = 'ABP-Buero'):
|
||||||
val = self.conns [cname].ReadBytes (daveAreas["DB"], 104, 0, 16)
|
val = self.conns [cname].ReadBytes (daveAreas["DB"], 104, 0, 16)
|
||||||
|
|
||||||
if int (val [1]):
|
if int (val [1]):
|
||||||
mid = (val [2] << 8) + val [3]
|
mid = (val [2] << 8) + val [3]
|
||||||
year = val [4]
|
year = val [4]
|
||||||
@@ -197,6 +206,7 @@ class IOSERV (object):
|
|||||||
act = val [15]
|
act = val [15]
|
||||||
ts = "20%02x-%02x-%02x %02x:%02x:%02x" % (year, month, day, hour, minute, seconds)
|
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.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')
|
val = self.conns [cname].WriteBytes (daveAreas["DB"], 104, 1, 1, '0')
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
12
zioclient.py
12
zioclient.py
@@ -12,7 +12,6 @@ from time import sleep
|
|||||||
|
|
||||||
def recvValueBlk (id):
|
def recvValueBlk (id):
|
||||||
ioserv = SOAPProxy ('http://localhost:8089/')
|
ioserv = SOAPProxy ('http://localhost:8089/')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
#values = ioserv.recvValueBlk ('Demo')._asdict ()
|
#values = ioserv.recvValueBlk ('Demo')._asdict ()
|
||||||
values = ioserv.recvValueBlk (id)._aslist ()
|
values = ioserv.recvValueBlk (id)._aslist ()
|
||||||
@@ -41,3 +40,14 @@ def setDone (nr):
|
|||||||
except:
|
except:
|
||||||
print "FixMe"
|
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"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user