LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-XNET Database Editor: Aribitration ID

Solved!
Go to solution

I'm trying to create a CAN database using the NI-XNET Database Editor.

 

In the CAN ID manual I have been given for a machine, it states it uses the chlorican definition maintained by CIS - using a 29 bit identifier for the CAN arbitration field.

 

28-26: faults, controls, warnings and status (eg 000b faults, 001b faults etc)

25: general or DSP communication

24-17: object ID

16-6: function id (owner & type - eg 05 parameter interface)

5-0: node no

 

 Not all of these are defined in the ID manual, are they all required in the arbitration field for 29 bit ID?

 

Listed information is Function types and object IDs with CAN IDs and descriptions.

E.g.

 

Function type: 00: general information

Object ID: 000: identification request - CAN ID: 1C002000h

 

In the abritration field on the database editor the numeric system must be decimal, hex, octal, binary or SI notation. None of the formats accept the full CAN ID. Hex is the closest but it will only take 1C002000. or does the h define the id as hexadecimal?

 

 

 

0 Kudos
Message 1 of 5
(3,699 Views)

Hi lisam,

 

Hex is the closest but it will only take 1C002000

With 29 bits you can define integers upto 1F'FF'FF'FF (hexadecimal number, using ' for grouping bytes/8 bits).

So when the control accepts your ID of 1'C0'02'00 I guess it's ok…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 5
(3,687 Views)

Hi GerdW,

Thanks for your help.
Ok great, I think the h was just refering to the ID being hexadecimal.

So 1C002000 in hex is 29 bits?

I'm a little confused with what must be included in the arbitration id. Would it purely be 1C002000 or would it be something like 00001C0020000x80100 including the priority, DSP, function owner and type as suggested in the CAN ID definition attached. I've included an example of the information I have.

Also when I try to add CAN ID codes starting with a 0, the 0 disappears when I enter it.

Any help on formatting would be much appreciated.

 

Kind Regards,

 

Lisa

 

0 Kudos
Message 3 of 5
(3,668 Views)
Solution
Accepted by topic author lisam88

Yes, 1C002000 in hexadecimal contains data in 29 bits. You can easily see this by changing the radix of the numeric control from "x" (hex) to "b" (binary).

 

All of the fields are within these 29 bits as defined in your spec. With some bit shifting and masking, you can deconstruct the values from the Arbitration ID.

 

XNET Arbitration ID.png

XNET Arbitration ID FP.png

Feel free. Contact me for anything more,
    Pang

You too can be LabVIEW Awesome!
0 Kudos
Message 4 of 5
(3,647 Views)

brilliant! Thanks so much for your clear explanation.

0 Kudos
Message 5 of 5
(3,633 Views)