The trouble is that without the diodes, if R1 is not energized, current travels through the normally closed switch and contacts of R1 to the Start and Reverse relay contacts. This allows the drive to be started or reversed, but not stopped with the PLC. Likewise for the PB's if R1 is energized.
I think you are looking at it as if each relay must control ONE and ONLY ONE FUNCTION. That is normally the case with hard-wired relay logic. But with a PLC, there is no reason not to internally define "STOP" as being a combination of 2 or more outputs being energized. This applies to the START and STOP functions also. With that in mind, it becomes much easier to make it work using fewer relays and no diodes.
Here is a question that might clear up the logic:
Why are you adding R1 contacts to the STOP funciton?
Think about it. STOP is a funciton that should be made to work under any condition, whether you add a half dozen more more additinal control points, or not. There is no need to switch the STOP between "Switch Control" and "PLC Control". STOP is STOP and that is one reason it was usually a Normally Closed contact on hard-wired switches. That allowed 2 (or 6, or more) STOP switches to be in series, but they all worked equally well. STOP is a "series" (or AND Boolean function, where START is usually a "parallel" (or OR Boolean function). Keeping that in mind, it is easy to see that you can remove BOTH the R1 closeed and R1 open from the STOP branch, then put your STOP switches in series, and because the STOP must be a closed circuit, either the PLC or the Switch can stop the drive at any time (no restraints, as there should be none on the STOP function). To paraphrase Shakespeare: A STOP is a stop by any other name. No modifiers, interposing relays, modifiers, or clarifiers should ever be (nor or they needed) for a STOP circuit. STOP should work at all control station, under any and all conditions of control, no matter which set of controls has been assigned the Start, Reverse, or other capabilities.
An example comes to mind. At the 1985 fire at the TVA Brown's Ferry Nuclear Plant, the operators were down to one set of controls to Start/Stop the reactor cooling water pump. Suppose those controls had been fixed so some other switch (that got burned in the fire) had to be made before they would work? We wouuld probably have had a nuclear meltdown and the lower 2/3's of the US would still be uninhabitable.
Here is another circuit that should work. R3 can easily be eliminated and replaced with a 2nd R2 N.O. contact.
R1 = Switch or PLC control selector
R2 = PLC Start
R3 = PLC Stop
R4 = PLC Reverse
|-12 VDC
| N.O.START
| R1 SWITCH START (to drive)
|--|/|------+---0 \ 0---+-------------------------------------
| | | (momemtary-but maintained should work)
| R1 | R2 |
|--| |---+-------| |----+
| | |
| | | N.C.STOP
| | | R3 SWITCH STOP (to drive)
|----------------|/|----------0_|_0---------------------------
| | | (maintained-break to stop)
| | |
| | | N.O.REVERSE
| | | SWITCH REVERSE (to drive)
| | +----0 \ 0---+----------------------------
| | | (maintained)
| | R4 |
| +--------| |----+
|