Making custom controllers is what sets SPLat Controls apart from all other makers of board level programmable controller products. Usually have to keep our custom designs confidential, so we can't brag about them. Just recently, however, we completed a design for a customer who had no hesitation giving us permission to publicise it. The customer is John March & Co, a Melbourne electrical contractor who provide control panels to a major Australian supplier of high speed industrial roller shutter doors.
Until recent times John March were using regular industrial PLCs in their panels. Then their customer decided to switch from a system using cams and microswitches for position sensing to a proprietary rotary encoder. The encoder has an RS485 interface and "talks" a completely proprietary protocol. There is no way an interface for such an encoder could be bought off the shelf.
The door systems also use a special detector in the rubber edge seal that detects if the door is obstructed. This detector has a unique fail-safe interface that generates a 2kHz squarewave when clear but nothing when obstructed. Again, there is no simple way of interfacing such a detector to a regular PLC.
SPLat to the rescue!
The SPLat controller we designed for John March is called JM01. It has the following features:

The picture shows the JM01 on my desk complete with my test setup (I wrote the SPLatWare application program for it, so I needed a convenient test bed).
You can see the controller in the front. The operator panel is connected with a simple ribbon cable that can be up to 600mm long (we have done other custom controllers where the operator interface can be many meters away, but in this case the two are always in the same cubicle).
Behind it is the test box. This contains switches to simulate inputs and LEDs to display outputs. There's a bit of circuitry in the box, for example a widget to simulate the edge detector. The test box doubles for production testing.
On the left you can see what I did to save having a 1HP motor and variable speed drive on my desk. The square metal object is a stepper motor out of an old floppy disk drive. It is coupled to the black encoder just behind it using Blue-tack (an indispensable Engineering Material!)
The stepper motor is driven by an old SPLat MMi88 (the predecessor to MMi99) I just happened to have lying around (top lefthand corner of the picture, behind the encoder). It contains a simple program that generates fast and slow forward and reverse stepping sequences. This very nicely emulates the variable speed drive used in the Real Thing. Front panel buttons allow the encoder to be jogged to any position, and can also emulate faults by inhibiting movement. I didn't bother with reproducing acceleration.
The SPLat program in the JM01 controller has an interesting assortment of features: