Simple Step. Windows Control Manual (SSWin32)

Similar documents
Chapter 12 Visual Program Debugger

FERGUSON BEAUREGARD. RTU-5000 Configurator User Manual

QSB Command List. Document Version /15/2017

Xpert / XLite GPRS232 Serial Interface Block USERS MANUAL. Part No Rev. 3.3 July 27, 2009

Trio Motion Technology 4-2. Motion Perfect v3

DSP Terminal V1.5.7 Users Guide

Beijer Electronics AB 2000, MA00453,

Note that FLIP is an Atmel program supplied by Crossware with Atmel s permission.

Chapter. Getting Started, Basics. and Examples. In This Chapter...

Chapter 11 Running the Model

Doug Fleenor Design, Inc. RS-232 to DMX512 Interface, 2 Generation. March 8, 2010 (Software V1.2)

APPLICATION NOTE

Script Step Reference Information

RobWin7 instruction manual

PLC Interface. Configuration and Operations Manual (Color OIT) Link Electric & Safety Control Company 444 McNally Drive Nashville, TN 37211

SQL Server. Management Studio. Chapter 3. In This Chapter. Management Studio. c Introduction to SQL Server

Section 1 AVR Studio User Guide

NEW CEIBO DEBUGGER. Menus and Commands

APPLICATION NOTE IDM.011

ASCII Printer Driver Programmable Serial Interface Card Series 2

Communication Protocol Guide Version 1.4.0

ID8400 Stamper Communications for Firmware Version 7

User Guide Laird Configuration and Test Utility Software. Version 1.0

SO2Rxlat USB Serial to LPT SO2R Translation Board Version 8B firmware

16-311: Getting Started with ROBOTC and the. LEGO Mindstorms NXT. Aurora Qian, Billy Zhu

Intro to MS Visual C++ Debugging

Quick and simple ClassPad programs for solving problems such as those posed by Project Euler.

Creating Workflows. Viewing the Task Library. Creating a Workflow. This chapter contains the following sections:

Roborun+ Utility v2.0 User s Manual

IPGpulser. IPGpulser Overview

ADDRESS GENERATION UNIT (AGU)

Development Tools. 8-Bit Development Tools. Development Tools. AVR Development Tools

MPLAB SIM. MPLAB IDE Software Simulation Engine Microchip Technology Incorporated MPLAB SIM Software Simulation Engine

Creating Workflows. Viewing the Task Library. Creating a Workflow. This chapter contains the following sections:

U90 Ladder Software Manual. Version 3.50, 6/03

PCL602USB. Dual-Axis Programmable Step Motor Controller. User s Guide ANAHEIM AUTOMATION, INC.

RoboRemo User Manual v1.9.1

COMTool User Guide Version /02/2013

Nubotics Device Interface DLL

Win-I2CUSBDLL. Software User s Manual. The Boardshop

Computer Programming: C++

Installation and Programming Manual. Niobrara Research & Development Corporation P.O. Box 3418 Joplin, MO USA

Setup support for RAMCHECK. Extensive, context-sensitive On-Line Help and Tutorials. HARD DISK INSTALLATION:

Application Note #2437

WK3Tools Operation Guide Rev 1.0

ICE/FIRE Analyzer Programming Dialog

Microcontroller Systems

Following Statements FOL. Descriptor. These statements are designed to be used with the Model 4000-CFM Option.

LV-S4 SERIAL FUNCTIONAL SPECIFICATION

DBConnect. Copyright 2008 Cybercom Software.

BASIC Stamp Windows Interface (v1.1)

Figure 1. JTAGAVRU1 application The JTAGAVRU1 is supported by AVR Studio. Updated versions of AVR Studio is found on

HICO/LOCO ENCODING UTILITY

ME2110: Creative Decisions and Design Electromechanical and Pneumatic Kit Manual

WELDSEQ Plus. Operation / Installation Manual. Weld Sequence PLC Terminal Program. Computer Weld Technology, Inc.

Lesson 1 Getting S tarted w ith W ord 2 003

InfoTag KE28xx Communications for 186 CPU Firmware Version 4

Addmaster Corporation

Software Manual. Version: H BENCHTOP ROBOT SOFTWARE USER GUIDE Version H

HyperBlade Bluetooth Serial Port Setup Guide For use with Scimitar Software and USB Bluetooth adapter Hyperdyne Labs 2006

Frontline Test System

VARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS) Shamshabad, Hyderabad

RoboRemo User Manual v1.9.2

Perle Dial-Out User s Guide

2.11 Assignment Operators. Assignment expression abbreviations c = c + 3; can be abbreviated as c += 3; using the addition assignment operator

The following content has been imported from Legacy Help systems and is in the process of being checked for accuracy.

Les s on Topics. Les s on Objectives. Student Files Us ed

APP-IIb PIC Development Kit by AWC

Freescale Semiconductor, Inc.

ASCII Text Control (ATC) Protocol for Remote Control of Equinox Programmers

MRZJW3- SETUP154E. General-Purpose AC Servo Servo Configuration Software MODEL INSTALLATION GUIDE

Programming Logic - Beginning

Mail Setup Tool (Version 1.2US) User's Guide

TABLE OF FIGURES... II A - DISCUSSION...1 B - CONFIGURATION...5. B.1 - Setup Dialog... 5 B.2 - Description... 6 B.3 - Controls...

IFS Data Migration Excel Add-In

COPYCAT NEW FANGLED SOLUTIONS 2/6/2009

Precision Instruments for Research and Industry. J-KEM Scientific Syringe Pump

Modbus ASCII Serial Device Driver Help 2009 Kepware Technologies

ExpressCluster for Linux Version 3 Web Manager Reference. Revision 6us

Show Designer 1. Software Revision 3.11

XEM (Xenetech Engraving Macro Language)

MODBUS Protocol for MiCOM P30 Series

UVK-200/UCW-100 Programmer s Manual

HARD DISK INSTALLATION:

HI-WAVE. Serial Debug Interface SDI target. Copyright 1997 HIWARE HI-WAVE

M User's Guide SANYO DENKI CO,LTD i

Application Manual For Programmable Controller RC-Talk (RC-207)

Sincorder Companion. Utilities for the M.C. Miller Sincorder Data Logger. Users Guide. Copyright (c) 1987-' 90, & ' 97. by AADON, all rights reserved.

Ladder logic (LAD) representation Statement list (STL) representation Available in these CPUs

MULTIPROG QUICK START GUIDE

Navigating T hrough a W ork book

NL6000 Wireless Modem NL6000 User Manual Rev 1.1

Changing the Embedded World TM. Module 3: Getting Started Debugging

Programming in C++ 4. The lexical basis of C++

3.3.2 Example to Add Profile in Profile Step 1: Click Add in Profile function

Chapter Twenty-five: Using File Input / Output

[Hereafter, in the manual, NT2S-SF123B-E will be referred to as NT2S C.]

Lecture 20: AVR Programming, Continued. AVR Program Visible State (ones we care about for now)

JUN / 04 VERSION 7.1 FOUNDATION

TRAINING GUIDE LEVEL 3 MODBUS WRITE IMPORT COMMAND

Transcription:

Simple Step Windows Control Manual (SSWin32) Version 1.1.9 1

Contents Description... 4 Detailed Command Descriptions... 4 ssend... 4 ssendna... 4 sscb... 4 set_sscb_position... 4 sscb_check_done... 4 wait_sscb_done... 4 wait_sscb_response...5 ssmicro... 5 set_ssmicro_position... 5 ssmicro_check_done... 5 wait_ssmicro_done... 5 wait_ssmicro_response... 5 sscbhc... 5 set_sscbhc_position...5 sscbhc_check_done... 6 wait_sscbhc_done... 6 wait_sscbhc_response... 6 ssxyz... 6 set_ssxyz_position... 6 check_ssxyz_done... 6 wait_ssxyz_done... 6 wait_ssxyz_response... 7 ssqe... 7 link_me... 7 sdelay... 7 delay... 7 user_wait... 8 user_input... 8 set_temp... 8 inc_temp... 8 dec_temp... 8 compare_temp... 8 move_resp_temp... 8 move_temp_temp... 9 loop... 9 cloop... 9 enable_comm_debug... 9 disable_comm_debug... 9 enable_qe_data_logger (1.3.9 and greater)... 9 pause_qe_data_logger (1.3.9 and greater)... 9 disable_qe_data_logger (1.3.9 and greater)... 9 end_program... 9 2

EEPROM Programming (F)ile command (1.3.9 and Greater)... 10 Command Table... 11 Command Table (continued)... 12 SSWin Debugger... 13 Parameter Syntax... 14 Notes... 14 Configuration Dialog... 15 Example #1... 16 Example #2... 16 Example #3... 17 Index... 18 3

Description This manual will describe the breakdown of the command syntax used within the Simple Step Windows Control Program. This software will allow the user to control a set of Simple Step s via a standard text editor. The Simple Step Windows Control Panel is a program that reads a standard text file from the hard drive. The program will interpret the text file and convert it into actual commands used for each of the Simple Step s connected to serial network. Detailed Command Descriptions ssend This command will send a formatted command text to the serial port. The parameters passed with this command are just the command string. No formating of the text string is performed before sending it to the serial port. The software automatically appends a carriage return to the end of all strings sent to the serial port. The SSWin program will wait for an acknowldgment. ssendna This command will send a formatted command text to the serial port. The parameters passed with this command are just the command string. No formating of the text string is performed before sending it to the serial port. The software automatically appends a carriage return to the end of all strings sent to the serial port. The SSWin program will not wait for an acknowldgment. sscb This command will send a formatted command text down to the SSCB board. The parameters passed with this command are the SSCB board address (0-15) and the command string. The software will automatically format the structure of the output string so that the SSCB will act on it. The software automatically appends a carriage return to the end of all strings sent to the SSCB modules. set_sscb_position This command collects the information from the temp register (specified as a parameter) that has been set via the SSQE P or p commands. This command will then send down to the SSCB board a A command to set the current position. The user can then command the SSCB board to go to the position originally intended. sscb_check_done This command checks to see if the SSCB board addressed has completed its motor movement command. If not, the SSWin program will jump to one of the two programmed addresses. The first address specifies the jump address if the motor has completed its operation or the second address if it is busy. wait_sscb_done This software command checks to see if the SSCB board being addressed has completed a motor movement before continuing on to the next instruction. 4

wait_sscb_response This software command checks to see if the SSCB board has sent a response back. This instruction is used for autoreponse commands like the motor movement complete status ( f ). The parameters passed with this command are the SSCB board address (0-15). ssmicro This command will send a formatted command text down to the SSMicro board. The parameters passed with this command are the SSMicro board address (0-15) and the command string. The software will automatically format the structure of the output string so that the SSMicro will act on it. The software automatically appends a carriage return to the end of all strings sent to the SSMicro modules. set_ssmicro_position This command collects the information from the temp register (specified as a parameter) that has been set via the SSQE P or p commands. This command will then send down to the SSMicro board a A command to set the current position. The user can then command the SSMicro board to go to the position originally intended. ssmicro_check_done This command checks to see if the SSMicroboard addressed has completed its motor movement command. If not, the SSWin program will jump to one of the two programmed addresses. The first address specifies the jump address if the motor has completed its operation or the second address if it is busy. wait_ssmicro_done This software command checks to see if the SSMicro board being addressed has completed a motor movement before continuing on to the next instruction. wait_ssmicro_response This software command checks to see if the SSMicro board has sent a response back. This instruction is used for autoreponse commands like the motor movement complete status ( f ). The parameters passed with this command are the SSMicro board address (0-15). sscbhc This command will send a formatted command text down to the SSCB-HC board. The parameters passed with this command are the SSCB-HC board address (0-16) and the command string. The software will automatically format the structure of the output string so that the SSCB-HC will act on it. The software automatically appends a carriage return to the end of all strings sent to the SSCB modules. set_sscbhc_position This command collects the information from the temp register (specified as a parameter) that has been set via the SSQE P or p commands. This command will then send down to the SSCB-HC board a A command to set the current position. The user can then command the SSCB-HC board to go to the position originally intended. 5

sscbhc_check_done This command checks to see if the SSCB-HC board addressed has completed its motor movement command. If not, the SSWin program will jump to one of the two programmed addresses. The first address specifies the jump address if the motor has completed its operation or the second address if it is busy. wait_sscbhc_done This software command checks to see if the SSCB-HC board being addressed has completed a motor movement before continuing on to the next instruction. wait_sscbhc_response This software command checks to see if the SSCB-HC board has sent a response back. This instruction is used for autoreponse commands like the motor movement complete status ( f ). The parameters passed with this command are the SSMicro board address (0-15). ssxyz This command will send a formatted command text down to the SSXYZ board. The parameters passed with this command are the SSXYZ board address (0-15) and the command string. The software will automatically format the structure of the output string so that the SSXYZ will act on it. The software automatically appends a carriage return to the end of all strings sent to the SSXYZ modules. set_ssxyz_position This command collects the information from the temp register (specified as a parameter) that has been set via the SSQE P or p commands. This command will then send down to the SSXYZ board an A command to set the current position. The user can then command the SSXYZ board to go to the position originally intended. The second parameter is which motor (X,Y,Z) to change. check_ssxyz_done This command checks to see if the SSXYZ board addressed has completed its motor movement command. If not, the SSWin program will jump to one of the two programmed addresses. The first address specifies the jump address if the motor has completed its operation or the second address if it is busy. wait_ssxyz_done This command will wait until the last command to the SSXYZ is completed before returning to the Windows program. The parameters passed with this command is the SSXYZ address (1-8), followed by a single character of the following table: A Wait for X,Y, and Z systems to complete their last operation. X Wait for the X motor to complete its last operation. Y Wait for the Y motor to complete its last operation. Z Wait for the Z motor to complete its last operation. 6

wait_ssxyz_response This software command checks to see if the SSXYZ board has sent a response back. This instruction is used for autoreponse commands like the motor movement complete status ( f ). The parameters passed with this command is the SSXYZ address (1-8), followed by a single character of the following table: A Wait for X,Y, and Z systems to complete their last operation. X Wait for the X motor to complete its last operation. Y Wait for the Y motor to complete its last operation. Z Wait for the Z motor to complete its last operation. ssqe This command will send a formatted command text down to the SSQE board. The parameters passed with this command are the SSQE board address (0-16) and the command string. The software will automatically format the structure of the output string so that the SSQE will act on it. The software automatically appends a carriage return to the end of all strings sent to the SSQE modules. In most cases, commands are not sent down to the SSQE if a link_me command is used. The SSWin Program will automatically query the SSQE that is linked to the motor and check to see if the motor has reached the pre-programmed target. When a SSQE board is queried, the SSWin program copies the encoder values into a set of temp registers (41-72). The user can then use the temp commands to make decisions on how to use the information to correct motor movement. The user must understand that the encoder board returns a long integer and the motor boards uses an unsigned integer. link_me This command links the motor board with the encoder board. Several parameters are used to perform this operation. Once the motor and encoder are linked with each other, the SSWin program will automatically compare and correct ALL motor movements after the original motor movement has been performed. This only occurs if the encoder position is out of tolerance with the targeted motor position that the user is trying to move to. The parameters are as follows: 1 - Motor board number (0-16) 2 - Motor Type (X,Y,Z,S) (S=SSCB) 3 - Encoder board number (0-16) 4 - Encoder Channel (0 or 1) 5 - Encoder Active (0) or Not Active (1) 6 - Encoder Retry (0-255) 7 - Encoder Plus Tolerance (0-255) 8 - Encoder Negative Tolerance (0-255) sdelay This command will wait the user s set seconds before continuing. The parameter is from 1 second to 65,534 seconds. delay This command is just like the sdelay command but increments are in milliseconds. The parameter range is from 1 millisecond to 65,534 milliseconds. 7

user_wait This command will display a Windows dialog box. There will only be one (1) button within the dialog box named OK. The user must click on the button for two (2) things to occur. The first is that the dialog box will be removed and the second is the continuation of the rest of the commands. user_input This command will allow the user to create custom Windows Dialog box s with particular buttons and message string. The button action then allows the user to jump to different address s within the program. The first parameter is the Dialog type (0-5). The following parameters depend on the dialog type. Some Dialog s have only one (1) button, and others have three (3). The list is as follows: Dialog #0 Just an OK button. Program goes to next instruction once the button is clicked. Dialog #1 OK and Cancel buttons. This has two (2) address parameters. Dialog #2 YES and NO buttons. This also has two (2) address parameters. Dialog #3 YES, NO, and CANCEL buttons. This has three (3) address param - eters. Dialog #4 RETRY and CANCEL. This has two (2) address parameters. Dialog #5 ABORT, RETRY, and IGNORE buttons. This has three (3) address parameters. set_temp This command allows the user to set a temp register to some value from 0 to 65,535. inc_temp This command increments a temp register by a user defined value. dec_temp This command decrements a temp register by a user defined value. compare_temp This command compares the temp register to a specified value. There are three (3) parameters used to specify the conditions to jump and where. These are: if the value is less than, equal to, and greater than. The compare value is a number from 0 to 65,535. The address is from 1 to 400. A zero (0) address specifies: to continue to the next instruction. move_resp_temp This command performs a movement between a special holding register and a user defined temporary register. When a command is given to a Simple Step board, the response is checked to see if it has a numbered response after the status response. If a number is found the SSWin software converts it to a number and saves it into a special response holding register. This command allows the use to move the numbered response from the holding register to a temporary register (1-40). This allows the user to then make decitions on the response from the board. Example: Host: D0I4, : d0>00001, SSWin: move_resp_temp to temp. reg. #1. Now the temporary register has the number 1 in it. 8

move_temp_temp This command allows the user to move any temporay register (1-72) to any other temporary register (1-72). loop The loop command only has one function which is to jump back to a user specified address. The address range is from 1 to 200. cloop The cloop command is like the loop command but with an extra user parameter. The first parameter is the count to decrement down from (to zero ) and the second is the loop address to jump to until the counter reaches the zero value. The address range is from 1 to 200 and the count range is from 1 to 65,534. enable_comm_debug This command automatically enables the communications debugger window. disable_comm_debug This command disables the communications debugger window. It will not shut the window down, but stop data logging communications until another enable_comm_debug is encountered. enable_qe_data_logger (1.3.9 and greater) This command enables the SSQE/ SSXYQE data logger mode. This command allows the user to data log all incoming p and P command responses to a file called qe.dat. It will allow the user to look at actual positions read back from the quadrature encoder interface so that it can be used as a way of determining motor positions for later program writting. The qe.dat file is over written every time this command is issued. This file is closed when either the disable_qe_data_logger command si issued, the STOP button is depressed, or when a used Escape key is depressed. pause_qe_data_logger (1.3.9 and greater) This command pauses the SSQE/SSXYQE data logger mode. It does not close the qe.dat file, but disables the communications logger flags so that data logging can commence at any time. disable_qe_data_logger (1.3.9 and greater) This command closes the qe.dat file and disables all communication hooks for SSQE/SSXYQE command responses. end_program This command tells the software that this is the end of the user program. The Windows program will return for the user to select another program or quit the software program. 9

EEPROM Programming (F)ile command (1.3.9 and Greater) This is a new section of the SSWin program. It allows the user to program a board that has the Internal EEPROM option installed. Since this is a rather new section of the SSWin program, there are still some major enhancements that need to be added before we feel that this section is up to Magna standards. The programmer is also currently limited to programming the onboard EEPROM if this is the ONLY board on the network. This will be upgraded to network programming as soon as we can work out a complete interface protocol. The EEPROM Programming interface works like the SSWin Program Editor interface. Adding and editing a file has all or most of the user interface that is found in the standard editor. Line numbers always start at line 1 (we will upgrade this at a later time to allow programming other sections of EEPROM space). Even though the user can store a program anywhere in the 2K (2047) locations of EEPROM memory, the SSWin editor interface is currently limited to displaying lines number starting from position #1. The (O)perations menu command allows the user to perform the following commands: 1) Load a program from disk. 2) Save a program from disk. 3) Read a program from the onboard EEPROM. 4) Write a program to the onboard EEPROM. 5) Erase all program memory. 6) Run a onboard program. 10

Command Table Command Param1 Param2 Param3 Param4 Param5 Param6 Param7 Param8 Description user_wait W a it fo r us e r to c lic k O K b utto n to c o ntinue. Wait for user to click OK button but display Command message when creating window. user_input 0 Command Wait for user to click OK or CANCEL button but display Comm and message when creating window. Cancel Ok user_input 1 Command Wait for user to click YES or NO button but display Command message when creating window. No Ye s user_input 2 Command W a it fo r us e r to c lic k YE S, N O, o r C A N C E L b utto n b ut d isp la y C o m m a nd message when creating window. Cancel No Ye s user_input 3 Command Wait for user to click RETRY or C ANCEL button but display Command message when creating window. Cancel Retry user_input 4 Command W a it fo r us e r to c lic k A B O R T, R E TR Y, o r IG N O R E b utto n b ut d isp la y Command message when creating window. Ig n o re Retry Abort user_input 5 Command set_temp Register Count S e t Te m p R e g is te r x to C o unt va lue. in c _ te m p Register Count Increment Temp Register x by Count value. dec_temp Register Count Decrem ent Tem p Register x by C ount value. Compare Temp Register x by Count and jump to the correct if <,=,> Greater th a n Equal to Less than compare_temp Register Count Move response from special holding register to a user defined temporary register (1-40). move_resp_temp Register move_temp_temp Register Register Move a temporary register (1-72) to another temporary register (1-72). 11 Send a comm and to the serial port with no formating perform ed. An ack. will be expected from the boards connected to the serial port. ssend None Command Send a comm and to the serial port with no formating perform ed. No ack. will be expected. ssendna None Command Send command to SSCB at x. W ill not wait for SSCB to complete. Does check for command acceptance. Command sscb Uses the SSCB "A" command to reset the current motor position to what ever is in the temp register specified.(41-72 ONLY) Register set_sscb_position Check to see if the SSC B board has completedits last comm and. If ready jump to ready address else jump to busy address ( of 0=skip). if B usy if Ready check_sscb_done W a it fo r S S C B a t A d d re s s x to c o m p le te la st co m m a nd. wait_sscb_done Wait for a response from the SSMicro. This command is useful when the autocompletion command has been issued. ('f' status). wait_sscb_response S e nd c o m m a nd to S S M icro a t A d d re s s x. W ill no t w a it fo r S S M ic ro to complete. Does check for command acceptance. Command ssmicro Uses the SSM icro "A" comm and to reset the current motor position to what ever is in the temp register specified.(41-72 ONLY) Register set_ssmicro_position Check to see if the SSM icro board has com pletedits last comm and. If ready jump to ready address else jump to busy address ( of 0=skip). if B usy if Ready check_ssmicro_done Wait for SSMicro at x to complete last comm and. wait_ssmicro_done Wait for a response from the SSMicro. This command is useful when the autocompletion command has been issued. ('f' status). wait_ssmicro_response

Command Table (continued) Command Param1 Param2 Param3 Param4 Param5 Param6 Param7 Param8 D escription Send command to SSCBHC at x. Will not wait for SSCBHC to com plete. D oes check for com m and acceptance. Command sscbhc U s e s the S S C B H C "A " co m m a nd to re se t the curre nt m o to r p o s itio n to what ever is in the temp register specified.(41-72 ONLY) Register set_sscbhc_position C heck to see if the SSC BHC board has completedits last command. If ready jump to ready address else jump to busy address ( of 0=skip). if B usy A ddress if Ready check_sscbhc_done W ait for S S C B HC at A ddress x to com plete last com m and. w ait_sscbhc_done Wait for a response from the SSC BHC. This command is useful when the autocompletion command has been issued. ('f' status). w ait_sscbhc_response Send command to SSXYZ at x. Will not wait for SSXYZ to com plete. D oes check for com m and acceptance. Command ssxyz Uses the SSXYZ "A" command to reset the current motor position to what ever is in the temp register specified.(41-72 ONLY) Motor Register set_ssxyz_position C heck to see if the XYZ board has completedits last command. If ready jump to ready address else jump to busy address ( of 0=skip). if B usy if Ready Motor check_ssxyz_done Motor Wait for SSXYZ at x for Motor x to complete last command. w ait_ssxyz_done Wait for a response from the SSXYZ. This command is useful when the autocompletion command has been issued. ('f' status). Motor w ait_ssxyz_response C hanne l Send a command to the SSQE at x. ssqe This command links the motor with the encoders. Once done when the user gives a motor movement command to the motor board the SSWin program will automatically check the asscoaiets encoder to see if the motor acutally moved there. If it has not and the motor position falls outside the Plus/Neg. To le ra nce va lue s, the S S W in p ro g ra m w ill try to co rre ct. 12 Neg. To le r a n c e (0-2 5 5 ) Plus To le ra n c e (0-255) Retry C o unt (0-255) Encoder A ctive /N - ot (0 or 1) Channel Encoder Brd. Motor Type (X,Y,Z,S ) Motor Brd. link_m e sdelay Tim e Wait x time (in seconds) 1-65534 delay Tim e Wait x time (in milliseconds) 1-65534 Reads Input port. If Bit value equals Bit Set Value go to user A ddress Bit Set Value input Bit S e t O utp ut p o rt B it to B it S e t V a lue. Bit Set Value output Bit loop Loop back to user cloop Count Loop back to user user times plus 1. Automatically enables the communications debugger, or if already active, reactivates the data logger. enable_com m _debug D isables the communications debugger data logger mode without shutting down the communications debugger window. disable_comm_debug Enables SSQE/SSXYQE data logging of all responses to a file named "qe.dat". enable_qe_data_logger Pauses SSQE/SSXYQE data logging without shutting the "qe.dat" file down. pause_qe_data_logger Disables SSQE/SSXYQE data logging and flushes all commands in the file buffer and closes the "qe.dat" file. disable_qe_data_logger end_program End Program.

SSWin Debugger The SSWin program now has a debug mode built in. This debugger is simple, but allows the user to look at each command one command line at a time. The user can also tap into the communications and see what commands are being sent down to the Simple Step board and what the responses are. In addition we have now implemented a new status check into all command responses from any board on the network and if found, the SSWin program will stop execution and show you the error. The user can now either click on the run button, or active the debuger by clicking on the debug radio button. We must note however that if the user wants to terminate the SSWin program, the use must first deactivate the debug mode (if active) to get out of the program or even to run the program at full speed. The SSWin debugger will allow the user to single step through a program while watching registers change and/or communications back and forth from the network cards. To this end we have added a new communications debugger window. This new window shows the user in real time the commands sent down to the network (Host) and the responses from the boards being communicated with (Network). In addition, the Host sub-window gives information as an example 10/1 - D0M100. The first number in the string is the calling program line number, the secound number is the current Host window line number. The second number in the Host window allow the user to look at the Network window to determine if there is a corresponding line number. If found, this is the response from the Network at the time that command was sent. We have also added two (2) new SSWin commands. They are enable_comm_debug and disable_comm_debug. This allows the user to enable and disable the communications debugger only at a certain point within the program. If the communications debugger is not active when the enable_comm_debug is activated, the SSWin program will initialize the window. After the disable_comm_debug is used, the SSWin program will not close the window but keep it open until the user stops the program and clicks on the Comm. Debug radio button to shut the window down. The SSwin program now also has the ability to enable up to 6 breakpoints. Once a breakpoint is enabled by entering a program address, clicking on the update button and then clicking the run button, the system will hunt for all breakpoints entered by the user. Once found, the SSWin program will enable the debugger mode so that the user can single step from that point forward. The breakpoints can be disables by either clicking on the radio button to disable the window, or by putting a 0 in the appropriate breakpoint and clicking on the update button. 13

Parameter Syntax Parameter Syntax Allowed Value Ranges 1-1000 (0=Skip (Not all commands allow this)) 1-8 Command Count String up to 50 characters surrounded by quotes. 1-65535. Will count 1 + x times. Bit 0-7 (Bit 0 to Bit 7) Bit Set Value 0 (Low) or 1 (High) Channel 0 or 1 (Channel 0 or Channel 1) Register 1 to 56 (41-56 are copies of the encoders 1-16) Motor A= All three (X,Y, and Z), X, Y, or Z (S=SSCB) Notes All values are unsigned integers unless otherwise noted. All commands sent to the SSCB will have a \r appended before being sent Spaces and Tabs between command and (;) comments are OK. Commands ARE case sensitive (must be lower case ONLY). Line numbers are used but cannot be used within file. Line numbers START at #1. Up to 1000 command strings can be used. Output port value is an unsigned character and a check of bits 0-7. Input port is a bit check 0-7. Output port DISPLAY is in HEX. Output/Input Base address for card must start with an 0x and be followed by a hex address!!!! Escape key will ABORT ALL (including motors) and release the window if running a program!!!!! S top key is to stop the motors (ALL) and stop program AFTER last command is processed. P ause key will pause the system. sdelay and delay commands will be put on hold and will not finish. 14

Configuration Dialog The configuration dialog box can be found under the menu bar for File. The user must then click on the config menu command to bring up this window. This dialog box shows various configuration values that the user can set for the initialization process. The breakdown of this box is as follows: Comm Port This variable determines the PC s serial communications port. This is the port that the Simple Step Controller is connected to. Valid port ranges are from 1 to 4. SSQE Output Port Setup This variable determines the PC s serial communications port. This is the port that the Simple Step Controller is connected to. Valid port ranges are from 1 to 4. Time-out This variable determines the PC s serial communications port wait for response time-out. This variable is in milliseconds and values range from 1 to 65535. Main Win This variable determines the multi-tasking time-out in milliseconds to refresh the main window display. Temp Win This variable determines the multi-tasking time-out in milliseconds to refresh the Temporary Register window display. Enc Win This variable determines the multi-tasking time-out in milliseconds to refresh the Quadrature Encoder Register window display. 15

Example #1 s used : 1-SSXYZ, and 1-SSQE Description : This example shows how the link_me command is used to perform auto-correc tion of the SSXYZ motor X with each movement using the feed back of the SSQE board. 001 - link_me,1,x,1,1,1,3,0,0 ;Link XYZ #1, motor X to SSQE #1, ;Channel #1, Encoder Disabled, 3 retrys, 0 plus ;tol., 0 minus tol. 002 - ssxyz,1,"xh" ;Set XYZ #1, motor X to half step mode. 003 - ssxyz,1,"xs18" ;Set XYZ #1, motor X with a Slope of 18. 004 - ssxyz,1,"xb13000" ;Set XYZ #1, motor X with a Begin value of ;13,000. 005 - ssxyz,1,"xe16450" ;Set XYZ #1, motor X with a End value of ;16,450. 006 - ssxyz,1,"xn+" ;Home XYZ #1, motor X in the Clockwise Direc ;tion. 007 - ssqe,1,"n+0" ;Zero SSQE #1, Channel 0 to CW. 008 - ssqe,1,"n+1" ;Zero SSQE #1, Channel 1 to CW. 009 - ssxyz,1,"xm5000" ;Move XYZ #1, motor X to position 5,000. 010 - wait_ssxyz_done,1,x ;Wait for XYZ #1, motor X to complete motor ;movement. 011 - ssxyz,1,"xm0" ;Move XYZ #1, motor X to position 0. 012 - wait_ssxyz_done,1,x ;Wait for XYZ #1, motor X to complete motor ;movement. 013 - loop,9 ;Jump back to line 9. 014 - end_program ;End of Programming. Example #2 s used : 1-SSXYZ, and 1-SSQE Description : This example performs the same operation as Example #1 but instead of using the link_me command, the program actually performs the correction via the temp registers and the compare_temp commands. 001 - ssxyz,1,"xh" ;Set XYZ #1, motor X to half step mode 002 - ssxyz,1,"xs18" ;Set XYZ #1, motor X with a Slope of 18 003 - ssxyz,1,"xb13000" ;Set XYZ #1, motor X with a Begin value of ;13,000 004 - ssxyz,1,"xe16450" ;Set XYZ #1, motor X with a End value of ;16,450 005 - ssxyz,1,"xn+" ;Home XYZ #1, motor X in the Clockwise Direc ;tion 006 - ssqe,1,"n+1" ;Zero SSQE #1, Channel 1 to CW 007 - ssxyz,1,"xm5000" ;Move XYZ #1, motor X to position 5,000 008 - wait_ssxyz_done,1,x ;Wait for XYZ #1, motor X to complete motor ;movement 009 - ssqe,1,"p1" ;Get SSQE #1, Channel 1 position 010 - compare_temp,42,5000,0,13,0 ;Compare Temp Register #42 (Encoder 2) to 5000, ;if less then goto line 11, if equal to go to ;line 13, if greater then go to line 11 011 - set_ssxyz_position,1,x,42 ;Set XYZ #1, motor X to what ever value is ;in Temp Register #42 (Encoder 2). (This will be 16

;changed to Word format). 012 - cloop,4,7 ;loop back to address 7 4 times before going on to ;line 13. 013 - ssxyz,1,"xm0" ;Move XYZ #1, motor X to position 0. 014 - wait_ssxyz_done,1,x ;Wait for XYZ #1, motor X to complete motor ;movement. 015 - ssqe,1,"p1" ;Get SSQE #1, Channel 1 position. 016 - compare_temp,42,0,0,19,0 ;Compare Temp Register #42 (Encoder 2) to 0, if ;less then goto line 17, if equal to go to line 19, ;if greater then go to line 17. 017 - set_ssxyz_position,1,x,42 ;Set XYZ #1, motor X to what ever value is ;in Temp Register #42 (Encoder 2). (This will be ;changed to Word format). 018 - cloop,4,13 ;loop back to address 13 4 times before going on to ;line 19. 019 - loop,7 ;Jump back to line 7. 020 - end_program ;End of Programming. Example #3 s used : 1-SSQE Description : This program allows the user to see the encoder reads displayed on the SSWin dialog screen while the motors move. (Both Channels 0 and 1). 001 - ssqe,1,"n+0" ;Set SSQE #1, Channel 0 to zero and home in ;the CW direction. 002 - ssqe,1,"n+1" ;Set SSQE #1, Channel 1 to zero and home in ;the CW direction. 003 - ssqe,1,"p0" ;Read and display SSQE #1, Channel 0. 004 - ssqe,1,"p1" ;Read and display SSQE #1, Channel 1. 005 - loop,3 ;Jump back to #3. 006 - end_program ;End of Programming. 17

Index C check_sscb_done 4, 5, 6 check_ssxyz_done 6 cloop 9 Command Table 11, 12 Command Table (continued) 12 compare_temp 8 Configuration Dialog 15 D dec_temp 8 delay 7 Description 4 Detailed Command Descriptions 4 E end_program 9 Example #1 16 Example #2 16 Example #3 17 I inc_temp 8 L link_me 7 loop 9 N Notes 14 P Parameter Syntax 14 S sdelay 7 set_sscb_position 4, 5 set_sscbhc_position 5 set_ssmicro_position 5 set_ssxyz_position 6 set_temp 8 sscb 4, 5 sscbhc 5 sscbhc_check_done 6 ssend 4 ssendna 4 ssmicro 5 ssmicro_check_done 5 18

ssqe 7 SSWin Internal Commands 7, 10 ssxyz 6 U user_input 8 user_wait 8. See also Detailed Command Breakdown W wait_sscb_done 4, 5, 6, 7 wait_sscb_response 5 wait_sscbhc_done 6 wait_sscbhc_response 6 wait_ssmicro_done 5 wait_ssmicro_response 5 wait_ssxyz_done 6 wait_ssxyz_response 7 19