V8 web header3

SLANG - Sequence Control Language

Prodigy provides a powerful yet simple to use Sequence LANGuage (Slang) that allows you to quickly develop control programs to tackle the special requirements of your applications.

Prodigy packages offer either SLANG Runtime or SLANG Development options. SLANG Runtime allows pre developed SLANG progams to be run whereas SLANG Development also allows SLANG programs to be written and modified.


Programming Environment

The Slang editor program ensures your programs are syntactically correct by checking each statement as it is entered. All statements that form a block (e.g. If-Else-EndIf) are automatically indented and terminated, expressions are checked as you enter them, variables are checked for scope and existence and so on. It is impossible to create a program that is not syntactically correct, leaving you free to concentrate on the logic of the program – and Prodigy can help with that too!slang editor


SLANG Extensions

Sometimes SLANG needs to perform functions that are beyond the scope of the language itself, such as manipulating Access™ databases or requesting input from the operator. In these cases SLANG will call on Extensions, which are purpose made routines that can perform quite complex operations.


Program Browser

  

SLANG

Concise, easy to understand programming language.

Individual programs can be started or stopped as required, by other Slang programs or via the Slang control panel.

Any number of Slang programs can run concurrently.

Monitor the state of any signals and variables used by individual programs.

Colour coded printout for documentation and troubleshooting purposes.

Editor enforces correct program syntax, minimising development time.

Automatic checking of signal and variable usage to minimise errors.

Comprehensive instruction set:
  • Comments
  • Go-to a label
  • Set an analogue signal or variable to some value
  • Turn a digital signal or variable on or off
  • Lock or unlock a variable – allows implementation of mutual exclusion
  • Wait either for a length of time or until an expression is true
  • If-Else-EndIf blocks
  • Repeat either a number of times or until an expression is true
  • Call a Subroutine
  • Stop or Start another Slang program
  • Data arrays
  • Conditional expressions
  • Expandable library of external function calls
  • Colour-coded program printout

Slang programs can all run concurrently and one Slang program can start or stop another.

You can rapidly switch between the slang programs you are working on by using the built in browser tree. As well as showing all of the programs the browser also shows the local variables used by that program and the global variables used by all programs.


Tracking Variable Usage

Slang Editor makes it easy to keep track of which variables have been used and where.

The Find option finds each use of a variable across all Slang programs while Show Modified lists every use of a given variable by a statement that could modify its value. This is especially useful in checking the interaction between various Slang code modules.


Guided Program Production

Slang editor guides you every step of the way. The buttons that you use to select the next type of statement will only allow you to enter a statement that is allowed at this point of the code – other statements are greyed out. 

Even when you cut and paste, Slang editor will not allow you to cut an incorrect block or paste it into an invalid location.
Because typing is kept to a minimum there is no chance of entering incorrectly spelled keywords. Signal variables are checked against the database to ensure validity and internal variables are checked to ensure they exist.


Function Library

Slang contains a powerful function library that allows you to access other parts of Prodigy, display dialog boxes, perform mathematical functions, etc. This library is constantly being updated and like the rest of Slang, the user is guided through the use of each function in the library, minimising the learning curve.


Colour Coded Printout

Slang allows you to print out a code body to a colour printer and have statement types colour coded. This makes it easy to spot comments or statements that do path switching or statements that set variables and so on. These printouts can form an essential part of the documentation for a system.


Program Control

The Slang Control Panel lets you look at the status of all Slang programs, as well as giving you the option of stopping or starting individual programs.

When the Slang Editor modifies a program, it is not automatically run by the slang runtime system – it may contain logic errors. The slang runtime system will continue to use the old version of the program until instructed to Reload the modified program.


Monitoring

The Slang Control Panel allows you to view in real-time the status of all variables used in a particular program, as well as monitoring the path taken by the code.


Modularity and Reuseability

A key factor in the development of large systems is code reuseability. It is not only wasteful to have the same program logic again and again. Repeating the same code in different programs is both tedious and error-prone.

Global Routines allow common logic to be created then called from any number of programs. Include files allow common code to be included "inline" into a program as if it were actually part of that code. Coding changes to common logic need now only be made once.