Real-Time and Control Applications

Showing results for 
Search instead for 
Did you mean: 
Reply

J1939 Transport Protocol

J1939 Transport Protocol

Please post your comments, questions, and feedback on the J1939 Transport Protocol Reference Example in this thread.
Christian Loew, CLA
Principal Systems Engineer, National Instruments
Please tip your answer providers with kudos.
Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system, or for use in hazardous environments.
You assume all risks for use of the Code and use of the Code is subject to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense
0 Kudos
Message 1 of 15 (8,730 Views)
Reply
0 Kudos

回复: J1939 Transport Protocol

hi,

 

maybe there is a bug in the vi named Convert CAN Arb ID to J1939 ID.vi  

its path in the package is……CAN_Message_Online\J1939 Multi Packet Frame\Code\J1939 Utilities\_SubVIs\Convert CAN Arb ID to J1939 ID.vi

 

when the PF is smaller than 240(10), the PS in the PGN should be 0.

0 Kudos
Message 2 of 15 (8,594 Views)
Reply
0 Kudos

回复: J1939 Transport Protocol

hi,

 

maybe there is a bug in the vi named Convert CAN Arb ID to J1939 ID.vi  

its path in the package is……CAN_Message_Online\J1939 Multi Packet Frame\Code\J1939 Utilities\_SubVIs\Convert CAN Arb ID to J1939 ID.vi

 

when the PF is smaller than 240(10), the PS in the PGN should be 0.

0 Kudos
Message 3 of 15 (8,593 Views)
Reply
0 Kudos

Re: J1939 Transport Protocol

Can I get these examples in version 8.5?
0 Kudos
Message 4 of 15 (8,388 Views)
Reply
0 Kudos

Re: J1939 Transport Protocol

It would be nice if NI had a J1939 driver or add-on that would work with both the frame API and/or the channel API.  The only examples provided for J1939 here are based on the frame API, which precludes you from using the channel API with a CAN database on the same port.  The channel API is a very time saving feature for most applications.

  

DMC recently developed a set of J1939 protocol drivers for LabVIEW which are based on the NI-CAN channel API.  The drivers are written in LabVIEW just like the example, but provide functions at a layer above the base CAN channel API layer.  This allows the simultaneous capture of data from both J1939 packets which are simple broadcast CAN frames, or more complex transport using BAM, including extended data frames.

 

Although it would be nice to have an option like the Automotive Diagnostic toolkit, which worked withouot forcing a user to pick an API and stick with it for J1939 and whatever else they have going on with that CAN port.

0 Kudos
Message 5 of 15 (7,286 Views)
Reply
0 Kudos

Re: J1939 Transport Protocol

Correct link for J1939 protocol drivers for LabVIEW which are based on the NI-CAN channel API. Smiley Happy

0 Kudos
Message 6 of 15 (7,282 Views)
Reply
0 Kudos

Re: J1939 Transport Protocol

Customers have recently requested that a J1939 Reference Example be provided for the new sbRIO-9606, which uses the RIO Embedded CAN driver.

Julianne K
Systems Engineer, Embedded Systems
Certified LabVIEW Architect, Certified LabVIEW Embedded Systems Developer
National Instruments
0 Kudos
Message 7 of 15 (6,250 Views)
Reply
0 Kudos
Highlighted

Re: J1939 Transport Protocol

Hello , i am using the NI 9853 to communicate with a charger that use J1939.

With the project J1939 cRIO Example Project.lvproj when i send the message appears  the message code -63001-Invoke Method: FIFO.Write in J1939 cRIO Example.vi .

How can i solve this error??

Thank you

 

0 Kudos
Message 8 of 15 (6,218 Views)
Reply
0 Kudos

Re: J1939 Transport Protocol

Hello , i have this error -63001 .

How can i solve this??

Thank you

0 Kudos
Message 9 of 15 (6,211 Views)
Reply
0 Kudos

Re: J1939 Transport Protocol

I am trying to use the xnet frame example in conjunction with a PXI-8513 card. I am physically connected to an ECU that is transmitting a single PGN. I have both pxi ports connected to the network with port 2 running the can bus monitor. I can see the pgn message coming from the ECU on the bus monitor. When I send data from the frame example, I can see it on the bus monitor.

 

However, I am not seeing anything on the input display of the example. It seems like I should see the same info as the bus monitor. Am I incorrect? The pgn being transmitted is a proprietary one. Is there some kind of filtering going on that keeps this message from showing up? The PGN is 65298. The full ID on the bus monitor is 4ff1200.

 

Thanks for any help.

0 Kudos
Message 10 of 15 (5,181 Views)
Reply
0 Kudos