I guess a few questions could help add on to what you already have:
Do you care which PLC you write the code in?
Does the hourly weight just update once an hour to the Controllogix, or is it totalizing during the hour?
You could do a few things:
If it only changes hourly, you could just add it together once an hour and then move it to a "last shift weight" register every twelve hours. When you do the move, you would clear out the register where you are doing the addition. You could even trigger the hourly addition on a "not equal" condition- this would take another register to compare the "last hour weight" to a holding register, and then after you do your addition, move the last hour weight to the holding register(which will make them equal again until the next change).
You could even use the arrays that were described earlier in the thread and trigger those with a NEQ just in case your two PLC clocks didn't match.
If it was totalizing during the it would be easier to do in the Compactlogix but not impossible to do in the Controllogix.