Home Products Download Support

Features Comparison between CamSoft Control Products
Software Requirements & Pricing
Monthly Specials
Request Information
Company Info
CNC Professional
CNC Lite
Graphical OI
CNC Enclosures
Artwork to DXF
Engraving & Dim
Iges Plus
NC Verify
blank.gif (43 bytes)
black_header_top.GIF (113 bytes)

Graphic OI
Operator Interface

black_header_bottom.GIF (111 bytes)
blank.gif (43 bytes)
Graphical OI -  Introduction purple_top_right.gif (92 bytes)

CamSoft's Graphical Operator Interface Software

software.GIF (17216 bytes)A Low Cost Product for  General purpose motion control, automation and digital I/O logic.

GRAPHICAL OPERATOR INTERFACE SOFTWARE is a shortcut to developing a Human Machine Interface (HMI) for all general automation applications. Graphical OI drastically cuts development time and debugging. Graphical OI runs from native motion card commands. With  Graphical OI, users can create motion programs of unlimited size.  Graphical OI contains over 100 new commands to get your application up and running faster. The software includes a convenient setup program that saves a single, e-mailable file containing your entire screen design and default system parameter values for debugging. The most important reason to use Graphical OI is the convenience.  The entire program structure is already written for you.  The driver setup and communication channel to the motion card is already done.  Logic handling is fired by events or timers.  There is no need to start from scratch the hard work is done.  Eliminate writing tons of logic and wasting CPU time waiting around for the digital I/O you want to change.  Relax.  CamSoft handles digital I/O logic by event and automatically notifies you when a digital I/O changes state, so you can run the appropriate logic for the event that just happened.

Included Features

Complete operator interface
Readout displays in inch or millimeter
Code display window
Password protection
Definable buttons and icons
Graphical toggle switches
Multi-function knobs
Numeric displays
Emergency stop button
User-input boxes
Logo design
Jogging panel
Spindle torque meters
Needle gauges
Event driven digital I/O log
Home, limit and digital I/O software interrupt events
Access digital I/O cards at the rate of 10,000 times per second
Simplified digital I/O calling by terminal strip No.
Handwheel generator
Feedpot and speedpot
Standard automatic servo tuning
Either a visual icon driven logic editor or text editor

Factory automation


Specialty machines

Pick and place

Welders, Grinders, Vision systems, XYZ tables 

Circuit board cutting

Drilling machines

Assembly automation

Save time, money and frustration.   At this price there is no reason to write and debug your own operator interface!

Use any native motion card commands or check out these extra new commands :

ANALOG# Set and read analog voltages
ANGLE Calculates 3D angles
AUXENCODER# Read auxilary encoders
AXIS Set number of coordinated axes
BUFFER Set look ahead buffer
BUTTON# Define virtual buttons
CALCULATOR Display a calculator
COMMAND Issue a native card command with variables
COMMECHO Echos data from the RS232 port
COMMIN Reads data from the RS232 port
COMMOUT Send data out the RS232 port
COMMSETUP Define the RS232 settings
CYCLES Reports the number of cycles ran
CYCLESTART Starts a cycle
DIAGNOSE Displays the diagnostic window
DISPLAY# Displays data in a display box
DISPVARB Displays the data in a variable
DISTANCE Calculates 3D distances
ENCODER Reads the encoders in counts
END Exits the program gracefully
EOP Forces a end of a program
ESCKEY Simulates the ESC key
ESTOP Emergency stop
EXIT Forces an exits to a logic routine
FEEDHOLD Holds up motion until cycle start is pressed
FEEDPOT Sets up the feed pot to react to analog voltage
FEEDRATE Sets the velocity
FILECLOSE Closes and opened file
FILEOPEN Opens a file by name
FILEREAD Reads data from an opened file
FILEWRITE Writes data to an opened file
FINDINDEX Automatically moves to the encoder index marker
GAUGE# Sets up the needle gauge properties
GETRPM Reads the RPM or IPM from a moving motor or axis
GOTO Jumps to another line label in your program
HANDWHEEL Sets up the Hand wheel properties
IF THEN Conditional logic branching
JOG Sets the jogging rate for use with the arrow keys
LABEL# Displays data in a user defined box on the screen
LIGHT Displays a colored light bulb on the screen
LISTADD Add more data to a list box on the screen
LISTCLEAR Clear the data in the list box
LISTPICK Report the selected item choosen from the list box
LISTSETUP Set up the list box properties
LOADING Report the status of the program running
LOADPROGRAM Load a program by path/file name or window
MACHGO Moves any, single or multiple axes in coordinated motion
MACHZERO Sets the machine zero referance location
MAXSPEED Sets the maximum spindle RPM
MDI Displays the program code editor
MESSAGE Displays a message of the screen
MINSPEED Sets the minimum spindle RPM
MOVING Reports various motor conditions and states
OPENCHANNEL Opens an channel via ActiveX or RS232 to another Windows program
PICTURE Display a photo on the screen
PLAY Plays a audio wave file by name
POLAR Calculates a new position based on a 3D angle and distance
POSERROR Sets the maximum position error allowed with momentary grace
PRINT Send data out to the printer
PRINTER Sets up the printer properties
QUESTION Displays a question box with default answer and audio instructions
RAPIDSPEED Sets the maximum rapid speed per axes
RATIO Reports the ratio between encoder counts and inch or mm
READOUT Reads the axes position in inch or mm
READVARB Read data stored in a variable on the hard disk instead of memory
RESPONSE Report the response from the motion card to a variable
RESUME Resume various actions after a suspend
RUN Launch another Windows program by path and filename
RUNTIME Report the total of the time while in a cycle only since turned on
SAVEVARB Save data stored in a variable to the hard disk instead of memory
SAY Speak the actual words to recite out of the speakers
SETUP Setup the gains, ratios, encoder, counts and coordination of an axes
SINGLESTEP Execute program one line at a time
SLEEP Pause the program for x number of seconds
SOFTLIMITS Define the extends of travel limits per axes with messages
SOUND Toggle between no audio, wave audio and speech audio
SPEEDPOT Sets up the spindle speed pot to react to analog voltage
SPINADJUST Set the spindle speed parameter to factor in a RPM curve
SPINDLERPM Reads the spindle RPM
SPINFORWARD Sets the spindle speed foreward RPM
SPINREVERSE Sets the spindle speed reverse RPM
SPINSTOP Stops the spindle
STOP Stop all or selected axis
SUSPEND Suspends various reactions to digital I/O and motion
TEACH Records axes position to a file for playback later
TIME Reports various cycle, idle, and date time periods
TIMER Sets the time period in milliseconds to execute pre-defined logic
TRUERPM Sets the allowable spindle speed tolerance in RPM
TOGGLE Sets the position of a toggle switch on the screen
WAITAUXIO Waits for a certain state on the auxilary digital I/O card
WAITUNTIL Waits for a certain axis to stop or digital I/O state
WAITHERE Waits until a certain position is reached in up to 6 axes

The logic is so easy you can follow the logic without any manuals or training.  Here is an example of logic in a macro called [Fill Bottles]

[[Fill Bottles]]
' This is a actual soda bottle filling example
' The example starts a conveyor belt of bottles moving then
' matches the velocity of the conveyor to the speed of the traveling nozzles
' fills the bottles then goes back for another group of bottles.
' Items that begin with \ are variables names.
' Items that begin with # are digital I/O terminal strip numbers.
' 0=off 1=on

#24=1 ' Turn on conveyor belt motor, start conveyor with bottles moving
:LOOP ' This is a line label to jump to later
WAITUNTIL #17=0 ' Wait until photo eye sees first bottle
GETRPM 2;\55 ' Get actual velocity of motor 2 (conveyor) store to variable \55
FEEDRATE \55 ' Set velocity of filling nozzle axis to match conveyor speed
MACHGO 22 ' Start filling nozzle axis moving to 22 inches
SLEEP 1.5 ' Wait at least 1.5 seconds to allow nozzle axis to accel
#25=1 ' Open air solenoid to plunge nozzles into bottles
#26=1 ' Open soda nozzle solenoid to dispense soda and fill bottles
SLEEP 5.3 ' Keep dispenser open for 5.3 seconds
#26=0 ' Close soda nozzle solenoid stop filling bottles
#25=1 ' Close air solenoid to raise nozzles out of bottles
WAITUNTIL #18=0 ' Wait until limit switch sensor confirms nozzles are up
FEEDRATE 800 ' Set velocity of filling nozzles axis to 800 ipm
MACHGO 0 ' Move filling nozzle axis back to zero position
GOTO :LOOP ' Jump to LOOP label to start filling another group of bottles

Request More Information


� Copyright CamSoft Corporation. All rights reserved.