Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

Frame Channel Conversion Library

Hello everyone,

I'm currently using the Frame Channel Conversion Library (downloaded on the NI Site) and I noticed that there are troubles when using a.dbc containing channels with "scaling factor".
When I convert the .dbc in the .ncd format, the scaling factors are correctly translated and then correctly interpreted by the DLL of the Convert Frame to Channel.vi, but when I use directly the .dbc in the same function (i.e. Add Selected Channels From File.vi), I always get 0 in the scaled data.
More clearly, the library works fine with the .ncd format but doesn't work with the .dbc format, when there are channels using a scaling factor.

Is it a known "bug" ? Is there a way to correct it,  in order to  use  the .dbc with this helpful library ?

Thanks in advance.
0 Kudos
Message 1 of 9
(10,373 Views)

Hi,

No thats new to me. I will check this immediately and let you know what i can find.

DirkW

0 Kudos
Message 2 of 9
(10,366 Views)

Hi,

I downloaded the current version today and could not reproduce your experience. Could you attache your dbc and ncd file or atleast a part of it, so i could see whats wrong?

Thanks

DirkW

0 Kudos
Message 3 of 9
(10,364 Views)
Hello Dirk,

Thanks for your answer, you'll find attached the .dbc and .ncd files that I used.
You can take the "Vbat" Channel in the "ANALOG" message. That's the one I used when I got the problem.


0 Kudos
Message 4 of 9
(10,348 Views)

Hi,

I tried both files and they allways have the same good result. The only difference between your ncd and dbc file is that the dbc file has more messages with more then four channels and since the conversion library scaled output array scales to the max channel message your array has zeros after your scaled elements. That's something we cannot change.

But the scaling works fine. See the attached example screenshot. It has for values for the input array and the same values are in the output array plus a couple of zeros.

If you still think this is a library problem please attacher your code, thus i could have a look to it.

DirkW

0 Kudos
Message 5 of 9
(10,335 Views)

Hi,

 

I encounter the same problem. When converting the dbc to ncd it works. I tried it with various dbc-files... Could you figure out what the problem was?

 

Greetings, Gunnar

0 Kudos
Message 6 of 9
(10,008 Views)

This could be an issue of using extended 29 bit IDs with the conversion library. If you have extended Ids with your signal database, the NI-CAN driver allways expects to see the 30 th ID bit set additionally if you like to transmit an extended ID and you have to remove the 30 th bit if you provide the ID for the conversion VI. See the attached pictures for how to remove and add the 30th bit  for NI-CAN.

This is only necessary if you use dbc files. The max export to ncd removes the 30th bit automatically.

 

DirkW

Download All
0 Kudos
Message 7 of 9
(9,968 Views)

Hello Matisson.

It is most likely that your Windows Regional and Language Options are set to comma instead of dot for the fraction mark.

Vector's DBC files seems to always store floating point numbers with dots as fraction marks, but LabVIEW expects the Windows settings.

I found this problem in the version 1.0.3 of the CAN Frame Channel Conversion Library, which I believe is the last one. Let me know if you find a bug fix for that. Changing the Windows settings solves the problem, but it is inconvenient.

I hope you are still waiting for the answer. 😉

Good Luck!

 

Message Edited by Automan on 12-18-2009 10:02 AM
0 Kudos
Message 8 of 9
(9,014 Views)

Hello Automan,

 

shall I just change the windows settings for Language format, or shall do the change what dirk mentiont, too?

I have the same problems, that the vi Frame to channel don't function. Please help!!

 

Thank you.

 

Regards,

YesB

0 Kudos
Message 9 of 9
(7,489 Views)