Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I setup a sbRIO-9607 to use a 9881 module for CANopen?

I'm attempting to setup a application to communicate with a CANopen device.

 

The hardware I have available is a sbRIO-9607 and a 9881.

I'm connected an RMC board.

I have applied external power through the 9881 connector through pins 9&6.

I performed a firmware update.

I have created and ran the blank FPGA vi for the 9881.

The software installed on the the 9607 per the attached.

Nothing I have tried will have the 9607 finding the CANopen port.

I have monitored the console port of the 9607.  NO errors have been displayed.

If I try running any of the CANopen examples, I receive the expected error that the CANopen port cannot be found.

Any insight would be greatly appreciated!!

Russ Secrest

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

Russ,

 

Hmm, it sounds like your setup is fine so far. Can I ask what RMC card you're using? It looks like the only supported RMC card is the 9697. Also, what specific error are you getting when it says the port can't be found? That might help point us somewhere interesting.

 

 

Claire M.
Technical Support
National Instruments
Certified LabVIEW Developer
0 Kudos
Message 2 of 5
(3,704 Views)

I think the RMC board refers to the RMC which was packed to the sbRIO-9607 suite instead of the NI 9697, right?

 

If so, what slot did the NI 9881 plug now? The C Series Slot1 or Slot2, or the CAN1 port which needs to be set up by the User-Defined FPGA.

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

Hi,

 

Please try to add NI 9881 to your project and perform the bitfile as follow.

1. In your Project Explorer, right click the "Real-Time Scan Resources" and choose "New" --> "C Series Modules...".

2. If the NI 9881 connected to the RMC correctly, you can find the module. Choose the NI 9881 and click "OK" to add the module to your project.

2018-03-13_1727.png

3. Create a new empty VI under the FPGA Target (like the Empty.vi above) and compile the bitfile.

4. Create a new VI under the Chassis (like the Run Bitfile.vi above). I attach the VI here. This VI is used for loading the FPGA bitfile. This VI needs to always run.

2018-03-13_1724.png

Now, you should find the NI 9881 in NI MAX.

0 Kudos
Message 4 of 5
(3,692 Views)

Thank you for the replies.

I'm jumping between multiple projects for customers, so I haven't been back to revisit this on the sbRIO.

Although I have worked significantly with J1939, CANopen is new.

 

However, the customer decided to attempt to bring things up on a cRIO first.

So, I am using a cRIO 9035 and all is relatively good.

I can send and receive motor configuration SDO's all day long and I can set the motor to 'operational' status.  Life is good.

However, The motor looks specifically for node-id x64 for the heartbeat.  The best I'm able to determine at this time is the 9881 is NOT seen as node-id x64 -- but I cannot find a way to know what node-id it is.  I do not have a CAN device readily available to sniff the bus.  I could us the CAN interface on the sbRIO -- but I would think that I could learn the 9881 node-id without sniffing the bus.

Any thoughts would be greatly appreciated.

Russ

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