Knowledge Base

The MS120 is a member of the SPLat family of controllers. That means that it shares its programming language and programming tools with all other SPLat controllers. Whatever you learn on the MS120 is applicable to other models. The only differences will be those relating to particular hardware resources and features, and dialect differences. “Dialect” is a term we use to describe differences between versions of the SPLat language, which really means that we are continually adding new language features which are not available on older controller products.

You program the board by writing and debugging a program to suit your application in your PC. You then download the program to the board and complete debugging and overall system testing. Once the program has been downloaded to a SPLat board it will remain secure in the board. You can download a new program to the board at any time, in which case the old one is overwritten. You cannot upload a program from a board back into your computer, so it is impossible for a competitor to steal your program out of a board.

The PC software you use for programing is called SPLat/PC. SPLat/PC gives you a wide range of programming and debugging tools. It incorporates a help file with reference material and our classic, highly acclaimed, programming tutorial. You can download SPLat/PC free from here.

SPLat/PC also features a series of semi-interactive “mini-tutorials”. These are designed to give you a bit of a kick start with SPLat. You should start your exploration there.

The proprietary SPLat programming language contains a repertoire of over 400 instructions. These instructions cover a huge range of functions. The instruction set differs from conventional programming languages and microprocessor assembler languages in that it has a strong emphasis on the needs of control applications. In particular, there is a subset of just 14 instructions called FastTrack. The FastTrack subset contains all you may ever need in order to implement simple timing and sequencing applications with batch counting and multiple interlocks.

In December 2005 we introduced MultiTrack programming. This is an extremely easy method of writing programs that can (seemingly) do several things at once. (For experts: MultiTrack is a non-preemptive multitasking scheduler that is extremely easy to learn and use). MultiTrack extends FastTrack, so that with just 16 instructions you can write useful multitasking programs. The mini-tutorials in SPLat/PC include an introduction to MultiTrack. It has been our experience over many years that a lot of people shy away from MultiTrack because multitasking is a large conceptual leap. The MultiTrack mini-tutorial is excellent in that regard, as it presents the concept in an extremely approachable way. Even if it takes you several hours to wrap your head around, invest the time! The investment will pay off handsomely in anything but the most trivial program. After you have grasped the basics of MultiTrack, your next port of call should be the more detailed MultiTrack tutorial.

The 400+ instructions that comprise the full SPLat programming language are documented within the SKB in the Programming Reference. Some of these are instructions we have introduced to simplify common control tasks even further, such as blinking an LED, and form an extension of the FastTrack concept. Therefore, it’s a good idea to look there once you move on from pure FastTrack.

If you need even more knowledge you can work with the tutorial built into the SPLat/PC help file. It starts with a FastTrack tutorial that approaches FastTrack that is different from the approach taken in the online course (this is older material), then goes into the “classic” tutorial. The classic tutorial starts off with the nitty gritty details of the internal registers in SPLat. It then works up from there with a detailed expose, along with many examples, of the vast majority of SPLat instructions and how they are used.

Note: The MS120 requires a special adaptor cable for programming. This is supplied with the MS120DK216 developer’s kit.

You can also program this controller in C. Click here for details.