Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Softmotion error –77055

I'm working on a softmotion RT application. I have a CRIO(9074) and an EthernetRIO (NI-9146) to control 5 independent axis. 4 of those axis are exact copies of each other (code wise and hardware wise) and the other is the same hardware but has a completely different task. None of the axis interact with each other. Each axis is a stepper motor connected to an NI-9512. The 4 axis identical axis are connected to the EthernetRIO, and the 1 different axis is connected to th e CRIO.

 

I'm refactoring some old code that was previously working(ish). I've gotten the new code working great with the 4 axis, but now when I try to refactor the code for the different axis, I always get a softmotion error -77055 when I try to start the move. According to this http://zone.ni.com/reference/en-XX/help/371093G-01/nismlvhlp/nism_error_codes/ that error code means: 

 

–77055 NIMCDM_axisCommunicationWatchdogError Communication with the device has timed out. Verify your connections, then switch the NI Scan Engine to Configuration mode and back to Active mode to restore communication with the device.

 

 

I created a test VI that only runs the essential code, and I still get this error. Using the distributed systems manager I've watched the processor usage and it never goes above 50%. The memory usage of the CRIO is also below 50%. I can move the axis using the interactive test panel no problem.

 

My question:
1. Why am I getting this error? I feel like I shouldn't be getting a watchdog error when my CPU usage is so low.

2. In the General Settings menu of the Axis configuration there is a watchdog timeout, should I just disabled this (set it to 0)? The help for this mentions possibly missing data, but I don't exactly understand what that would mean. Possible position overshoots are bad, but reporting the incorrect position to when I call the Read Data method on an axis isn't a concern for me.

 

See attached snippet for suspect code. The only thing that happens before this VI is the axis is enabled. The Straigh-line Move method is where the error shows up.

0 Kudos
Message 1 of 5
(5,944 Views)

So that I'm clear, the 4 functioning axes are controlled by modules in the 9146, correct?

 

If the non-working axis is on the 9074, you might check which slot the module is in. By default, only slots 1-4 support the 951x modules because 5-8 do not support high speed interface (HSI). Any slot on the 9074 can be made to support HSI, but a custom bit file is required. This limitation is a result of the 9074 having a smaller FPGA than most of the cRIO devices. The same limitation also applies to the 9072 and 9073. More information on this can be found here: http://digital.ni.com/public.nsf/allkb/C43C73FE11BE740A8625763C006CC3ED?OpenDocument

 

If you would let me know if this helps resolve the issue I would appreciate it.

--------------------------------------
0 Kudos
Message 2 of 5
(5,915 Views)

Yes, the 4 functioning axis are in the ethernet rio. The problem axis is in slot 1 of the CRIO. I've tried it in slot 2 as well, and I've tried switching out the 9512 modules, the problem always stays with the axis that's plugged into the CRIO

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

What version of softmotion are you using?

 

One thing we can try is rebooting the controller and setting the scan engine to configuration mode and then back to active. Then redeploy the axis.

--------------------------------------
0 Kudos
Message 4 of 5
(5,849 Views)
Found the issue. If you reset the CRIOs clock (using the set time vi) without resetting the soft motion engine you will get these errors. Setting the time wasn't essential for me, so I just stopped doing it.
Message 5 of 5
(5,844 Views)