CamSoft Solutions Download Customer Support CamSoft Home Page
News diy Contact Us
text description space

Programmable Command Set


  • ANALOG# Set and read analog voltages
  • ANGLE Calculates 3D angles
  • AUXENCODER# Read auxiliary 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

Logic Programming Example

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=0 ' 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