12-02-2021 04:55 AM
Hello All,
as mentioned in https://forums.ni.com/t5/Industrial-Communications/Gracefully-handling-EtherCAT-slave-connection-and... we are using the 'Refresh Modules' programmatic technique to allow the customer to add some specific slaves to a test setup on several cRIOs (904X, 903X) and record the data from these. This is running under NI CompactRIO 17.0.
Recently, we are upgrading the test systems to 20.5 (using the 'System Image' install method), and we found that this no longer works! If we now add new Slave devices, the system will not pick them up and error out instead:
Error -2147138412 occurred at Read Variable in DynamicModuleTest.vi
Possible reason(s):
NI-Industrial Communications for EtherCAT: More slave devices are responding to EtherCAT communications than the master expects. If you add new slave devices to the EtherCAT network after the most recent project deployment, add these new devices to your project and redeploy the master.
Now here comes the strange thing: if we update the cRIOs using the 'old' installation method to 20.5, this method works fine! But, if we do a fresh install of 20.5 using the old install method it also fails.
Summary:
We've checked the running processes of case 1 compared to case 3 and did not find any major discrepancies (except from executables being in different locations in the file system).
I've attached a simple test program that uses 'Refresh Modules' and tries to read the variables from the detected slaves.