Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

multiple message transmit on CAN

Solved!
Go to solution

Hi,

 

In my application i have to transmit 3 CAN messages at the same time over CAN bus. I donot want to use timestamp it means all three messages should be transmitted immediately.

 

But i am gatting one error

 

Error code : -1074388982

Description : NI-CAN:  (Hex 0xBFF6200A) A known feature is not supported.  Solutions: Refer to the descriptions in the manual to determine which feature is unsupported.

 

I am using one port PCI CAN/XS with labview 7.1.

 

Kindly help me out or if possile attach one example to transmit 3 messages simultaneously over CAN bus in Labview 7.1

 

Regards,

J

Message 1 of 10
(9,699 Views)
Well, as there is only one bus, you cannot send them simultaneously. You can, use the network interface and just queue all three frames to transmit. The three frames will transmit one after another.
0 Kudos
Message 2 of 10
(9,697 Views)

Hi,

 

Thanxs for the reply.

 

I had used the same function ncWriteNetMult.vi but still i got that error.

 

Kindly guide me.

 

/J

0 Kudos
Message 3 of 10
(9,695 Views)

I would assume that you would start from the CAN Transmit Multiple.c example, removing the set of the NC_ATTR_TRANSMIT_MODE since you dont' want timestamped transmit.

 

Is that what you are doing?

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

i don't know how to remove the set of the nc_attr_transmit_mode. It will be nice if you can send some example in Labview 7.1.

 

In my vi i am first reading the data, once i have received the data after that i will transmit the 3 CAN message on the bus. Kindly attach some examples.

 

Regards,

J

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

Sorry-- I misread one of your posts and thought you were using C...

 

I actually don't  have 7.1 on my computer... But the example should run with the program unmodified (you probably need to update front panel objects to send the correct data).

 

1. Open "CAN Transmit mulitple.vi"

2. Set your array of frames to be the 3 frames that you want to transmit

     a.  Right-click on array and choose Data Operations >> Empty Array

     b. Fill up the array with desired data. 

3. Set your interface, baud rate, and number to write (i.e., 3 in your case)

4. Run the example

 

By default, Timestamp transmit is disabled in the LV example

 

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

As i told you, in my VI i will be reading some data first, after receiving that data only i am transmitting 3 CAN messages. Since in the VI i am reading first so by using ncGetAttr.vi i have selected Read Pending Entries.

 

Now in the VI i will not be able to set the attribute again.

 

kindly guide me.

 

Regards,

J

0 Kudos
Message 7 of 10
(9,679 Views)
Solution
Accepted by topic author R_J

Hey J, have a quick look at this KB, might solve your problem.

 

http://digital.ni.com/public.nsf/allkb/877CE322F3135D5F8625755200073D0B?OpenDocument

 

--Paul Mandeltort
Automotive and Industrial Communications Product Marketing
Message 8 of 10
(9,676 Views)

Thanxs Paul,

 

Now i am not getting any error.

 

Regards,

J

0 Kudos
Message 9 of 10
(9,665 Views)

I am having the exact same error, but I am not using LabView, I am using LabWindows CVI,

I am also using ncWriteMult, not the "net" version which seems to be a Lab View thing.

 

Any help for LabWindows?

 

I found another post for LW that is similar to what I am doing, it is old, but close to what I am getting:

http://forums.ni.com/ni/board/message?board.id=180&message.id=27892&query.id=145834#M27892

0 Kudos
Message 10 of 10
(9,247 Views)