emBASIC is a modern real-time Process BASIC for use in automation, process control and embedded devices.

It is designed to offer engineers of all fields a tool to model their application with, starting with a simple control sequence and gradually mastering the more complex tasks.

Attach one controller to the PC with the development "WorkBench" to start with and make it a controller network if needed. Moving away from the old paradigm of distributed i/o emBASIC helps to put the intelligence to where it is needed - out into the field.


The First BASIC Designed for Networked Control:

  • Remote Access to Field Nodes from Development PC
  • Download Autostarting emBASIC Programs to Flash EPROM
  • Multitasking for Modular, Concurrent Programming
  • ON MESSAGE Processes for Intuitive Master Communication
  • I/O Variables for Easy Hardware Handling


Made to Solve Complex Process Control Tasks:

  • 8, 16, and 32 bit Signed and Unsigned Integers
  • 32 and 64 bit Floating Point
  • I/O Datatype: Access I/O Like a Variable
    • DECL oventemp AS ANALOG INPUT ($TSM, module3, inp4)
    • CFG(oventemp, $PT100)
    • IF oventemp > 120 THEN...
  • Bit Operations Including Shift
  • Extensive String Handling Functions (INDEX, FIELD, TRIM)
  • Number, Date, and Monetary Output Formatting
  • All Major Math Functions and Constants
  • Compound Types: Arrays, Structures and Messages
  • Time and Date Variables
  • Implicit Variable Declaration (Autovariable)
  • No Line Numbering: Call Subroutines by Name
  • Very Flexible IF..THEN..ELSEIF..ELSE..END
  • SWITCH, FOR, WHILE, and LOOP Compound Statements
  • PRINT and INPUT ON(channel) for Serial Lines
  • Multitask Parallel Processing:
    • TASKs for Continuous Background Processes
    • SEQUENCEs for Sequential Processes
    • WAIT FOR Input / Variable / Time
    • SCHEDULE Process for Time/Date
  • ON MESSAGE Network Event Handling
    • TYPE statusmsgtype AS BITBUS MESSAGE
    • DECL MyStatusMsg AS statusmsgtype
    • ON MESSAGE MyStatusMsg DO ...
    • REPLY
  • Communicates With mCAT Kernel Through Messages
  • OPC-Aware Host Exchange Variables
  • BgMem Nonvolatile Data Memory (Ring Buffer, FIFO, LIFO)
  • DIALOG Function for Device Independent Messaging
  • LOCALE String Tables for Language Switching
  • LOCALE Dependent Time and Date Handling
  • ON ERROR Runtime Error Handler
  • Executes Programs From RAM or Flash EPROM


emBASIC WorkBench Remote Development Environment

  • Connects to Embedded Device Through COMn Port
  • Connects to Multiple Devices Through BITBUS
  • Highlighting Editor
  • Download Program to Target and Start Execution
  • Setup Task and Sequences
  • Start, Stop, and Resume Individual Processes
  • Modify or Remove Individual Processes
  • Line by Line Debugger
  • Watch Variables, Task and Sequence Status
  • Move Program to Flash EPROM


Proven Industrial Hardware

emBASIC is available for ELZET80's

  • TSM Modular Rail Mounted Controller
  • DinX Low Cost Rail Mounted Controller
  • NET/900H SemiCustom Processor Module

If you are a manufacturer and want to use emBASIC with your hardware, please contact sales.