I don't recall doing it as a matrix of buttons but may well have.... Many PLC's do allow that kind of input.
The CubLoc chip I used does have ModBus integrated which is how I got it to talk to Mach3
As for the rotary switch you can put a bunch of resistors across the poles of the switch to give you a stepped voltage depending on where the switch is rotated to. This can then be put into the PLC and decoded into a percentage and fed via ModBus.
The feedrate knob is a usefull addition but in all honesty is the only bit worth bothering with (apart from the e-stop!!)