Knowledge Base

How SPLat works: FastTrack programming

One of the innovations we are most proud of in SPLat is FastTrack programming.

SPLat contains a rich and diverse repertoire of over 400 instructions.Coupled with large program memory capacities and advanced onboard hardware resources, that gives you the ability to implement a wide range of very sophisticated applications using SPLat.

Many applications, however, are straight forward timing and sequencing tasks with the simplicity of say a dish-washer controller. FastTrack programming lets you program these less ambitious applications without having to learn 400 instructions. FastTrack is a carefully devised subset of only 14 instructions that gives you enough programming capability to implement a huge range of simple machine sequencing tasks.

Below is an example of a simple but realistic program written using FastTrack. The application is a clutch operated ‘full cycle’ flywheel punch press with an ejector for finished parts and a strip steel feeder for raw material.
 
The press has a clutch, and is arranged such that each activation of the clutch causes the press to go one complete cycle and punch out one part. The press has two limit switches. One detects the ‘down’ position, actually just past the point where the part has been punched out. The other limit switch detects when the press has returned to the home position, when the clutch should be deactivated.
 
The ejector is a pneumatic mechanism that simply needs a 200mS ‘on’ pulse to operate.
 
The steel strip raw material is fed in through a pneumatically operated feeder mechanism. The feeder has a single solenoid to activate it and a proximity switch that senses the material and indicates the feed cycle is complete.
 
The purpose of this program is to automatically sequence the press, the ejector and the feeder.

Sample FastTrack program
Roll your mouse over each line of code in turn to display an explanation.
Step1The “line label” gives this line a name that can be used to reference it elsewhere in the program.
OnPressTurn on (start) the press. This engages the clutch and starts the cycle.
WaitOnDoneLimitSwitchWait for the Done limit switch to come on. This switch senses when the press has rotated to a point where a part has been punched. The machine design ensures that the switch comes on only after the punch tool has re-opened.
OnEjectorTurn on the ejector mechanism
Pause20Pause for 20 times 10mS, or 200mS. This gives the ejector time to act.
 
Generating time intervals is extremely simple with SPLat FastTrack programming, and the number of delays (“timers”) is effectively limited only by the amount of program memory.
OffEjectorTurn off the ejector again.
WaitOnUpLimitSwitchWhile we have been ejecting the newly made part, the press has continued moving around. Now wait for it to reach the ‘up’ or home position.
OffPressTurn off the press, i.e. disengage the clutch
OnFeederTurn on the strip feeder. This starts the process of feeding the strip of raw material into the press, in peparation for making the next part.
WaitOnFeedSwitchWait for the feedswitch to come on, i.e. the sensor that detects that the strip has been fed far enough into the press.
OffFeederTurn off the feeder. A new length of raw material is now in place and ready to be punched.
GotoStep1Go back to the start of the program and repeat the cycle. The program will re-cycle indefinitely. The line at the start of the program is labelled ‘Step1’ so the controller will know where to go to.
Press:oEQU5SPLat allows you to assign meaningful names to inputs, outputs, memory locations etc. Not only does this make your programs more readable, but it also means if you need to re-assign a “resource” you can do it by simply changing one definition.
 
This definition defines “Press” as being output 5. Naturally all symbolic names used in this way must be defined; we have shown one definition just to illustrate the point.
;This is a commentThis program will use just 24 bytes of SPLat’s program memory. Most SPLat controllers have nearly 1000 times that much program memory. What’s more, the program used only 5 different instructions out of the FastTrack repertoire of 14 instruction. The full repertoire of SPLat is over 400 instructions and growing.
 
That means SPLat gives you the resources and tools to write programs with very serious amounts of functionality. With SPLat you can start out “nice ‘n easy” with FastTrack for quick results in simple applications. As you grow your skills and confidence SPLat will grow with you.
;This is another commentOur free online training course will teach you FastTrack programming in a few hours. It will also teach you some very powerful program design methods that will be useful to you whatever kind of control program you do in the future. Click now (on “Another comment”) to start the training course.


The above example is a simple program that performs only one task. With the introduction of MultiTrack in December 2005, you can now extend this simple programming method to having several virtually independent programs running at the same time in the one SPLat controller, but able to coordinate their actions as required.