I am using an Anybus X-Gateway AB7306-B as an IO device on a CANopen network which receives inputs from a PLC.
I recently discovered that the gateway being configured as a CANopen NMT Master is causing issues with my software which needs to be the sole NMT Master on the network. The AB7306 sends a “Reset Communication” command upon booting up which causes issues with the slave nodes on the network. As far as I can tell this is the only NMT command it regularly sends.
To work around this, I tried setting all bits of index 0x1F80 to 0, and appear to have succeeded, but the device gets stuck in pre-operational mode upon restarting. The AB7306 manual says that bit 0 should set Master/Slave status, 1 is something else, and bit 2 should, when set to 0, “Automatically enter Operational state”, which the documentation indicates is the default behavior. When I query that index I see all zeroes, so that bit should be behaving as expected, but it isn’t. It isn’t going into the operational state on startup.
I think the expectation is that the PLC programmer should send the “Operational” control word from his end whenever things are set this way, but when I spoke with our client’s PLC programmer about doing so, he did not seem to understand what I meant.
All of that boils down to this: how do I do the following three things?
- Configure the device to both be a slave and automatically enter Operational
- Send the “Operational” control word from RSLogix - I know there is a PDF that purports to explain this in the file downloads for the device, but the PLC guy seems to still not get it after seeing that
- Stop the device from sending the NMT “Reset Communication” command
I think any one of these three methods should help me accomplish my goals with your wonderful device, but I would prefer to have an explanation for all three if possible.