This logic can be moved back up into the plc case (it was pulled out to avoid duplication when reading from the two channels).  The pack and captures variable can go away too.