Filter.py aufgeräumt, modbus erweitert syncronisiert jetzt die zeit, pCahrger speichert zählerstand pro dose

This commit is contained in:
Philipp Rauch 2014-02-12 10:12:51 +01:00
parent 4512f2b3dc
commit 6edf4bb90f
3 changed files with 12 additions and 5 deletions

View file

@ -11,7 +11,6 @@ from Sym2Lib import Add2Adapter, get_DataFrameDict
from datetime import datetime from datetime import datetime
from time import sleep from time import sleep
from threading import Thread from threading import Thread
from Queue import Queue
from pandas import DataFrame from pandas import DataFrame
from profile.database import Database from profile.database import Database
@ -32,7 +31,6 @@ class CANFilter(Thread):
def __init__(self, conf): def __init__(self, conf):
Thread.__init__(self) Thread.__init__(self)
self.conf = conf self.conf = conf
self.queue = Queue()
### init DB ### ### init DB ###
self.db = Database() self.db = Database()
@ -60,9 +58,6 @@ class CANFilter(Thread):
self.symList.append(get_DataFrameDict(sym)) self.symList.append(get_DataFrameDict(sym))
Add2Adapter(self.pcan, sym) Add2Adapter(self.pcan, sym)
def mean(self, l):
return float(sum(l))/len(l) if len(l) > 0 else 0
def run(self): def run(self):
while True: while True:
receiveMessageName = self.pcan.receiveMessage() receiveMessageName = self.pcan.receiveMessage()

View file

@ -5,6 +5,7 @@ Created on 05.12.2013
''' '''
from pymodbus.client.sync import ModbusTcpClient from pymodbus.client.sync import ModbusTcpClient
from datetime import datetime from datetime import datetime
import time
from profile.datasheet import Datasheet from profile.datasheet import Datasheet
import struct import struct
@ -24,6 +25,7 @@ def setup(conf):
### CONNECT ### ### CONNECT ###
for PAC in PACS[1::]: for PAC in PACS[1::]:
PAC.connect() PAC.connect()
_set_time(PAC)
return PACS return PACS
@ -83,6 +85,12 @@ def _to_float(reg):
s = struct.pack('=i', tmp) s = struct.pack('=i', tmp)
return struct.unpack('=f', s)[0] return struct.unpack('=f', s)[0]
def _set_time(PAC):
stamp = time.time()
high = int(int(stamp) >> 16)
low = int(int(stamp) & int(0xFFFF))
PAC.write_registers(797, (high, low))
def close(PACS): def close(PACS):
### CLOSE ### ### CLOSE ###
for PAC in PACS[1::]: for PAC in PACS[1::]:

View file

@ -127,5 +127,9 @@ for i in range(tmp.index[-1]+1):
if cur[x['pillarID']][x['plug']] < x['meterreading']: if cur[x['pillarID']][x['plug']] < x['meterreading']:
cur[x['pillarID']][x['plug']] = x['meterreading'] cur[x['pillarID']][x['plug']] = x['meterreading']
tmp.loc[i, 'global'] = sum(list(cur)) tmp.loc[i, 'global'] = sum(list(cur))
for item in range(len(list(cur))):
col = '%s_%s' % (cur.index.levels[0][cur.index.labels[0][item]], cur.index.levels[1][cur.index.labels[1][item]])
tmp.loc[i, col] = list(cur)[item]
pass
db.writeDatabase('pCharger', tmp, bClear = False) db.writeDatabase('pCharger', tmp, bClear = False)