SPLatco Knowledge Base

All standard range controllers released subsequent to the MMi99 (such as SL99, MMi200 and MS12) will support the FP16, and the DK versions of those controllers ship with appropriate support software.

SPLat/PC can be configured to handle the FP16 board. The FP16 is represented as an extra 8 inputs and an extra 8 outputs.

Once SPLat/PC is configured for the FP16, you program it as you would any other inputs or outputs. There are some minor timing restrictions.

NPN versus PNP input handling

The FP16 allows you to select NPN or PNP configuration of the input circuits. It does not however have any fancy stuff to “correct” the logical polarity of what your program sees. The result is that in PNP mode the inputs seen by the SPLat program will be inverted. An ON input gets read as OFF, and visa versa. You must make appropriate adjustments in your program.

Configuring SPLat/PC

There are two ways you can configure SPLat/PC to recognise the FP16 board:

1. Automatic configuration

If you connect the FP16 to a compatible SPLat controller, and then connect the controller to SPLat/PC, if SPLat/PC recognises the controller and FP16 combination (i.e. you have a recent enough SPLat/PC), SPLat/PC will automatically configure itself. You will see the I/O window grow to accommodate the extra I/O from the FP16.

2. Manual configuration

Within SPLat/PC, there is a menu item to configure SPLat/PC to the board you are working with. This menu item is File>Configure>Board Type. Each controller board that can support XPice expansion boards like this one is represented by several variants. These variants relate to the amount of XPice expansion capacity connected to the controller.

For example, for the MMi200 there are the following variants:

MMi200Just the controller, no expansion
MMi200+16XPiceController plus 16 XPice I/Os
MMi200+32XPiceController plus 32 XPice I/Os
MMi200+48XPiceController plus 48 XPice I/Os
MMi200+64XPiceController plus 64 XPice I/Os

Because the FP16 has 8 inputs and 8 outputs, for a total of 16 I/O points, you need to select MMi200+16XPice (assuming you have just one FP16 connected). Similar for other controllers (like SL99).

Input and output numbers

You will need to carefully work out what input and output numbers apply to each FP16 I/O point. This will depend on what type of controller the FP16 is connected to, and on what other FP16 (or other XPice boards) are involved.

For an FP16 connected directly to a controller, the input numbers ‘run on’ directly after the controller’s onboard inputs, and the output numbers ‘run on’ directly after the controller’s outputs. On an FP16 connected to an MMi200, which has different quantities of inputs and outputs, this means that the 8 inputs and 8 outputs will not have identical numbers.

For an FP16 that is connected to another FP16, the input and output numbers ‘run on’ from the FP16 closer to the controller.

The easy way to get this clarified is to actually hook the boards up, connect to SPLat/PC and experimentally activate inputs and outputs. The SPLat/PC I/O window will show what’s happening.

Implementing systems with more than 64XPice I/Os

The limit on I/O count implied above is not absolute. Using the SPiceX method you can go considerably further. Tutorial.