I figure these can't be replaced as it is by B3s. Any idea?
Yes, in case the "customer" has asked for a design that is unsafe or could lead to an expensive court case and injury or damage claims, there are TWO methods:
(1) Do the program in a safe manner (as you have now), but add documentation explaining WHY it needs to be this way, instead of the customer's preferred method.
(2) Do as the customer requested, but document it well, with a big WARNING in the program comments, and also require the "customer" to sign a letter where you explain the legal dangers of doing the program HIS way, and how it could lead to a damaged vehicle if a gate should come down on a stalled car, or on a person standing next to his stalled car, or simply come down on a car where the driver is doing somthing else while sitting under the gate. At many parking garages, people stop (after getting a parking ticket on the entry side) to put away their ticket, or answer their cellphone, or tune the radio.
If you do not provide such warnings, then you the programmer and your company (if any) could and probably would be held liable for the damages (at least here in the US). If you choose Method 2, then here are the changes to make:
Rung 0003: On the left (input) side, delete the 3rd rung branch. Also in your comment, add a big warning notice:
"WARNING!! Failure to add or use a vehicle-and-person detection sensor under the gate could lead to car-park customer vehicle damages, personal injury, legal fines, and a lawsuit. The lawsuit could result in large damage and penalty monetary awards in a long court case that could drag out over several years, with large legal fees, and loss of time when the car-park owner has to appear in court numerous times."
Rung 0004: Delete I:0/2, and add the warning same as above.
Rung 0007: On the left (input) side, delete the 3rd rung branch. Also in your comment, add the same big warning notice.
Rung 0008: Delete I:0/3, and add the same warning notice.
Another problem with Method 2 is that without a sensor that detects the car passing the gate, you really can never be sure that your vehicle count is accurate. What if a driver pulls in, trips the Entry sensor, but then changes his mind and backs out? The driver could sit at the entry point 2 seconds, or 200 seconds, but without a detection sensor just past the gate, you would count that vehicle, but it would NOT be in your park. Over a year's time, you could lose a lot of money with empty spaces where your PLC program did not count correctly and did not allow all parking spaces to be filled.
The same problem applies for cars leaving the parking area: A driver might change his mind at the last second and stay in the place, meaning that the next IN vehicle might not have a space to park. Then you will have a very mad customer that is going to raise hell, demand his money back, and probably will never park in your place again.