05-13-2015 10:08 AM
Hey volks,
i use X-NET to Convert Frame Data into Signals - works pretty fine, but there is a strange limitation (maybe iam wrong - but couldnt figure it out)....
I have a piece of Hardware which comes with a CAN-Specification, it defines the Payload of all Frames as 8Bytes with 8Bit (Kind of standard)
In this Spec. there is a CAN-FRAME. In this CAN-FRAME there is a SIGNAL which is defined to all 8 Bytes, respective 64 Bit.
When i try to define this SIGNAL with Startbit 0 with a sice of 64 Bit into the Database i created for this application, there is following ERROR occuring in the Database Manager "Signal is larger than a 52-Bit-Integer"
I attached a screenshot of the Error (its in german, but the translation should be proper)
Is this a known issue? if yes - is there an extension or something like a hotfix? I worked it around but its not a nice solution in my eyes....
thx much
cheers chris
05-13-2015 11:36 AM - edited 05-13-2015 11:37 AM
I'm still searching because I can't find it, but I know XNet has a limitation on the maximum bit length on a signal. A frame can be 8 bytes, but a signal can't. If you want to do this you can write a subVI that converts from a U64 into 8 bytes, and then write it as a frame instead of a signal.
http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Resolve-XNET-52-bit-signal-length-limit/idi-p/3120784
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
05-13-2015 11:56 AM
Yeah, that was my solution around this problem, but thanks much hoovahh for the fast reply...
Iam wondering too, why there is problem - i mean its the same on NI-CAN but, another question has occured while thinking about it...
Has anyone tried an alternative *.dbc editor and tried to use it in LV, i mean it is a problem of the DB-Editor or is it a problem of X-NET, repsectevly based on NI-CAN?
05-13-2015 12:26 PM
@weigsvader wrote:
Iam wondering too, why there is problem - i mean its the same on NI-CAN but, another question has occured while thinking about it...
Has anyone tried an alternative *.dbc editor and tried to use it in LV, i mean it is a problem of the DB-Editor or is it a problem of X-NET, repsectevly based on NI-CAN?
I don't know the decision (hoping someone from NI will chime in at some point) but I know it is a limitation of XNet. If you make a DBC in another editor that has a signal using 64 bits, then import it into the database editor, XNet will be unhappy and give a similar error to the one you see.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
05-13-2015 12:52 PM
I guess i was not clearly enough^^,
do u ever tried to create a dbc with an external editor and tried to use it LV without even importing it into the Database editor? Or is this even possible? I mean is it a problem of the API itself or just some bug of X-NET/CAN Database Editor?
05-13-2015 01:01 PM - edited 05-13-2015 01:02 PM
@weigsvader wrote:
Or is this even possible?
It is not. To use XNet you must use a database. You can make that database on the fly, import one, or use one already on the system.
The older NI-CAN does have a Channel API that lets you provide a path to a DBC. No idea if it has the same limitation.
It's similar to DAQmx. You can't talk to any DAQmx hardware without a task. You can make a task and reference a physical port, or use a task (or virtual channel) already on the system.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
05-13-2015 01:06 PM
Ah good to know, so i can safe some time upon this. And a last question...
Can u recommend any freewar dbc editor with extended functionallity? i miss some functions like copy/paste in the xnet/can database editor... sometimes its a sort of repeating stuid click and instert numbers actions...
05-13-2015 01:22 PM
@weigsvader wrote:
Can u recommend any freewar dbc editor with extended functionallity? i miss some functions like copy/paste in the xnet/can database editor... sometimes its a sort of repeating stuid click and instert numbers actions...
Totally agree that the Database Editor is one of those "good enough" situations.
I believe that the Vector DBC editor is free. Once you install CANalyzer or some other Vector tool it gets installed. Just install a trial of CANalyzer. I think the DBC editor itself runs without anything extra and is not in a trial.
Found it CANdb++
http://vector.com/vi_candb_en.html
http://vector.com/vi_downloadcenter_en.html?product=candb&formular_treffer_submit=1
Not sure if this is the same but I found some Vector CAN Tools.
http://sourceforge.net/projects/cantools/
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
05-13-2015 01:26 PM
Thx much, worth a kudo 🙂
i kudo'ed the 52bit post u linked above, lets giv it a kudo too, may it gehts hot...
05-13-2015 01:29 PM
FYI, signals are retuned as a double-precision floating point. This only has 52 bits of precision, hence the 52-bit limit.