DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

CAN Converter

Hello,

 

i use DIAdem 11.1 Service Pack 1 and i have a problem when i try to convert CAN Data ( in Vector BLF Format) into TDM Files. Always when i start the conversion i get the following error message:

 

215 09:13:39 Error:

Error in <NoName(1).VBS> (Line: 48, Column: 5):

CAN Converter error: Cannot create TDM file with the extended settings. Refer to the DIAdem logfile for more information.

(Error confirmed with the "OK" key.)

216 09:15:38 Info:

The script is finished.

 

I use the following script for the conversion (but i get the same error message when i use the Convert Dialog):

 

Option Explicit  'Forces the explicit declaration of all the variables in a script. 
Dim aFoundFiles       'Array of logfiles
Dim iCount            'Counter for existing logfiles
Dim sLogFileFolder    'Logfile folder
Dim sDbcFileFolder    'Dbc file folder
Dim sResultFileFolder 'Result file folder (tdm)
Dim sLogFileExt       'Logfile extension
Dim sLogFileName      'Currently converted logfile

'Settings
Call CANToTDM.Clear()
CANToTDM.BusDbConfig.Name = "CAN converter configuration"
CANToTDM.BusDbConfig.Description = "Convert logfiles of one folder"
CANToTDM.ResultSettings.TimeFilter.Active = False
CANToTDM.ResultSettings.BusFilter.Active = False
CANToTDM.ResultSettings.SequenceChannel = True
CANToTDM.ResultSettings.EnumSubstitution = True

sLogFileFolder = "C:\Users\th75vo\Desktop\"
sDbcFileFolder = "C:\Program Files\Vector ICD2DBC\Bin\"
sResultFileFolder = "C:\Users\th75vo\Desktop\"
sLogFileExt = "*.blf"
CANToTDM.LogSettings.FileType = eLogFileTypeVBLF
Call CANToTDM.BusDbConfig.Buses.Add("CANBus1", 1)
Call CANToTDM.BusDbConfig.Buses("CANBus1").DbFiles.Add(sDbcFileFolder & "all.dbc")
Call CANToTDM.BusDbConfig.Buses.Add("CANBus2", 2)
Call CANToTDM.BusDbConfig.Buses("CANBus2").DbFiles.Add(sDbcFileFolder & "all.dbc")
Call CANToTDM.BusDbConfig.Buses.Add("CANBus3", 3)
Call CANToTDM.BusDbConfig.Buses("CANBus3").DbFiles.Add(sDbcFileFolder & "all.dbc")
Call CANToTDM.BusDbConfig.Buses.Add("CANBus4", 4)
Call CANToTDM.BusDbConfig.Buses("CANBus4").DbFiles.Add(sDbcFileFolder & "all.dbc")
' End of settings

'Convert files 
aFoundFiles = DirListGet(sLogFileFolder, sLogFileExt, "filename", "FullFilenames")
If IsArray(aFoundFiles) Then
  For iCount = Lbound(aFoundFiles) to Ubound(aFoundFiles)
    Call CANToTDM.LogSettings.LogFiles.RemoveAll
    Call CANToTDM.LogSettings.LogFiles.Add(aFoundFiles(iCount))
    sLogFileName = FileNameSplit(aFoundFiles(iCount),"N")
    CANToTDM.ResultSettings.ResultFile = sResultFileFolder & sLogFileName & ".tdm"
    Call CANToTDM.Convert()
  Next
End If

 

 

I have no idea what the reason for the error might be. The colleague who gave me the .blf logfile and the .dbc database files told me, that the conversion works fine for him on one pc, but on another pc he gets the same error message i get. Maybe you can help me?

 

Thank You,

Henning Paulsen

0 Kudos
Message 1 of 9
(6,522 Views)

Hello,

please have a look to the DIAdem log file. Could you please post the content of the Diadem log file from the last program start to the result of the conversion?

Best regards

Hans Beckers

 

0 Kudos
Message 2 of 9
(6,501 Views)

Hello,

 

here is the text from the logfile, it`s pretty much what i already posted. That`s part of my confusion, why does the logfile tell me to have a look at the logfile?

 

124  CAN Converter note: Started converting the following logfile: c:\Users\th75vo\Desktop\Test_0016_20022012_L8.blf
125  CAN Converter note: The number of data records is: 706134.
126  11:10:21 Error:
     CAN Converter error: Cannot create TDM file with the extended settings. Refer to the DIAdem logfile for more information.

 

Best regards,

Henning Paulsen

0 Kudos
Message 3 of 9
(6,495 Views)

Hello,

we didn't see such a behavior before. It might be, that the directory for the result files is write protected, or the disc space is to small.

 

The original error message is always displayed in the logfile. Therefor you find the sentence "Refer to the DIAdem logfile for more information".

But in your case no additional message is given.

 

You can get the whole settings of the can converter if you press "ctrl a" in the configuration dialog. It might be helpful, if you could paste this code to this forum.

 

Best regards

 

Hans Beckers

0 Kudos
Message 4 of 9
(6,469 Views)

Hello and thanks for your support!

 

The directory is not write protected and i have like 90GB of free disk space.

This is the code i get when i press "ctrl a" in the config dialog:

Call CANToTDM.Clear()
CANToTDM.LogSettings.FileType = eLogFileTypeVBLF
Call CANToTDM.LogSettings.LogFiles.Add("c:\Users\th75vo\Desktop\Test_0016_20022012_L8.blf")
CANToTDM.BusDbConfig.Name = "AllDBCfiles"
Call CANToTDM.BusDbConfig.Buses.Add("CAN1", 1)
Call CANToTDM.BusDbConfig.Buses("CAN1").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\all.dbc")
Call CANToTDM.BusDbConfig.Buses.Add("CAN2", 2)
Call CANToTDM.BusDbConfig.Buses("CAN2").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\all.dbc")
Call CANToTDM.BusDbConfig.Buses.Add("CAN3", 3)
Call CANToTDM.BusDbConfig.Buses("CAN3").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\all.dbc")
Call CANToTDM.BusDbConfig.Buses.Add("CAN4", 4)
Call CANToTDM.BusDbConfig.Buses("CAN4").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\all.dbc")
CANToTDM.ResultSettings.ResultFile = "c:\Users\th75vo\Desktop\CANresult\CANConverter.tdm"
CANToTDM.ResultSettings.SequenceChannel = False
CANToTDM.ResultSettings.TimeFilter.Active = False
CANToTDM.ResultSettings.BusFilter.Active = False
Call CANToTDM.Convert()

 

Do you have any idea what the "extended settings" are, to which the error message is refering?

 

EDIT: I did  just notice that a .tdx file with size 0 is created in the result directory (CANConverter.tdx in this case). Maybe that helps?

 

Best Regards,

 

Henning Paulsen

 

0 Kudos
Message 5 of 9
(6,454 Views)

Hello,

 

I have tested a conversion of blf files with DIAdem  11.1SP1 and it worked fine.

I offer you, to test this version against your files, if you are able to send them to me (ftp://ftp.ni.com.incoming). I need the DBC file and one blf file.

You could also test the conversion with the trial version of DIAdem 2011. You can get this version for a 30 day trial at: http://www.ni.com/diadem/try/

 

Best regards

 

Hans Beckers

 

0 Kudos
Message 6 of 9
(6,446 Views)

Hello,

 

i don`t have the possibility to send you the files over the ftp service. But i did just download the trial version of DIAdem 2011. The conversion works fine for me with this version!

 

But i guess i need to get it working with Version 11.1 SP1.

 

Best Regards,

 

Henning Paulsen

0 Kudos
Message 7 of 9
(6,441 Views)

Hello,

 

sorry for the double post. The only difference i see between the conversion in Version 2011 compard to Version 11.1SP1 is the IdMode that is set for the .dbc files. Maybe that makes an important difference?

 

Call CANToTDM.Clear()
CANToTDM.LogSettings.FileType = eLogFileTypeVBLF
Call CANToTDM.LogSettings.LogFiles.Add("c:\Users\th75vo\Desktop\Test_0016_20022012_L8.blf")
CANToTDM.BusDbConfig.Name = "Noname"
Call CANToTDM.BusDbConfig.Buses.Add("CAN1", 1)
Dim oDbFile
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN1").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CPIOM_H43_CAN_SCS_LH_CU.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN1").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CPIOM_H44_CAN_SCS_RH_CU.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN1").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CRDC_B10_SCS_CAN_SCS_2.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN1").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CRDC_B13_SCS_CAN_SCS_1.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Call CANToTDM.BusDbConfig.Buses.Add("CAN2", 2)
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN2").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CPIOM_H43_CAN_SCS_LH_CU.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN2").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CPIOM_H44_CAN_SCS_RH_CU.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN2").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CRDC_B10_SCS_CAN_SCS_2.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN2").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CRDC_B13_SCS_CAN_SCS_1.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Call CANToTDM.BusDbConfig.Buses.Add("CAN3", 3)
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN3").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CPIOM_H43_CAN_SCS_LH_CU.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN3").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CPIOM_H44_CAN_SCS_RH_CU.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN3").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CRDC_B10_SCS_CAN_SCS_2.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN3").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CRDC_B13_SCS_CAN_SCS_1.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Call CANToTDM.BusDbConfig.Buses.Add("CAN4", 4)
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN4").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CPIOM_H43_CAN_SCS_LH_CU.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN4").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CPIOM_H44_CAN_SCS_RH_CU.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN4").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CRDC_B10_SCS_CAN_SCS_2.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
Set oDbFile = CANToTDM.BusDbConfig.Buses("CAN4").DbFiles.Add("C:\Program Files\Vector ICD2DBC\Bin\CRDC_B13_SCS_CAN_SCS_1.dbc")
oDbFile.IdMode = eDbFileIdModeDefault
CANToTDM.ResultSettings.ResultFile = "c:\Users\th75vo\Desktop\CANresult\CANConverterneu.tdm"
CANToTDM.ResultSettings.EnumSubstitution = False
CANToTDM.ResultSettings.SequenceChannel = False
CANToTDM.ResultSettings.TimeFilter.Active = False
CANToTDM.ResultSettings.BusFilter.Active = False
Call CANToTDM.Convert()

 

Best Regards,

 

Henning Paulsen

0 Kudos
Message 8 of 9
(6,437 Views)

Hello,

 

the idmode is a newer feature to support J1939 bus logs. It is only an addition, which is not relevant for DIAdem 11.1.

 

Best Regards

 

Hans Beckers

0 Kudos
Message 9 of 9
(6,434 Views)