The SconScript Language
SconScript is a is a scripted, sequentially interpreted programming language. The language is implemented in firmware on a microcontroller and is specifically designed to give the robot builder a easy and powerful method of controlling robotic actions. The language is conceptually similar to many industrial robotic languages. These languages use large storage memory for endpoint locations so that all motors can be positioned in a single instruction. This is ideal for arm type robots and for walking robots too since a walk routine can be defined as a list of points. SconScript is built into Scon SB products. Microcontroller chips with SconScript interpreters may also be available.
Scon SB pc boards with SconScript are programmed, controlled, and setup using Windows based programs that are supplied with SB board products. Click to see the board setup screen.
The two primary functions performed by SconScript are the motor interface / driver; and the program interpreter / digesters. The motor interface works in the background and generates motor control signals.
The SconScript interpreter / digesters read your program and deliver the necessary information to the motor interface section. This section also reads inputs and turns on and off outputs as directed by your program.
SconScript employs a "move to position" system. With this method your desired positional information for each movement end-point is stored in a memory element. The memory elements on Scon SB products is non-volatile (not lost when power is off). Once these positions are stored in memory, you use the SconScript instructions to move between the locations. SconScript reads your instructions quickly, so movement between points is seamless and limited by the rotation rate of the servos, this makes continuous motion possible. Scon SB boards have a block of memory that can be used by SconScript to control the speed at which he servos rotate. Normally, rotation rates are synchronized so that the servos travel together and finish at the same time, however you can set the rates individually if desired. Windows based utilities that are included with Scon products make building position and speed information easy. Click to view the position manager utility screen. With this utility you can move any combination of servos to the desired position, then just click to store the position into the desired memory location. The rotation angles of all selected servos are now stored for use as often as needed, and may be modified easily. Read the manual associated with the Scon product for further details. SconScript programs are written using any word processor that creates a standard text file, such as notepad.
SconScript Instructions are either loader or executer instructions. Loader instructions tell the board where to store things. Executer instructions are either program control or device control. Here are a few of each: Move, Output; Goto; Call; Do/Loop; Wait. Click for a full list note: The list is changing and growing. The interpreter / digesters are referred to as "engines" these engines read your program and deliver the necessary information to the motor interface section. Scon products have a primary engine, and may have additional secondary engines. Engines may run simultaneously, the primary engine controls all secondary engines. A two engine SB board empowers your program to do two things at once; for example while your robot is walking, you could run a routine that would move an arm or head without interrupting the walking. Click to sample Scon programs in text.