SPLat Logo

Glossary of Terms

SPLat will be shutdown for the Christmas Holiday season from Thursday 20 December 2018 thru Sunday 6 January 2019. We will check emails periodically and will continue to process orders but at a slower pace. Santa hat

In late 2011 we introduced a new numbering convention for SPLat/PC. The version number now consists of 3 groups of digits mm.dd.bbb.

The first group, mm, is the major version. It changes only on introduction of a very major change.

The second group, dd, is the highest language dialect supported.

The third group, bbb, is the Build number. This number increments whenever we do an inhouse "build" of the program, and can never be repeated. Some builds are developmental, and never get published. Therefore Build uniquely identifies a version, and released build numbers need not be contiguous.

Comment out

To comment out an instruction means to place a comment indicator in front of it so it is no longer operative. Example:

; LoadX 5


We define this as being the Hardware and the Firmware. This lines up with what we sell you as a standard product or undertake to develop for you as a custom SPLat. We exclude SPLatWare from the definition because that is not something we normally supply.


In general CPU stands for Central Processing Unit. In relation to SPLat would usually refer to the SPLat virtual processor, and in this context we use CPU as the name of a virtual onboard peripheral that allows access to various properties of the virtual processor. May also refer to the underlying real processor.

Data Memory

See also RAM. This is the old name used for user-accessible read-write memory in a SPLat that is used for storing various items such as counters, floating point variables etc. We are replacing the use of this term with the more universally known "RAM".


The SPLat language is constantly evolving and expanding. The very first SPLat controller had an instruction repertoire of 28 instructions. It now has hundreds, and continues to grow. We call successive versions of the the instruction repertoire dialects. A given SPLat board will contain a certain dialect. When it connects to SPLat/PC it reports that dialect, and SPLat/PC will then display the dialect number and constrain you to using instructions within that dialect. SPLat boards with reFlash capability can be upgraded to later dialects as they come out (subject to product-specific constraints).


We use this term to denote the ultimate user of the equipment containing a SPLat controller. This would typically be the customer of our customer, where our customer is the company the uses SPLat controllers in their products.


(In the context of event/action (a.k.a. Finite State Machine) programming): An event is something that happens in the real world, say a switch coming on, that triggers the program to take an action. The term may also be used to describe an external condition that already exists, say a switch is already on, when the program enters a given section of code that tests for it. Finally, internal events can exist like a timer expiring or a different MultiTrack Task setting a Semaphore.

(In the context of Tabula): An Event is something that happens outside the control of an Event-Action table that triggers a consequent Action. While the word event implies something of brief duration, like "vase falling", in Tabula the word is often used to describe a steady state condition, like "vase has fallen".

(In the context of SimpleHMI): An event is something (usually a button press) that takes place in the SimpleHMI device (e.g. Android device) resulting in code being sent to the SPLat host. In the SPLat, this can be used to trigger an event handler subroutine.


This is a program that is permanently embedded in a processor chip. In a SPLat controller, the processor chip is a regular microcontroller chip that we have programmed to become a SPLat controller chip. That program is the firmware. The SPLat user has no access to the firmware, and the firmware remains our copyright property.

See also SPLatWare, Hardware and reFlash.


This is the physical part of the controller, i.e. the electronics.

See also Firmware and Hardware.

Hash command

A type of command in SPLat/PC that simplifies programming of otherwise complicated functionality. In SPLat/PC lines with hash commands start with a hash character, #, in column 1.

Hash function

A special purpose argument type used with a hash command. Written as a function name followed by zero or more arguments enclosed in parenthesis.


Human-Machine Interface. A term generally used to describe a device that allows a human operator to interact with a controller. Examples are the LCD and buttons on an MS120 controller, industrial touch screens (the most frequent common usage in recent times), or an Android smart phone used with our Android HMI app.


jndexing uses the J register to offset (index) a resource address. This is described in the MultiTrack tutorial.

Junction temperature

For a semiconductor device like an integrated circuit (chip) or transistor, this is the temperature of the actual piece of silicon. So long as energy is being dissipated in the component, the junction temperature will always be higher than the surround air (ambient temperature) or the outside surface of the component (case temperature).


This was the original name used for our PC to SPLat proprietary communications protocol. It has been replaced by the more descriptive name SPLatLink.


In the context of SPLat Controllers, a load is whatever device is connected to an output. Thus a relay coil is a load. You can also describe the voltage and current of the relay as the load: "The relay presents a 24V 50mA load".


The first second generation SPLat controller, with digital I/O, analog I/O, built in operator interface and a new, faster, CPU.

It replaced the MMi88, having all the features of the MMi88 plus expansion connectors and onboard port for an LCD display.


Non Recurring Engineering or Non Recoverable Engineering cost. This is the initial up-front engineering cost for a new design or project.


Non Volatile Extended Memory. A conceptual framework for large non-volatile memories in SPLat. The first implementations are expected in standard products around 3Q04.

Pt100, Pt1000

Platimum temperature detector. The 100 or 1000 refers to the resistance at 0C.


Random Access Memory. We used to call it Data Memory, but are changing over to the now widely known term. In a SPLat it is the read/write memory that is used by a SPLatWare program to store variable data.


Our term for the technique of loading new operating Firmware into a SPLat board. See reFlash Documentation

Register stack

The main registers of the SPLat processor are arranged as a push down stack of four 8-bit registers. These are named X, Y, Z and T. X is the principal register. The register stack is documented in the Classic Help File, which is part of the SPLat/PC programming software.


Resistance Temperature Detector. This term is usually applied to platinum temperature sensors, which have a predictable and repeatable positive temperature coefficient of resistance.


A simple, easy to use Human-Machine Interface system. SimpleHMI exists as a Android app, as a standalone Windows program and as a feature built into SPLat/PC. A significant feature of SimpleHMI is that there is no need to program the SimpleHMI device (e.g. Android 'phone) for each application. All the application-dependent programming is done in the SPLat (host). SimpleHMI may also be used on non-SPLat hosts, for example hobby-grade boards. SimpleHMI in an Android device communicates with the SPLat via Bluetooth. SimpleHMI in Windows uses a serial (COM) port or USB with a USB-Serial adaptor.


A program that runs in a PC or other non-SPLat computer. This includes SPLat/PC and any special SPLatLink based applications.


Stands for SP(Lat ) Integral Circuit Element. Symbolises our ability to include application-specific circuitry on a SPLat board.


This is the SPLat expansion scheme that uses the industry SPI bus in its most basic mode. It is suitable for bulk digital I/O expansion with limited programming support.

SPLatLink (formerly LiveData)

A proprietary communications protocol used for communicating between a SPLat controller and a PC. SPLatLink is available in SPLat/PC as a debugging aid, and can also be used in custom PC applications using our SLCom ActiveX control.


SPLatty is the cartoon character who sometimes serves as an anthropomorphised representation of the SPLat processor.


This is the term used for an application program written in the SPLat language.

See also Software, Firmware and Hardware.

Touch of SPice

Term used for a simple SPLat add-on board that provides some special functionality on a separate board. Derived from the SPice concept, where the special functionality is integrated onto the main controller board, it allows us to offer the lowest possible entry cost into customised control solutions.


Brand name for variable voltage transformers


Programmer speak for WAit For. For example, in a comment you might say "WAF tank full"


X is the main SPLat register, and part of the register stack. The register stack is documented in the Classic Help File, which is built into SPLat/PC, our programming software.