Implemented Handarbeitinterface
This commit is contained in:
8
DB.py
8
DB.py
@@ -91,13 +91,17 @@ class DB:
|
||||
return res
|
||||
|
||||
|
||||
def addbde (self, data):
|
||||
def addbde (self, data, anlage = 'Anlage'):
|
||||
"""
|
||||
Add Processdata
|
||||
without station information
|
||||
"""
|
||||
try:
|
||||
cursor = self.executesql ("INSERT OR REPLACE INTO bde (dmc, startts, ladungstraeger, seriennr) VALUES ('%(dmc)s', '%(startts)s', '%(ladungstraeger)s', '%(seriennr)s');" % data)
|
||||
if anlage == 'Hand':
|
||||
cursor = self.executesql ("INSERT OR REPLACE INTO bde (dmc, startts, ladungstraeger, seriennr, anlage) VALUES ('%(dmc)s', '%(startts)s', '%(ladungstraeger)s', '%(seriennr)s', 'Hand');" % data)
|
||||
else:
|
||||
cursor = self.executesql ("INSERT OR REPLACE INTO bde (dmc, startts, ladungstraeger, seriennr) VALUES ('%(dmc)s', '%(startts)s', '%(ladungstraeger)s', '%(seriennr)s');" % data)
|
||||
|
||||
except:
|
||||
print ("Couldnt insert into BDE")
|
||||
raise Warning
|
||||
|
||||
77
DM30_tel.py
Executable file
77
DM30_tel.py
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
__author__ = "Michael Rest"
|
||||
__date__ = "2017/09/01"
|
||||
__email__ = "mr@mir.systems"
|
||||
__version__ = "$Revision: 1.1 $"[11:-2]
|
||||
|
||||
|
||||
from telegram import TELEGRAM, TEL_DM30
|
||||
from telegram import tsdecode
|
||||
from states import *
|
||||
from parts import *
|
||||
|
||||
def fromstring (data):
|
||||
"""
|
||||
Decode the binary representation of a PD_tel from the given
|
||||
parameter and note the data in the instance of the object.
|
||||
|
||||
Parameters:
|
||||
data: The binary form of the TELEGRAM
|
||||
"""
|
||||
tel = TEL_DM30 ()
|
||||
try:
|
||||
tel.attrib['nr'] = (data [0] << 8) + data [1]
|
||||
except:
|
||||
print ("Debug-Nr", data[0], data[1])
|
||||
tel.attrib['src'] = data [2:4].decode ()
|
||||
tel.attrib['dst'] = data [4:6].decode ()
|
||||
tel.attrib['type'] = data [6:10].decode ()
|
||||
tel.attrib['position'] = data [10:14].decode ()
|
||||
tel.attrib['dmc'] = (data [14:42]).decode ().rstrip (' \x00')
|
||||
tel.attrib['starts'] = tsdecode (data [42:56].decode ())
|
||||
# Bitarray other Byte Order !!
|
||||
tel.attrib['bauteil'] = bauteil.get ((data [57] << 8) + data [56], '')
|
||||
tel.attrib['variante'] = variante.get ((data [59] << 8) + data [58], '')
|
||||
tel.attrib['seriennr'] = '0'
|
||||
tel.attrib['ladungstraeger'] = '0'
|
||||
return tel
|
||||
|
||||
|
||||
class TEL_DM30 (TELEGRAM):
|
||||
def __init__ (self, nr = 0, src = '30', dst = 'PC', *args, **args2):
|
||||
TELEGRAM.__init__(self)
|
||||
self.code = TEL_DM30
|
||||
self.attrib['nr'] = nr
|
||||
self.attrib['src'] = src
|
||||
self.attrib['dst'] = dst
|
||||
self.attrib['type'] = 'DM30'
|
||||
self.attrib['dmc'] = '1234'
|
||||
self.attrib['position'] = 'BC01'
|
||||
self.attrib['aufnahme'] = 0
|
||||
|
||||
self.len = 2220907
|
||||
return
|
||||
|
||||
def identify (self):
|
||||
"""
|
||||
This method can be used to identify a TELEGRAM by string.
|
||||
"""
|
||||
return "DM30 TELEGRAM"
|
||||
|
||||
|
||||
def __repr__ (self):
|
||||
"""
|
||||
Print a representation of the TPDU. Use this method via
|
||||
`-pair to transfer it over the wire. This will just return
|
||||
the header data and not the real data!
|
||||
"""
|
||||
# Note that the data is not included in the length
|
||||
return "%c%c%c" % (2, self.code << 4, self.number) + self.data
|
||||
|
||||
def __str__ (self):
|
||||
"""
|
||||
Return a readable and quite verbose overview of the TPDU instance.
|
||||
Use this for debugging purposes or if you're just curious.
|
||||
"""
|
||||
return "Packet: %s Data: %s" % (self.identify (), repr (self.attrib))
|
||||
268
PD30_tel.py
Executable file
268
PD30_tel.py
Executable file
@@ -0,0 +1,268 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
__author__ = "Michael Rest"
|
||||
__date__ = "2016709/01"
|
||||
__email__ = "mr@mir.systems"
|
||||
__version__ = "$Revision: 1.1 $"[11:-2]
|
||||
|
||||
|
||||
from telegram import TELEGRAM, TEL_PD30
|
||||
from telegram import tsdecode
|
||||
from states import *
|
||||
|
||||
def fromstring (data):
|
||||
"""
|
||||
Decode the binary representation of a PD_tel from the given
|
||||
parameter and note the data in the instance of the object.
|
||||
|
||||
Parameters:
|
||||
data: The binary form of the TELEGRAM
|
||||
"""
|
||||
tel = TEL_PD30 ()
|
||||
try:
|
||||
tel.attrib['nr'] = (data [0] << 8) + data [1]
|
||||
except:
|
||||
print ("Debug-Nr", data[0], data[1])
|
||||
tel.attrib['src'] = data [2:4].decode ()
|
||||
tel.attrib['dst'] = data [4:6].decode ()
|
||||
tel.attrib['type'] = data [6:10].decode ()
|
||||
tel.attrib['dmc'] = (data [10:38]).decode ().rstrip (' \x00')
|
||||
tel.attrib['startts'] = tsdecode (data [38:52].decode ())
|
||||
tel.attrib['endts'] = tsdecode (data [38:52].decode ())
|
||||
#52-56 Varianten daten
|
||||
tel.attrib['PutzzelleStatus'] = bearbeitungsstatus.get (chr (data [56]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['NietM6status01'] = bearbeitungsstatus.get (chr (data [58]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
try:
|
||||
tel.attrib['NietM6F01'] = (data [60] << 8) + data [61]
|
||||
except:
|
||||
print ("Debug-NietM6F01", data[60], data[61])
|
||||
try:
|
||||
tel.attrib['NietM6S01'] = (data [62] << 8) + data [63]
|
||||
except:
|
||||
print ("Debug-NietM6S01", data[62], data[63])
|
||||
tel.attrib['NietM6status02'] = bearbeitungsstatus.get (chr (data [64]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
try:
|
||||
tel.attrib['NietM6F02'] = (data [66] << 8) + data [67]
|
||||
except:
|
||||
print ("Debug-NietM6F02", data[66], data[67])
|
||||
try:
|
||||
tel.attrib['NietM6S02'] = (data [68] << 8) + data [69]
|
||||
except:
|
||||
print ("Debug-NietM6S02", data[68], data[69])
|
||||
tel.attrib['NietM6status03'] = bearbeitungsstatus.get (chr (data [70]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
try:
|
||||
tel.attrib['NietM6F03'] = (data [72] << 8) + data [73]
|
||||
except:
|
||||
print ("Debug-NietM6F03", data[72], data[73])
|
||||
try:
|
||||
tel.attrib['NietM6S03'] = (data [74] << 8) + data [75]
|
||||
except:
|
||||
print ("Debug-NietM6S03", data[74], data[75])
|
||||
tel.attrib['NietM6status04'] = bearbeitungsstatus.get (chr (data [76]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
try:
|
||||
tel.attrib['NietM6F04'] = (data [78] << 8) + data [79]
|
||||
except:
|
||||
print ("Debug-NietM6F04", data[78], data[79])
|
||||
try:
|
||||
tel.attrib['NietM6S04'] = (data [80] << 8) + data [81]
|
||||
except:
|
||||
print ("Debug-NietM6S04", data[80], data[81])
|
||||
tel.attrib['NietM6status05'] = bearbeitungsstatus.get (chr (data [82]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
try:
|
||||
tel.attrib['NietM6F05'] = (data [84] << 8) + data [85]
|
||||
except:
|
||||
print ("Debug-NietM6F05", data[84], data[85])
|
||||
try:
|
||||
tel.attrib['NietM6S05'] = (data [86] << 8) + data [87]
|
||||
except:
|
||||
print ("Debug-NietM6S05", data[86], data[87])
|
||||
|
||||
tel.attrib['NietM8status01'] = bearbeitungsstatus.get (chr (data [71]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['NietM8status02'] = bearbeitungsstatus.get (chr (data [72]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['DGBM8status01'] = bearbeitungsstatus.get (chr (data [73]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['DGBM8status02'] = bearbeitungsstatus.get (chr (data [74]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['DGBM8status03'] = bearbeitungsstatus.get (chr (data [75]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['DGBM8status04'] = bearbeitungsstatus.get (chr (data [76]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
try:
|
||||
tel.attrib['DGBM8M01'] = (data [90] << 8) + data [91]
|
||||
except:
|
||||
print ("Debug-DGBM8M01", data[90], data[91])
|
||||
try:
|
||||
tel.attrib['DGBM8D01'] = (data [92] << 8) + data [93]
|
||||
except:
|
||||
print ("Debug-DGBM8D01", data[92], data[93])
|
||||
try:
|
||||
tel.attrib['DGBM8W01'] = (data [94] << 8) + data [95]
|
||||
except:
|
||||
print ("Debug-DGBM8W01", data[94], data[95])
|
||||
try:
|
||||
tel.attrib['DGBM8T01'] = (data [96] << 8) + data [97]
|
||||
except:
|
||||
print ("Debug-DGBM8T01", data[96], data[97])
|
||||
try:
|
||||
tel.attrib['DGBM8M02'] = (data [98] << 8) + data [99]
|
||||
except:
|
||||
print ("Debug-DGBM8M02", data[98], data[99])
|
||||
try:
|
||||
tel.attrib['DGBM8D02'] = (data [100] << 8) + data [101]
|
||||
except:
|
||||
print ("Debug-DGBM8D02", data[100], data[101])
|
||||
try:
|
||||
tel.attrib['DGBM8W02'] = (data [102] << 8) + data [103]
|
||||
except:
|
||||
print ("Debug-DGBM8W02", data[102], data[103])
|
||||
try:
|
||||
tel.attrib['DGBM8T02'] = (data [104] << 8) + data [105]
|
||||
except:
|
||||
print ("Debug-DGBM8T02", data[104], data[105])
|
||||
try:
|
||||
tel.attrib['DGBM8M03'] = (data [106] << 8) + data [107]
|
||||
except:
|
||||
print ("Debug-DGBM8M03", data[106], data[107])
|
||||
try:
|
||||
tel.attrib['DGBM8D03'] = (data [108] << 8) + data [109]
|
||||
except:
|
||||
print ("Debug-DGBM8D03", data[108], data[109])
|
||||
try:
|
||||
tel.attrib['DGBM8W03'] = (data [110] << 8) + data [111]
|
||||
except:
|
||||
print ("Debug-DGBM8W03", data[110], data[111])
|
||||
try:
|
||||
tel.attrib['DGBM8T03'] = (data [112] << 8) + data [113]
|
||||
except:
|
||||
print ("Debug-DGBM8T03", data[112], data[113])
|
||||
try:
|
||||
tel.attrib['DGBM8M04'] = (data [114] << 8) + data [115]
|
||||
except:
|
||||
print ("Debug-DGBM8M04", data[114], data[115])
|
||||
try:
|
||||
tel.attrib['DGBM8D04'] = (data [116] << 8) + data [117]
|
||||
except:
|
||||
print ("Debug-DGBM8D04", data[116], data[117])
|
||||
try:
|
||||
tel.attrib['DGBM8W04'] = (data [118] << 8) + data [119]
|
||||
except:
|
||||
print ("Debug-DGBM8W04", data[118], data[119])
|
||||
try:
|
||||
tel.attrib['DGBM8T04'] = (data [120] << 8) + data [121]
|
||||
except:
|
||||
print ("Debug-DGBM8T04", data[120], data[121])
|
||||
try:
|
||||
tel.attrib['NietM8F01'] = (data [142] << 8) + data [143]
|
||||
except:
|
||||
print ("Debug-NietM8F01", data[142], data[143])
|
||||
try:
|
||||
tel.attrib['NietM8S01'] = (data [144] << 8) + data [145]
|
||||
except:
|
||||
print ("Debug-NietM8S01", data[144], data[145])
|
||||
try:
|
||||
tel.attrib['NietM8F02'] = (data [146] << 8) + data [147]
|
||||
except:
|
||||
print ("Debug-NietM8F02", data[146], data[147])
|
||||
try:
|
||||
tel.attrib['NietM8S02'] = (data [148] << 8) + data [149]
|
||||
except:
|
||||
print ("Debug-NietM8S02", data[148], data[149])
|
||||
|
||||
#Bajonettclip Status
|
||||
#tel.attrib['bauteilstatusbajo'] = bauteilstatus.get (chr (data [160]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['bajostatus01'] = bearbeitungsstatus.get (chr (data [161]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['bajostatus02'] = bearbeitungsstatus.get (chr (data [162]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['bajostatus03'] = bearbeitungsstatus.get (chr (data [163]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['bajostatus04'] = bearbeitungsstatus.get (chr (data [164]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
|
||||
#CClip
|
||||
tel.attrib['clipstatus01'] = bearbeitungsstatus.get (chr (data [191]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus02'] = bearbeitungsstatus.get (chr (data [192]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus03'] = bearbeitungsstatus.get (chr (data [193]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus04'] = bearbeitungsstatus.get (chr (data [194]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus05'] = bearbeitungsstatus.get (chr (data [195]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus06'] = bearbeitungsstatus.get (chr (data [196]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus07'] = bearbeitungsstatus.get (chr (data [197]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus08'] = bearbeitungsstatus.get (chr (data [198]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus09'] = bearbeitungsstatus.get (chr (data [199]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus10'] = bearbeitungsstatus.get (chr (data [200]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus11'] = bearbeitungsstatus.get (chr (data [201]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus12'] = bearbeitungsstatus.get (chr (data [202]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus13'] = bearbeitungsstatus.get (chr (data [203]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus14'] = bearbeitungsstatus.get (chr (data [204]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus15'] = bearbeitungsstatus.get (chr (data [205]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus16'] = bearbeitungsstatus.get (chr (data [206]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus17'] = bearbeitungsstatus.get (chr (data [207]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['clipstatus18'] = bearbeitungsstatus.get (chr (data [208]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
|
||||
|
||||
#Masseblech
|
||||
#tel.attrib['bauteilstatus'] = bauteilstatus.get (chr (data [70]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['ausgleichselement'] = bearbeitungsstatus.get (chr (data [221]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['schallisolierung'] = bearbeitungsstatus.get (chr (data [222]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['masseblech'] = bearbeitungsstatus.get (chr (data [223]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['blindniet'] = bearbeitungsstatus.get (chr (data [224]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
tel.attrib['kombimutter'] = bearbeitungsstatus.get (chr (data [225]), '') #0 - unbearbeitet; 1 - iO; 2 - niO
|
||||
try:
|
||||
tel.attrib['fniet'] = (data [240] << 8) + data [241]
|
||||
except:
|
||||
print ("Debug-fniet", data[240], data[241])
|
||||
try:
|
||||
tel.attrib['sniet'] = (data [242] << 8) + data [243]
|
||||
except:
|
||||
print ("Debug-sniet", data[242], data[243])
|
||||
try:
|
||||
tel.attrib['mmutter'] = (data [244] << 8) + data [245]
|
||||
except:
|
||||
print ("Debug-mmutter", data[244], data[245])
|
||||
try:
|
||||
tel.attrib['dmutter'] = (data [246] << 8) + data [247]
|
||||
except:
|
||||
print ("Debug-dmutter", data[246], data[247])
|
||||
try:
|
||||
tel.attrib['wmutter'] = (data [248] << 8) + data [249]
|
||||
except:
|
||||
print ("Debug-wmutter", data[248], data[249])
|
||||
try:
|
||||
tel.attrib['tmutter'] = (data [250] << 8) + data [251]
|
||||
except:
|
||||
print ("Debug-tmutter", data[250], data[251])
|
||||
|
||||
tel.attrib['ladungstraeger'] = ''
|
||||
return tel
|
||||
|
||||
|
||||
class TEL_PD30 (TELEGRAM):
|
||||
def __init__ (self, nr = 0, src = '30', dst = 'PC', *args, **args2):
|
||||
TELEGRAM.__init__(self)
|
||||
self.code = TEL_PD30
|
||||
self.attrib['nr'] = nr
|
||||
self.attrib['src'] = src
|
||||
self.attrib['dst'] = dst
|
||||
self.attrib['type'] = 'PD30'
|
||||
self.attrib['startts'] = ''
|
||||
self.attrib['endts'] = ''
|
||||
self.attrib['dmc'] = ''
|
||||
self.attrib['ladungstraeger'] = ''
|
||||
|
||||
self.len = 2220908
|
||||
return
|
||||
|
||||
def identify (self):
|
||||
"""
|
||||
This method can be used to identify a TELEGRAM by string.
|
||||
"""
|
||||
return "PD30 TELEGRAM"
|
||||
|
||||
|
||||
def __repr__ (self):
|
||||
"""
|
||||
Print a representation of the TPDU. Use this method via
|
||||
`-pair to transfer it over the wire. This will just return
|
||||
the header data and not the real data!
|
||||
"""
|
||||
# Note that the data is not included in the length
|
||||
return "%c%c%c" % (2, self.code << 4, self.number) + self.data
|
||||
|
||||
def __str__ (self):
|
||||
"""
|
||||
Return a readable and quite verbose overview of the TPDU instance.
|
||||
Use this for debugging purposes or if you're just curious.
|
||||
"""
|
||||
return "Packet: %s Data: %s" % (self.identify (), repr (self.attrib))
|
||||
@@ -53,6 +53,10 @@ ipsps = 192.168.6.70
|
||||
name = Fillzelle
|
||||
ipsps = 192.168.6.210
|
||||
|
||||
[PD30]
|
||||
name = Handarbeit
|
||||
ipsps = 192.168.6.200
|
||||
|
||||
[PD98]
|
||||
name = Test
|
||||
ipsps = 192.168.1.150
|
||||
|
||||
419
bde.py
419
bde.py
@@ -140,8 +140,8 @@ class BDEServer ():
|
||||
raise Warning
|
||||
|
||||
self.message (1, "Connection : " + ipsps + "-" + name + " added " + mode)
|
||||
#Socket , Counter, Mode, StId, Name
|
||||
self.connections['TCP'][ipsps] = [None, 0, mode, stid, name]
|
||||
#Socket , Counterdict , Mode, StId, Name
|
||||
self.connections['TCP'][ipsps] = [None, {stid : 0, 'DM' + stid [2:] : 0}, mode, stid, name]
|
||||
|
||||
|
||||
def dt_handler (self, data, client_id, source = ''):
|
||||
@@ -165,11 +165,15 @@ class BDEServer ():
|
||||
if teltype == 'DM20' and self.connections[_channel][(client_id)][3] !='PD20':
|
||||
print ("Invalid Telegram from this Station")
|
||||
raise Warning
|
||||
if teltype == 'DM30' and self.connections[_channel][(client_id)][3] !='PD30':
|
||||
print ("Invalid Telegram from this Station")
|
||||
raise Warning
|
||||
|
||||
|
||||
DB_con = self.connections['DB']
|
||||
|
||||
# Do counter checking if a valid telegram arrived
|
||||
count_old = self.connections[_channel][(client_id)][1]
|
||||
count_old = self.connections[_channel][(client_id)][1][teltype]
|
||||
#if 'nr' in ret_val: FixMe add method to Telegram
|
||||
if ret_val.has_key('nr'):
|
||||
count = ret_val['nr']
|
||||
@@ -226,6 +230,51 @@ class BDEServer ():
|
||||
DB_con.addpruefzelle3 (ret_val)
|
||||
else:
|
||||
self.message (3, ' DT_handler : DONNOT Store Data from PD20 Pruefzelle Fill for %s' % ret_val['dmc'])
|
||||
elif teltype == 'PD30':
|
||||
self.message (3, ' DT_handler : Store Data from PD30 Nacharbeit for %s' % ret_val['dmc'])
|
||||
|
||||
elif teltype == 'DM30':
|
||||
self.message (3, ' DT_handler : Requested Data from PD30 Handmontage Scanner %s for %s' % (ret_val['position'], ret_val['dmc']))
|
||||
#1st Check if Part in Table
|
||||
_partinfo = []
|
||||
if (ret_val['dmc'] in ('G11', 'G32')):
|
||||
self.message (3, ' DT_handler : Found G11/G32 Data in BDE for %s' % ret_val['dmc'])
|
||||
_partinfo = DB_con.getbde (ret_val['dmc'])
|
||||
if ret_val['position'] == 'BC01':
|
||||
#Scanner BC01 Putzzelle
|
||||
#Teil anlegen und geputzt setzen
|
||||
if (ret_val['dmc'] in ('G11', 'G32')):
|
||||
if not len (_partinfo):
|
||||
self.message (3, ' DT_handler : Create G11/G32 Data from BC01 in BDE for %s' % ret_val['dmc'])
|
||||
DB_con.addbde (ret_val, anlage = 'Hand')
|
||||
self.message (3, ' DT_handler : Add Putzzellendata for G11/G32 from BC01 in BDE for %s' % ret_val['dmc'])
|
||||
ret_val['bauteilstatus'] = 'i.O.'
|
||||
ret_val['endts'] = ret_val['startts']
|
||||
DB_con.addputzzelle (ret_val)
|
||||
else:
|
||||
if len (_partinfo):
|
||||
if ret_val['position'] == 'BC02':
|
||||
#Scanner BC02 Chiron
|
||||
xx = 0
|
||||
elif ret_val['position'] == 'BC03':
|
||||
#Scanner BC03 Vormontage RR
|
||||
xx = 0
|
||||
elif ret_val['position'] == 'BC04':
|
||||
#Scanner BC04 WE
|
||||
if (ret_val['dmc'] in ('G11', 'G32')):
|
||||
if _partinfo[7] == 'n.Durchlaufen':
|
||||
self.message (3, ' DT_handler : Bad state G11/G32 at BC04 for %s' % ret_val['dmc'])
|
||||
_quit = 2
|
||||
else:
|
||||
self.message (3, ' DT_handler : Not G11/G32 at BC04 for %s' % ret_val['dmc'])
|
||||
_quit = 3
|
||||
elif ret_val['position'] in ('BC05', 'BC06', 'BC07'):
|
||||
if (ret_val['dmc'] in ('G11', 'G32')):
|
||||
print ('passt scho')
|
||||
else:
|
||||
#Part not found return error Code
|
||||
_quit = 1
|
||||
|
||||
elif teltype == 'PD99':
|
||||
self.message (3, ' DT_handler : Store Data from PD99 Chiron for %s' % ret_val['dmc'])
|
||||
DB_con.addchiron (ret_val)
|
||||
@@ -245,21 +294,28 @@ class BDEServer ():
|
||||
self.log (2, ' DT_handler : Tel count FAILED --> Synchronisation')
|
||||
_quit = 99
|
||||
|
||||
if _quit > -1 and teltype not in ('DM01', 'DM09', 'DM20'):
|
||||
# Prepare Quit teltgramm
|
||||
self.generatequit (count, _channel, client_id, teltype, ret_val ['src'], ret_val ['dst'], _quit)
|
||||
self.message (5, ' DT_handler : Quit Tel queued: Result: %d teltype %s' % (_quit, teltype))
|
||||
count_old = count
|
||||
self.connections[_channel][(client_id)][1] = count
|
||||
elif teltype == 'DM01':
|
||||
self.message (5, ' DT_handler : Send Lock Data Tel queued:"')
|
||||
self.generatelockdata (count, _channel, client_id, teltype, ret_val ['src'], ret_val ['dst'], ret_val['dmc'])
|
||||
elif teltype == 'DM09':
|
||||
self.message (5, ' DT_handler : Send PD Data Tel queued:"')
|
||||
self.generatepd (count, _channel, client_id, teltype, ret_val ['src'], ret_val ['dst'], ret_val['dmc'])
|
||||
elif teltype == 'DM20':
|
||||
self.message (5, ' DT_handler : Send PD Data Tel queued:"')
|
||||
self.generatepdfill (count, _channel, client_id, teltype, ret_val ['src'], ret_val ['dst'], ret_val['dmc'])
|
||||
if _quit > -1:
|
||||
if teltype not in ('DM01', 'DM09', 'DM20', 'DM30'):
|
||||
# Prepare Quit teltgramm
|
||||
self.generatequit (count, _channel, client_id, teltype, ret_val ['src'], ret_val ['dst'], _quit)
|
||||
self.message (5, ' DT_handler : Quit Tel queued: Result: %d teltype %s' % (_quit, teltype))
|
||||
elif teltype == 'DM01':
|
||||
self.message (5, ' DT_handler : Send Lock Data Tel queued:"')
|
||||
self.generatelockdata (count, _channel, client_id, teltype, ret_val ['src'], ret_val ['dst'], ret_val['dmc'])
|
||||
elif teltype == 'DM09':
|
||||
self.generatepd (count, _channel, client_id, teltype, ret_val ['src'], ret_val ['dst'], ret_val['dmc'])
|
||||
self.message (5, ' DT_handler : Send PD09 Data Tel queued:"')
|
||||
elif teltype == 'DM20':
|
||||
self.generatepdfill (count, _channel, client_id, teltype, ret_val ['src'], ret_val ['dst'], ret_val['dmc'])
|
||||
self.message (5, ' DT_handler : Send PD20 Data Tel queued:"')
|
||||
elif teltype == 'DM30':
|
||||
if ret_val['position'] in ('BC05', 'BC06', 'BC07'):
|
||||
self.generatepdg11 (count, _channel, client_id, teltype, ret_val ['src'], ret_val ['dst'], ret_val['dmc'], _quit)
|
||||
else:
|
||||
self.generatequit (count, _channel, client_id, teltype, ret_val ['src'], ret_val ['dst'], _quit)
|
||||
|
||||
#count_old = count
|
||||
self.connections[_channel][(client_id)][1][teltype] = count
|
||||
else:
|
||||
self.message (1,'"DT_Handler : unknown Telegram type, no Number')
|
||||
self.debug ()
|
||||
@@ -359,6 +415,331 @@ class BDEServer ():
|
||||
return
|
||||
|
||||
|
||||
def generatepdg11 (self, count, channel, client_id, msgtype, src, dst, dmc, quit):
|
||||
"""
|
||||
Generate an PD30 telegram for G11 qith quit code and queue it
|
||||
"""
|
||||
DB_con = self.connections['DB']
|
||||
|
||||
self. message (3, " generatepd : generate PD30 G11 Telegram for %s on channel %s, dmc %s" % (msgtype, channel, dmc))
|
||||
#Fillword
|
||||
_data = bytes ([1]) + bytes ([1]) + bytes ([((count >> 8) & 0xFF)]) + bytes ([(count & 0xFF)])
|
||||
_dataheader = \
|
||||
doublechar (src) +\
|
||||
doublechar (dst) +\
|
||||
msgtype + + (4 - len(dmc)) * ' '
|
||||
_datastate = bytes ([0]) + bytes ([quit % 256])
|
||||
|
||||
_dmc = dmc + (28 - len(dmc)) * ' '
|
||||
_start = 14 * ' '
|
||||
#Bde Daten holen
|
||||
bde = DB_con.getbde (dmc)
|
||||
_typ = ' '.encode ()
|
||||
_var = ' '.encode ()
|
||||
_putz = ' '
|
||||
if len (bde):
|
||||
dmc1, startts, endts, ladungstraeger, seriennr, variante, pruefzelle1, putzzelle, chiron, blindniet, bajonettclip, cclip, masseblech, pruefzelle2, nacharbeit, csv, pruefzelle3, gesamtstatus = bde [0]
|
||||
_t = 0
|
||||
if 'G11' in variante:
|
||||
_typ = bytes ([1]) + bytes ([0])
|
||||
_t = 1
|
||||
elif 'G3' in variante:
|
||||
_typ = bytes ([2]) + bytes ([0])
|
||||
_t = 2
|
||||
|
||||
_rl = 0
|
||||
if 'RL' in variante:
|
||||
_rl = 1
|
||||
|
||||
if 'HUD' in variante:
|
||||
_var = bytes ([_rl + 2]) + bytes ([0])
|
||||
else:
|
||||
_var = bytes ([_rl]) + bytes ([0])
|
||||
|
||||
_putz = bauteilstatusRev.get (putzzelle)
|
||||
|
||||
bn = DB_con.getblindniet (dmc)
|
||||
_NietM8st01 = ' '
|
||||
_NietM8st02 = ' '
|
||||
_DGBM8st01 = ' '
|
||||
_DGBM8st02 = ' '
|
||||
_DGBM8st03 = ' '
|
||||
_DGBM8st04 = ' '
|
||||
_NietM6st01 = ' '
|
||||
_NietM6st02 = ' '
|
||||
_NietM6st03 = ' '
|
||||
_NietM6st04 = ' '
|
||||
_NietM6st05 = ' '
|
||||
_DGBM8M01 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8D01 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8W01 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8T01 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8M02 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8D02 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8W02 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8T02 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8M03 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8D03 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8W03 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8T03 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8M04 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8D04 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8W04 = bytes ([0]) + bytes ([0])
|
||||
_DGBM8T04 = bytes ([0]) + bytes ([0])
|
||||
_NietM8F01 = bytes ([0]) + bytes ([0])
|
||||
_NietM8S01 = bytes ([0]) + bytes ([0])
|
||||
_NietM8F02 = bytes ([0]) + bytes ([0])
|
||||
_NietM8S02 = bytes ([0]) + bytes ([0])
|
||||
_NietM6F01 = bytes ([0]) + bytes ([0])
|
||||
_NietM6S01 = bytes ([0]) + bytes ([0])
|
||||
_NietM6F02 = bytes ([0]) + bytes ([0])
|
||||
_NietM6S02 = bytes ([0]) + bytes ([0])
|
||||
_NietM6F03 = bytes ([0]) + bytes ([0])
|
||||
_NietM6S03 = bytes ([0]) + bytes ([0])
|
||||
_NietM6F04 = bytes ([0]) + bytes ([0])
|
||||
_NietM6S04 = bytes ([0]) + bytes ([0])
|
||||
_NietM6F05 = bytes ([0]) + bytes ([0])
|
||||
_NietM6S05 = bytes ([0]) + bytes ([0])
|
||||
|
||||
if len (bn):
|
||||
dmc1, 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 = bn [0]
|
||||
|
||||
_NietM8st01 = bearbeitungstatusRev.get (NietM8status01)
|
||||
_NietM8st02 = bearbeitungstatusRev.get (NietM8status02)
|
||||
_DGBM8st01 = bearbeitungstatusRev.get (DGBM8status01)
|
||||
_DGBM8st02 = bearbeitungstatusRev.get (DGBM8status02)
|
||||
_DGBM8st03 = bearbeitungstatusRev.get (DGBM8status03)
|
||||
_DGBM8st04 = bearbeitungstatusRev.get (DGBM8status04)
|
||||
_NietM6st01 = bearbeitungstatusRev.get (NietM6status01)
|
||||
_NietM6st02 = bearbeitungstatusRev.get (NietM6status02)
|
||||
_NietM6st03 = bearbeitungstatusRev.get (NietM6status03)
|
||||
_NietM6st04 = bearbeitungstatusRev.get (NietM6status04)
|
||||
_NietM6st05 = bearbeitungstatusRev.get (NietM6status05)
|
||||
_DGBM8M01 = bytes ([((DGBM8M01 >> 8) & 0xFF)]) + bytes ([(DGBM8M01 & 0xFF)])
|
||||
_DGBM8D01 = bytes ([((DGBM8D01 >> 8) & 0xFF)]) + bytes ([(DGBM8D01 & 0xFF)])
|
||||
_DGBM8W01 = bytes ([((DGBM8W01 >> 8) & 0xFF)]) + bytes ([(DGBM8W01 & 0xFF)])
|
||||
_DGBM8T01 = bytes ([((DGBM8T01 >> 8) & 0xFF)]) + bytes ([(DGBM8T01 & 0xFF)])
|
||||
_DGBM8M02 = bytes ([((DGBM8M02 >> 8) & 0xFF)]) + bytes ([(DGBM8M02 & 0xFF)])
|
||||
_DGBM8D02 = bytes ([((DGBM8D02 >> 8) & 0xFF)]) + bytes ([(DGBM8D02 & 0xFF)])
|
||||
_DGBM8W02 = bytes ([((DGBM8W02 >> 8) & 0xFF)]) + bytes ([(DGBM8W02 & 0xFF)])
|
||||
_DGBM8T02 = bytes ([((DGBM8T02 >> 8) & 0xFF)]) + bytes ([(DGBM8T02 & 0xFF)])
|
||||
_DGBM8M03 = bytes ([((DGBM8M03 >> 8) & 0xFF)]) + bytes ([(DGBM8M03 & 0xFF)])
|
||||
_DGBM8D03 = bytes ([((DGBM8D03 >> 8) & 0xFF)]) + bytes ([(DGBM8D03 & 0xFF)])
|
||||
_DGBM8W03 = bytes ([((DGBM8W03 >> 8) & 0xFF)]) + bytes ([(DGBM8W03 & 0xFF)])
|
||||
_DGBM8T03 = bytes ([((DGBM8T03 >> 8) & 0xFF)]) + bytes ([(DGBM8T03 & 0xFF)])
|
||||
_DGBM8M04 = bytes ([((DGBM8M04 >> 8) & 0xFF)]) + bytes ([(DGBM8M04 & 0xFF)])
|
||||
_DGBM8D04 = bytes ([((DGBM8D04 >> 8) & 0xFF)]) + bytes ([(DGBM8D04 & 0xFF)])
|
||||
_DGBM8W04 = bytes ([((DGBM8W04 >> 8) & 0xFF)]) + bytes ([(DGBM8W04 & 0xFF)])
|
||||
_DGBM8T04 = bytes ([((DGBM8T04 >> 8) & 0xFF)]) + bytes ([(DGBM8T04 & 0xFF)])
|
||||
_NietM8F01 = bytes ([((NietM8F01 >> 8) & 0xFF)]) + bytes ([(NietM8F01 & 0xFF)])
|
||||
_NietM8S01 = bytes ([((NietM8S01 >> 8) & 0xFF)]) + bytes ([(NietM8S01 & 0xFF)])
|
||||
_NietM8F02 = bytes ([((NietM8F02 >> 8) & 0xFF)]) + bytes ([(NietM8F02 & 0xFF)])
|
||||
_NietM8S02 = bytes ([((NietM8S02 >> 8) & 0xFF)]) + bytes ([(NietM8S02 & 0xFF)])
|
||||
_NietM6F01 = bytes ([((NietM6F01 >> 8) & 0xFF)]) + bytes ([(NietM6F01 & 0xFF)])
|
||||
_NietM6S01 = bytes ([((NietM6S01 >> 8) & 0xFF)]) + bytes ([(NietM6S01 & 0xFF)])
|
||||
_NietM6F02 = bytes ([((NietM6F02 >> 8) & 0xFF)]) + bytes ([(NietM6F02 & 0xFF)])
|
||||
_NietM6S02 = bytes ([((NietM6S02 >> 8) & 0xFF)]) + bytes ([(NietM6S02 & 0xFF)])
|
||||
_NietM6F03 = bytes ([((NietM6F03 >> 8) & 0xFF)]) + bytes ([(NietM6F03 & 0xFF)])
|
||||
_NietM6S03 = bytes ([((NietM6S03 >> 8) & 0xFF)]) + bytes ([(NietM6S03 & 0xFF)])
|
||||
_NietM6F04 = bytes ([((NietM6F04 >> 8) & 0xFF)]) + bytes ([(NietM6F04 & 0xFF)])
|
||||
_NietM6S04 = bytes ([((NietM6S04 >> 8) & 0xFF)]) + bytes ([(NietM6S04 & 0xFF)])
|
||||
_NietM6F05 = bytes ([((NietM6F05 >> 8) & 0xFF)]) + bytes ([(NietM6F05 & 0xFF)])
|
||||
_NietM6S05 = bytes ([((NietM6S05 >> 8) & 0xFF)]) + bytes ([(NietM6S05 & 0xFF)])
|
||||
|
||||
|
||||
bj = DB_con.getbajonettclip (dmc)
|
||||
_bj1 = ' '
|
||||
_bj2 = ' '
|
||||
_bj3 = ' '
|
||||
_bj4 = ' '
|
||||
if len (bj):
|
||||
dmc1, startts, endts, aufnahme, bajostatus01, bajostatus02, bajostatus03, bajostatus04 = bj [0]
|
||||
_bj1 = bearbeitungstatusRev.get (bajostatus01)
|
||||
_bj2 = bearbeitungstatusRev.get (bajostatus02)
|
||||
_bj3 = bearbeitungstatusRev.get (bajostatus03)
|
||||
_bj4 = bearbeitungstatusRev.get (bajostatus04)
|
||||
|
||||
|
||||
cc = DB_con.getcclip (dmc)
|
||||
_ccs1 = ' '
|
||||
_ccs2 = ' '
|
||||
_ccs3 = ' '
|
||||
_ccs4 = ' '
|
||||
_ccs5 = ' '
|
||||
_ccs6 = ' '
|
||||
_ccs7 = ' '
|
||||
_ccs8 = ' '
|
||||
_ccs9 = ' '
|
||||
_ccs10 = ' '
|
||||
_ccs11 = ' '
|
||||
_ccs12 = ' '
|
||||
_ccs13 = ' '
|
||||
_ccs14 = ' '
|
||||
_ccs15 = ' '
|
||||
_ccs16 = ' '
|
||||
_ccs17 = ' '
|
||||
_ccs18 = ' '
|
||||
_ccs19 = ' '
|
||||
_ccs20 = ' '
|
||||
_ccs21 = ' '
|
||||
_ccs22 = ' '
|
||||
_ccs23 = ' '
|
||||
_ccs24 = ' '
|
||||
_ccs25 = ' '
|
||||
_ccs26 = ' '
|
||||
_ccs27 = ' '
|
||||
_ccs28 = ' '
|
||||
_ccs29 = ' '
|
||||
|
||||
if len (cc):
|
||||
dmc1, startts, endts, aufnahme, clipstatus01, clipstatus02, clipstatus03, clipstatus04, clipstatus05, clipstatus06, clipstatus07, clipstatus08, clipstatus09, clipstatus10, clipstatus11, clipstatus12, clipstatus13, clipstatus14, clipstatus15, clipstatus16, clipstatus17, clipstatus18 = cc [0]
|
||||
_ccs1 = bearbeitungstatusRev.get (clipstatus01)
|
||||
_ccs2 = bearbeitungstatusRev.get (clipstatus02)
|
||||
_ccs3 = bearbeitungstatusRev.get (clipstatus03)
|
||||
_ccs4 = bearbeitungstatusRev.get (clipstatus04)
|
||||
_ccs5 = bearbeitungstatusRev.get (clipstatus05)
|
||||
_ccs6 = bearbeitungstatusRev.get (clipstatus06)
|
||||
_ccs7 = bearbeitungstatusRev.get (clipstatus07)
|
||||
_ccs8 = bearbeitungstatusRev.get (clipstatus08)
|
||||
_ccs9 = bearbeitungstatusRev.get (clipstatus09)
|
||||
_ccs10 = bearbeitungstatusRev.get (clipstatus10)
|
||||
_ccs11 = bearbeitungstatusRev.get (clipstatus11)
|
||||
_ccs12 = bearbeitungstatusRev.get (clipstatus12)
|
||||
_ccs13 = bearbeitungstatusRev.get (clipstatus13)
|
||||
_ccs14 = bearbeitungstatusRev.get (clipstatus14)
|
||||
_ccs15 = bearbeitungstatusRev.get (clipstatus15)
|
||||
_ccs16 = bearbeitungstatusRev.get (clipstatus16)
|
||||
_ccs17 = bearbeitungstatusRev.get (clipstatus17)
|
||||
_ccs18 = bearbeitungstatusRev.get (clipstatus18)
|
||||
|
||||
|
||||
mb = DB_con.getmasseblech (dmc)
|
||||
_ae = ' '
|
||||
_se = ' '
|
||||
_mb = ' '
|
||||
_bl = ' '
|
||||
_km = ' '
|
||||
_fniet = bytes ([0]) + bytes ([0])
|
||||
_sniet = bytes ([0]) + bytes ([0])
|
||||
_mmutter = bytes ([0]) + bytes ([0])
|
||||
_dmutter = bytes ([0]) + bytes ([0])
|
||||
_wmutter = bytes ([0]) + bytes ([0])
|
||||
_tmutter = bytes ([0]) + bytes ([0])
|
||||
|
||||
if len (mb):
|
||||
dmc1, startts, endts, ausgleichselement, schallisolierung, masseblech, blindniet, kombimutter, fniet, sniet, mmutter, dmutter, wmutter, tmutter = mb [0]
|
||||
_ae = bearbeitungstatusRev.get (ausgleichselement)
|
||||
_se = bearbeitungstatusRev.get (schallisolierung)
|
||||
_mb = bearbeitungstatusRev.get (masseblech)
|
||||
_bl = bearbeitungstatusRev.get (blindniet)
|
||||
_km = bearbeitungstatusRev.get (kombimutter)
|
||||
_fniet = bytes ([((fniet >> 8) & 0xFF)]) + bytes ([(fniet & 0xFF)])
|
||||
_sniet = bytes ([((sniet >> 8) & 0xFF)]) + bytes ([(sniet & 0xFF)])
|
||||
_mmutter = bytes ([((mmutter >> 8) & 0xFF)]) + bytes ([(mmutter & 0xFF)])
|
||||
_dmutter = bytes ([((dmutter >> 8) & 0xFF)]) + bytes ([(dmutter & 0xFF)])
|
||||
_wmutter = bytes ([((wmutter >> 8) & 0xFF)]) + bytes ([(wmutter & 0xFF)])
|
||||
_tmutter = bytes ([((tmutter >> 8) & 0xFF)]) + bytes ([(tmutter & 0xFF)])
|
||||
|
||||
|
||||
#RRSpezifisch
|
||||
_BNMM8st01 = ' '
|
||||
_BNMM8st02 = ' '
|
||||
_BNMM8st03 = ' '
|
||||
_BNMM8st04 = ' '
|
||||
_BNMM8F01 = bytes ([0]) + bytes ([0])
|
||||
_BNMM8F02 = bytes ([0]) + bytes ([0])
|
||||
_BNMM8F03 = bytes ([0]) + bytes ([0])
|
||||
_BNMM8F04 = bytes ([0]) + bytes ([0])
|
||||
_BNMM8S01 = bytes ([0]) + bytes ([0])
|
||||
_BNMM8S02 = bytes ([0]) + bytes ([0])
|
||||
_BNMM8S03 = bytes ([0]) + bytes ([0])
|
||||
_BNMM8S04 = bytes ([0]) + bytes ([0])
|
||||
|
||||
_6KSM8st01 = ' '
|
||||
_6KSM8st02 = ' '
|
||||
_6KSM8st03 = ' '
|
||||
_6KSM8st04 = ' '
|
||||
_6KSM8M01 = bytes ([0]) + bytes ([0])
|
||||
_6KSM8M02 = bytes ([0]) + bytes ([0])
|
||||
_6KSM8M03 = bytes ([0]) + bytes ([0])
|
||||
_6KSM8M04 = bytes ([0]) + bytes ([0])
|
||||
_6KSM8W01 = bytes ([0]) + bytes ([0])
|
||||
_6KSM8W02 = bytes ([0]) + bytes ([0])
|
||||
_6KSM8W03 = bytes ([0]) + bytes ([0])
|
||||
_6KSM8W04 = bytes ([0]) + bytes ([0])
|
||||
_Blechst01 = ' '
|
||||
_Blechst02 = ' '
|
||||
_Blechst03 = ' '
|
||||
_Blechst04 = ' '
|
||||
_LSKst01 = ' '
|
||||
_LSKst02 = ' '
|
||||
_LSKst03 = ' '
|
||||
_LSKst04 = ' '
|
||||
_ODBst = ' '
|
||||
_ODBSst = ' '
|
||||
_Filzst01 = ' '
|
||||
_Filzst02 = ' '
|
||||
_Filzst03 = ' '
|
||||
_Filzst04 = ' '
|
||||
_Bohrungst01 = ' '
|
||||
_Bohrungst02 = ' '
|
||||
_Bohrungst03 = ' '
|
||||
_Bohrungst04 = ' '
|
||||
_Bohrungst05 = ' '
|
||||
_Bohrungst06 = ' '
|
||||
_Bohrungst07 = ' '
|
||||
_Bohrungst08 = ' '
|
||||
_BTStatus = ' '
|
||||
_UserID = bytes ([0]) + bytes ([0])
|
||||
|
||||
_space1 = ' '
|
||||
|
||||
_data += _dataheader.encode () + _datastate +\
|
||||
_dmc.encode () + _start.encode () + _typ + _var + _putz.encode () + _space1.encode () +\
|
||||
_NietM6st01.encode () + _space1.encode () + _NietM6F01 + _NietM6S01 +\
|
||||
_NietM6st02.encode () + _space1.encode () + _NietM6F02 + _NietM6S01 +\
|
||||
_NietM6st03.encode () + _space1.encode () + _NietM6F03 + _NietM6S01 +\
|
||||
_NietM6st04.encode () + _space1.encode () + _NietM6F04 + _NietM6S01 +\
|
||||
_NietM6st05.encode () + _space1.encode () + _NietM6F05 + _NietM6S01 +\
|
||||
_DGBM8st01.encode () + _space1.encode () + _DGBM8M01 + _DGBM8W01 + _DGBM8D01 + _DGBM8T01 +\
|
||||
_DGBM8st02.encode () + _space1.encode () + _DGBM8M02 + _DGBM8W02 + _DGBM8D02 + _DGBM8T02 +\
|
||||
_DGBM8st03.encode () + _space1.encode () + _DGBM8M03 + _DGBM8W03 + _DGBM8D03 + _DGBM8T03 +\
|
||||
_DGBM8st04.encode () + _space1.encode () + _DGBM8M04 + _DGBM8W04 + _DGBM8D04 + _DGBM8T04 +\
|
||||
_NietM8st01.encode () + _space1.encode () + _NietM8F01 + _NietM8S01 +\
|
||||
_NietM8st02.encode () + _space1.encode () + _NietM8F02 + _NietM8S02 +\
|
||||
_bj1.encode () + _bj2.encode () + _bj3.encode () + _bj4.encode () +\
|
||||
_ccs1.encode () + _ccs2.encode () + _ccs3.encode () + _ccs4.encode () + _ccs5.encode () +\
|
||||
_ccs6.encode () + _ccs7.encode () + _ccs8.encode () + _ccs9.encode () + _ccs10.encode () +\
|
||||
_ccs11.encode () + _ccs12.encode () + _ccs13.encode () + _ccs14.encode () + _ccs15.encode () +\
|
||||
_ccs16.encode () + _ccs17.encode () + _ccs18.encode () + _ccs19.encode () + _ccs20.encode () +\
|
||||
_ccs21.encode () + _ccs22.encode () + _ccs23.encode () + _ccs24.encode () + _ccs25.encode () +\
|
||||
_ccs26.encode () + _ccs27.encode () + _ccs28.encode () + _ccs29.encode () + _space1.encode () +\
|
||||
_bl.encode () + _space1.encode () + _fniet + _sniet +\
|
||||
_km.encode () + _space1.encode () + _mmutter + _wmutter + _dmutter + _tmutter +\
|
||||
_mb.encode () + _ae.encode () + _se.encode () + _space1.encode () +\
|
||||
_BNMM8st01.encode () + _space1.encode () + _BNMM8F01 + _BNMM8S01 +\
|
||||
_BNMM8st02.encode () + _space1.encode () + _BNMM8F02 + _BNMM8S02 +\
|
||||
_BNMM8st03.encode () + _space1.encode () + _BNMM8F03 + _BNMM8S03 +\
|
||||
_BNMM8st04.encode () + _space1.encode () + _BNMM8F04 + _BNMM8S04 +\
|
||||
_6KSM8st01.encode () + _space1.encode () + _6KSM8M01 + _6KSM8W01 +\
|
||||
_6KSM8st02.encode () + _space1.encode () + _6KSM8M02 + _6KSM8W02 +\
|
||||
_6KSM8st03.encode () + _space1.encode () + _6KSM8M03 + _6KSM8W03 +\
|
||||
_6KSM8st04.encode () + _space1.encode () + _6KSM8M04 + _6KSM8W04 +\
|
||||
_Blechst01.encode () + _Blechst02.encode () + _Blechst03.encode () + _Blechst04.encode () +\
|
||||
_LSKst01.encode () + _LSKst02.encode () + _LSKst03.encode () + _LSKst04.encode () +\
|
||||
_ODBst.encode () + _ODBSst.encode () +\
|
||||
_Filzst01.encode () + _Filzst02.encode () + _Filzst03.encode () + _Filzst04.encode () +\
|
||||
_Bohrungst01.encode () + _Bohrungst02.encode () + _Bohrungst03.encode () + _Bohrungst04.encode () +\
|
||||
_Bohrungst05.encode () + _Bohrungst06.encode () + _Bohrungst07.encode () + _Bohrungst08.encode () +\
|
||||
_BTStatus.encode () + _space1.encode () + \
|
||||
_UserID
|
||||
|
||||
#print (_data[1:30])
|
||||
|
||||
self.queue_add (channel, client_id, msgtype, _data)
|
||||
return
|
||||
|
||||
|
||||
def generatepd (self, count, channel, client_id, msgtype, src, dst, dmc):
|
||||
"""
|
||||
Generate an QUIT telegram and send it
|
||||
@@ -874,7 +1255,7 @@ if __name__ == '__main__':
|
||||
|
||||
|
||||
server = BDEServer (address = IP_BDE, verbose = loglevel, debug = debuglevel, DB = (DBFILE, DBTALOG) )
|
||||
for i in chain (range (1, 11), range (20, 21), range (98,100)):
|
||||
for i in chain (range (1, 11), range (20, 21), range (30, 31), range (98,100)):
|
||||
IPPLC = config.get ('PD%02d' % i , 'ipsps')
|
||||
if not IPPLC:
|
||||
print ('No IP for PD%02d' % i)
|
||||
|
||||
56
bde_tst.py
56
bde_tst.py
@@ -1,56 +0,0 @@
|
||||
#! /usr/bin/python3
|
||||
from socket import *
|
||||
from select import select
|
||||
import sys, os
|
||||
import pdb
|
||||
from datetime import datetime
|
||||
import tel_decode
|
||||
def log (msg):
|
||||
"""
|
||||
Print message if in verbose mode.
|
||||
"""
|
||||
file = open ("log.txt", "a")
|
||||
dt = datetime.now ()
|
||||
file.write ("%4d-%02d-%02d %02d:%02d:%02d.%06d: " %(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.microsecond))
|
||||
file.write (msg + "\n")
|
||||
file.close ()
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
s = socket(AF_INET, SOCK_STREAM)
|
||||
s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1)
|
||||
print ("got Socket", s)
|
||||
#s.bind(("192.168.2.2", 2002))
|
||||
s.bind(("0.0.0.0", 2002))
|
||||
#s.bind(("192.168.6.254", 2002))
|
||||
s.listen (1)
|
||||
# Select free sockets for transmission
|
||||
read = [s]
|
||||
writes = []
|
||||
while 1:
|
||||
(reads, writes, xlist) = select (read, writes, [], 0.1)
|
||||
|
||||
# First write all remaining messages
|
||||
for conn in writes:
|
||||
#conn.send ('LEBELVTRAB')
|
||||
writes = []
|
||||
|
||||
# Then read all remaining messages from ready sockets
|
||||
for conn in reads:
|
||||
if conn == s:
|
||||
try:
|
||||
print ("Connection Request on Listener Socket")
|
||||
cs, client = conn.accept ()
|
||||
print ("Client" , client)
|
||||
read.append (cs)
|
||||
print ("Read Sockets", read)
|
||||
except:
|
||||
print ("No Connection")
|
||||
|
||||
else:
|
||||
data = conn.recv (16384)
|
||||
if data:
|
||||
writes = [conn]
|
||||
print (len (data), data)
|
||||
telegram = tel_decode.decodetelegram (data)
|
||||
print (telegram)
|
||||
@@ -26,9 +26,13 @@ CREATE TABLE bde (
|
||||
nacharbeit char(25) NOT NULL default 'n.Durchlaufen',
|
||||
pruefzelle3 char(25) NOT NULL default 'n.Durchlaufen',
|
||||
gesamtstatus char(25) NOT NULL default 'n.Durchlaufen',
|
||||
anlage char(25) NOT NULL default 'Anlage',
|
||||
userid INTEGER NOT NULL default 0,
|
||||
csv integer NOT NULL default 0
|
||||
);
|
||||
|
||||
alter table bde add anlage char(25) NOT NULL default 'Anlage';
|
||||
alter table bde add userid INTEGER NOT NULL default 0;
|
||||
|
||||
CREATE TABLE blindniet (
|
||||
dmc char(25) UNIQUE,
|
||||
|
||||
@@ -58,6 +58,15 @@ def decode_PD20 (data):
|
||||
from PD20_tel import fromstring
|
||||
return fromstring (data)
|
||||
|
||||
def decode_DM30 (data):
|
||||
from DM30_tel import fromstring
|
||||
return fromstring (data)
|
||||
|
||||
def decode_PD30 (data):
|
||||
from PD30_tel import fromstring
|
||||
return fromstring (data)
|
||||
|
||||
|
||||
def decode_PD98 (data):
|
||||
from PD98_tel import fromstring
|
||||
return fromstring (data)
|
||||
@@ -87,6 +96,8 @@ b'PD99': decode_PD99,
|
||||
b'PD10': decode_PD10,
|
||||
b'DM20': decode_DM20,
|
||||
b'PD20': decode_PD20,
|
||||
b'DM30': decode_DM30,
|
||||
b'PD30': decode_PD30,
|
||||
b'STAT': decode_STAT
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ TEL_PD08 = 0x8 # Masseblech
|
||||
TEL_PD09 = 0x9 # Nacharbeit
|
||||
TEL_PD10 = 0xa # Messzelle2
|
||||
TEL_PD20 = 0xa # Messzelle Fill
|
||||
TEL_PD30 = 0xa # Handarbeit
|
||||
TEL_PD98 = 0xb # TestSPS
|
||||
TEL_PD99 = 0xc # Zentrale
|
||||
|
||||
@@ -27,6 +28,7 @@ TEL_QUIT = 0xf #
|
||||
TEL_DM09 = 0x01 # Nacharbeit
|
||||
TEL_DM01 = 0x02 # DMC Messzelle 1
|
||||
TEL_DM20 = 0x0a # DMC Messzelle Finn
|
||||
TEL_DM30 = 0x0a # DMC Handarbeit
|
||||
#Helper
|
||||
def tsdecode (data):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user