05-22-2013 04:31 PM
Hi h_sqd,
Currently in MAX, do you see the RIO Embedded CAN Driver listed as installed on your System (your computer, not the sbRIO) in the Software tab? Can we see a screenshot of MAX?
If we are seeing RIO Embedded CAN icons in your function palette, the driver must be at least partially installed. Since forcing the reinstall, do you still get the same behavior where the driver looks for rioembeddedlvapi.dll? Can we see a screenshot of this?
It is recommended to close LabVIEW when installing any LabVIEW related drivers. If LabVIEW is already open, restarting LabVIEW usually allows installed components to be discovered, although sometimes the computer needs to be restarted first.
05-22-2013 04:57 PM
Hi Joey,
Doesn't show up in MAX per the attached screenshot.
Still looks for rioembeddedlvapi.dll and doesn't find it. From what I can tell, there are still many .cab files that are not unpacked and I think that file is hiding in there.
Second screenshot shows the popup for manual selection after file not found.
Cheers,
Harold
05-22-2013 07:04 PM
Hi Harold,
My bad, the drivers don't show up in MAX. They probably are installed correctly. I'm sorry I didn't catch this earlier, until I reproduced what you were seeing by making the same mistake.
Answer:
In a LabVIEW project, the Industrial Communications > Embedded CAN palette functions will only work for coding on your sbRIO's real time processor (VI is under sbRIO in Project Tree).
Dragging the Embedded CAN functions onto a VI that is on the Host computer will result in that second error screen you see (VI is underneath "My Computer" in Project Tree).
To acheive CAN communication between your sbRIO and your host computer, use the NI-XNET or NI-CAN functions for programming your host computer, and use the embedded CAN functions for programming CAN communication on your sbRIO.
05-22-2013 11:37 PM
Joey,
That makes sense now. My minimal experience didn't diffeentiate the My Computer section from the sbRIO section in the design tree. I am diving back into the fundamentals to make sure I am building up the sbRIO board properly. I still think there is a problem with the CAN driver not being fully installed, but I will come back to that when I understand the structure better.
Thanks for the help
03-03-2015 03:14 AM
Hi,
I need to know if the drivers on the RIO evaluation board supports the SAE 1939 Protocol.
SAE J1939 defines five layers in the seven-layer OSI network model, and this includes the Controller Area Network (CAN) ISO 11898 specification (using only the 29-bit/"extended" identifier) for the physical and data-link layers.
I think that ISO 11898 specifies CAN/Open, Devicenet and SAE 1939
From the manual of the evaluation board:
NI sbRIO devices populated with one IDC header provide connections to a
CAN bus. CAN-enabled NI sbRIO devices have pins for CAN_H and
CAN_L, which can connect to the CAN bus signals. The CAN port uses an
NXP PCA82C251T high-speed CAN transceiver that is fully compatible
with the ISO 11898 standard and supports baud rates up to 1 Mbps.
Could anyone give me some advice on how I have to use the drivers, because I am not familiar with them.
I need to send and receive messages for a hydraulic valve. The valve uses SAE 1939 with a baud rate of 250 Kbps. (high speed CAN). I use Labview 2013 with NI sbRIO -9636 board (RIO Evaluation Kit).
Thanks,
Best regards,
Gautier
03-03-2015 06:26 PM
Hello,
While there is not direct support for J1939 on our RIO products, it is possible to implement the J1939 protocol on top of the existing CAN communication abilities of RIO.
We do have some example code showing how to do this. Take a look at the following whitepaper:
http://www.ni.com/example/31215/en/
The example code is attached on the right hand side of the whitepaper. (Click on "J1939 Transport Protocol" under Requirements). Note that this is not officially released code, and NI does not guarantee support or updates to this code. In the zip file you download, you will be looking for the "J1939 cRIO Example Project". This project is an example of implementing J1939 protocol using the FPGA of a cRIO with a 9853 module. You should be able to do something similar on your sbRIO 9636. Take a look at section 11 of the whitepaper for more details about the example code.
03-04-2015 03:15 AM
Hi,
Thanks for the response.
Are the embedded CAN drivers on the RIO evaluation board designed for CANOpen then?
I asume they only supports CAN/Open
Can you please confirm this
Thanks,
Gautier
03-04-2015 12:03 PM
Gautier,
The embedded CAN drivers for sbRIOs do not directly support CANopen; they only support CAN. But just like with J1939, CANopen is another set of standards built on top of CAN, so it is possible to implement CANopen on the sbRIO.
We have published a CANopen Reference Library that is built in LabVIEW FPGA. Like the J1939 examples, this reference library uses the NI 9853 module and the FPGA to implement CANopen. You should be able to modify the code in the reference library to work with the sbRIO.
http://www.ni.com/example/31093/en/
And once again, the reference library is not officially released code, and is not supported or maintained by NI.
03-05-2015 06:17 AM
Hi,
Thanks for the fast response for my questions!
I will use the SAE 1939 protocol.
I didn't find how I can adress the CAN connector to my FPGA VI. I only see 2 connectors and the on board I/O of the sbRIO-9636 board. Because in the example VI, uses the 2 ports CAN0 and CAN1 of the NI 9853 module, by using mod1. On my board it is CAN 1, but I couldn't communicate with that on my FPGA vi. I also tried to open the block diagram of the embedded CAN drivers to see how the connection is made(Create Interface, Sart, Read/Write,...) but they are protected with a password. How is it possible that I don't see all I/O of the evaluatuion board on my FPGA target (accessable connectors).
In other words is it possible the use the CAN1 port on the sbRIO board without using the standard embedded CAN drivers?
If I use the NI 9853 in combination with the cRIO-9030 controller, the SAE 1939 protocol will still be unsupported, because it is also a RIO product?
Could I use another National Instruments product that is not a RIO product and also support SAE 1939, and the controller must be independant, what means that it doesn't need a computer to control the CAN bus? For example like a user interface on the RIO products.
Thanks,
Best regards,
Gautier
03-05-2015 11:39 AM
You cannot access the CAN ports through the FPGA on an sbRIO. The CAN ports are connected to the microprocessor, not the FPGA. As explained in an earlier post in this thread, you must use the Embedded CAN for RIO functions to access the CAN bus. SAE J1939 is a layer on top of standard CAN and support for it is in SOFTWARE, not hardware. I don't think you'll find any other device, from NI or elsewhere, that supports J1939, runs independently, connects to a RIO, and is easier to use than adapting an existing J1939 library to your needs.