Here is your program in LogixPro. There are several problems, but one at a time. Now I AssUMe that this program has to be capable of actually running on the lab-type setup for this packaging system that I have seen used by other students - in other words, use real-world conditions and times for things to happen.
It starts okay, but quits at Rung 2. When the LP- Labeler Photoeye goes ON, Conveyor 2 Stops. Now there is nothing to restart it again (remember that the photoeye is still ON and still seeing the case under the labeler). You need a timer that is triggered by the "Start Labeler" bit on Rung 005, then waits a short period (say 1/2 second) for the label to be attached, then with its DN bit, starts a second timer that runs Conveyor 2 until the case has time to clear the Labeler Photoeye.
Rungs 001-002 and 003-004 for the Conveyor Outputs: You can condense these into 2 rungs, a Conveyor RUN output for each one. That is the common good way to do motor outputs. You don't want to get into the habit of using Start and Stop bits. Combine your Start and Stop logic into one rung. For Rungs 3 and 4, it is simple: Use an OTE (Output Energize) on Rung 003, and delete Rung 004 - you don't need it.
Rung 005: You have a one shot bit to trigger the Labeler, but no output for it. The Labeler Output really needs to stay on longer than 1 PLC scan, so use a timer here to keep a Labeler Output ON for at least 0.5 seconds (long enough that you can see that it goes ON. With a one-shot, it happens so fast you will never see it, and the physical labeler machine may not see it either.
Rung 006: You have an Output to start the robot, but the original problem layout does not show any control that you have of the robot. In other words, you do not necessarily have a PLC Output for the robot. I would delete this one.
Rung 007: Your counter will count up to 20 cases then stop the system. That works okay, but is it what was specified? In other words, are you using this counter because the "customer" said he wanted a counter that counted 20 cases, then stopped? I don't think so. You did it because you liked it. That can get you in trouble and may get some points knocked off your grade.
What was mentioned was "spacing" of the cases. You don't have a way to do that - yet. We will get there eventually. Set up a Spacing Timer set for 2 seconds that keeps Conveyor 2 from running until Conveyor 1 has run 2 seconds. (Maybe it is a slow system and you should use 4 seconds - we don't know without a timer that would measure the robot cycle and use the real time). This spacing Timer will give you spaces between cases on Conveyor 1, so that the cases do not pile up at the Conveyor 1 Stopper (provided we find the correct space).