â10-16-2023 03:53 AM
Hi all!
I have a VeriStand 2020 R4 project . In this project we use the Scan Engine and EtherCAT Custom Device developped by National Instrument. This Custom device allows us to communicate with 4 cRIO 9145. For two cRIO, we use standard scan engine , and we developped some FPGA code for the 2 others (mainly because some modules werent supported by scan engine).
Everything works during a while , but after some hours or some days the red light is blinking twice which means : There is an application watchdog timeout. The slave did not receive a scheduled EtherCAT telegram.
If I open the Distributed System manager i get the error -66460. i.e. The I/O scan time exceeded the NI Scan Engine period you specified on the Scan Engine page of the target properties dialog box.
The communication between EtherCAT and VeriStand is stopped until i reset the error from the Distributed System Manager. It seems the FPGA code still running.
The Async Loop Duration from the Scan Engine and Ethercat varies between 300 and 400 µs.
The number of Async Loop Late increment sometimes but it doesnt seems to be linked to the error.
I modified the PCL loop from 2000 Hz to 1000 Hz, i have the same result.
Is it possible to ignore this error ? I dont care if i loose one cycle, but this should not stop the EtherCAT communication !
Thanks for your help
â10-18-2023 05:48 PM
Is there any late count on the Status? What is the Scan Mode State when the issue happens?
Have you tried to enable Reconfigure EtherCAT Modules?
â10-19-2023 03:44 AM
Hi!
Thanks for your answer..
What do you mean exactly with late count on the status ? As I said, sometimes the indicator Async Loop Late of the Scan Engine and EtherCAT VCD is incremented.. I also have some HP Count ( i.e. VeriStand PCL is late...).
The indicator Scan Mode State goes in state 3 when the error occurs.
I didnt tried to reconfigure EtherCAT modules with the command because i dont know whats the aim of this command because there is no description in VeriStand. Is this channel resetting the error ?
Again thanks for your repply
â10-19-2023 05:47 PM
I spent some browsing through the source code of GitHub - ni/niveristand-scan-engine-ethercat-custom-device: Provides NI Scan Engine, EtherCAT and Re...
The value 3 of the Scan Mode State indicates that it is at the fault state.
Enable reconfigure ECAT will restart the scan engine, just like how you can restart it in DSM.
Although I don't think that it is relevant to this scan engine fault, but might increment on the HP count is bad for your system and you should try to eliminate it.
â10-20-2023 01:49 AM
Hi ZYOng..
Thanks to take some times to answer me...
Effectively, restartting the scan engine will not help me a lot... I mean, it will probably reset the error, and I think we could imagine a way to reconfigure the EtherCAT whenever the scan mode State goes in fault state with an alarm for exemple, but my system must runs severeal days, weeks without loosing the communication with the EtherCAT.
I agree with you, thoses HP Count are not normal... I already tried to find out the origin and I'm not sure, but it seems to be linked with the synchronisation. In this system we use a PXI-6683H to synchronise the boards with 1588... I made some recording and it seems that before the HP Count, the absolute time of the system suddently increase. Maybe the EtherCAT timeout is a consequence of this phenomenon..
I will try to search in this direction...
â11-28-2023 10:08 AM
Some news if anybody has the same error in the future....
1) At first it is possible to ignore the error -66460 (or any other error) by modifying the file located on the target /var/local/natinst/deployfwk/config/ scanConfig.xml.
Add this code :
<Fault>
<Property Name="Code">-66460</Property>
<Property Name="Level">0</Property>
<Property Name="FailureThreshold">0</Property>
<Property Name="SampleTime">0</Property>
<Property Name="AfterLevel">0</Property>
</Fault>
If you put -1 in Level, the error is ignored, if you put 0 , the error become minor and doesnt stop the communication with EtherCAT.
2) It seems this error appears because the EtherCAT slave didnt receive the frame from the master in the expected time. In EtherCAT and Scan Engine VCD I checked the checkbox to clock the PCL with the scan Engine. EtherCAT communication is done in the PCL and not in an asynchronous loop... it seems this correct the problem.