Finalized all Telegrammtypes

and added CSV generation Class
This commit is contained in:
2016-10-03 21:14:53 +02:00
parent ec6883e780
commit 972f90a981
7 changed files with 383 additions and 32 deletions

112
DB.py
View File

@@ -101,17 +101,29 @@ class DB:
raise Warning
def getbde (self, dmc):
"""
Get Processdata
"""
try:
cursor = self.executesql ("SELECT dmc, startts, endts, ladungstraeger, seriennr, variante, pruefzelle1, putzzelle, chiron, blindniet, bajonettclip, cclip, masseblech, pruefzelle2, nacharbeit, csv FROM bde WHERE dmc = '%s';" % dmc)
except:
print ("Couldnt read from BDE")
return (cursor.fetchall ())
def checkbde (self, dmc):
"""
"""
try:
cursor = self.executesql ("SELECT dmc FROM bde WHERE dmc = '%s';" % dmc)
except:
print ("Couldnt read from into BDE")
print ("Couldnt read from BDE")
l = len (cursor.fetchall ())
return l
def updatebde (self, dmc, field, value):
"""
@@ -148,6 +160,7 @@ class DB:
self.updatebde (data['dmc'], 'pruefzelle1', data['bauteilstatus'])
if data['dmc'] == 'n.i.O.':
self.updatebde (data['dmc'], 'endts', data['endts'])
self.updatebde (data['dmc'], 'variante', data['bauteil'] + '-' + data['variante'])
self.updatebde (data['dmc'], 'csv', '')
@@ -182,7 +195,7 @@ class DB:
and update BDE data
"""
try:
cursor = self.executesql ("INSERT INTO blindniet (dmc, startts, endts, DGBM8status01, DGBM8status02, DGBM8status03, DGBM8status04, NietM8status01, NietM8status02, NietM6status01, NietM6status02, NietM6status03, NietM6status04, NietM6status05, DGBM8M01, DGBM8D01, DGBM8W01, DGBM8T01, DGBM8M02, DGBM8D01, DGBM8W02, DGBM8T02, DGBM8M03, DGBM8D03, DGBM8W03, DGBM8T03, DGBM8M04, DGBM8D04, DGBM8W04, DGBM8T04, NietM8F01, NietM8S01, NietM8F02, NietM8S02, NietM6F01, NietM6S01, NietM6F02, NietM6S02, NietM6F03, NietM6S03, NietM6F04, NietM6S04, NietM6F05, NietM6S05) VALUES ('%(dmc)s', '%(startts)s', '%(endts)s', '%(DGBM8status01)s', '%(DGBM8status02)s', '%(DGBM8status03)s', '%(DGBM8status04)s', '%(NietM8status01)s', '%(NietM8status02)s', '%(NietM6status01)s', '%(NietM6status02)s', '%(NietM6status03)s', '%(NietM6status04)s', '%(NietM6status05)s', '%(DGBM8M01)s', '%(DGBM8D01)s', '%(DGBM8W01)s', '%(DGBM8T01)s', '%(DGBM8M02)s', '%(DGBM8D02)s', '%(DGBM8W02)s', '%(DGBM8T02)s', '%(DGBM8M03)s', '%(DGBM8D03)s', '%(DGBM8W03)s', '%(DGBM8T03)s', '%(DGBM8M04)s', '%(DGBM8D04)s', '%(DGBM8W04)s', '%(DGBM8T04)s', '%(NietM8F01)s', '%(NietM8S01)s', '%(NietM8F02)s', '%(NietM8S02)s', '%(NietM6F01)s', '%(NietM6S01)s', '%(NietM6F02)s', '%(NietM6S02)s', '%(NietM6F03)s', '%(NietM6S03)s', '%(NietM6F04)s', '%(NietM6S04)s', '%(NietM6F05)s', '%(NietM6S05)s');" % data)
cursor = self.executesql ("INSERT INTO blindniet (dmc, startts, endts, DGBM8status01, DGBM8status02, DGBM8status03, DGBM8status04, NietM8status01, NietM8status02, NietM6status01, NietM6status02, NietM6status03, NietM6status04, NietM6status05, DGBM8M01, DGBM8D01, DGBM8W01, DGBM8T01, DGBM8M02, DGBM8D02, DGBM8W02, DGBM8T02, DGBM8M03, DGBM8D03, DGBM8W03, DGBM8T03, DGBM8M04, DGBM8D04, DGBM8W04, DGBM8T04, NietM8F01, NietM8S01, NietM8F02, NietM8S02, NietM6F01, NietM6S01, NietM6F02, NietM6S02, NietM6F03, NietM6S03, NietM6F04, NietM6S04, NietM6F05, NietM6S05) VALUES ('%(dmc)s', '%(startts)s', '%(endts)s', '%(DGBM8status01)s', '%(DGBM8status02)s', '%(DGBM8status03)s', '%(DGBM8status04)s', '%(NietM8status01)s', '%(NietM8status02)s', '%(NietM6status01)s', '%(NietM6status02)s', '%(NietM6status03)s', '%(NietM6status04)s', '%(NietM6status05)s', '%(DGBM8M01)s', '%(DGBM8D01)s', '%(DGBM8W01)s', '%(DGBM8T01)s', '%(DGBM8M02)s', '%(DGBM8D02)s', '%(DGBM8W02)s', '%(DGBM8T02)s', '%(DGBM8M03)s', '%(DGBM8D03)s', '%(DGBM8W03)s', '%(DGBM8T03)s', '%(DGBM8M04)s', '%(DGBM8D04)s', '%(DGBM8W04)s', '%(DGBM8T04)s', '%(NietM8F01)s', '%(NietM8S01)s', '%(NietM8F02)s', '%(NietM8S02)s', '%(NietM6F01)s', '%(NietM6S01)s', '%(NietM6F02)s', '%(NietM6S02)s', '%(NietM6F03)s', '%(NietM6S03)s', '%(NietM6F04)s', '%(NietM6S04)s', '%(NietM6F05)s', '%(NietM6S05)s');" % data)
except:
print ("Couldnt insert PD05 blindniet")
raise Warning
@@ -211,9 +224,73 @@ class DB:
print ("Couldnt get PD05 blindniet")
raise Warning
return cursor.fetchone ()
return cursor.fetchall ()
def addputzzelle (self, data):
"""
Add Processdata 02/03 - putzzelle
and update BDE data
"""
if len (self.getputzzelle (data['dmc'])):
self.errlog ('PD02/03 for %s already exists - Overwrite' % data['dmc'])
try:
cursor = self.executesql ("INSERT OR REPLACE INTO putzzelle (dmc, startts, endts, aufnahme) VALUES ('%(dmc)s', '%(startts)s', '%(endts)s', '%(aufnahme)s';" % data)
except:
print ("Couldnt insert PD02/03 putzzelle")
raise Warning
self.updatebde (data['dmc'], 'putzzelle', data['bauteilstatus'])
#FixMe Add Ladungstraeger
def getputzzelle (self, dmc):
"""
Get Processdata 06 - putzzelle
"""
try:
cursor = self.executesql ("SELECT dmc, startts, endts, aufnahme FROM putzzelle WHERE dmc = '%s';" % dmc)
except:
print ("Couldnt get PD0203 putzzelle")
raise Warning
return cursor.fetchall ()
def addchiron (self, data):
"""
Add Processdata 99 - chiron
and update BDE data
"""
if len (self.getchiron (data['dmc'])):
self.errlog ('PD99 for %s already exists - Overwrite' % data['dmc'])
try:
cursor = self.executesql ("INSERT OR REPLACE INTO chiron (dmc, startts, endts, chiron) VALUES ('%(dmc)s', '%(startts)s', '%(endts)s', '%(chiron)s';" % data)
except:
print ("Couldnt insert PD99 chiron")
raise Warning
self.updatebde (data['dmc'], 'chiron', data['bauteilstatus'])
self.updatebde (data['dmc'], 'variante', data['bauteil'] + '-' + data['variante'])
self.log (1,'PD99 - Change variante')
#FixMe Add Ladungstraeger
def getchiron (self, dmc):
"""
Get Processdata 06 - chiron
"""
try:
cursor = self.executesql ("SELECT dmc, startts, endts, chiron FROM chiron WHERE dmc = '%s';" % dmc)
except:
print ("Couldnt get PD0203 putzzelle")
raise Warning
return cursor.fetchall ()
def addbajonettclip (self, data):
"""
Add Processdata 06 - bajonettclip
@@ -277,12 +354,13 @@ class DB:
Get Processdata 07 - cclip
"""
try:
cursor = self.executesql ("SELECT dmc, startts, endts, aufnahme, lipstatus01, clipstatus02, clipstatus03, clipstatus04, clipstatus05, clipstatus06, clipstatus07, clipstatus08, clipstatus09, clipstatus10, clipstatus11, clipstatus12, clipstatus13, clipstatus14, clipstatus15, clipstatus16, clipstatus17, clipstatus18WHERE dmc = '%s';" % dmc)
cursor = self.executesql ("SELECT dmc, startts, endts, aufnahme, clipstatus01, clipstatus02, clipstatus03, clipstatus04, clipstatus05, clipstatus06, clipstatus07, clipstatus08, clipstatus09, clipstatus10, clipstatus11, clipstatus12, clipstatus13, clipstatus14, clipstatus15, clipstatus16, clipstatus17, clipstatus18 FROM cclip WHERE dmc = '%s';" % dmc)
except:
print ("Couldnt get PD07 cclip")
raise Warning
return cursor.fetchall ()
def deletecclip (self, dmc):
"""
@@ -300,6 +378,9 @@ class DB:
Add Processdata 08 - masseblech
and update BDE data
"""
if len (self.getmasseblech (data['dmc'])):
self.errlog ('PD08 for %s already exists - Overwrite' % data['dmc'])
try:
cursor = self.executesql ("INSERT OR REPLACE INTO masseblech (dmc, startts, endts, ausgleichselement, schallisolierung, masseblech, blindniet, kombimutter, fniet, sniet, mmutter, dmutter, wmutter, tmutter) VALUES ('%(dmc)s', '%(startts)s', '%(endts)s', '%(ausgleichselement)s', '%(schallisolierung)s', '%(masseblech)s', '%(blindniet)s', '%(kombimutter)s' , '%(fniet)s', '%(sniet)s', '%(mmutter)s', '%(dmutter)s', '%(wmutter)s', '%(tmutter)s');" % data)
except:
@@ -307,6 +388,20 @@ class DB:
raise Warning
self.updatebde (data['dmc'], 'masseblech', data['bauteilstatus'])
def getmasseblech (self, dmc):
"""
Get Processdata 08 -masseblech
"""
try:
cursor = self.executesql ("SELECT dmc, startts, endts, ausgleichselement, schallisolierung, masseblech, blindniet, kombimutter, fniet, sniet, mmutter, dmutter, wmutter, tmutter FROM masseblech WHERE dmc = '%s';" % dmc)
except:
print ("Couldnt get PD08 masseblech")
raise Warning
return cursor.fetchall ()
def deletemasseblech (self, dmc):
@@ -355,7 +450,12 @@ if __name__ == "__main__":
from PD05_tel import TEL_PD05
PD05 = TEL_PD05 ()
conn.addpruefzelle1 (PD01)
print (conn.getcclip ('40649372270716929764515'))
print (conn.getchiron ('40649372270716929764515'))
print (conn.getblindniet ('40649372270716929764515'))
#conn.addpruefzelle1 (PD01)
#print (conn.getblindniet (PD05['dmc']))
#conn.deleteblindniet (PD05['dmc'])

View File

@@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/python3
import sys, os
sys.path.append (".")
@@ -6,37 +6,266 @@ from time import time, strftime, sleep
class pySAP:
class NAV:
def __init__ (self, *dummy, **args):
"""
Initialize a new SAP exporter
Initialize a new Navision exporter
"""
self.path = args.get ("path", "/opt/sap/")
self.path = args.get ("path", "/srv/navision/")
self.time = time ()
self.dbcon = args.get ("db", None)
def log (self, msg):
def createcsv(self, dmc):
"""
Print message if in verbose mode.
create CSV for BDE Data
"""
mins = int (strftime ("%M"))
file = open (self.path + strftime ("%Y_%m_%d_%H_") + '%02d' %(mins), "a")
file.write ( msg )
csvdata = ['']*155
#1st check for BDE date
bdefield = ['dmc', 'startts', 'endts', 'ladungstraeger', 'seriennr', 'variante', 'pruefzelle1', 'putzzelle', 'chiron', 'blindniet', 'bajonettclip', 'cclip', 'masseblech', 'pruefzelle2', 'nacharbeit', 'csv']
ret = self.dbcon.getbde (dmc)
if not len (ret):
print ("No BDE Data")
raise Warning
bdedata = {}
for i in range (len (bdefield)):
bdedata [bdefield [i]] = ret[0][i]
#1 StatusBlob
#2 Lfd Nummer
#3 DMC
csvdata [2] = bdedata ['dmc']
#4 Zeitstempel Start
csvdata [3] = bdedata ['startts']
#5 Status BMW DMC FixMe muss imer i.O. sein eigtl.
csvdata [4] = 'i.O.'
#6 Reserve
#7 Status Pruefzelle 1
csvdata [6] = bdedata ['pruefzelle1']
if bdedata ['pruefzelle1'] in ['i.O.', 'n.i.O.']:
pz1field = ['dmc', 'startts', 'endts', 'pp01', 'pp02', 'pp03', 'pp04', 'pp05', 'pp06', 'pp07', 'pp08', 'pp08', 'pp09', 'pp10', 'pp11', 'pp12', 'pp13', 'pp14', 'pp15', 'pp16', 'pp17', 'pp18', 'pp19', 'pp20', 'pp21', 'pp22', 'pp23', 'pp24', 'pp25', 'pp26', 'pp27', 'pp28', 'pp29', 'pp30', 'pp31', 'pp32', 'pp33', 'pp34', 'pp35', 'pp36', 'pp37', 'pp38', 'pp39', 'pp40']
ret = self.dbcon.getpruefzelle1 (dmc)
if not len (ret):
print ("No Pruefzelle1 Data")
raise Warning
else:
pz1data = {}
for i in range (len (pz1field)):
pz1data [pz1field [i]] = ret[0][i]
#98 PZ1 Zeitstempel Start
csvdata [97] = pz1data ['startts']
#99 PZ1 Zeitstempel Ende
csvdata [98] = pz1data ['endts']
#115 - 154
for i in range (40):
csvdata [114 + i] = pz1data ['pp%02d' % (i + 1)]
del pz1field
del pz1data
#8 Reserve
#9 Status Putzzelle
csvdata [8] = bdedata ['putzzelle']
if bdedata ['putzzelle'] in ['i.O.', 'n.i.O.']:
pufield = ['dmc', 'startts', 'endts', 'aufnahme']
ret = self.dbcon.getputzzelle (dmc)
if not len (ret):
print ("No Putzzelle Data")
raise Warning
else:
pudata = {}
for i in range (len (pufield)):
pudata [pufield [i]] = ret[0][i]
#10 Putzzelle Aufnahme
csvdata [9] = pudata ['aufnahme']
#100 Putzzelle Zeitstempel Start
csvdata [99] = pudata ['startts']
#101 Putzzelle Zeitstempel Ende
csvdata [100] = pudata ['endts']
del pufield
del pudata
#11 Chiron Status
csvdata [10] = bdedata ['chiron']
if bdedata ['chiron'] in ['i.O.', 'n.i.O.']:
chfield = ['dmc', 'startts', 'endts', 'chiron']
ret = self.dbcon.getchiron (dmc)
if not len (ret):
print ("No Chiron Data")
raise Warning
else:
chdata = {}
for i in range (len (chfield)):
chdata [chfield [i]] = ret[0][i]
#102 Chiron 1 oder 2
csvdata [101] = chdata ['chiron']
#103 Chiron Zeitstempel Start
csvdata [102] = chdata ['startts']
#104 Chiron Zeitstempel Ende
csvdata [103] = chdata ['endts']
del chfield
del chdata
#12 Blindniet Status
csvdata [11] = bdedata ['blindniet']
if bdedata ['blindniet'] in ['i.O.', 'n.i.O.']:
bnfield = ['dmc', 'startts', 'endts', 'DGBM8status01', 'DGBM8status02', 'DGBM8status03', 'DGBM8status04', 'NietM8status01', 'NietM8status02', 'NietM6status01', 'NietM6status02', 'NietM6status03', 'NietM6status04', 'NietM6status05', 'DGBM8M01', 'DGBM8D01', 'DGBM8W01', 'DGBM8T01', 'DGBM8M02', 'DGBM8D02', 'DGBM8W02', 'DGBM8T02', 'DGBM8M03', 'DGBM8D03', 'DGBM8W03', 'DGBM8T03', 'DGBM8M04', 'DGBM8D04', 'DGBM8W04', 'DGBM8T04', 'NietM8F01', 'NietM8S01', 'NietM8F02', 'NietM8S02', 'NietM6F01', 'NietM6S01', 'NietM6F02', 'NietM6S02', 'NietM6F03', 'NietM6S03', 'NietM6F04', 'NietM6S04', 'NietM6F05', 'NietM6S05']
ret = self.dbcon.getblindniet (dmc)
if not len (ret):
print ("No Blindniet Data")
raise Warning
else:
bndata = {}
for i in range (len (bnfield)):
bndata [bnfield [i]] = ret[0][i]
#105 Blindniet Zeitstempel Start
csvdata [104] = bndata ['startts']
#106 Blindniet Zeitstempel Ende
csvdata [105] = bndata ['endts']
#13 - 18
for i in range (2):
csvdata [12 + i * 3] = bndata ['NietM8status%02d' % (i + 1)]
csvdata [13 + i * 3] = bndata ['NietM8F%02d' % (i + 1)]
csvdata [14 + i * 3] = bndata ['NietM8F%02d' % (i + 1)]
#19 - 38
for i in range (4):
csvdata [18 + i * 5] = bndata ['DGBM8status%02d' % (i + 1)]
csvdata [19 + i * 5] = bndata ['DGBM8M%02d' % (i + 1)]
csvdata [20 + i * 5] = bndata ['DGBM8D%02d' % (i + 1)]
csvdata [21 + i * 5] = bndata ['DGBM8W%02d' % (i + 1)]
csvdata [22 + i * 5] = bndata ['DGBM8T%02d' % (i + 1)]
#39 - 53
for i in range (5):
csvdata [38 + i * 3] = bndata ['NietM6status%02d' % (i + 1)]
csvdata [39 + i * 3] = bndata ['NietM6F%02d' % (i + 1)]
csvdata [40 + i * 3] = bndata ['NietM6S%02d' % (i + 1)]
del bnfield
del bndata
#54 Status Bajonettclip
csvdata [53] = bdedata ['bajonettclip']
if bdedata ['bajonettclip'] in ['i.O.', 'n.i.O.']:
bajofield = ['dmc', 'startts', 'endts', 'aufnahme', 'bajostatus01', 'bajostatus02', 'bajostatus03', 'bajostatus04']
ret = self.dbcon.getbajonettclip (dmc)
if not len (ret):
print ("No Bajonettclip Data")
raise Warning
else:
bajodata = {}
for i in range (len (bajofield)):
bajodata [bajofield [i]] = ret[0][i]
#107 Bajonettclip Zeitstempel Start
csvdata [106] = bajodata ['aufnahme']
#108 Bajonettclip Zeitstempel Start
csvdata [107] = bajodata ['startts']
#109 Bajonettclip Zeitstempel Ende
csvdata [108] = bajodata ['endts']
#55 - 59
for i in range (4):
csvdata [54 + i] = bajodata ['bajostatus%02d' % (i + 1)]
del bajodata
del bajofield
#59 Status CClip
csvdata [58] = bdedata ['cclip']
if bdedata ['cclip'] in ['i.O.', 'n.i.O.']:
ccfield = ['dmc', 'startts', 'endts', 'aufnahme', 'clipstatus01', 'clipstatus02', 'clipstatus03', 'clipstatus04', 'clipstatus05', 'clipstatus06', 'clipstatus07', 'clipstatus08', 'clipstatus09', 'clipstatus10', 'clipstatus11', 'clipstatus12', 'clipstatus13', 'clipstatus14', 'clipstatus15', 'clipstatus16', 'clipstatus17', 'clipstatus18']
ret = self.dbcon.getcclip (dmc)
if not len (ret):
print ("No CClip Data")
raise Warning
else:
ccdata = {}
for i in range (len (ccfield)):
ccdata [ccfield [i]] = ret[0][i]
#110 CClip Zeitstempel Start
csvdata [109] = ccdata ['aufnahme']
#111 CClip Zeitstempel Start
csvdata [110] = ccdata ['startts']
#112 CClip Zeitstempel Ende
csvdata [111] = ccdata ['endts']
#60 - 77
for i in range (18):
csvdata [59 + i] = ccdata ['clipstatus%02d' % (i + 1)]
del ccfield
del ccdata
#78 Status Masseblech
csvdata [77] = bdedata ['masseblech']
if bdedata ['masseblech'] in ['i.O.', 'n.i.O.']:
mbfield = ['dmc', 'startts', 'endts', 'ausgleichselement', 'schallisolierung', 'masseblech', 'blindniet', 'kombimutter', 'fniet', 'sniet', 'mmutter', 'dmutter', 'wmutter', 'tmutter']
ret = self.dbcon.getmasseblech (dmc)
if not len (ret):
print ("No Masseblech Data")
raise Warning
else:
mbdata = {}
for i in range (len (mbfield)):
mbdata [mbfield [i]] = ret[0][i]
#113 CClip Zeitstempel Start
csvdata [112] = mbdata ['startts']
#114 CClip Zeitstempel Ende
csvdata [113] = mbdata ['endts']
#79 CClip Ausgleichseelement
csvdata [78] = mbdata ['ausgleichselement']
#80 CClip Schallisolierung
csvdata [79] = mbdata ['schallisolierung']
#81 CClip Masseblech
csvdata [80] = mbdata ['masseblech']
#82 CClip Blindniet
csvdata [81] = mbdata ['blindniet']
#83 CClip Blindniet
csvdata [82] = mbdata ['kombimutter']
#84 CClip Kombimutter M
csvdata [83] = mbdata ['mmutter']
#85 CClip Kombimutter D
csvdata [84] = mbdata ['dmutter']
#86 CClip Kombimutter W
csvdata [85] = mbdata ['wmutter']
#87 CClip Kombimutter T
csvdata [86] = mbdata ['tmutter']
#88 CClip Kombimutter T
csvdata [87] = mbdata ['fniet']
#89 CClip Kombimutter S
csvdata [88] = mbdata ['sniet']
del mbfield
del mbdata
#93 Status Pruefzelle2
csvdata [92] = bdedata ['pruefzelle2']
#94 Status Nacharbeit
csvdata [93] = bdedata ['nacharbeit']
file = open (self.path + dmc + '.csv', "w")
for i in csvdata:
if type (i) == str and';' in i:
print ("Semikolon in Data")
file.write (str (i) + ';')
file.close ()
if __name__ == "__main__":
from pySAP import *
from DB_ERP import DB_ERP
#sapfile = pySAP (path = "/opt/sap/")
sapfile = pySAP (path = "/Users/michi/logtest/")
#conn = DB_ERP ("/opt/data/storage_ERPTrace.db3")
conn = DB_ERP ("/Users/michi/devel/S7ISO/data/storage_ERPTrace.db3")
conn.markinsertionsasunread ()
sapfile.log ('')
for a, c, m, u in conn.getinsertions ():
if c=='':
c = 0
sapfile.log ('%05d;%010d;%s;%s\n' % (int (a), int (c), m, u))
conn.markinsertionsasread ()
from DB import DB, logtest, errlogtest
conn = DB ('/opt/data/bde.sqlite', '/tmp/talog.sql', logtest, errlogtest)
nav = NAV (path = "/srv/navision/", db = conn)
dmc = '1234'
dmc = '40649372270716929764515'
nav.createcsv (dmc)

View File

@@ -31,7 +31,7 @@ def fromstring (data):
tel.attrib['startts'] = tsdecode (data [38:52].decode ())
tel.attrib['endts'] = tsdecode (data [52:66].decode ())
tel.attrib['bauteil'] = bauteil.get ((data [66] << 8) + data [67], '')
tel.attrib['Variante'] = variante.get ((data [68] << 8) + data [69], '')
tel.attrib['variante'] = variante.get ((data [68] << 8) + data [69], '')
tel.attrib['seriennr'] = '0'
#66-70 Varianten daten
tel.attrib['bauteilstatus'] = bauteilstatus.get (chr (data [70]), '') #0 - unbearbeitet; 1 - iO; 2 - niO

View File

@@ -36,6 +36,7 @@ def fromstring (data):
except:
print ("Debug-aufnahme", data[90], data[91])
tel.attrib['ladungstraeger'] = data [92:93].decode ()
return tel
@@ -51,6 +52,7 @@ class TEL_PD02 (TELEGRAM):
self.attrib['endts'] = '2000-02-02 02:02:02'
self.attrib['dmc'] = '1234'
self.attrib['bauteilstatus'] = '0'
self.attrib['ladungstrager'] = '0'
self.attrib['aufnahme'] = 0
self.len = 2220907

View File

@@ -22,8 +22,8 @@ name = Entgratzelle2
ipsps = 192.168.6.150
[PD04]
name = BeladezelleBAZ
ipsps = 192.168.6.160
name = BeladestationUnused
ipsps = 192.168.6.123
[PD05]
name = Blindniet

3
bde.py
View File

@@ -183,6 +183,9 @@ class BDEServer ():
if teltype == 'PD01':
self.message (3, ' DT_handler : Store Data from PD01 Pruefzelle1')
DB_con.addpruefzelle1 (ret_val)
elif teltype in ['PD02', 'PD03']:
self.message (3, ' DT_handler : Store Data from %s Putzzelle' % teltype)
DB_con.addputzzelle (ret_val)
elif teltype == 'PD05':
self.message (3, ' DT_handler : Store Data from PD05 Blindniet')
DB_con.addblindniet (ret_val)

View File

@@ -14,13 +14,16 @@ CREATE TABLE bde (
endts timestamp(14) NOT NULL default '',
ladungstraeger char(2) NOT NULL default '0',
seriennr char(25) NOT NULL default '',
variante char(25) NOT NULL default '',
pruefzelle1 char(25) NOT NULL default 'n.Durchlaufen',
putzzelle char(25) NOT NULL default 'n.Durchlaufen',
chiron char(25) NOT NULL default 'n.Durchlaufen',
blindniet char(25) NOT NULL default 'n.Durchlaufen',
bajonettclip char(25) NOT NULL default 'n.Durchlaufen',
cclip char(25) NOT NULL default 'n.Durchlaufen',
masseblech char(25) NOT NULL default 'n.Durchlaufen',
pruefzelle2 char(25) NOT NULL default 'n.Durchlaufen',
nacharbeit char(25) NOT NULL default 'n.Durchlaufen',
csv integer NOT NULL default 0
);
@@ -108,6 +111,20 @@ CREATE TABLE cclip (
clipstatus18 char(25) NOT NULL default ''
);
CREATE TABLE putzzelle (
dmc char(25) UNIQUE,
startts timestamp(14) NOT NULL,
endts timestamp(14) NOT NULL,
aufnahme INTEGER NOT NULL default '0'
);
CREATE TABLE chiron (
dmc char(25) UNIQUE,
startts timestamp(14) NOT NULL,
endts timestamp(14) NOT NULL,
chiron INTEGER NOT NULL default '0'
);
CREATE TABLE masseblech (
dmc char(25) UNIQUE,
startts timestamp(14) NOT NULL,