I see 2 ways of doing this:
1. Use Raspberry PI as remote adapter. Check this topic viewtopic.php?f=21&t=5836
In CodeSys you add remote input modules. You can use one big input module or several several modules different sizes, it depends from your situation. One tip: big input module is 505 bytes. You need to change size of it to 500 to use it with AB (maximum size of input or output connection parameter is 500).
In CompactLogix you add Generic Ethernet Module with same size outputs configuration as for inputs in CodeSys.
Map all tags in CompactLogix Program to outputs of Generic Ethernet Module and you can read them in CodeSys program.
It will give you possibility to pass tags from CompactLogix to Raspberry. If you want to change tags in CompactLogix from Raspi, you need to do it opposite way: outputs at CodeSys side and inputs at CompactLogix plus, I assume, you should use some logic to prevent racing for tags that used both in output and input section.
2. Use explicit messaging. Result of this approach you can see here https://www.youtube.com/watch?v=LZycc7pFr4Q
All information how to access and modify information in the ControlLogix/CompactLogix PLC you can find in these bookshttps://literature.rockwellautomation.c ... _-en-p.pdf
and "EtherNet/IP Adaptation of CIP Specification"