Also another hint.
On fresh reboot of the devices (power-off/power-on), checking the device state on both EtherCATs there is an error on both:
On the first device:
Error -2147138442 occurred at an unidentified location
The module cannot be found. If the physical module exists, and the device is in FPGA mode, recompiling and downloading may fix this problem.
On the second device:
Error -2147138467 occurred at an unidentified location
An SDO request sent by the master has been aborted by the slave device.
Incorrect initial commands and incorrect PDO selections may cause this error. Check the configuration of the slave device on the device's property page.
I have also recompliled and download the FPGA code successfully a couple of times.
I guess you can also check for two more pieces of information to understand what can be happening:
The first one is fetching the cRIO-9074's XML for the EtherCAT network you have, and see if you detect inconsistencies, or errors there. Use FTP or SFTP to browse to the following path on your 9074: /ni-rt/config
The second is to do a Wireshark to the network and check the EtherCAT errors: Using Wireshark to Capture EtherCAT Network Packets
All the best!
I am attaching the XML files. I do not know what I am supposed to check, though. I will proceed with wireshark and post the results here.
P.S On Friday I formatted the controller and reinstalled software with no results.
According wireshark packet capturing: I currently have an unmanaged switch, since this is not going to work (the packets should be broadcasted on all ports, right?) I will try tomorrow using a hub.
My current network configuration is as follows:
Switch port 1: LAN / Internet
Switch port 2: Host PC
Switch Port 3: EtherCAT master (cRIO9074 port1)
EtherCAT slaves 0-1 daisy chained with master through master's port2.
Oscar, is it mandatory to change my topology according the link you posted? I think yes but just confirming
I captured some packets using Wireshark according the above Oscar's link.
I connect to cRio from the host PC and I can clearly see the packets transferring between HOST and controller without errors.
There are no ECAT packets though.Also both devices seem to transmit ECAT packets with no problem
I inspect the packets while browsing the configuration of each EtherCAT also while I run the project VIs as usual.
First of all I would like to thank you for your support so far. I am glad, thank you!
I have attached a Wireshark log.
This log was created while restarting the devices, connecting to cRIO, trying to switch to active mode (unsuccessfuly) and finally running the controller and host program. Hope it helps.
OK I think we are getting somewhere!
I replaced the current cRIO-9074 with another one (same model) from a nearby unit, just for testing. Then created a new project, added the "new" controller and both EtherCATs.
Both EtherCATs switched to "Operational mode" after booting.
So it seems that the problem is the controller itself, which will be shipped to NI for repair.
It was really weird from the beggining that both slaves went off simultaneously...
Apparently, when I revert to the previous controller (the one assumed broken) everything seems to work as a charm but only in a new project.
My working project seems to have compilation error(s), something with the variables. Currenlty I am recompiling the FPGA VIs and give it another try.
I'll post the errors later here...
I apologize I have not had a chance to answer before. Thank you very much for taking the time to log your steps in this thread, as they help both you and future users!
I find interesting the solution you found. I believe we had tried creating a new project from zero before, am I correct? Keep us posted on your results after the VIs finish compiling.
All the best,
indeed we have tried a new project from scratch before but with no success...
I have the following news:
After each reboot and while trying to connect to cRio target the conflict resolution window appears with the following message:
The Scan Engine settings configured in the project are different from what is currently deployed on the target. If you choose not to deploy the project Scan Engine settings to the target, the project and target will remain out of sync.
I choose to "Deploy Scan Engine settings" and proceed. The deployment progress starts and completes with the following error(s):
The scan rate cannot be changed while the NI Scan Engine is in Active mode.
Change the NI Scan Engine to Configuration mode to change the scan rate.
Deployment completed with errors
I am changing to configuration mode (right-click on the controller --> Utilities -- Scan Engine Mode --> Switch to Configuration)
Then I right-click the controller and choose Deploy.
The conflict Resolution window reappears with the following message:
At least one deployed item is no longer in the project.
To view the missing items, cancel this operation and launch "Compare Project & System" from the Utilities menu.
I choose to "Undeploy all missing items" and proceed.
The Deployment Progress starts and disappears rather fast (completed without errors??)
While trying to run the target vi, the Deployment Progress starts and ends with erro.:
The deployed channels are shown in the status list as usual, here I'll post 2-3 lines before the error:
Deploying User-Defined Variables
IAK_SHARED: (Hex 0x8ABC7009) Object already exists.
Deployment completed with errors
The IAK_SHARED line is shown actually in bold.
The VI is unable to run.
Somewhere here I should stop for today... I'll be back the day after tomorrow.
I would appreciate any further help!