Our standard off-the shelf controllers offer a range of features making them an attractive alternative to programmable logic
controllers in embedded OEM applications. All current products are expandable, and most can use our unique
Touch of SPice boards for added special purpose functionality. SPLat standard controllers are the best
way to start developing controls for your product.
Our off the shelf controllers provide an excellent price/performance ratio for Proof of Concept and low volume
production use. Remember though, that we can also make you a custom SPLat with any combination of features you need,
including analog resolution to 18 bits and beyond and high current or very high speed special purpose circuits, sensor
interfaces etc.
|
HD8 |
CC18 |
MS121 |
MMi203A |
SL100 |
HMI430 |
DC216 |
DT16 |
DR8 |
DA8 |
DR240 |
HMI700 |
DPH1 |
DW2 |
DM16 |
DR240A |
LCD |
No |
No |
2x16, blue dimmable backlight |
Optional 2x16 through 4x20, with or without blue dimmable backlight |
No |
4.3" Colour, 480x272 |
2x16, dimmable backlight |
No |
No |
No |
No |
7" Colour, 800x480 |
2x16, dimmable backlight |
No |
No |
No |
Push buttons |
No |
No |
5 |
5 |
No |
No (Touch screen) |
4 |
No |
No |
No |
No |
No (Touch screen) |
4 |
No |
No |
No |
Programmable LEDs |
3 7-segment red numeric digits |
1 red/green/orange status LED |
4 red |
7 red |
No |
No |
1 red/green status LED |
1 red/green status LED |
1 red/green status LED |
1 red/green status LED |
1 red/green status LED |
No |
1 red/green status LED |
1 red/green status LED |
1 red/green status LED |
1 red/green status LED |
Beeper |
No |
No |
No |
Yes |
No |
Yes |
No |
No |
No |
No |
No |
Yes |
No |
No |
No |
No |
Digital inputs |
See bidirectional I/O below |
See bidirectional I/O below |
4, NPN/PNP selectable |
8 NPN |
8 NPN |
See bidirectional I/O below |
See bidirectional I/O below |
See bidirectional I/O below |
See bidirectional I/O below |
See bidirectional I/O below |
8 Optically Isolated |
See bidirectional I/O below |
2 NPN |
See bidirectional I/O below |
See bidirectional I/O below |
8 Optically Isolated |
Digital outputs |
See bidirectional I/O below |
See bidirectional I/O below |
See bidirectional I/O below |
8 NPN, 500mA |
8 NPN, 500mA |
See bidirectional I/O below |
See bidirectional I/O below |
See bidirectional I/O below |
8 Low Voltage Relays |
See bidirectional I/O below |
8 240VAC Mains Relays |
See bidirectional I/O below |
2 NPN |
See bidirectional I/O below |
See bidirectional I/O below |
8 240VAC Mains Relays |
Bidirectional I/O |
4, NPN in or 870mA out |
16, NPN in or 500mA out |
8, NPN in or 500mA out |
0 |
0 |
8, NPN in or 500mA out |
8, NPN in or 500mA out |
16, NPN in or 500mA out |
4, NPN in or 870mA out |
4, NPN in or 870mA out |
0 |
8, NPN in or 500mA out |
0 |
4, NPN in or 870mA out |
16, NPN in or 2A out |
0 |
Analog in |
2ch, 10-bits res. 0-5V, 0-10V, 20mA, temperature |
2, 0-5V ratiometric (10-bit res) |
Via optional SPice board (10-bit res) |
2ch, 10-bits res. 0-5V, 0-10V, 20mA, temperature |
1ch, 10-bits res. 0-5V, 0-10V, 20mA, temperature |
2ch, 12-bits res. 0-3.3V, 0-10V, 20mA, temperature |
2ch, 12-bits res. 0-3.3V, 0-10V, 20mA, temperature |
2ch, 12-bits res. 0-3.3V, 0-10V, 20mA, temperature |
No |
8ch, 12-bits res. 0-3.3V, 0-10V, 20mA, temperature |
No |
2ch, 12-bits res. 0-3.3V, 0-10V, 20mA, temperature |
pH and RTD |
2ch, 24-bits res for load cells |
2ch, 12-bits res. 0-3.3V, 0-10V, 20mA, temperature |
No |
Analog out |
2ch, 0-10V, 10-bits res. |
No |
Via optional SPice board (10-bit res) |
2ch, 0-10V, 10-bits res. |
1ch, 0-10V, 10-bits res. |
1ch, 0-10V, 10-bits res. |
1ch, 0-10V, 12-bits res. |
No |
No |
2ch, 0-10V, 12-bits res. |
No |
1ch, 0-10V, 10-bits res. |
No |
No |
No |
1ch, 0-10V, 12-bits res. |
I/O indicator LEDs |
No |
No |
No |
Yes |
Yes |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
SPx Expansion (legacy) |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
RS232 |
No |
No |
No |
Yes |
Yes |
No |
No |
No |
No |
No |
No |
Yes |
No |
No |
No |
No |
TTL Serial |
1 |
1 |
1 |
0 |
0 |
2 |
1 |
1 |
1 |
1 |
1 |
2 (1 shared with RS232) |
1 |
1 |
1 |
1 |
ModBus |
Yes, via add-on RS485 or RS232 adaptor |
Yes, via add-on RS485 or RS232 adaptor |
Yes, via add-on RS485 or RS232 adaptor |
Yes, RS232 |
Yes, RS232 |
Yes, TTL & RS485 |
Yes, TTL & RS485 |
Yes, TTL & RS485 |
Yes, TTL & RS485 |
Yes, TTL & RS485 |
Yes, TTL & RS485 |
Yes, TTL, RS232 & RS485 |
Yes, TTL & RS485 |
Yes, TTL & RS485 |
Yes, TTL & RS485 |
Yes, TTL & RS485 |
Xwire networking (TTL) |
Yes |
Yes |
Yes |
Yes |
Yes (via SPice) |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Xwire networking (RS485) |
No |
No |
No |
Yes |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
SPice connectors |
No |
No |
2 (11 pins + serial comms) |
1 (6 pins) |
1 (6 pins) |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
Program memory (approx) |
21K (~12,000 instructions) |
21K (~12,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
21K (~12,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
64K (~36,000 instructions) |
Data memory (RAM) |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
250 Bytes |
Real Time Clock |
No |
No |
No |
Yes |
No |
Yes |
Yes |
No |
No |
No |
No |
Yes |
No |
No |
No |
No |
High speed counter |
No |
1 @ 100kHz |
1 @ 100kHz |
1 @ 5kHz-18kHz |
1 @ 5kHz-18kHz |
1 @ 300kHz |
No |
No |
No |
No |
No |
1 @ 300kHz |
No |
No |
No |
No |
Medium speed counter |
4 @ 1.8kHz |
8 @ 1.8kHz |
8 @ 1.8kHz |
8 @ 1.8kHz |
8 @ 1.8kHz |
8 @ 2kHz |
8 @ 2kHz |
16 @ 2kHz |
4 @ 2kHz |
4 @ 2kHz |
8 @ 2kHz |
8 @ 2kHz |
2 @ 2kHz |
4 @ 2kHz |
8 @ 2kHz |
8 @ 2kHz |
Quadrature counter |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
Yes (300kHz) |
Yes (300kHz) |
No |
Soon |
No |
No |
No |
No |
No |
No |
MultiTrack™ multitasking
See 32 processes for the price of one!
|
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Floating point arithmetic |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Faceplate & membrane overlay |
No |
No |
Optional accessory |
Included in Developer's Kit, buy separately with OEM version |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
No |
1-off price (Aussie dollars) |
$89 |
$59 |
$99 |
$149 |
$139 |
$198 |
$109 |
$95 |
$115 |
$95 |
$145 |
$269 |
$130 |
$105 |
$125 |
$167 |
|
HD8 |
CC18 |
MS121 |
MMi203A |
SL100 |
HMI430 |
DC216 |
DT16 |
DR8 |
DA8 |
DR240 |
HMI700 |
DPH1 |
DW2 |
DM16 |
DR240A |
The MS121 comes with a 2 line by 16 character LCD. The MMi202 board is capable
of supporting display sizes from 2x16 up to 4x20. We supply Developer's Kit
versions of the MMi202 with a 2x16 display. You can also supply your own
display in other sizes.
The detailed documentation contains information on
selecting and wiring compatible displays. In any event, the SPLat boards
provide advanced programming support for the LCD, and our programming software
simulates the LCD, so displaying text messages or formatting numbers is a
breeze. That means the LCD on a SPLat controller can provide rich interactions
with your users, up to and including next menus.
The programmable LEDs on the MS121 and the MMi202 are located so they can
shine though a membrane overlay (G). The board (B) is mounted off a metal
faceplate (P) which the membrane is glued to. The fasteners are not shown. The
programmable LEDs are programmed as outputs, but do no use up any of the
regular outputs, so they really are a bonus.
In your program it is very simple to turn the LEDs on and off. There is
also a facility to set them to blinking automatically. You can even control the
blink pattern!
The Beeper on the MMi202 appears as a simple output, but does not consume
any of the regular outputs.
It is very simple to program, and can be set to automatically produce a
short confirming beep each time a latched push button press is read out.
The digital outputs on MMi202 and SL100, and the MS121 and CC18
bidirectional pins used as outputs, all have similar characteristics. The
outputs are Darlington transistor switches that switch the output pin to
circuit common, i.e. "ground". This completes a circuit so that a load device,
say a relay coil, connected between the output pin and the positive DC supply
voltage will be activated. The outputs have inbuilt diodes to protect against
damage from reverse voltage spikes from inductive loads (relays and
solenoids),
Each output is rated at up to 500mA.
Outputs can be programmatically turned ON or OFF. You can also set them to
Blink (i.e. automatically flash on and off). You can update any 8 contiguous
outputs at once, and you can also read back the last state set in every
output.
The MS121, HD8 and CC18 feature bidirectional I/O ("BIO"), a SPLat innovation
first introduced with our OEM36 many years ago. A BIO pin can be used as an
input or as an output, giving you the maximum flexibility in applying the
resources of the controller. Which mode it operates in is down to the
programming, which is very simple. There are no direction registers or
configuration procedures, simply use it as one or the other and it just
happens.
As an input the BIO pin is a standard NPN input with all the programming
flexibility of any other input. As an output is is just like any other 500mA
output.
The analog inputs on the MMi202, SL100 and HD8 are extremely versatile, and
reflect SPLat's innovative approach to design. One simple jumper allows the
analog inputs to be set for 0-10V mode, 20mA mode or temperature measurement
mode.
The temperature measurement mode lets you use a low cost thermistor to
achieve temperature measurements of modest accuracy (typically 2°C) and
resolution (typically 0.1°C) for no more than the cost of a thermistor (as
little as $0.50 or less). The SPLat Knowledge Base contains a detailed tutorial
on thermistor temperature measurement.
The standard analog inputs have 10-bit (0.1%) resolution.
The MS121 does not have any analog on the base board, but can have it added
via an add-on SPice board.
The analog outputs on the MMi202, SL100 and HD8 provide a 0-10V DC "ground
referred" output. The outputs are capable of driving a 2K load. Resolution is
10 bits (0.1%). The MS121 does not have any analog on the base board, but can
have it added via an add-on SPice board.
The MMi202 and the SL100 feature indicator LEDs on all digital inputs and
outputs. These provide a visual indication of the state of the pin, and are
very useful for diagostic purposes.
Program Memory is the memory where your application program is stored. In
the current generation of SPLat controllers this is an area of Flash memory
located inside the main processor chip. This memory is non-volatile, meaning it
retains its information when the power goes off. Your program is transferred
into the program memory from your PC via a programming cable. There is no
complicated EPROM programming to worry about.
The SPLat programming paradigm is extremely efficient in its use of program
memory. Before being sent to the board your program is translated into a very
compact form called p-code or byte code which occupies about one 9th the space
of the equivalent code compiled from C. The very first SPLat had 2K of program
memory, and no application was ever written for it that wouldn't fit. With the
MMi99 (ancestor of the MMi202), we went to about 9K. That larger memory was
mostly used for all the text messages and menus that became possible with the
LCD display. The memory size of the MMi202 is therefore massive in terms of the
uses you would put a SPLat to. For the CC18, which does not have an LCD, you
would have to work very hard indeed to run out of program memory.
RAM is the memory where your program stores its variable data. Compared to a
modern PC with maybe 1GB of RAM, 250 bytes doesn't sound very much. In actual
fact, with the kinds of things you use a SPLat for, and with SPLat's efficient
usage, it is quite adequate. Also, this is net useable RAM available to your
program, with all the "under the hood" stuff already taken care of.
The main data types stored in RAM are floating point (4 bytes), simple
integer counters etc (1 byte) and semaphores. Semaphores are 1-bit variables
("internal relays", "switches"), and get packed 8 per byte.
The RTC contains a 7-day time of day clock, a calendar and 8
programmable events. Each event can be set to go off at certain time of the
day, and on any combination of days of the week. This makes it very easy to for
example program a schedule that differs at weekends.
The RTC has inbuilt SuperCap backup power that will keep the time for over
2 days. Unlike batteries a SuperCap has no wear-out (lifetime) limits. You can
also add your own external battery for even longer retention.
The high speed counter counts pulses on one of the regular digital inputs.
The maximum count frequency depends on the product and may vary with supply
voltage. There are two counting modes: accumulated count mode (24-bit) and
frequency mode (16-bit).
The medium speed counter counts pulses on several of the regular digital
inputs. The maximum count frequency depends on the product, but is typically
1.8kHz. There are two counting modes: accumulated count mode and frequency
mode.
A quadrature counter tracks the output of a quadrature (two-channel
incremental) encoder and maintains a up/down counter indicating position. In
SPLat the regular quadrature counter function counts up to 2.5kHz (input
changes per second) for 8-bit devices, or 300kHz for 32-bit devices,
and maintains a 24-bit counter. Programming is as easy as
resetting the counter and reading it out when required.
Multitasking is the ability of a processor or controller to do many things
seemingly at once. MultiTrack programming simplifies the programming of
multitasking to the learning just of 2 instructions, and makes SPLat beyond
dispute the easiest controller in the world to program for the majority of
control applications.
MultiTrack is an inbuilt "non-premptive" multitasking operating system which
is rich in useful features yet extremely easy to use. It allows you to write
your program as a number of autonomous tasks. Just one extra line of code per
task is all that is required to tie them together. Thereafter each task runs as
if it were a complete program with its own processor. There are simple
mechanisms to let tasks communicate with each other so they can synchronize
their activities. There is also a timing mechanism that lets you program time
intervals from 10mS to 46 hours with one simple set of instructions.
MultiTrack is not the first multitasking system in the world. It is however
the first multitasking system in the world designed specifically to simplify
the programming of controller applications. as distinct from general purpose
computing. If you are a novice you will find it very easy to learn. If you are
an expert you will wonder why nobody ever did it this way before.
One of the features that makes SPLat so attractive to advanced users is its
floating point processor. With floating point you can program numerical
calculations on positive and negative numbers, very large and very small
numbers with little or no worry about overflows or underflows. The accuracy is
approximately 6 decimal digits. Programming is easy, about as difficult as
writing down the keystrokes you'd perform on a calculator.
As an added bonus, SPLat's floating point processor performs non-stop
computing. That means if you should get unlucky, and attempt an operation like
divide by zero, the processor won't crash. At the same time, every operation
that can lead to an error returns a result indicator that your program can
test. This can save huge of amount of time in programming, because you can
eliminate a lot of bounds testing on raw data.
Xwire lets you connect together several SPLat controllers and dedicated
peripheral boards into a small network. It is extremely easy to set up and
program. Wiring is a simple twisted pair. To program it you simply create a
table that links memory locations in a slave to corresponding locations in the
master. Xwire automatically keeps the two tracking each other, with a small
transmission delay.
The SPice connector(s) on a SPLat board provide a connection point for a
small add-on board that sits piggy-back on the main board and provides some
special-purpose functionality. This idea is the key to inexpensively
configuring standard product for varying needs, and also to allowing us to
offer semi-custom solutions even in small quantities.
The SPice connector on the MMi202 and the SL100 makes a total of 6 pins
available for SPice boards. These pins are configurable, so a number of mixes
of analog and digital, input and output are possible.
The MS121 has a second SPice connector bringing, its total number of SPice
pins to 11.
The RS232 port on MMi202 and SL100 controllers is primarily for programming,
but can also be used by your application. The SPLat RS232 port uses a modified
RS232 hardware design which allows up to 5 co-located controllers to be
connected in parallel to form a short range network.
Controllers without true RS232 have a TTL Serial Interface. For programming
they use a special adaptor cable. This low cost cable is included in the
Developer's Kits.
ModBus is a widely used communications protocol for control systems. The
ModBus implementation in SPLat supports Master and Slave RTU operation, and is
designed for versatility and ease of use. We also supply you with a fully
worked example of a VB6 program that interacts with an MMi202 controller.
The SPLat proprietary language is extremely easy to learn, very powerful,
and supported with a large amount of tutorial materials. It is heavily oriented
towards embedded control systems, and makes light work of time delays, reacting
to inputs, generating operational sequences etc. However, if you are already an
experienced C programmer, you may prefer a language and environment that is
familiar to you. For C programmers we provide a free multitasking C operating
system, SPLatOS, and a library that will simplify accessing the controller's
hardware resources from C. SPLatOS is predicated on using a 3rd party C
compiler (CodeWarrior for HC08).
The MMi202DK and MMi202cDK216 Developer's Kits include a pre-drilled metal
faceplate and a universal membrane overlay.