The original turret and toolposts on my lathe worked in a similar manner with regards the tool signals, ie there were 3 limit switches and depending on their sequence you knew which position it was at.
Mine was only 6 pos for the turret and 4 pos for the toolpost hence only 3 switches on each required for the position.
They were hydraulically driven so that side was a bit different but it worked extremely well with the exception of it having to lock at each position before unclamping and moving to the next before eventually getting to the desired position. That was because of the hydraulics as they were rack and pinion driven, so that would not be an issue with your setup.
I used a PLC as it is a lot quicker than VB and also because Ladder Logic is much easier for me than VB

Another option is to use an Indexing Servo drive but if going down the servo route, and as you have an IP-A, then I think just using a normal +/- 10v servo would be best.
If its a choice between a servo and a PLC then probably the Servo is the best option and you can usually pick them up on eBay at a reasonable cost second hand which will likely work out cheaper, or as cheap, as a PLC.
I have used Allen Bradley DSD drives, they can be used in Step/Dir or Analogue and if the Sercos or Indexing drive then can additionally be used as indexing drives. If going that route just make sure you get a motor and drive that are matched.
Hood