There are several options:
1. Get a BMX NOC 0401 Ethernet module for the M340 platform
1a. Use the NOC module as a Class 1 or implicit (slave) adapter. Configure the Logix as the scanner - comms have to be this way as the Logix PLCs do not support standard adapter functionality so they cannot be scanned by another device.
1b. Use explicit messaging - this is easiest done by having the MSG blocks on the Logix platform and use the Modbus object (I think there are details in the user manual). Any %MW address can be read or written by this method. It is technically possible, but in practice quite difficult, to send a message instruction from the M340 NOC using CIP to read tags from the Logix platform. The Logix platforms use a vendor extension to the CIP protocol so with the documentation for doing this that Rockwell does provide, the CIP spec (not free), and a good reference implementation, it is possible to get the M340 to read a tag with a significant amount of pain thrown in just for fun. That being said, the concept of no real data address is a powerful one and I wish other platforms that I have to use did this - no off by one, or reverse bytes - or whatever. Just ask for the tag, by name, and get it. Simple is good.
1c. You can actually consume a tag that is produced on the Logix platform using the EDS files provided. Note this is one way communication: there is no mechanism to publish so the communication is read only from the M340 point of view.
2. Recently there was a long thread here on new sample ModbusTCP code for the Logix platform. Use that on the Logix and use ModbusTCP to any Ethernet port on the M340 as ModbusTCP is native to the platform - any standard function code should do depending on what you want (bits, holding registers, input registers, etc.)
3. Use a third party Gateway: Redlion, RTA, HMS, etc... that will convert EtherNet/IP and ModbusTCP.