mirror of
https://github.com/uhi22/pyPLC.git
synced 2024-11-20 01:13:58 +00:00
feature: date and time in exilog
This commit is contained in:
parent
1788038e5c
commit
257e5afcb6
3 changed files with 21 additions and 10 deletions
|
@ -5,7 +5,7 @@
|
|||
- [ ] Encoder: PreChargeReq: is it possible to enable the units for EVTargetVoltage and EVTargetCurrent?
|
||||
- [ ] Find out, why Alpi reports CableCheckRes = Finished FAILED in v0.4
|
||||
- [ ] Find out, why Compleo ignores the PowerDeliveryReq START in v0.4
|
||||
- [ ] Add date/time into ExiLog
|
||||
- [x] Add date/time into ExiLog
|
||||
- [ ] PevMode: Add state transition in case of failed CableCheck
|
||||
- [x] PevMode: PreChargeReq: Fill EVRESSSOC, EVTargetVoltage, EVTargetCurrent
|
||||
- [x] PevMode: PowerDeliveryReq: Fill EVRESSSOC, Stop/Start
|
||||
|
@ -14,9 +14,9 @@
|
|||
- [ ] EvseMode: Fill V2G messages as far as needed, to convince the car to accept it.
|
||||
- [x] PevMode: Fill V2G messages as far as needed, to convince the charger to accept it.
|
||||
- [x] PevMode: Find out the SLAC issue on Supercharger and Compleo.
|
||||
- [ ] PevMode: Connect the inlet voltage measurement
|
||||
- [x] PevMode: Connect the inlet voltage measurement
|
||||
- [x] PevMode: Connect the control of CP
|
||||
- [ ] PevMode: Connect the control of Relay
|
||||
- [x] PevMode: Connect the control of Relay
|
||||
- [ ] docu: add link to evse which provides the 5% PWM)
|
||||
- [ ] docu: add hardwareInterface into software architecture puml
|
||||
- [ ] docu: create hardware architecture picture
|
||||
|
|
|
@ -243,21 +243,29 @@ def testReadExiFromSnifferFile():
|
|||
testDecoder(s, "DD", "")
|
||||
|
||||
def testReadExiFromExiLogFile():
|
||||
file1 = open('PevExiLog_2022-12-13_westparkAlpi_twice.txt', 'r')
|
||||
fileOut = open('PevExiLog_2022-12-13_westparkAlpi_twice.txt.decoded.txt', 'w')
|
||||
file1 = open('PevExiLog.txt', 'r')
|
||||
fileOut = open('PevExiLog.decoded.txt', 'w')
|
||||
# example: "ED 809a02004080c1014181c210b8"
|
||||
# example with timestamp: "2022-12-20T08:17:15.055755=ED 809a02004080c1014181c21198"
|
||||
Lines = file1.readlines()
|
||||
for myLine in Lines:
|
||||
if (myLine[1:3]=="D "): # it is DIN
|
||||
posOfEqual=myLine.find("=")
|
||||
if (posOfEqual>0):
|
||||
# we have an equal-sign. Take the string behind it.
|
||||
strToDecode=myLine[posOfEqual+1:]
|
||||
else:
|
||||
# no equal-sign. Take the complete line.
|
||||
strToDecode=myLine
|
||||
if (strToDecode[1:3]=="D "): # it is DIN
|
||||
posOfSpace=2
|
||||
s = myLine[posOfSpace+1:] # The part after the " " contains the EXI hex data.
|
||||
s = strToDecode[posOfSpace+1:] # The part after the " " contains the EXI hex data.
|
||||
s = s.replace(" ", "") # Remove blanks
|
||||
s = s.replace("\n", "") # Remove line feeds
|
||||
#print(s)
|
||||
decoded=exiDecode(s, "DD")
|
||||
print(decoded)
|
||||
print(myLine.replace("\n", "") + " means:", file=fileOut)
|
||||
print(decoded, file=fileOut)
|
||||
print(decoded, file=fileOut)
|
||||
fileOut.close()
|
||||
|
||||
def testTimeConsumption():
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
import pyPlcTcpSocket
|
||||
import time # for time.sleep()
|
||||
from datetime import datetime
|
||||
from helpers import prettyHexMessage, compactHexMessage
|
||||
from exiConnector import * # for EXI data handling/converting
|
||||
import json
|
||||
|
@ -43,14 +44,16 @@ class fsmPev():
|
|||
|
||||
def exiDecode(self, exidata, schema):
|
||||
s = compactHexMessage(exidata)
|
||||
self.exiLogFile.write(schema + " " + s +"\n") # write the EXI data to the exiLogFile
|
||||
strDateTime=datetime.today().strftime('%Y-%m-%dT%H:%M:%S.%f')
|
||||
self.exiLogFile.write(strDateTime + "=" + schema + " " + s +"\n") # write the EXI data to the exiLogFile
|
||||
return exiDecode(exidata, schema) # call the decoder
|
||||
|
||||
def exiEncode(self, input):
|
||||
schema = input[0:2]
|
||||
exidata = exiEncode(input) # call the encoder
|
||||
s = exidata # it is already a hex string
|
||||
self.exiLogFile.write(schema + " " + s +"\n") # write the EXI data to the exiLogFile
|
||||
strDateTime=datetime.today().strftime('%Y-%m-%dT%H:%M:%S.%f')
|
||||
self.exiLogFile.write(strDateTime + "=" + schema + " " + s +"\n") # write the EXI data to the exiLogFile
|
||||
return exidata
|
||||
|
||||
def sendChargeParameterDiscoveryReq(self):
|
||||
|
|
Loading…
Reference in a new issue