CompactLogix and 1769-SDN
I think the 1769-SDN is a great little module, but I prefer it's implementation with the MicroLogix 1500 to the way it works with CompactLogix L20 and L30 for two reasons.
1. I/O memory. The total number of I/O words available on the L20 and L30 is really tiny; only 256 words, and they get gobbled up very fast by things like end cap checking and module status. On the MicroLogix 1500, the I/O memory is simpler and adding a single 1769-SDN doesn't tax the memory as much.
2. MSG instruction function. On the MicroLogix 1500 1764-LRP (not the -LSP), I can write a MSG instruction with a Service, Class, Instance, Attribute and Data through the 1769-SDN to a generic DeviceNet device. The module also performs a PCCC/DNet encapsulation similar to the Net-DNI, so I can go online with the MicroLogix 1500 over DeviceNet instead of over it's serial ports.
I can't do either of those things with CompactLogix 1769-L20 and -L30. They run I/O just fine, but they don't have the ability to send MSG instructions across the backplane to DeviceNet.
That's not an unpardonable sin in a tiny controller; these are meant to be OEM-level embedded controllers, not just tiny versions of ControlLogix. If you need motion control, use the big ControlLogix. If you need embedded, bridgeable communications on a small controller, use the FlexLogix.
CompactLogix may never have a ControlNet module. The new 1769-L35 will have onboard EtherNet/IP, and a lot of OEMs are looking forward to that. I am looking forward to having MSG instructions that can go out onto DNet to allow me to set and retrieve object information from drives, photoeyes, motor starters, etc. I've been promised this function in the 1769-L35, as well as in the enhanced non-Ethernet CompactLogix controllers, the L31 and L32.