modbus modul hinzugefügt
CAN Nachrichten in config eingefügt Logik in CANFilter integriert
This commit is contained in:
parent
053dff064e
commit
149b702e05
9 changed files with 145 additions and 97 deletions
|
|
@ -37,41 +37,21 @@ class CANFilter(Thread):
|
|||
debug = self.conf['config_debug'])
|
||||
self.pcan.initialize()
|
||||
|
||||
dc_battery = CanMessage(0x3A4, 8, 50, 'dc_battery')
|
||||
dc_grid = CanMessage(0x3A5, 8, 50, 'dc_grid')
|
||||
dc_pv = CanMessage(0x3A6, 8, 50, 'dc_pv')
|
||||
dc_charging = CanMessage(0x3A7, 8, 50, 'dc_charger')
|
||||
for message in self.conf['can_messages']:
|
||||
self.pcan.addMessage(CanMessage(int(self.conf[message]['id'], 0), #hex-string to int
|
||||
int(self.conf[message]['length']),
|
||||
int(self.conf[message]['time']),
|
||||
message))
|
||||
print "Message: %s" % message
|
||||
for signal in self.conf["sig_%s" % message]:
|
||||
self.pcan.Messages[message].addSignal(CanSignal(int(self.conf[signal]['begin']),
|
||||
int(self.conf[signal]['length']),
|
||||
int(self.conf[signal]['offset']),
|
||||
float(self.conf[signal]['scaling']),
|
||||
int(self.conf[signal]['data']),
|
||||
signal))
|
||||
print " - %s" % signal
|
||||
|
||||
self.pcan.addMessage(dc_battery)
|
||||
self.pcan.addMessage(dc_grid)
|
||||
self.pcan.addMessage(dc_pv)
|
||||
self.pcan.addMessage(dc_charging)
|
||||
|
||||
current = CanSignal(0, 16, 0, 0.001, 0, 'current')
|
||||
voltage = CanSignal(16, 16, 0, 0.01, 0, 'voltage')
|
||||
soc = CanSignal(32, 11, 0, 0.05, 0, 'soc')
|
||||
isMaster = CanSignal(56, 1, 0, 1, 0, 'isMaster')
|
||||
isFeed = CanSignal(57, 1, 0, 1, 0, 'isFeed')
|
||||
isCharging = CanSignal(57, 1, 0, 1, 0, 'isCharging')
|
||||
isOn = CanSignal(58, 1, 0, 1, 0, 'isOn')
|
||||
|
||||
self.pcan.Messages['dc_battery'].addSignal( current )
|
||||
self.pcan.Messages['dc_battery'].addSignal( voltage )
|
||||
self.pcan.Messages['dc_battery'].addSignal( soc )
|
||||
self.pcan.Messages['dc_battery'].addSignal( isMaster )
|
||||
self.pcan.Messages['dc_battery'].addSignal( isCharging )
|
||||
|
||||
self.pcan.Messages['dc_grid'].addSignal( current )
|
||||
self.pcan.Messages['dc_grid'].addSignal( voltage )
|
||||
self.pcan.Messages['dc_grid'].addSignal( isMaster )
|
||||
self.pcan.Messages['dc_grid'].addSignal( isFeed )
|
||||
self.pcan.Messages['dc_grid'].addSignal( isOn )
|
||||
|
||||
self.pcan.Messages['dc_pv'].addSignal( current )
|
||||
self.pcan.Messages['dc_pv'].addSignal( voltage )
|
||||
|
||||
self.pcan.Messages['dc_charger'].addSignal( current )
|
||||
self.pcan.Messages['dc_charger'].addSignal( voltage )
|
||||
|
||||
def mean(self, l):
|
||||
return float(sum(l))/len(l) if len(l) > 0 else 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue