Preview only show first 10 pages with watermark. For full document please download

Instructions For Adept Utility Programs

   EMBED


Share

Transcript

Instructions for Adept Utility Programs Version 13.0 ¨ Adept Utility Disk Device Modules for V+ 13.0 (Edit ···) FLIST README.TXT for program information General-Purpose Utility Programs Robot/Motion Utility Programs AdeptVision Utility Programs Network Utility Programs AdeptModules SPEC Data  1984-1998 by Adept Technology, Inc. Instructions for Adept Utility Programs Version 13.0 ¨ Adept Utility Disk Device Modules for V+ 13.0 (Edit ···) FLIST README.TXT for program information General-Purpose Utility Programs Robot/Motion Utility Programs AdeptVision Utility Programs Network Utility Programs AdeptModules SPEC Data  1984-1998 by Adept Technology, Inc. Part # 00963-00000, Rev. A August 1997                   !  " #   !$$ %%!& !%     $ ' %()  * (      +$++  " # +$++  ) )  ), - .)    /   "       +0++0+0  " #  +0+ ++0 The information contained herein is the property of Adept Technology, Inc., and shall not be reproduced in whole or in part without prior written approval of Adept Technology, Inc. The information herein is subject to change without notice and should not be construed as a commitment by Adept Technology, Inc. This manual is periodically reviewed and revised. Adept Technology, Inc., assumes no responsibility for any errors or omissions in this document. Critical evaluation of this manual by the user is welcomed. Your comments assist us in preparation of future documentation. A form is provided at the back of the book for submitting your comments. Copyright  1997, 1998 by Adept Technology, Inc. All rights reserved. The Adept logo is a registered trademark of Adept Technology, Inc. Adept, AdeptOne, AdeptOne-MV, AdeptThree, AdeptThree-XL, AdeptThree-MV, PackOne, PackOne-MV, HyperDrive, Adept 550, Adept 550 CleanRoom, Adept 1850, Adept 1850XP, Adept Flexfeeder 250, A-Series, S-Series, Adept MC, Adept CC, Adept IC, Adept OC, Adept MV, Adept MV4, AdeptVision, AIM, VisionWare, AdeptMotion, MotionWare, PalletWare, FlexFeedWare, AdeptNet, AdeptFTP, AdeptNFS, AdeptTCP/IP, AdeptForce, AdeptModules, AdeptWindows, AdeptWindows PC, AdeptWindows DDE, AdeptWindows Offline Editor, and V+ are trademarks of Adept Technology, Inc. Any trademarks from other companies used in this publication are the property of those respective companies. Printed in the United States of America Table of Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . 9 Notes, Cautions, and Warnings . . . . . . . Conventions . . . . . . . . . . . . . . . Typographic Conventions . . . . . . . Keyboard Conventions . . . . . . . . Selecting, Choosing, and Pressing Items . Functional Grouping of Utility Programs . . . . General-Purpose Utilities . . . . . . . Robot/Motion Utilities . . . . . . . . . Vision Utilities . . . . . . . . . . . . Network Utilities . . . . . . . . . . . SYSTEM Subdirectory . . . . . . . . . SPECDATA Subdirectory . . . . . . . . Types of Program Files on the Utility Disk . . . ASCII Files . . . . . . . . . . . . . Read-Only Files . . . . . . . . . . . Binary Files . . . . . . . . . . . . . Installation . . . . . . . . . . . . . . . . How Can I Get Help? . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description of Utility Programs . . . . . . . . . . . . . ADV_CAL . . . . . . . . . . . . . . . . . . ADV_USER . . . . . . . . . . . . . . . . . . BELT_CAL. . . . . . . . . . . . . . . . . . . CONFIG_C . . . . . . . . . . . . . . . . . . Setting the IP Address of the Adept Controller Software Configurable Switch Settings . . . . User Interface Selection . . . . . . . . AdeptWindows PC Setup . . . . . . . . V+ Auto-Start Configuration . . . . . . . Boot Sequence . . . . . . . . . . . . . . . . . . . . . . Instructions for Adept Utility Programs, Rev. A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 12 12 13 13 14 14 15 16 17 17 17 18 18 18 18 19 21 23 . . . . . . . . . . 26 27 28 37 57 58 59 59 60 61 5 Table of Contents Auto-Boot . . . . . . . . . . . . . . . . . . . . DDT Serial I/O on Auxiliary CPU . . . . . . . . . . . DeviceNet Configuration Setup . . . . . . . . . . . . Scanning the DeviceNet for Setup Information . . . . . Mapping of DeviceNet Components in V+ . . . . . . . . The LOCAL Statement in the DeviceNet Configuration . . The MACID Statement in the DeviceNet Configuration. . The Mapping Statement in the DeviceNet Configuration . DISKCOPY . . . . . . . . . . . . . . . . . . . . . . . . DUTY_CYC . . . . . . . . . . . . . . . . . . . . . . . . EDITICON . . . . . . . . . . . . . . . . . . . . . . . . FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . FTP_CLNT. . . . . . . . . . . . . . . . . . . . . . . . . FTP_SRVR. . . . . . . . . . . . . . . . . . . . . . . . . LOADAREA . . . . . . . . . . . . . . . . . . . . . . . . LOADBELT . . . . . . . . . . . . . . . . . . . . . . . . LOADICON . . . . . . . . . . . . . . . . . . . . . . . . LOADTCH . . . . . . . . . . . . . . . . . . . . . . . . PROFILER . . . . . . . . . . . . . . . . . . . . . . . . . SAFE_UTL . . . . . . . . . . . . . . . . . . . . . . . . . SECURE . . . . . . . . . . . . . . . . . . . . . . . . . SFUTIL . . . . . . . . . . . . . . . . . . . . . . . . . . SPEC . . . . . . . . . . . . . . . . . . . . . . . . . . SQUEEZE . . . . . . . . . . . . . . . . . . . . . . . . . TOUCHCAL . . . . . . . . . . . . . . . . . . . . . . . . XMODEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 61 61 62 64 65 66 67 71 79 82 91 94 95 96 101 105 109 112 119 121 124 130 151 154 158 Index . . . . . . . . . . . . . . . . . . . . . . . 161 6 Instructions for Adept Utility Programs, Rev. A List of Figures Figure 2-1 Figure 2-2 Figure 2-3 Figure 2-4 Figure 2-5 Figure 2-6 Figure 2-7 Figure 2-8 Figure 2-9 Figure 2-10 Figure 2-11 Figure 2-12 Figure 2-13 Figure 2-14 Figure 2-15 Example DeviceNet Scanning Results . . . . . . . . . . Typical DeviceNet Configuration for Digital Input and Output. DeviceNet Bit Mapping to V+ Signals . . . . . . . . . . . Example of DeviceNet Bit Mapping in V+ . . . . . . . . . Percent (%) CPU Time Graph . . . . . . . . . . . . . . Time Slice Graph . . . . . . . . . . . . . . . . . . . Initial SPEC Screen. . . . . . . . . . . . . . . . . . . Robot Options and Motor Configuration Screen . . . . . . Hardware Diagnostics Screen . . . . . . . . . . . . . . Robot Specifications Screen . . . . . . . . . . . . . . SPEC Program Preference Screen . . . . . . . . . . . . User-Defined Obstacle Definition Screen . . . . . . . . . Sample Collision Detection Options for Box Shape . . . . . The Robot/Motor Calibration Menu. . . . . . . . . . . . Change Homing Configuration Submenu . . . . . . . . . Instructions for Adept Utility Programs, Rev. A 63 65 68 69 114 115 136 137 138 138 140 143 144 145 146 7 List of Tables Table 1-1 Table 1-2 Table 1-3 Table 1-4 Table 2-1 Table 2-2 Table 2-3 Table 2-4 Table 2-5 8 General Utilities . . . . . . . . . . . . . . . . . . . . . . . Robot/Motion Utilities . . . . . . . . . . . . . . . . . . Vision Utilities . . . . . . . . . . . . . . . . . . . . . . . . . Network Utilities . . . . . . . . . . . . . . . . . . . . . . . DeviceNet Scanner Results . . . . . . . . . . . . . . Interpretation of DeviceNet Scanning Results Profiler Menu Items . . . . . . . . . . . . . . . . . . . . Display Menu Items . . . . . . . . . . . . . . . . . . . . Timing Menu Items . . . . . . . . . . . . . . . . . . . . Instructions for Adept Utility Programs, Rev. A 14 . 16 . 16 . 17 . 63 . 64 116 116 117 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Introduction Notes, Cautions, and Warnings . . . . . . . Conventions . . . . . . . . . . . . . . . Typographic Conventions . . . . . . . Keyboard Conventions . . . . . . . . Selecting, Choosing, and Pressing Items . Functional Grouping of Utility Programs . . . . General-Purpose Utilities . . . . . . . Robot/Motion Utilities . . . . . . . . . Vision Utilities . . . . . . . . . . . . Network Utilities . . . . . . . . . . . SYSTEM Subdirectory . . . . . . . . . SPECDATA Subdirectory . . . . . . . . Types of Program Files on the Utility Disk . . . ASCII Files . . . . . . . . . . . . . Read-Only Files . . . . . . . . . . . Binary Files . . . . . . . . . . . . . Installation . . . . . . . . . . . . . . . . How Can I Get Help? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions for Adept Utility Programs, Rev. A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 12 12 13 13 14 14 15 16 17 17 17 18 18 18 18 19 21 9 Chapter 1 This manual describes the utility programs on the Adept Utility Disk for V+ version 13.0. For each utility, the following information is provided: • A list of the equipment and conditions required to use the program • A detailed description of the procedure for using the program • Explanations of program requests for input from the user • Any special considerations that apply to the program An index is provided at the end of this manual to assist with locating topics of interest. The programs described in this manual have been tested by Adept Technology to verify that they perform their intended functions. However, Adept Technology assumes no responsibility for any errors or omissions in the programs or in this support documentation, nor for the results of any modification of the programs by the user. NOTE: 10 Instructions for Adept Utility Programs, Rev. A Chapter 1 Notes, Cautions, and Warnings Notes, Cautions, and Warnings There are four levels of special notation used in this instruction handbook. In descending order of importance, they are: If the actions indicated in a “WARNING” are not complied with, injury or major equipment damage could result. A Warning statement will typically describe the potential hazard, its possible effect, and the measures that must be taken to reduce the hazard. WARNING: If the WARNING is indicated with a lightning bolt instead of an exclamation mark, an electrical danger or shock is possible for personnel working with the system. WARNING: If the action specified in the “CAUTION” is not complied with, damage to your equipment could result. CAUTION: A “NOTE” provides supplementary information, emphasizes a point or procedure, or gives a tip for easier operation. NOTE: Instructions for Adept Utility Programs, Rev. A 11 Chapter 1 Conventions Conventions Typographic Conventions The following typographic conventions are used throughout this manual: This Represents ALL CAPITALS V+ file names, directory names, commands, keywords, and attributes; also acronyms. regular monospace Monitor displays and code examples. oblique monospace Placeholders for information that you provide in formal syntax definitions. You must replace such a placeholder written in bold weight but need not replace an optional one, which is written in regular weight. bold In a typing or entering instruction, anything that you must type exactly as it appears. For example, if you are asked to type execute 1 a.diskcopy, you would type all the bold characters exactly as they are printed. What you type is shown in lowercase letters unless it must be typed in uppercase letters to work properly. You may always substitute a currently valid shortcut form when typing a V+ command. In order for the V+ system to process your typing, you must conclude your entry by pressing the ENTER or RETURN key. Bold type is used for subroutine names, variable names, and program names, such as a.diskcopy. Bold type also is used for window items that you choose and window items that do not have initial capital letters in all principal words. 12 Instructions for Adept Utility Programs, Rev. A Chapter 1 Conventions This Represents italics Placeholders that you must provide in typed input. This font also indicates new terms and other emphasized words. Initial Capitals The name of an object such as a window, screen, menu, button, dialog box, or dialog box component. Examples are the Display menu and the Task Profiler window. SMALL CAPITALS A physical key or button that you must press, such as the ENTER key. Keyboard Conventions Key combinations appear in the following format: Notation Meaning KEY1+KEY2 A plus sign (+) between keys means that you must press the keys at the same time. For example, “Press CTRL+Z” means that you press CTRL and hold it down while you press Z. Selecting, Choosing, and Pressing Items In a context using windows, the terms select, choose, and press have different and specific meanings. Selecting an item usually means marking or highlighting it, as in picking a radio button. Selecting alone does not initiate an action. Choosing an item carries out an action. For example, choosing a menu item might open a window or carry out a command. You can also initiate an action by choosing a command button (a push button or a standard button). You often need to select an item before you can choose it. Often you can use a combination of keyboard and mouse techniques for selecting and choosing. Pressing refers to physical buttons or keys. For example, you press the SAVE key or press the ENTER key. By contrast, you select or choose a window button. Instructions for Adept Utility Programs, Rev. A 13 Chapter 1 Functional Grouping of Utility Programs Functional Grouping of Utility Programs The Utility Disk contains four groups of utility programs: • General-purpose utility programs • Robot/Motion utility programs • Vision utility programs • Network utility programs The Utility disk also contains two subdirectories that hold files used for system configuration: • SYSTEM subdirectory • SPECDATA subdirectory General-Purpose Utilities This group of utilities can be used with all Adept MV controller configurations. In the File Type column, B = Binary, A = ASCII, and R = Read-Only. See “Types of Program Files on the Utility Disk” on page 18 for a description of file types. Table 1-1. General Utilities File Name 14 Description of Contents Option Required File Type CONFIG_C.V2 Utility for configuring controller-based system features B DISKCOPY.V2 Utility for copying diskettes, V+ systems, and manipulating disk files B EDITICON.V2 Icon editing utility FORMAT.V2 Utility for formatting the hard disk Graphics-based controller Instructions for Adept Utility Programs, Rev. A B B Chapter 1 Functional Grouping of Utility Programs Table 1-1. General Utilities (Continued) File Name Description of Contents Option Required File Type LOADICON.V2 Callable routine for loading graphics icons into memory Graphics-based controller A LOADTCH.V2 Callable routine for loading stored touchscreen calibration System controller with touchscreen A PROFILER.V2 Utility for monitoring CPU usage Graphics-based controller B SECURE.V2 Utility for restricting access to diskettes and disk files B SQUEEZE.V2 Utility for removing comments from program files B TOUCHCAL.V2 Utility for calibrating a touchscreen XMODEM.V2 Utility for transferring files using the XMODEM protocol System controller with touchscreen B R Robot/Motion Utilities This group of utilities can be used only with AdeptMotion VME or a robot controlled by an Adept MV controller. In the File Type column, B = Binary, A = ASCII, and R = Read-Only. See “Types of Program Files on the Utility Disk” on page 18 for a description of file types. Instructions for Adept Utility Programs, Rev. A 15 Chapter 1 Functional Grouping of Utility Programs Table 1-2. Robot/Motion Utilities File Name Description of Contents File Type ADVSERVO.LIB Library of subroutines that allow robot control outside the normal V+ command set B BELT_CAL.V2 Utility for calibrating moving belts R DUTY_CYC.V2 Monitors the robot duty cycle values B EXAMPLES.V2 Example routines on how to use the Advanced servo Library A LOADBELT.V2 Callable routine for loading stored belt calibration data A SAFE_UTL.V2 Utility for test and commission of CAT3 hardware B SFUTIL.V2 Utility for working with data for MOVEF/MOVESF B SPEC.V2 Utility for configuring and tuning AdeptMotion VME systems B SPECSUB.LIB Subroutine library for low-level subroutines used in several standard Utility programs B Vision Utilities This group of utilities can be used only with the AdeptVision option. In the File Type column, B = Binary, A = ASCII, and R = Read-Only. See “Types of Program Files on the Utility Disk” on page 18 for a description of file types. Table 1-3. Vision Utilities File Name 16 Description of Contents File Type ADV_CAL.V2 Utility for calibrating stand-alone and robot-mounted cameras B ADV_USER.V2 Callable routines for use with ADV_CAL and for using calibration data A LOADAREA.V2 Callable routine for loading stored area vision calibration A Instructions for Adept Utility Programs, Rev. A Chapter 1 Functional Grouping of Utility Programs Network Utilities This group of utilities can be used with the indicated options: In the File Type column, B = Binary, A = ASCII, and R = Read-Only. See “Types of Program Files on the Utility Disk” on page 18 for a description of file types. Table 1-4. Network Utilities File Name Description of Contents Option Required File Type FTP_CLNT.V2 Utility for AdeptFTP client functions AdeptFTP Client/Server B FTP_CLNT.V2 Utility for AdeptFTP client functions AdeptFTP Client/Server B SYSTEM Subdirectory This directory contains device-module files for a specific edition of V+ version 13.0. That is, these files can be used only with the V+ system that is indicated on the diskette label. (With previous V+ versions, these files were distributed on the V+ system disk.) These files are used to add support to the V+ system for non-Adept robots. The CONFIG_C utility is used to add device modules to a V+ system. See the AdeptMotion VME Developer’s Guide for more information. SPECDATA Subdirectory This directory contains configuration files for AdeptModules devices. These files are used when performing the initial configuration of an AdeptModules system with the SPEC utility “AdeptModules quick setup” feature. See the AdeptModules Instruction Handbook for more information. Instructions for Adept Utility Programs, Rev. A 17 Chapter 1 Types of Program Files on the Utility Disk Types of Program Files on the Utility Disk All the utilities on the utility disk may be loaded with the V+ LOAD command, and executed with the EXECUTE command (except ADV_USER, LOADAREA, LOADBELT, LOADICON, and TOUCHBELT). This section describes some limitations on copying and editing the utilities. ASCII Files You may FCOPY, LOAD, and STORE these unprotected ASCII files. They typically contain V+ programs that are intended to be called from your own application program. When you STORE your program, a copy of any of these routines present in memory and CALLed by your program will automatically be stored with your program. Do not edit these programs, as you may inadvertently change their functionality. If you use the STOREM command to store your program, the Adept programs must first be added to your program module (by using the MODULE command). Read-Only Files You can FCOPY, FLIST, and LOAD these read-only text files, and you can EXECUTE the programs they contain. You can also view these programs with the LISTP command and the SEE editor. You cannot, however, edit or store these programs. When the FDIRECTORY command is used to list the file directory, these files are marked with an R in the on-screen file list. Binary Files In addition to ASCII program files, binary program files can be loaded and executed by V+. You can freely FCOPY and LOAD these secured files, and you can EXECUTE the programs they contain. You cannot, however, edit the programs they contain, list them with the FLIST or LISTP commands, or store them to a new file. 18 Instructions for Adept Utility Programs, Rev. A Chapter 1 Installation Installation The Adept utility programs are installed in each system shipped by Adept. The procedure for copying new utility programs or updating old files on Compact Flash from an optional floppy drive is shown below. NOTE: If you have plenty of space on your Compact Flash, Adept recommends that you copy all the utility programs onto your Compact Flash. If you are short of disk space, you need only copy the utilities that you expect to use. Here are some recommendations: General-purpose utilities: • All users: DISKCOPY and CONFIG_C • All robot users: SPEC and SPECSUB Specialized utilities: • AdeptVision option: ADV_CAL, LOADAREA, and ADV_USER • Belt tracking option: BELT_CAL and LOADBELT • Touchscreen users: TOUCHCAL and LOADTCH • AdeptMotion installers: CONFIG_C, SPEC, and SPECSUB • Program developers: EDITICON, LOADICON, PROFILER, SQUEEZE, and SECURE • AdeptFTP option: FTP_CLNT and FTP_SRVR • Miscellaneous: XMODEM and FORMAT If you have an optional floppy drive, you may load these utility programs directly from the Utility Disk. Adept recommends that you use the following procedure to copy some or all of the programs to a subdirectory on the Compact Flash. If you have the AdeptNFS option, and your Adept controller is on a network with another computer that has a diskette drive, you can use the DISKCOPY utility to copy the program files from the nfs>unit: to the compact flash. To do that, you must have an NFS mount defined on the V+ system that can access the desired files on the remote computer. In the procedure below, specify nfs> and the appropriate NFS unit in place of the references to the A drive. NOTE: Instructions for Adept Utility Programs, Rev. A 19 Chapter 1 Installation 1. If it does not already exist, create a subdirectory to receive the files (refer to the V+Operating System User’s Guide if you need more information about the FDIRECTORY command). Type: fdirectory/c d:\util\ 2. Type load a:diskcopy to load the DISKCOPY utility. 3. Type ex 1 a.diskcopy to execute the DISKCOPY utility. 4. Use the DISKCOPY utility to copy all the files from drive A to drive D: a. Insert the Adept Utility Disk into the floppy drive (drive A). b. Choose: 4=> Copy multiple files. c. When prompted, type a to specify drive A as input, and type d to specify drive D as output. d. Type y to verify the copy operations. e. Type *.* as the specification of the files to copy. f. Type \util\ as the output subdirectory. g. Type y to replace any existing files of the same name. h. When the name of the first file is displayed, type g (Go) to copy all files. (If you do not want to copy all of the files, type y (Yes) for each file you want copied.) See the description of the DISKCOPY utility program later in this manual if you need more information about that program. NOTE: 20 Instructions for Adept Utility Programs, Rev. A Chapter 1 How Can I Get Help? How Can I Get Help? Refer to the How to Get Help Resource Guide (Adept P/N 00961-00700) for details on getting assistance with your Adept software or hardware. You can obtain this document through Adept On Demand. The phone numbers are: (800) 474-8889 (toll free) (503) 207-4023 (toll call) Please request document number 1020. Instructions for Adept Utility Programs, Rev. A 21 Description of Utility Programs 2 ADV_CAL . . . . . . . . . . . . . . . . . . . . . . . . ADV_USER . . . . . . . . . . . . . . . . . . . . . . . . BELT_CAL. . . . . . . . . . . . . . . . . . . . . . . . . CONFIG_C . . . . . . . . . . . . . . . . . . . . . . . . Setting the IP Address of the Adept Controller . . . . . . Software Configurable Switch Settings . . . . . . . . . . User Interface Selection . . . . . . . . . . . . . . AdeptWindows PC Setup . . . . . . . . . . . . . . V+ Auto-Start Configuration . . . . . . . . . . . . . Boot Sequence . . . . . . . . . . . . . . . . . . Auto-Boot . . . . . . . . . . . . . . . . . . . . DDT Serial I/O on Auxiliary CPU . . . . . . . . . . . DeviceNet Configuration Setup . . . . . . . . . . . . Scanning the DeviceNet for Setup Information . . . . . Mapping of DeviceNet Components in V+ . . . . . . . . The LOCAL Statement in the DeviceNet Configuration . . The MACID Statement in the DeviceNet Configuration. . The Mapping Statement in the DeviceNet Configuration . DISKCOPY . . . . . . . . . . . . . . . . . . . . . . . . DUTY_CYC . . . . . . . . . . . . . . . . . . . . . . . . EDITICON . . . . . . . . . . . . . . . . . . . . . . . . FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . FTP_CLNT. . . . . . . . . . . . . . . . . . . . . . . . . FTP_SRVR. . . . . . . . . . . . . . . . . . . . . . . . . LOADAREA . . . . . . . . . . . . . . . . . . . . . . . . LOADBELT . . . . . . . . . . . . . . . . . . . . . . . . LOADICON . . . . . . . . . . . . . . . . . . . . . . . . LOADTCH . . . . . . . . . . . . . . . . . . . . . . . . PROFILER . . . . . . . . . . . . . . . . . . . . . . . . . SAFE_UTL . . . . . . . . . . . . . . . . . . . . . . . . . SECURE . . . . . . . . . . . . . . . . . . . . . . . . . SFUTIL . . . . . . . . . . . . . . . . . . . . . . . . . . SPEC . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions for Adept Utility Programs, Rev. A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 27 28 37 57 58 59 59 60 61 61 61 61 62 64 65 66 67 71 79 82 91 94 95 96 101 105 109 112 119 121 124 130 23 Utility Programs SQUEEZE . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 TOUCHCAL . . . . . . . . . . . . . . . . . . . . . . . . . . 154 XMODEM . . . . . . . . . . . . . . . . . . . . . . . . . . 158 24 Instructions for Adept Utility Programs, Rev. A Utility Programs This chapter provides detailed descriptions of the utility programs provided on the Adept Utility Disk. The utilities are presented in alphabetical order, with the description for each utility starting on a new page. Each utility contains the following sections, as applicable: Description A short description of the utility. Disk File Name The name of the disk file that contains the program. Program Name Name of the program that is EXECUTEd to begin the utility.1 Functions Major functions of the utility. Abstract Overview of the utility. Requirements The equipment and conditions required to use the utility. Procedure How to load and execute the utility. Program Prompts Descriptions of the utility menu items and the prompts displayed during use of the program. Programming Considerations How to include the utility in a V+ program. Special Considerations Additional information. 1 Or CALLed if the program is incorporated into your application code. Instructions for Adept Utility Programs, Rev. A 25 ADV_CAL Utility Programs ADV_CAL Description Camera calibration utility Disk File Name ADV_CAL.V2 Program Name a.adv_cal Functions Perform camera calibration. Abstract In most vision applications, the cameras must first be calibrated. The principal results of camera calibrations are: • A millimeter-to-pixel ratio that allows the vision system to use distances in real-world millimeters • Camera-to-robot calibrations that allow robots to acquire parts • A transformation that accounts for perspective distortion caused by a camera imaging element that is not parallel to the image surface This utility is described in the AdeptVision VXL User’s Guide. 26 Instructions for Adept Utility Programs, Rev. A Utility Programs ADV_USER ADV_USER Description Routines for use with ADV_CAL and for using calibration data Disk File Name ADV_USER.V2 Abstract This file contains utility programs that can used by application programs that access the calibration data for the AdeptVision product. See the AdeptVision VXL User’s Guide for details on the programs in this disk file. Instructions for Adept Utility Programs, Rev. A 27 BELT_CAL Utility Programs BELT_CAL Description Conveyor tracking calibration utility Disk File Name BELT_CAL.V2 Program Name a.belt_cal Functions Determine the calibration data required to have the robot track a moving conveyor belt. Test the calibration data by having the robot track a point on the conveyor. Abstract Various data items are required to have the robot track a moving conveyor belt. These include the following: • The relationship between belt position and encoder output • A description of where the belt is located in the robot reference frame and the direction in which the belt moves • A definition of the limits of the robot working range along the belt The belt calibration program can be used to define all these parameters and to store the data in a disk file for subsequent use by application programs. Once all of the data items are defined, the performance of the robot/conveyor/encoder system can be tested. Requirements The following items are needed for use of this program: • Adept robot system with the conveyor tracking feature • V+ system with the conveyor tracking feature • Manual control pendant • Conveyor-tracking encoder • Cable from encoder to the robot controller 28 Instructions for Adept Utility Programs, Rev. A Utility Programs BELT_CAL • Calibration disk • Calibration pointer • Conveyor belt that can be stopped and started (provided by the customer) The portion of the belt to be used by the robot must be straight and flat, but not necessarily level or parallel to any robot axis. NOTE: The following conditions must exist before the program can be used: • The conveyor belt must be securely installed so it cannot move relative to the robot. • The encoder must be mounted on the conveyor so that its drive disk rolls on the belt or so that the shaft of the encoder is connected to the belt drive train without backlash. • The calibration pointer must be mounted on the robot end-effector flange. • The V+ system must be loaded. • The robot must be calibrated, and COMP mode must be selected on the manual control pendant. Procedure 1. If you want to save all of your programs and data on a disk, type: store save_all 2. Clear the system memory by typing: zero 3. Load the calibration program into the system memory by typing:1 load \util\belt_cal 4. Start execution of the program by typing: execute a.belt_cal 1 5. If your system is configured for more than one belt encoder, enter the number of the encoder channel you want to work with. The channels are numbered 1 through 6. 6. If your system controls more than one robot, enter the number of the robot you want to work with. Type the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 29 BELT_CAL Utility Programs 7. Select the operations you want from the menu displayed (see Program Prompts). 8. Follow the prompts provided by the program during the various procedures. At the end of the calibration procedure you will be able to store the calibration information in a disk file for later use. 9. Delete the calibration program by typing the commands: kill delete a.belt_cal The above command deletes all the calibration data from memory, except for any variables that are referenced by some other program in memory. NOTE: 10. Later, to restore the calibration data from the disk, your application program should CALL the subroutine load.belt contained in the utility file LOADBELT.V2. Program Prompts The conveyor tracking calibration program displays a menu of selections to the user. The following paragraphs describe the menu items and provide additional information to help you decide how to respond to prompts from the program. After you respond to a prompt, the program displays instructions on the monitor or terminal. NOTE: If you want to exit the program at any prompt, press CTRL+Z. 0 => Exit to system monitor Choose this item to exit the program and return to the V+ monitor. 1 => Perform complete calibration sequence This menu selection initiates processing of all the steps for defining the conveyor calibration data. If you want to define only a portion of the calibration data (for example, because something in the setup has changed), do not make this selection. Select only the appropriate menu choice(s). During the calibration procedure the program will ask you to move the robot pointer to several locations on the conveyor. To see a description of the locations and a diagram indicating proper positions, respond y to the prompt Do you want to see an explanatory diagram (Y/N)? 30 Instructions for Adept Utility Programs, Rev. A Utility Programs BELT_CAL See the descriptions that follow for more information on individual steps of the calibration procedure. 2 => Load calibration data from the disk This selection loads belt calibration data from a previously created data file. You are asked for the disk unit on which the calibration data file is stored. Then you are asked to specify the subdirectory in which the file is located. If the correct subdirectory path is shown as the default, press the ENTER (RETURN) key. The program displays the names of all the files currently in the selected subdirectory that appear to be belt calibration data files. This data is normally stored in a disk file named BELTnnn.DAT, where nnn is a user-specified data set number. After you enter the desired data set number, the data is read from the disk and is used to reinitialize the conveyor tracking system. See “Programming Considerations” on page 35 for information on the variables defined by the program for use during conveyor tracking. NOTE: 3 => Store calibration data onto the disk This selection allows you to store the current belt calibration data in a disk file for later use. After the file is created, the data can be read from disk by this program or by an application program that contains the subroutine load.belt (provided in the file LOADBELT.V2 on the Adept Utility Disk).1 You are asked which disk device you want the data stored on. Then you are asked to specify the subdirectory in which the file is to be located. If the correct subdirectory is shown as the default, you can simply press the ENTER (RETURN) key. The program displays the names of any files currently in the selected subdirectory that appear to be belt calibration data files. The data is normally stored in a disk file named BELTnnn.DAT, where nnn is a user-specified data set number. After you enter the data set number you want to use, the data file is created. The name of the new data file is BELTnnn.DAT, where nnn is the data set number you entered. 1 See the LOADBELT description on page 101 for information on how your application programs can read calibration data from disk files. Instructions for Adept Utility Programs, Rev. A 31 BELT_CAL Utility Programs 4 => Display belt encoder output Choose this selection to have the program display the position and speed of the conveyor as indicated by the output from the belt encoder. This is useful to verify that the encoder is functioning correctly. 5 => Set encoder scale factor The encoder scale factor defines how far the belt moves between each count output by the belt encoder. This menu selection initiates the steps required to determine that scale factor. If you know the value of the scale factor, you can enter it directly to the program. Otherwise, you can use the robot to measure the belt motion between two positions. When positioning the calibration pointer over the calibration disk, keep the robot end-effector flange from rotating relative to the workspace. Otherwise, any eccentricity of the calibration pointer results in errors in the measurements between recorded positions. NOTE: The procedure for using the robot to determine the encoder scale factor involves recording a robot location on the stationary belt and its corresponding encoder reading. Then the belt is moved so that the point on the belt moves to the opposite extreme of the robot’s reach. A new robot location and encoder reading are recorded. The difference between the two robot locations determines how far the belt moved, and the difference between the two encoder readings is the number of encoder counts output during that belt motion. The Adept calibration pointer and disk are designed to simplify this procedure. The calibration program asks you to perform the following steps: 1. Place the disk on the belt as far upstream as the robot can reach, on the side of the belt nearest the robot. (It’s a good idea to tape the disk to the belt so it can’t slip when the belt is started and stopped.) 2. Center the robot pointer on the disk. 3. Press the ENTER key to indicate the pointer is in place. 4. Back the pointer away and run the belt until the disk moves near the other extreme of the working range of the robot. Be careful that the disk does not slip on the belt when the belt is started and stopped. NOTE: 32 5. Without moving the disk, center the pointer on the disk a second time. 6. Press the ENTER key again to indicate the pointer is in place. Instructions for Adept Utility Programs, Rev. A Utility Programs BELT_CAL 6 => Define belt reference frame The belt reference frame describes the direction in which the belt moves and the orientation of the surface of the belt. Four robot locations on the conveyor must be recorded to define the belt reference frame. The two locations used to determine the encoder scale factor are used when the complete calibration procedure is performed. Otherwise, all four locations need to be recorded. For each location requested by the program, position the calibration disk on the belt and center the robot pointer on the disk. Note these considerations when following the instructions from the calibration program: 1. The calibration disk must not move across the belt while the upstream and downstream locations are being recorded. 2. The upstream, downstream, and across-the-belt locations must all be recorded at the same height above the surface of the belt. 3. The center-of-the-belt location can be anywhere in the vicinity of the center of the robot working range on the belt. 4. Care should be taken to keep the robot end-effector flange from rotating relative to the belt. Otherwise, any eccentricity of the calibration pointer results in errors in the measurements between recorded positions. When the nominal belt transformation is computed, it can have a pitch component that is upside down with an absolute value greater than 90 degrees. As a result, you have the option of rotating the transformation 180 degrees about the X axis. The following prompt is displayed: The nominal location has a non-standard pitch (i.e., greater than 90 degrees). Rotate the transformation 180 degrees about the X (belt) axis (Y/N)? In most cases, you should have this rotation done. However, you should not do it if your application program expects the orientation that was determined with a previous version of the belt calibration program. NOTE: See the V+ Language User’s Guide for additional details on programming conveyor belt applications. If you are using AIM MotionWare for belt tracking operations, the belt calibration utility built into MotionWare can be used to create, store, and load calibration data. Instructions for Adept Utility Programs, Rev. A 33 BELT_CAL Utility Programs 7 => Define belt working window The system should be told how far upstream and downstream the robot can reach. That is done by defining a robot location at each end of the desired working window. These locations are used to define imaginary planes perpendicular to the belt, and thus only their positions along the belt are used by the program. The upstream and downstream locations should be defined such that the robot is able to reach all belt locations within the working window. NOTE: 8 => Initialize the belt variable(s) with current data This menu item causes the system to incorporate the calibration data determined by the steps above. As a result, the belt variable %b[i] is defined, where i is the number of the belt encoder being used. See “Programming Considerations” on page 35 for information on the variables defined by the program for use during conveyor tracking. In particular, the robot must be able to reach all the locations on the far side of the belt with no joint moving to a “stretched-out” position. NOTE: 9 => Test belt calibration To test the belt calibration you can have the robot track a point on the belt. Place a calibration disk on the belt and position the calibration pointer slightly above the disk. As the robot is tracking the belt, you can stop and start the belt, change its speed, and reverse its direction of motion. You can stop the belt tracking by pressing the ENTER key on the keyboard, or the DONE button on the manual control pendant. The robot automatically stops tracking the belt if it moves close to an end of the defined working window along the belt. You should verify that the robot accurately tracks the disk. That is, it should remain centered over the disk as the disk moves down the belt. Inaccurate tracking indicates the belt calibration procedure should be repeated. If the robot correctly follows the path of the disk, but gains on it or lags behind, only the encoder scale factor needs to be recalibrated. If the robot moves across the belt as it tracks the disk, you should repeat the procedure that defines the belt reference frame. Do you want to save the calibration data on the disk (Y/N)? 34 Instructions for Adept Utility Programs, Rev. A Utility Programs BELT_CAL After completing the calibration procedure the calibration data can be stored in a disk file for use later by entering y to the prompt shown above. The steps that follow are identical to those for the main-menu selection Store calibration data onto the disk, which is described above. 10 => Select belt to work with Use this menu item to change the number of the belt encoder channel you want to work with. The number of the channel currently selected is displayed above the main menu. 11 => Select robot to work with If your V+ system controls more than one robot, use this menu item to change the number of the robot you want to work with. The number of the robot currently selected is displayed above the main menu. If there is no robot connected to your system or the robot has not been calibrated, there is a 3-second time-out, and an error message is displayed. NOTE: Programming Considerations For use when tracking the conveyor belt(s), the program defines the global variables listed below. Your application program can access these variables, or it can define other, equivalent variables by calling the routine contained in the file LOADBELT.V2 on the Adept Utility Disk (or in the UTIL directory). Variable Name Variable Type Description %b[i] Belt Belt variables, which define the motion of the conveyor belts (i = 1 to 6) belt.cal[i] Real-value TRUE/FALSE indications of whether or not belts have been calibrated (i = 1 to 6) belt.nom[i] Transformation Nominal belt transformations, which define the position, orientation, and direction of conveyor belts (i = 1 to 6) belt.sf[i] Real-value Scale factors for belt travel per belt encoder count (i = 1 to 6) belt.win1[i] Transformation Locations defining one end of windows on the respective conveyor belts (i = 1 to 6) Instructions for Adept Utility Programs, Rev. A 35 BELT_CAL Utility Programs Variable Name Variable Type Description belt.win2[i] Transformation Locations defining other end of belt windows on the conveyor belts (i = 1 to 6) Special Considerations The calibration program defines several real-valued and location variables that use bc. and belt. as prefixes. These variables must not be modified by the user or by other programs. All these variables are deleted from memory when a DELETE command is used to delete the program from memory, as described earlier. NOTE: The disk file BELT_CAL.V2 is a read-only file. Thus, the programs in the file cannot be modified or stored from memory to a disk. The FCOPY command can be used to copy the file to another disk. The diskcopy utility program (in DISKCOPY.V2) can be used to make a backup copy of the entire distribution diskette. That program can also be used to copy the file BELT_CAL.V2 from the distribution diskette to the Compact Flash or an optional hard disk. See the V+ Language User’s Guide for additional details on programming conveyor belt applications. If you are using AIM MotionWare for belt tracking operations, the belt calibration utility built into MotionWare can be used to create, store, and load calibration data. That is, that utility is equivalent to the BELT_CAL program. 36 Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C CONFIG_C Description Controller configuration utility Disk File Name CONFIG_C.V2 Program Name a.config_c Functions • Install a new V+ system • Display and edit system configuration • Display and modify device modules for robots • Display and initialize the NVRAM contents • Display information about the devices connected to the DeviceNet Abstract The Installation option installs a new V+ system, configuring it to match the system being replaced. The V+ system includes configuration data stored in a special file on the system disk. The CONFIG_C utility lets you edit this file. Each time the controller is restarted, the system reads the statements in the configuration file and sets the appropriate defaults. NOTE: Changes to the system configuration do not take effect the V+ system is loaded from the modified system file. until The Robots and Device Modules options allow you to change the kinematic device-control modules included in the V+ system and the robots that are controlled by the system. The NVRAM section displays and initializes the NVRAM, which is read each time the controller is powered up. Requirements The following items are needed to run CONFIG_C. All of these (except as indicated) were supplied with your Adept system: Instructions for Adept Utility Programs, Rev. A 37 CONFIG_C Utility Programs • Adept controller, using V+ version 13.0 • Adept Utility Disk containing the files CONFIG_C.V2, DISKCOPY.V2, and SPECSUB.LIB (or copies of the files on the Compact Flash). Before you can run CONFIG_C: • The V+ system must be loaded. • If you are using a robot system, the robot must be calibrated and COMP mode must be selected on the manual control pendant. or The DRY.RUN system switch must be enabled. or The program can be executed in a program task other than #0. Procedure 1. Save to disk any program changes you have made. 2. Clear system memory by typing: zero 3. Load the utility program:1 load \util\config_c 4. Execute the program: execute a.config_c (Or use execute 1 a.config_c, to execute the program as task #1.) 5. Select the option you want from the menu. 6. Follow the prompts provided by the program. If a floppy diskette is modified, the small write-protect slider on the back of the diskette must be in the unprotected position. That is, it must be in the position that closes the hole through the diskette jacket. Make sure you move the slider back to the protected position after the operation is completed. NOTE: Do not alter the original V+ system diskette supplied by Adept. Instead, make a copy of the distribution diskette (with this program during the process of installation, or with the DISKCOPY utility), and then modify the configuration information on the copy. 1 38 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A Utility Programs 7. CONFIG_C Delete the configuration program from the system memory by typing (use kill 1 in place of kill if the program was executed as task #1): kill delete a.config_c Special Considerations Changes to the system configuration do not take effect until the V+ system is loaded from the modified system file. Thus, after making all the desired changes to the configuration, turn off power to the controller and reboot the system from the modified system file. Adept recommends making a backup copy of the modified V+ system. The DISKCOPY utility can be used for that purpose. The V+ configuration file may contain statements for hardware or options that are not installed in the system. For example, there may be statements for four analog input boards, but only two boards are installed. The extra statements are ignored and can be left in the configuration file. Not all items in the configuration file can be changed. Items that cannot be changed by the configuration utility are noted as such when they are displayed. The configuration program defines many real-valued and string variables with cf., dc., it., iu., ld., and sp. as prefixes. These variables must not be modified by the user or by other programs. (All the variables are deleted from memory when the program exits normally. All the variables are deleted when a DELETE command is used to delete the program from memory, as described earlier.) If DISKCOPY utility is not already in memory when the V+ installation menu item is first selected, the CONFIG_C program automatically loads DISKCOPY into memory. If you later attempt to load DISKCOPY while CONFIG_C (and DISKCOPY) is still in memory, you will see many *Program already exists* errors, which can be ignored. The CONFIG_C.V2 file is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to Compact Flash. The file can be copied with the FCOPY monitor command or the disk-copy utility program (DISKCOPY). Menu Structure EXIT to system monitor V+ Installation Instructions for Adept Utility Programs, Rev. A 39 CONFIG_C Utility Programs Return to MAIN MENU SAVE current ROBOT DATA INSTALL a NEW V+ SYSTEM APPLY saved ROBOT DATA V+ System Configuration Data Return to MAIN MENU DISPLAY system CONFIGURATION EDIT system CONFIGURATION Done editing Change HEADER configuration Change VPLUS configuration Change ANALOG_INPUT configuration Change ANALOG_OUTPUT configuration Change DIGITAL_INPUT configuration change DEVICENET configuration Change NETWORK configuration Change ROBOT configuration Change SERIAL configuration Change SERVO_BOARDS configuration Change SYSTEM configuration Change TASKS configuration Change VISION configuration EXPORT configuration DATA Robots and Device Modules Return to MAIN MENU LIST current CONFIGURATION of system file LIST device modules in a device-module FILE REPLACE device modules in system file APPEND device modules to system file SELECT device modules for robots Controller NVRAM Return to MAIN MENU DISPLAY NVRAM contents INITIALIZE the NVRAM SET IP ADDRESS in the NVRAM Set “SWITCHES” in the NVRAM Scan the DeviceNet 40 Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C Return to main menu SCAN the DeviceNet for nodes Program Prompts The configuration utility program displays the following main menu: 0 1 2 3 4 5 => => => => => => EXIT to system monitor V+ Installation V+ System Configuration Data Robots and Device Modules Controller NVRAM Scan the DeviceNet NOTE: You can exit the program at any prompt by entering CTRL+Z. These menu items lead to the following submenus: 0 => EXIT to system monitor Exit the configuration program and return to the V+ system monitor. 1 => V+ Installation When this menu item is selected, the CONFIG_C program checks for the DISKCOPY utility and SPECSUB library to be in memory. If they are not in memory, the program attempts to load the respective files DISKCOPY.V2 and SPECSUB.LIB from the same path from which CONFIG_C was originally loaded. If the files cannot be found, the user is asked to enter the appropriate device/unit/path specification to access the files. This menu item cannot be used until both files have been loaded. The following menu is displayed at this level: 0 1 2 3 => => => => Return to MAIN MENU SAVE current ROBOT DATA INSTALL a NEW V+ SYSTEM APPLY saved ROBOT DATA Items #1 and #3 are flagged with an asterisk (*) if the program cannot be used to save/apply data files from/to the current V+ system. In this case a different version of the SPECSUB library (or the SPEC program) must be used to perform these operations (however, item #2 can still be used). These menu items perform the following operations, respectively: 1. Save the robot and encoder configuration data for the current V+ system to files, for use by menu item #3 after installing a new V+ system. Instructions for Adept Utility Programs, Rev. A 41 CONFIG_C Utility Programs 2. Copy a new V+ system to the system disk, install the appropriate device modules, and copy the previous system configuration data to the new system. 3. Apply the saved robot and encoder configuration data to the current V+ system disk. Refer to page 44 for a detailed description of these processes. 2 => V+ System Configuration Data This menu item displays the following menu: 0 1 2 3 => => => => Return to MAIN MENU DISPLAY system CONFIGURATION EDIT system CONFIGURATION EXPORT configuration DATA The description of these menu items follows: 1 => DISPLAY system CONFIGURATION This menu item displays all the statements in the configuration file on the specified system disk. 2 => EDIT system CONFIGURATION This menu item allows you to edit the individual statements in the configuration file. See page 49 for a detailed description of this process. 3 => EXPORT configuration DATA This menu item allows you to copy the system configuration data to a regular disk file or network file. 3 => Robots and Device Modules The following submenu is displayed: 0 1 2 3 4 5 => => => => => => Return to MAIN MENU LIST current CONFIGURATION of system file LIST device modules in a device-module FILE REPLACE device modules in system file APPEND device modules to system file SELECT device modules for robots For details on the features of this submenu, refer to the AdeptMotion VME Developer’s Guide. 42 Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C 4 => Controller NVRAM This menu item displays the following submenu: 0 1 2 3 4 => => => => => Return to MAIN MENU DISPLAY NVRAM contents INITIALIZE the NVRAM SET IP ADDRESS in the NVRAM Set “SWITCHES” in the NVRAM The description of these menu items follows: 1 => DISPLAY NVRAM contents The controller model, serial number, network IP address, and list of installed options are stored in a special section of nonvolatile RAM (NVRAM). This option displays the contents of the NVRAM. 2 => INITIALIZE the NVRAM This option initializes the NVRAM on the AWC processor. This needs to be done only when a replacement NVRAM has been installed on the processor. (The program will not permit an initialized NVRAM to be modified.) When initializing the NVRAM, you are asked to enter the serial number of the controller. The serial number cannot be changed after it is written to the NVRAM. CAUTION: 3 => Set IP address in the NVRAM This option adds or changes the network IP address and IP subnet mask for the controller. See the AdeptNet User’s Guide for information about IP addresses and subnet masks. At each prompt, you can either press ENTER to accept the current setting, or enter the desired new address or subnet mask with periods between the components. Changes to the settings will have no effect if they are not written to the NVRAM. The first value of an IP address cannot be zero. The second through fourth elements of an IP address can be set to zero. Also, all four elements of the subnet mask can be set to zero. 4 => Set “SWITCHES” in the NVRAM Refer to page 58 for a detailed description of this menu item. Instructions for Adept Utility Programs, Rev. A 43 CONFIG_C Utility Programs 5=> Scan the DeviceNet This menu item is used to gather information about the nodes that are present on the DeviceNet that is connected to the Adept controller. The information is used when editing the statements in the DeviceNet section of the V+ system configuration data. No other V+ execution tasks should be running while the DeviceNet is being scanned. NOTE: Detailed Descriptions of Program Operations 1 => V+ Installation This description of the installation process is divided into two parts: an overview section followed by a detailed description. Overview The options under this menu item are used when upgrading a V+ system. The purpose of these operations is to carry forward all the custom configuration information from the old system to the new system. There are three main steps for upgrading to a new V+ system: 1. Save the current robot and encoder configuration data in disk files. This step is not needed if the old V+ system is not configured to control any robot and does not access external (belt) encoders. If the old V+ system does control one or more robots, or if it accesses external (belt) encoders, perform steps a and b below. a. Boot the old V+ system. b. Create a binary configuration data file for each robot and for the external encoders. (These files can be stored on any disk, including a V+ system disk.) The CONFIG_C and SPECSUB version used for this step must be compatible with the old V+ system. You will need the CONFIG_C version for the old V+ system as well as for the new V+ system. 2. Copy the new V+ system to the desired output disk drive, install the required device modules, and copy the system configuration data from the old V+ system to the new V+ system. Perform this step with the Adept MV controller booted from the new V+ system disk and use the edition of CONFIG_C received with the new system. This step is described in detail below. 44 Instructions for Adept Utility Programs, Rev. A Utility Programs 3. CONFIG_C Apply the saved robot and encoder configuration data (see Step #1 above) to the new V+ system disk. This step is not needed if the old V+ system is not configured to control a robot and it does not access external (belt) encoders. If the old V+ system does control one or more robots, or if it accesses external encoders, perform steps a and b below. a. Boot the new V+ system (after Step #2 is done). b. Load the contents of the robot and encoder configuration data files into memory, and write the data to the new V+ system disk using the new edition of the CONFIG_C utility. The CONFIG_C program looks for the configuration data files in the subdirectory \CONFIG_C\ with names in the form described above. The following paragraphs describe these steps in greater detail. *** INSTALLATION OF V+ SYSTEM *** 1 => SAVE current ROBOT DATA This menu item followed by an asterisk(*) indicates that the operation cannot be performed because of an incompatibility between the edition of CONFIG_C being used and the current V+ system. Use the edition of CONFIG_C that was supplied with your old V+ system. NOTE: This procedure creates configuration data files for the robots and external encoders that the current V+ system is configured to control. These data files can be stored on any disk, and can be used later to restore robot and encoder configuration data to the V+ system. After the purpose of the menu item is displayed, you can cancel the menu selection. You are asked which disk drive should receive the data files. If an optional floppy drive is indicated, you are asked to insert a diskette. All the data files are created automatically. Each file name is displayed for reference. For example, if an error occurs, the file name should help you to understand the problem. If the files were written to a diskette, you are advised to write-protect and label the diskette. Any existing files with the same names are overwritten without warning! CAUTION: Instructions for Adept Utility Programs, Rev. A 45 CONFIG_C Utility Programs 2 => INSTALL a NEW V+ SYSTEM This option copies the new V+ system to the desired output disk drive and then duplicates the system configuration from the old V+ system on the new V+ system disk. CONFIG_C automates most of the installation process. As noted above, however, the robot and encoder configuration data must have been saved in disk files before the installation process is initiated. After completing this installation step, you must complete the installation process by selecting step #3 (APPLY saved ROBOT DATA). You need the following items to install a new V+ system: 1. An old V+ system (on a diskette, hard drive, or Compact Flash). This is the V+ system that you have been using. The configuration of this system is duplicated in the new V+ system. 2. Configuration data files for all the devices controlled by the old V+ system. If the old V+ system includes customized data for the robots or external encoders, you must have an up-to-date (binary) configuration data file for each robot and the encoders. In general, those data files can be created only with the edition of CONFIG_C, CONFIG_R, or SPEC that you received with the old V+ system. NOTE: 3. A new V+ system (on a diskette, hard drive, or Compact Flash). This is the V+ system that you want to install. This installation process copies this system to a different disk (if necessary) and configures the system to match the existing (old) V+ system. If your V+ system includes support for a non-Adept robot, the installation process will need to access the appropriate device-module file for the new V+ system. That file is distributed by Adept in the \SYSTEM\ subdirectory on the Utility Disk. NOTE: 4. Blank high-density diskettes (formatted or unformatted). You need four (4) blank high-density diskettes for: 46 a. A copy of the old V+ system (if you do not already have one) b. A copy of the new V+ system before it is configured Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C c. A working copy of the new V+ system for use during the configuration process, if you choose to build the new system on a diskette or hard drive instead of on the Compact Flash d. A backup copy of the new V+ system after it is configured The entire installation process could take up to 45 minutes. Most of that time will be spent making backup copies of your old and new V+ systems; you can stop the process at any time while making these copies. However, after the process of configuring your new V+ system has begun, do not interrupt the installation process. The system informs you when the uninterruptible portion of the process has been reached, and you can stop at that point. NOTE: new Use the edition of CONFIG_C that you received with the system. V+ Make sure you clearly identify the diskettes used during the installation process. There is no way for the program to tell if you have inserted the wrong diskette in response to a request. Carefully read the program messages before you respond to each prompt. During installation, answer the program questions about the system disks. In various situations, the program recommends that you make a backup copy of the old and/or new V+ systems. If you agree, DISKCOPY is invoked to make the copy. You should be familiar with the use of the DISKCOPY program to copy a V+ system and to copy a diskette image. In most situations Adept strongly recommends that you make a backup, and you are asked a second time if you want to make the backup. NOTE: After the appropriate backup disks are made, the program asks you to put one or the other of the system disks in the floppy drive, so configuration information can be read and confirmation can be made that needed files are present on the new system disk. Next, the actual installation process begins, and it should not be interrupted. The following steps are performed: 1. The new system is copied to the specified output drive. 2. The appropriate device modules are installed in the V+ system file on the output disk. If the installer cannot find the necessary device-module file(s), you will be asked for the disk to be accessed. NOTE: Instructions for Adept Utility Programs, Rev. A 47 CONFIG_C 3. Utility Programs The configuration information from the old system is written to the output disk. No check is made to ensure the robot selections defined in the configuration data match the device modules that are present on the disk. That is, if the old system is incorrectly configured, the new system is also. NOTE: Finally, you are told what steps must be performed to load the robot data from the disk files created in step #1 of the three-step installation process. 3 => APPLY saved ROBOT DATA This step applies the saved robot and encoder data from the old V+ system to the new V+ system disk. The system must have been booted from the disk created with step #2 above. After the purpose of the menu item is displayed, you are given an opportunity to cancel the menu selection. Next, the robot and external encoder configuration of the current system is displayed, and you are given another chance to cancel the process. You are asked which disk drive contains the configuration data files. If an optional floppy drive is indicated, you are asked to insert the diskette. After confirming that the required files are present, you are given one more chance to cancel the process. (If any required file is not found, its file specification is displayed, and the process cannot be continued.) If you agree to continue, all the data files are read automatically. Each file name is displayed for reference. For example, if an error occurs, the file name should help you to understand the problem. As the files are read, several lines of output may be displayed. You are advised by the program to use CRTL+S/CRTL+Q to control the output. Some of those lines might appear to be error messages. (Refer to the documentation for the SPEC utility in the AdeptMotion VME Developer’s Guide for an explanation of the messages displayed while a configuration data file is being read.) In general such messages result from changes that have been made to the V+ system or the CONFIG_C program and do not indicate a real problem. NOTE: 48 Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C After all the data files are read, you are asked if that data should be written to a V+ system disk. If so, you are told that the system disk must be the one from which the current V+ system was booted. If you indicate that the data should not be written to a V+ system disk, the ramifications are explained and you are asked to confirm your choice. 2 => V+ System Configuration Data This selection accesses the configuration data on a V+ system disk, not the configuration data currently in system RAM. The target V+ system should be compatible with the edition of CONFIG_C being used. NOTE: *** CONTROLLER CONFIGURATION EDITOR MENU *** 1 => DISPLAY system CONFIGURATION This option displays the configuration data on a specified V+ system disk. 2 => EDIT system CONFIGURATION The configuration editor does not check to see if your changes are consistent with system requirements. If the V+ system fails to boot after the configuration has been changed, you need to boot from a different V+ system disk and then use CONFIG_C to correct the configuration data problem(s) on the inoperable system disk. NOTE: After you select this option, the system asks for the drive that holds the operating system you want to change. After a drive is specified and the configuration data is read from the disk, the following submenu is displayed: 0 => DONE editing 1 2 3 4 5 6 7 8 9 => => => => => => => => => Change Change Change Change Change Change Change Change Change HEADER configuration VPLUS configuration ANALOG_INPUT configuration ANALOG_OUTPUT configuration DIGITAL_INPUT configuration DEVICENET configuration NETWORK configuration ROBOT configuration SERIAL configuration Instructions for Adept Utility Programs, Rev. A 49 CONFIG_C 10 11 12 13 => => => => Utility Programs Change Change Change Change SERVO_BOARDS configuration SYSTEM configuration TASKS configuration VISION configuration Choosing a specific section allows you to edit the statements for that part of the system. The statements are displayed as equations. The left-hand side of the equation specifies the item that you are configuring. The right-hand side specifies the attributes that the item can have and the value each attribute is given at system startup. The general form of each statement is: ITEM # = "/ATTRIBUTE value /ATTRIBUTE value.../ATTRIBUTE value" However, not all items have a number (#). Also, some items have only a value associated with them and not a list of attributes. When you select a section, you are shown all the current statements in the section. You are then presented with each statement and given the opportunity to change that statement. You can delete statements or add new statements to the configuration file. In general, the sequence of steps for editing configuration statements is: 1. Select a section from the edit system configuration submenu. 2. The program displays all the statements in the selected section. 3. The program displays statements, one at a time, and asks if you want to edit them. You have three options: a. If you enter n, the next statement is displayed. If this is the last statement in a section, the program asks if you want to add a new statement. b. If you enter , the program asks if you want to delete the statement. If you respond  to the delete prompt, the statement is removed from the configuration data. If you respond n to the delete prompt, the first attribute in the statement is displayed along with its current value and its possible values (or range of values). To leave the value unchanged, press ENTER. To change a value, enter the desired value and press ENTER. After you press ENTER, the next attribute and its values are displayed. After all attributes have been presented for editing, the revised statement is displayed and you can reedit if necessary. 50 Instructions for Adept Utility Programs, Rev. A Utility Programs c. CONFIG_C If you select q (or complete editing the last statement in a section), the program asks if you want to add a new statement to the configuration data. If you respond , a new statement will be started and you can specify the appropriate attribute values. If you respond n, the editing submenu is redisplayed. You must save the modified configuration data on the system disk if you want the changes to be retained. CAUTION: The options for the edit system configuration submenu are described below. There are often configuration statements for options that are not present in the controller. Such statements are ignored by V+ and do not need to be deleted. NOTE: 1 => Change HEADER configuration The statement in this section cannot be changed. 2 => Change VPLUS configuration This section specifies which processors run a copy of the V+ interpreter. If an auxiliary processor is running only a servo or vision task, removing the V + interpreter from that processor saves RAM. The V+ Extensions license is required to run V+ on more than one CPU. NOTE: The left-hand side of the statement specifies PROCESSOR and a number. Processor numbers are determined by the processor board address switches, not by their physical order in the backplane. See the Adept MV Controller User’s Guide for details. The right-hand side of the statement specifies the V+ system number to assign to the processor. The V+ system number and the processor number must be the same. To remove the V+ interpreter from a processor, delete the statement for that processor. 3 => Change ANALOG_INPUT configuration The left-hand side of the statement specifies BOARD and a number. Analog I/O board numbers are determined by the analog board address switches, not by physical order in the backplane. See the Adept MV Controller User’s Guide for details. Instructions for Adept Utility Programs, Rev. A 51 CONFIG_C Utility Programs The analog input channels have two attributes, /TYPE and /MODE. The possible values for /TYPE are bipolar and unipolar. If any of the ± voltage ranges (±5V, ±10V, etc.) are selected in the hardware setup, the software setup must specify bipolar I/O. If a positive-only voltage range is hardware selected, the software setup must specify unipolar I/O. For input channels, all the channels on a board must have the same type selection. The possible values for /MODE are single-ended and differential. Single-ended input uses the returned value of each input channel. Differential input uses the difference between returned values on pairs of input channels. The software setup must match the hardware setup. 4 => Change ANALOG_OUTPUT configuration The left-hand side of the statement specifies BOARD and a number, and PORT and a number. Analog I/O board numbers are determined by the analog board address switches, not by physical order in the backplane. Contact Adept Applications for details. On each board, there are four analog channels, numbered 1 to 4. See the description of AIO.OUT in the V+ Language Reference Guide for details on addressing the individual channels. The analog output channels have one attribute, /TYPE. The possible values for /TYPE are bipolar and unipolar. If any of the ± voltage ranges (±5V, ±10V, etc.) are selected in the hardware setup, the software setup must specify bipolar I/O. If a positive-only voltage range is hardware selected, the software setup must specify unipolar I/O. For output channels, bipolar or unipolar can be selected for each channel independent of the selections for the other channels. 5 => Change DIGITAL_INPUT configuration The left-hand side of the statement specifies either POS_LATCH or VIS_TRIGGER and a number. These items can have one attribute, /SIGNAL. The signal number should be set to match the input channel (1001, 1002, 1003, or none) that will be used. For position latches, the position latch number specified must match the latch number specified with the SERVO_BOARDS menu option (see page 54). See the Adept MV Controller User’s Guide for an overview of the Position Latch and Digital Input features. See the LATCH and LATCHED keywords in the V+ Language Reference Guide for details on reading latched encoder positions. For the vision trigger, the hardware setup of the EVI module must match the vision trigger number specified (see the Adept MV Controller User’s Guide). See the V.IO.WAIT keyword in the AdeptVision Reference Guide for details on using the vision trigger. 52 Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C 6 => Change DeviceNet configuration The statements in this section provide configuration information for the Adept DeviceNet option. Refer to “DeviceNet Configuration Setup” on page 61 and the Adept MV Controller User’s Guide for information about these statements. 7=> Change NETWORK configuration The statements in this section provide configuration information for the AdeptNet option. Refer to the AdeptNet User’s Guide for information about these statements. 8=> Change ROBOT configuration The main-menu item “Robots and Device Modules” provides a more convenient method for configuring the robots. NOTE: This section specifies which kinematic module is associated with each robot. The left-hand side of the statement specifies ROBOT and a number. The ROBOT statement has one attribute, /MODULE. The value of /MODULE depends on the kinematic modules installed in your system and robot types connected to the controller. See the AdeptMotion VME Developer’s Guide for details on selecting and specifying motion devices. 9=> Change SERIAL configuration This section specifies the communications protocols and parameters for various serial data communications hardware and software. The left-hand side of the statement specifies either GLOBAL_PORT (for the global serial lines available on the SIO board) or LOCAL_PORT (for the local serial lines available on the processor). The global serial lines can be accessed by all processors. The local serial lines can be accessed only by the processor they are attached to. GLOBAL_PORTs have a number that refers to the serial port number (port #4 is the FP/MCP connection). LOCAL_PORTs have a number that corresponds to the processor number, and a number that refers to the serial port number on the processor. The processor number is determined by an address switch on the processor board (see the Adept MV Controller User’s Guide). If your controller has a Manual Control Pendant attached to the SIO board, you should not change or add a statement for GLOBAL_PORT 4. NOTE: Instructions for Adept Utility Programs, Rev. A 53 CONFIG_C Utility Programs GLOBAL_PORTs and LOCAL_PORTs have the following attributes: /DRIVER, /SPEED, /BYTE_LENGTH, /PARITY, /STOP_BITS, /FLOW, /FLUSH, /DTR, /MULTIDROP, and /BUFFER_SIZE. See the V+ Language User’s Guide for general details on serial I/O. See the documentation on any serial devices you may be using for details on the correct settings. Most serial I/O settings can also be changed at runtime with the FSET monitor command or program instruction. 10 => Change SERVO_BOARDS configuration This section associates servo interface boards (EJI, MI3, MI6, or VFI) with processor boards. In multiprocessor systems, you may elect to run the servo task for a given servo board on any of the processor boards in the system. The left-hand side specifies BOARD and a number. The servo interface board numbers are determined by the board address switches, not by physical order in the backplane. See the Adept MV Controller User’s Guide for more details. The BOARD statement can have two attributes, /PROCESSOR and /POS_LATCH. The /PROCESSOR attribute specifies the processor that runs the servo task for this servo board. The value of /PROCESSOR is a list of processor numbers. The system looks through the list and associates the servo board with the first installed processor that is in the list. For example if the attribute “/PROCESSOR 3|2|1” is specified, the servo board is associated with processor 3 if it is installed, processor 2 if processor 3 is not installed, or processor 1 if processors 3 and 2 are not installed. The /POS_LATCH attribute specifies which (if any) high-speed backplane signals each servo board will use for latching robot and encoder positions. The backplane Position Latch signals can be triggered from either the CIP (configured with the DIGITAL_INPUT menu option; see page 52) or from a vision (EVI) board (configured using the V.STROBE system switch or the ADV_CAL.V2 utility program). 11 => Change SYSTEM configuration This section specifies the initial default disk and monitor speed, the graphics system defaults (including the pointer device double-click interval), the network buffers, the servo interrupt rate, and the rate at which motion trajectories are planned. DEFAULT_DISK can be given any valid device, unit, and directory path specification. The default disk can be changed at runtime with the DEFAULT monitor command. DEFAULT_SPEED can be given an integer value from 1 to 100. The monitor speed for motion can be changed with the SPEED monitor command or program instruction. 54 Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C Before setting the default, be sure that your mechanism can safely and reliably move at the specified speed. WARNING: The GRAPHICS statement can have the attributes /MAX_WINDOWS, /MAX_ICONS, and /DOUBLE_CLICK. /MAX_WINDOWS specifies the maximum number of windows that can be open at one time. /MAX_ICONS specifies the maximum number of icons with different names that can be loaded. /DOUBLE_CLICK specifies the time interval (in milliseconds) for detecting double clicks (as opposed to two single clicks). Two clicks separated by less than this interval are processed as a double click. the GRAPHICS attributes /MAX_ICONS and /DOUBLE_CLICK apply only to graphics displayed by a VGB. Those attributes do not apply when the AdeptWindows option is being used to display graphics. NOTE: The NETWORK statement specifies the number of buffers to be allocated for receiving messages with the DDCMP protocol. If no serial lines are configured to use this protocol, leave the setting at zero. This statement is not related to the NETWORK section of the configuration data. NOTE: SERVO_RATE can have the values 1KHz or 500Hz. This value must match the servo software, kinematic module, and hardware configuration. Do not change this value unless directed to do so by Adept or the system integrator. TRAJ_RATE can have the values 62.5 Hz, 125 Hz, 250 Hz, or 500 Hz. Do not change this value unless directed to do so by Adept or the system integrator. 12 => Change TASKS configuration V+ is a multitasking system in which user tasks compete with system tasks for use of the processor. User and system tasks run on a prioritized basis in one or more of 16 one-millisecond time slices within each 16-millisecond major cycle. Refer to the V+ Language User’s Guide for details on task scheduling. Operation of the V+ system can be adversely affected by incorrect settings of task priorities. Change the default configuration only if you have a good understanding of V+ task scheduling. CAUTION: Instructions for Adept Utility Programs, Rev. A 55 CONFIG_C Utility Programs The left-hand side of the statement specifies USER and a user task number1 and PROCESSOR and a processor number. Processor numbers are determined by the processor board address switches, not by physical order in the backplane. See the Adept MV Controller User’s Guide for more information. The attribute for USER x PROCESSOR y is a sequence of 16 integers that specifies the user task priority in each of the 1-ms time slices. The possible values are: –1 0 Do not run in this slice even if no other task is ready to run. Do not run in this slice unless no other task from this slice is ready to run. 1 - 64 Run in this slice according to the specified priority. Higher priority tasks may lock out lower ones. Priorities are broken into the following ranges: 1 - 31 Normal user task priorities. 32 - 62 Used by V+ device drivers and system tasks. 63 - 64 Used by the trajectory generator. Do not use 63 or 64 unless you have very short task execution times. Use of these priorities may cause jerks in robot trajectories. The program asks you for a priority for each time slice. The priorities of the system tasks cannot be changed. After the task priorities have been modified (and the V+ system has been rebooted), the PROFILER utility can be used to examine the effects of the changes. 13 => Change VISION configuration This section associates a vision system with a processor and sets the vision memory allocation and the virtual frame buffer size. The left-hand side specifies PROCESSOR and a list of one or more processor numbers. The system looks through the list and associates the vision system with the first installed processor that is in the list. For example, if ”PROCESSOR 3|2|1” is specified, the vision system executes on processor 3 if it is installed, processor 2 if processor 3 is not installed, or processor 1 if processors 3 and 2 are not installed. The attributes to the vision PROCESSOR statement are: 1 56 Standard V+ allows 7 user tasks. Systems with the V+ Extensions license are allowed 28 tasks. Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C /ID specifies which vision system should be associated with the indicated processor (can have the value 1 or 2). NOTE: If there is a statement with /ID 2, it must appear before the statement with /ID 1. /FRAME_SIZE specifies the size of the virtual frame buffers that the physical frame store is divided into (see the AdeptVision VXL User’s Guide). /TOTAL_KB specifies the total kilobytes of system memory that should be reserved for vision processes. It needs to include all the allocations listed below, 512KB for the vision system, and memory for fonts, prototypes, and miscellaneous requirements (start with at least 200KB for these items). /AOI_KB specifies the memory allocation for area-of-interest definitions (see the description of VDEF.AOI in the AdeptVision Reference Guide). /BLOB_KB specifies the memory allocation for blobs (bounded regions). /BOUND_KB specifies the memory allocation for performing boundary analysis (see the section on boundary analysis in the AdeptVision VXL User’s Guide). /LUT_KB specifies the memory allocation for vision look-up tables (see the description of VDEF.LUT in the AdeptVision Reference Guide). /OBJECT_KB specifies the memory allocation for object data structures. /RUN_LENGTH_KB specifies the memory allocation for run-length encoding (see the appendix on vision algorithms in the AdeptVision Reference Guide). /UNMATCHED_KB specifies the memory allocation for unmatched objects. /VTRANS_KB specifies the memory allocation for vision transformations (see the description of VDEF.TRANS in the AdeptVision Reference Guide). See the appendix titled “Using DEVICE With Vision” in the AdeptVision VXL User’s Guide for additional details on setting vision memory allocation. Setting the IP Address of the Adept Controller The IP address of the Adept controller (the controller’s address on the local area network) is stored in the  on the AWC board. The CONFIG_C utility is used to change the IP address. If you need to change the IP address, follow these steps: Instructions for Adept Utility Programs, Rev. A 57 CONFIG_C Utility Programs 1. Load and execute the CONFIG_C program as described on page 38. 2. Select “Controller NVRAM” from the main menu. 3. Select “Set IP ADDRESS in the NVRAM” from the submenu. The current IP address is displayed. If there is no address stored in the NVRAM, the default address for this AWC module is shown. The default IP address is based on the serial number of the AWC board. Thus it is possible to use the default address for a network that consists of multiple Adept controllers and a PC (or other server). See the AdeptNet User’s Guide for more information on the default IP address. 4. Enter the desired IP address (in the format displayed), or just press the ENTER key to retain the setting displayed. 5. After you have set the IP address, you need to set the IP subnet mask. If you use the AWC controller on a LAN and you do not know the proper IP subnet mask, ask your network system administrator. For further information see the AdeptWindows User’s Guide and the AdeptNET User’s Guide. 6. After you have entered new values, the program asks if you want them stored in NVRAM. Type y to have the new values stored in the NVRAM. You must reboot the controller to have the changes take effect. Software Configurable Switch Settings In contrast to other Adept VME processor boards and the SIO board, the AWC allows you to define V+ configuration settings in software rather than using hardware DIP switches. Since the hardware DIP switches on the AWC are on the board and not the card edge/front panel, this facility allows you to change these settings without removing the AWC board. See the Adept MV Controller User’s Guide for information about the hardware DIP switches. The Software switch settings are active only when all the hardware DIP switches on the AWC board are in the ON position, or all are in the OFF position. If this is not the case, V+ uses the user interface and autoboot settings selected by the hardware DIP switch settings on the AWC module. NOTE: To make changes to the Software switches, start the CONFIG_C utility as described page 38 and select the menu option “Controller NVRAM”. Then select the following item from the submenu: Set “SWITCHES” in the NVRAM The following material describes the various switch settings. 58 Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C User Interface Selection The hardware DIP switches on the AWC board can be used to override these settings of the Software switches. NOTE: The AWC board offers the following user interfaces: • Graphical user interface via VGB module, monitor, and keyboard • Graphical user interface via serial connection to AdeptWindows PC software on PC • Graphical user interface via Ethernet to AdeptWindows PC software on PC • ASCII-based user interface via serial connection to an ASCII terminal ASCII-Based User Interface To use an ASCII-based user interface (like a WYSE Terminal or terminal emulation software on a PC) you have two choices: 1 =>User interface via VGB or serial port 2 =>User interface via serial port If you have a VGB board in the system, you must select option 2 to direct the V+ monitor to an ASCII terminal. If you do not have a VGB board in the system, you can select option 1 or option 2 to direct the V+ monitor to an ASCII terminal. VGB-Based User Interface If you have a VGB module in your controller, select: 1 => User interface via VGB or serial port to use it as your graphical user interface. A monitor and keyboard must be connected to the VGB board. See the VGB board chapter in the Adept MV Controller User’s Guide for further information. AdeptWindows PC Setup The AdeptWindows PC graphical user interface can be implemented via a serial or an Ethernet connection. For an Ethernet connection, the IP address of the Adept controller must be correctly set, and on the PC side you must access exactly that address. In this manual we describe only the steps that must be performed on the Adept controller. Please see the AdeptWindows User’s Guide for a full description of the required setup on the PC. AdeptWindows PC Serial Interface Instructions for Adept Utility Programs, Rev. A 59 CONFIG_C Utility Programs If you want to use the AdeptWindows PC software via a serial line, you must select it with either the hardware DIP switch or the Software switches. To select a serial AdeptWindows PC interface with the Software switches, select: 3 => User interface via serial AdeptWindows AdeptWindows PC Ethernet Interface If you want to use the AdeptWindows PC with an Ethernet connection, you can use either the Adept default IP address or a user-defined IP address. (See page 57 for information on the Adept default IP address and how to set the user-defined IP address.) The default IP address is always used if no user-defined address has been set, or if the controller NVRAM is found to have invalid contents. NOTE: Depending on your preference, select the appropriate from one of the following settings: 4 => User interface via Ethernet ... (use IP address in NVRAM) 5 => User interface via Ethernet ... (use default IP address) Adept strongly recommends that shielded Ethernet cables be used to connect the AWC board to an Ethernet network. Use only hubs that provide shielded RJ45 connectors. Adept cannot ensure safe and reliable operation of the Ethernet connection without proper shielding of all the Ethernet connectors and cables. WARNING: When connecting to a hub, use a straight-through cable that connects the “Transmit” and the “Receive” pairs to the same pins on both ends of the cable. When connecting to a server/PC directly, use a cross-over cable that swaps transmit and receive pairs on the opposite ends. NOTE: V+ Auto-Start Configuration Use this setting to select whether or not the V+ system will automatically load a file named AUTO.V2 and execute a command program named AUTO during the process of loading and initializing V+. Select option 1 to disable this feature, or option 2 to enable the feature. See the V+ Operating System User’s Guide for details on auto-start programs. 60 Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C Boot Sequence Use this option to select the sequence of drive letters that will be accessed when locating an operating system to load into memory. If option 1 is selected, the boot procedure will first look to drive A for an operating system, then drive B, then drive C, and, finally, drive D. If option 2 is selected, the search sequence is changed to drive B, then A, then D, then C. The two search sequences are effectively the same if there is no SIO board installed in the Adept controller. NOTE: Auto-Boot Normally, the controller is configured to automatically boot V+ when power to the controller is turned ON (that is, auto-boot is normally enabled). Occasionally you may want to manually specify the disk device from which to load V+. You can disable auto-boot for such purposes. Auto-boot is automatically disabled if the hardware DIP switches on the (main) AWC board are set to a combination other than all OFF. Thus, for example, setting the hardware switches to all ON will cause auto-boot to be disabled, while all the other Software switches will still be used. NOTE: DDT Serial I/O on Auxiliary CPU This option is used only for special diagnostic purposes and is normally disabled. When DDT serial I/O is enabled on the auxiliary processors, DDT start-up messages are output to the TERM serial ports of those processors, and DDT commands can be input via those ports. The controller could appear to function normally if this setting is enabled. However, the start-up messages that are output to the TERM ports could have an unexpected effect on any equipment that is connected to those ports. WARNING: For further information about the functionality of the various switch settings see the Adept MV Controller User’s Guide. DeviceNet Configuration Setup The AWC board incorporates DeviceNet scanner functionality. The Adept Utility program CONFIG_C supports configuring the DeviceNet and mapping the DeviceNet hardware to the appropriate V+ signal numbers. Please follow the instructions below to set up the DeviceNet functionality. Instructions for Adept Utility Programs, Rev. A 61 CONFIG_C Utility Programs Scanning the DeviceNet for Setup Information 1. Load and execute the CONFIG_C program as described on page 37: 2. Select Scan the DeviceNet from the main menu, and then select Scan the DeviceNet for nodes from the submenu. No other execution task should be started while this program is running. WARNING: 3. The program asks you for the Local MAC ID (Media Access Control Identifier) to use for the Adept controller. It can be a value from 0 to 63. The default value is 0. You can enter –1 to cancel the scanning process. To avoid a conflict on the network, make sure you select a MAC ID that is different from those for all the connected modes. If you have more than one Adept AWC controller connected to the DeviceNet, you must specify a unique MAC ID in the system configuration data for each Adept controller. 4. Next you are asked to select the baud rate to be used for DeviceNet communications. The baud rate to use depends on the capabilities and configuration of the hardware installed on the DeviceNet, and the length of the trunk lines. All the devices on the network must be configured for the same baud rate. (See the DeviceNet standard and the documentation for your DeviceNet nodes for further information.) After you enter a selection for the baud rate, the program stops the V+ DeviceNet scanner, resets and restarts it, and begins scanning the DeviceNet for nodes. You will see information similar to that shown in Figure 2-1, although the details will depend on the hardware connected to your DeviceNet. You may need to use CTRL+S to stop the output temporarily, so the information will not scroll off the screen before you can read it. Use CTRL+Q to resume the output. NOTE: 62 Instructions for Adept Utility Programs, Rev. A CONFIG_C Utility Programs Figure 2-1. Example DeviceNet Scanning Results In the example shown in Figure 2-1, the information acquired by the scanner from two identical WAGO I/O SYSTEM 750-306 blocks, connected as slaves to the DeviceNet, is displayed. These I/O blocks can be populated with a variety of digital I/O bus modules. Table 2-1 shows the information you need to record for each DeviceNet component that you want to access with the Adept Controller. Table 2-2 describes the Items listed in Table 2-1. Table 2-1. DeviceNet Scanner Results                                Instructions for Adept Utility Programs, Rev. A 63 CONFIG_C Utility Programs Table 2-2. Interpretation of DeviceNet Scanning Results                      !  "   #$   %&  ' ()* +* %, -./ 0! 1   0,     2 3 % $ *  %&  '   2 3     0,   ()* +* %, -./ 0! 1$ 4  ()* 2 3 2   0$ 2  ',   2  ,  0   ()* +* %, -./ 0! 1$ "       ()*    +* %, -./ 0! 1$ %  %     !$ Please make up a worksheet and fill in your scanning results. You will need them later to configure your DeviceNet. Mapping of DeviceNet Components in V+ After you have scanned the nodes on the DeviceNet bus, you need to use the information from the scanning process to configure the components in V+. If you are still in the CONFIG_C program, you can simply go back to the main menu. If not, load and execute the CONFIG_C program. All the examples in this manual are based on the WAGO I/O System 750-306 as a slave on the DeviceNet bus. If you do not use this DeviceNet equipment, you need to ask your DeviceNet vendor for the correct process image of your components. NOTE: Figure 2-2 shows a typical configuration for the mapping of three digital inputs and one output on the DeviceNet bus to V+ input signals 1033, 1034, and 1035 and V+ output signal 33. The configuration is specific to the WAGO I/O System 750-306 block. The configuration statements are described in detail below. 64 Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C Figure 2-2. Typical DeviceNet Configuration for Digital Input and Output To modify the DeviceNet configuration data, go to the main menu in the CONFIG_C program: 1. Select: 2 => V+ System Configuration Data 2. From the displayed menu, select: 2 => EDIT system CONFIGURATION 3. Enter the letter for the drive that contains your system data. For example, enter D for the Compact Flash in the AWC module. 4. Select: 6 => Change DEVICENET configuration The program displays the current configuration statements, if there are any. (The V+ system is supplied by Adept with no DeviceNet configuration statements.) If there are no statements, you need to add the appropriate statements. Otherwise, you can modify the existing statements as required for changes to your DeviceNet setup. The LOCAL Statement in the DeviceNet Configuration The LOCAL statement in the DeviceNet configuration specifies the MAC ID of the Adept controller on the DeviceNet bus. The default setting is 0. Set the MAC ID so that all the nodes on the bus have different MAC IDs. This statement also defines the baud rate of the DeviceNet Scanner. The baud rate depends on multiple factors, such as the length of the DeviceNet cable, the DeviceNet components on the bus, etc. Instructions for Adept Utility Programs, Rev. A 65 CONFIG_C Utility Programs Syntax of the LOCAL Statement: LOCAL = /MACID awc_id /BAUD baud_rate Parameters: • awc_id MAC ID for the Adept controller on the bus • baud_rate The baud rate to be used on the DeviceNet The MACID Statement in the DeviceNet Configuration The MACID statement defines the parameters for a node on the bus. The DeviceNet scanner uses this information to communicate with each node. There must be a MACID statement for every node (for example, each I/O coupler) that the V+ system is to access. Syntax of the MACID statement: MACID node_macid = /INPUT in_bytes /OUTPUT out_bytes /VENDOR_ID vend_num /DEVICE_TYPE dev_num /PRODUCT_CODE prod_num /DISABLE_POWER pow_switch Parameters: 66 • node_macid MAC ID number of the node on the bus [0 to 63] • in_bytes Number of bytes of input from the node [0 to 32767] • out_bytes Number of bytes of output to the node [0 to 32767] • vend_num Vendor Identification number, assigned by ODVA. Use the number that the scanning process found. • dev_num Device Number of the node. Specifies the type of the node, for instance an I/O block. • prod_num Specified by the DeviceNet vendor. • pow_switch Has two values, YES and NO. The default value is NO. If set to YES, robot power cannot be enabled if the specified node is off-line; power is turned off if the node ever goes off-line. Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C Except for the /DISABLE_POWER parameter (which you can set as you wish), the values for all the parameters should be taken directly from the results of scanning the DeviceNet (see page 61). NOTE:     /VENDOR_ID /DEVICE_TYPE  /PRODUCT_CODE        The Mapping Statement in the DeviceNet Configuration The MAPPING statement is used to map the process image of a node to the appropriate V+ signals. This part of the DeviceNet setup requires that you define how the connected nodes organize their I/O data in messages to and from V+. Please see the documentation of your DeviceNet vendor for this information. In this manual we describe the mapping of three digital inputs and one output of a WAGO I/O System 750-306 block to the corresponding V+ signals. First we describe the syntax of the MAPPING statement, and then we give an example. Syntax of the MAPPING statement: MAPPING map_index = /MACID node_macid /BYTE byte_num /BIT bit_num /BIT_LENGTH bit_len /SIGNAL sig_num Parameters: • map_index This is an integer number that is used as an index for mapping DeviceNet information to V+. [1 to 100] • node_macid MAC ID number of a selected node on the bus [0 to 63]. • byte_num Start reading/writing data at the specified byte number. [1 to 32767] • bit_num Start reading/writing information at the specified bit number in the specified byte. [1 to 32767] • bit_len Number of bits to read/write. [1 to 32767] Instructions for Adept Utility Programs, Rev. A 67 CONFIG_C • Utility Programs sig_num Starting number of a range of V+ signals that receive/transmit status information from/to the selected node. The range is specified by the number in bit_len. This number establishes whether the bits being mapped are for input or output. If the number is for a V+ input signal (1001 through 1512) , the bits will be used for inputs. If the number is for a V+ output signal (1 through 512), the bits will be used for outputs. Figure 2-3 and Figure 2-4 show examples of DeviceNet bit mapping to V+ signals. The example in Figure 2-3 shows the mapping of three digital inputs and one output of a WAGO I/O block to the specified V+ signals.         #$  '  #$  '  33 34 35 1033 1034 1035                                      !  "  #$   %  & Figure 2-3. DeviceNet Bit Mapping to V+ Signals 68 Instructions for Adept Utility Programs, Rev. A Utility Programs CONFIG_C Figure 2-4. Example of DeviceNet Bit Mapping in V+ Figure 2-4 shows the mapping of V+ signals 33, 1033, 1034, and 1035 to digital I/Os on the DeviceNet. As you can see in Figure 2-3, the WAGO I/O block reads 6 bytes as an input stream from the DeviceNet bus and writes 5 bytes as an output stream over the DeviceNet bus to V+. The information about how many bytes V+ reads from the DeviceNet bus and how many it writes is specified in the MACID statement. That is why the MACID 1 statement in Figure 2-4 has the value 6 assigned to the /INPUT and the value 5 to the /OUTPUT parameter. These values were found while scanning the DeviceNet bus with the CONFIG_C program. The MAPPING statements in Figure 2-4 show map information for the digital inputs and outputs of a WAGO I/O block to digital I/O signals in V+. The MAPPING 1 statement in Figure 2-4 shows how to map one digital output on the WAGO I/O block to one digital I/O signal in V+. Figure 2-3 shows the bit mapping for V+ output signal 33. First we select the DeviceNet component to which we want to write information with the parameter /MACID in the MAPPING statement. Figure 2-4 shows that V+ will write information to /MACID 1, which is the WAGO I/O block that we have previously configured with the MACID 1 statement. The /BYTE parameter defines the start byte of the DeviceNet Output stream to the I/O block. After defining the start byte of the data stream, the /BIT parameter specifies the first bit that is mapped to a V+ signal. The /BIT_LENGTH parameter defines how many bits we want to map to V+ signal numbers. In the MAPPING 1 statement the parameter /BIT_LENGTH has the value 1. This means we map exactly one bit to one signal, starting with the signal number given in the /SIGNAL parameter. In the MAPPING 2 statement the parameter /BIT_LENGTH has the value 3, which means we map three signals, starting with signal 1033. The /SIGNAL parameter specifies the starting number of a sequence of V+ signals. The number of signals is specified with the value of the /BIT_LENGTH parameter in the MAPPING statement. Instructions for Adept Utility Programs, Rev. A 69 CONFIG_C Utility Programs In summary, V+ signal 33 is mapped to bit number 2 in the second DeviceNet input byte to the I/O block. The mapping of digital inputs of the WAGO I/O block on the DeviceNet bus to V+ signals requires reading the DeviceNet output information that the block writes to the bus. The first byte of its DeviceNet output string does not contain data. Starting with the second bit in the second byte we receive data for the selected digital inputs from the block. The state of all the digital inputs on the block follow as sequential bit information. In Figure 2-4 the statement MAPPING 2 maps, starting with the second bit, the three V+ input signals 1033, 1034, and 1035 to the I/O block. Figure 2-3 shows the mapping of the V+ signals to the process image of the WAGO 750-306 I/O block on the DeviceNet bus. 70 Instructions for Adept Utility Programs, Rev. A Utility Programs DISKCOPY DISKCOPY Description Disk copy utility Disk File Name DISKCOPY.V2 Program Name a.diskcopy Functions Copy an entire diskette to another diskette. Copy a V+ system from one disk to another. Copy individual or multiple files (using wildcards) from one disk to another or from one subdirectory to another on the same disk. Delete individual or multiple files (using wildcards) from a disk. Abstract Certain file-copy operations cannot be performed with the V+ FCOPY monitor command or with the READ and WRITE program instructions. The disk-copy utility program can be used to perform those operations. For example, you can use this program to copy from one diskette to another using a single diskette drive. Protected disk files cannot be copied with the FCOPY command. This program will copy protected files to a hard disk. Operations on multiple files cannot be performed interactively with the FCOPY or FDELETE commands. This utility permits interactive operations to copy and delete files. Requirements Before you can run DISKCOPY: • The V+ system must be loaded from the system disk. • If you are using a robot system, the robot must be calibrated and COMP mode must be selected on the manual control pendant, or the DRY.RUN system switch must be enabled, or the program can be executed as a program task other than #0. Instructions for Adept Utility Programs, Rev. A 71 DISKCOPY Utility Programs Procedure Load the program:1 load \util\diskcopy Execute the program: execute a.diskcopy (Or type execute 1 a.diskcopy to execute the program as task #1.) 5. Select an option from the menu displayed: 0 1 2 3 4 5 => => => => => => EXIT to system monitor COPY V+ SYSTEM to another disk COPY DISK image to another disk (Not used) COPY multiple FILES DELETE multiple FILES Follow the prompts provided by the program (see Program Prompts). The disk-copy program can be deleted from system memory by typing (type kill 1 in place of kill if the program was executed as task #1): kill delete a.diskcopy Program Prompts The disk-copy utility program displays a menu of selections to the user. The following paragraphs describe the menu items. NOTE: To exit the program at any prompt, you can press CTRL+Z. 0 => EXIT to system monitor Choose this item to exit the program and return to the V+ monitor. 1 => COPY V+ SYSTEM to another disk This menu selection initiates copying a V+ system from one disk to another. This can be used to copy a V+ system from a distribution diskette to the Compact Flash or hard disk, or from the Compact Flash or hard disk to a diskette. (If you want to copy a V+ system from one diskette to another, you must use menu item #2.) 1 72 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A Utility Programs DISKCOPY All of the following items are copied when a V+ system is copied: a. V+ system file b. V+ configuration file c. V+ boot file d. \SYSTEM\ subdirectory containing device-module files e. \CALIB\ subdirectory containing robot calibration program files 2 => COPY DISK image to another disk This option copies an entire diskette to another disk. This selection will not copy a disk image from a diskette to the Compact Flash or hard disk, since the result would be that the Compact Flash or hard disk would have the same storage capacity as a floppy disk. The selection “Copy multiple files” copies files from a diskette to the Compact Flash or hard disk (see below). You also cannot copy a disk image from a double-density floppy to a high-density floppy disk or vice versa. NOTE: If you specify a copy operation that uses the same diskette drive for both input and output, the contents of the input diskette are stored in system memory during the copy operation. Then, you will be asked to exchange the input and output diskettes. The buffered disk contents will then be written to the output disk. Keep the following in mind when performing a one-drive copy operation: • When you are asked to change the diskette in the drive, make sure you insert the correct diskette. The program does not perform any check to verify that the correct diskette is present. • If there is not enough memory available to hold the entire contents of the input disk, you will have to exchange the input and output diskettes more than once during the copy operation. • If other program tasks, which could be consuming memory, are active, you are asked if it is okay for the copy operation to continue. • After the copy is complete, you have the option of creating another copy. 4 => COPY multiple FILES This option copies files from one disk to another. This function allows you to: • Copy multiple files from one disk to another (or from one subdirectory to another on the same or different disks). Instructions for Adept Utility Programs, Rev. A 73 DISKCOPY Utility Programs You could perform the copy operations with individual FCOPY monitor commands. However, with this program function it might be possible to specify all the files to be copied with a single file specification containing wildcard characters. The FCOPY monitor command does not accept wildcard characters in its file specifications. NOTE: • Copy protected files from a diskette to the Compact Flash or hard disk. The FCOPY monitor command cannot be used to copy protected files. This menu selection will copy protected and read-only files onto the Compact Flash or hard disk (and from one subdirectory to another on that disk), provided that the Compact Flash or hard disk is properly secured. If the output disk is not secured, the program gives you the option of securing the disk. If you specify that a disk should be secured for exclusive use by the current system, then it is not possible to use that disk with any other system until it is reformatted. (Formatting erases everything stored on the disk.) NOTE: The program first asks for the input and output disk devices to be accessed. In addition to local disk units (for example, “A”, “C”, or “D”), the responses can include specifications for the type of devices to be accessed (for example, “NFS>” for an AdeptNFS device). Next, you are asked: Do you want to verify the copy operations (Y/N)? If the output is going to a diskette, the copy operation could be noticeably slower if you request verification. For other disk devices, requesting verification has very little effect on the speed of the copy operation. Next, you are asked to enter a file specification string. (To exit this menu selection and return to the main menu, press ENTER without a file specification). Wildcard characters (asterisks, “*”) can be used in the file specification. A wildcard character within a file name or extension indicates that any single character should be accepted in that position. A wildcard character at the right end of a file name or extension indicates that any trailing characters are acceptable. For example, the file specification “*.*” references all the files on the input disk. 74 Instructions for Adept Utility Programs, Rev. A Utility Programs DISKCOPY An optional subdirectory specification can be included in the (input) file specification. If no subdirectory specification is included, the file(s) are copied from the subdirectory shown before the prompt. If a subdirectory is specified, it supersedes or is combined with the default shown. (For an explanation of how subdirectories are combined, see the chapter “Using Files” in the V+ Operating System User’s Guide or the description of the DEFAULT monitor command in the V+Operating System Reference Guide). The following prompt is displayed next: Enter output subdirectory (default is \xxx\): If a subdirectory specification is entered, it supersedes or is combined with the default shown, and all of the selected files will be copied to the resulting subdirectory on the output disk. If ENTER is pressed without a subdirectory specification, all the files copied will be directed to the default subdirectory on the output disk. If you specified that the copy operation is to use the same diskette drive for both input and output, you are asked at this point to confirm that you want to continue. NOTE: When the input file specification omits either the name or the extension, or includes a wildcard character (and the copy operation is between two disk drives in the Adept controller) the program displays the prompt Do you want existing files automatically superseded (Y/N)? If you enter y, the program will delete (without warning) any file on the output disk with the same name as a file to be copied. If you enter n and the program encounters a file on the input disk that has the same name as an existing file on the output disk, the program will display a warning and ask if you want to supersede the file on the output disk. The name of each file on the input disk that matches the file specification is displayed, and you are asked whether or not the file should be copied to the output disk. One of the following responses must be entered: Instructions for Adept Utility Programs, Rev. A 75 DISKCOPY Utility Programs Response Meaning Y Yes, copy the file N (or press ENTER) No, do not copy the file G Go, copy this file and all subsequent files without asking again Q Quit without copying this file If you specify a copy operation between two disk devices, or between two subdirectories on one device, the copy operation is very straightforward. The program simply copies from the input to the output. If you specify a copy operation between floppy disks in the Adept controller, the procedure for the copy operation is slightly different. In this case, the contents of the input file are stored in system memory, the user is asked to remove the input diskette and insert the output diskette, and then the buffered file contents are written to the output disk. Because of this mode of operation, there are some points to know when performing a one-drive copy operation: • When you are asked to change the diskette in the drive, be careful to make sure you insert the correct diskette. The program does not perform any check to verify that the right diskette is present. • If there is not enough memory available to hold the entire contents of the input file, you will have to exchange the input and output diskettes more than once during the copy operation. • If other program tasks, which could be consuming memory, are active you are asked if it is okay for the copy operation to continue. • After the output disk is written, you have the option of writing another copy of the output. 5 => DELETE multiple FILES You are asked to specify a disk unit to access. You can specify a local disk unit (for example, “A” or “D”) or a remote disk device and unit (for example, “NFS>XC:” for the mount named XC on the AdeptNFS device). Next, you are asked to enter a file specification string, which can include a directory path. (You can press ENTER without a file specification to exit this menu selection and return to the main menu.) 76 Instructions for Adept Utility Programs, Rev. A Utility Programs DISKCOPY The file specification string can contain the “*” wildcard character as part of the file name or file extension. A wildcard character within a file name or extension indicates that any single character should be accepted in that position. A wildcard character at the right end of a file name or extension indicates that any trailing characters are acceptable. For example, the file specification “test*” causes all the files on the disk with names beginning with “test” (with any extension, since “.*” is assumed when no extension is specified) to be considered for deletion. An optional subdirectory specification can be included in the file specification. If no subdirectory specification is included, files contained in the default subdirectory on the specified input disk will be referenced. The program displays the name of each file that matches the given file specification, and asks whether or not the file should be deleted. One of the following responses must be entered: Response Meaning Y Yes, delete the file N (or press ENTER) No, do not delete the file G Go, delete this file and all subsequent files without asking again Q Quit without deleting this file Special Considerations The disk-copy program defines several real-valued variables with the prefix dc. that must not be modified by the user or by other programs. (All these variables are deleted from memory when the program exits normally, or when a DELETE command is used to delete the program from memory, as described earlier.) The entire DISKCOPY program might be loaded into memory by the CONFIG_C program. Thus, if the CONFIG_C utility is in memory, many *Program already exists* error messages might be displayed when the DISKCOPY program is loaded from disk. These messages can be ignored. The disk file DISKCOPY.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program itself. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. Instructions for Adept Utility Programs, Rev. A 77 DISKCOPY Utility Programs When you try to copy a protected file (i.e., one with the “P” attribute shown in its directory entry) from a diskette to the Compact Flash or hard drive, the program may indicate that the output disk must first be secured. If you indicate that it is okay for the program to do that, the disk will be secured and the program will be copied. A secured disk is totally compatible with the V+ system. 78 Instructions for Adept Utility Programs, Rev. A Utility Programs DUTY_CYC DUTY_CYC Description Monitors the robot duty-cycle values Disk File Name DUTY_CYC.V2 Program Name a.duty_cyc Functions Monitor the duty-cycle values of an AdeptThree-XL robot. Report a set of percentage data against the working duty-cycle limits derived for the working ambient temperature. Abstract The Adept duty-cycle program (a.duty_cyc) monitors the duty-cycle values and reports back a set of percentage data against the working duty-cycle limits derived for the working ambient temperature. These include: • How hard the robot is running • On-line percentage values (percentage values greater than 90 percent for any of the joints indicate a potential danger of overheating the robot) Requirements The items listed below are needed to run the duty_cyc( ) routine. • Adept system controller • AdeptThree-XL robot Procedure Load the program:1 load \util\duty_cyc This program must be run after the robot is calibrated and appropriate application programs have been initiated. NOTE: 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 79 DUTY_CYC Utility Programs Execute the program: ex 1 a.duty_cyc The following prompt is displayed if you have previously run a.duty_cyc: Duty cycle profiler is already initialized. Re-initialize (Y/N)? Type: y (Typing y will reinitialize program; typing n will continue the program.) The following message will appear: This utility can be used to monitor the run-time duty cycle values and report back a set of percentage data against the working duty-cycle limits derived for the working ambient temperature. They indicate how hard the robot is running. A percentage value that is greater than 90% for any of the joints indicate a potential danger of overheating the robot. Enter the worst-case ambient temperature (e.g., 30C or 80F, the default is 50C, “C” is assumed if the scale is omitted): Type (for example): 95F The following message will appear indicating which, if any, joints are inactive (example): Duty cycle checking is inactive for the following joints: 3 4 The user should allow AT LEAST 4 minutes of robot run time to let the duty-cycle filter reach a steady state. NOTE: The duty-cycle profiler’s internal optimization process reaches steady state when the duty-cycle percentage difference of J1 and J2 is within 2%. A worse-case ambient temperature of 35C will be used. Duty Cycle Percentages: J1: 35.46% 80 J2: 32.00% Instructions for Adept Utility Programs, Rev. A Utility Programs DUTY_CYC To stop the program type: abort 1 The duty cycle program can be deleted from the system memory by typing the following commands: kill 1 delete a.duty_cyc Special Considerations The disk file DUTY_CYC.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program itself. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. Instructions for Adept Utility Programs, Rev. A 81 EDITICON Utility Programs EDITICON Description Editing utility for graphic icons Disk File Name EDITICON.V2 Program Name a.editicon Functions Create graphic icons and store them in disk files for retrieval later. Read icon definitions from disk and modify them. Abstract The Adept graphics system provides the ability to store predefined graphic symbols in memory and to have them displayed on request. The Icon Editing Utility provides the means for defining the graphic symbols you want to use with your application programs. After icons have been defined, they can be stored in disk files for retrieval later by application programs. The subroutine load.icon on the Utility Disk in the file LOADICON.V2 can be called to load icons from a disk file into graphics memory. Then the GICON program instruction can be used to display the icons. Requirements The items listed below are needed to use the EDITICON program. • Adept graphics-based system controller • PC-style keyboard and high-resolution graphics monitor (system option) or AdeptWindows PC software executing on a PC, with a serial-line or Ethernet connection to the Adept controller Before you can run EDITICON: • 82 The V+ system must be loaded from the system disk. Instructions for Adept Utility Programs, Rev. A Utility Programs • EDITICON If you are using a robot system, the robot must be calibrated and COMP mode must be selected on the manual control pendant. or The DRY.RUN system switch must be enabled. or The program can be executed as a program task other than #0. Procedure Load the program:1 load \util\editicon When loading is complete, you can remove the Utility Disk from the disk drive. Execute the program: execute a.editicon (Or type execute 1 a.editicon to execute the program as task #1.) After the program identifies itself, it displays the prompt Do you want to use a non-standard editing grid (Y/N)? To use the standard 20-by-20 editing grid (see below for an explanation), press the ENTER key. For a different editing grid, enter y and press the ENTER key. You are then asked to enter the width and height (in pixels) for the editing grid. (The minimum and maximum acceptable values are shown in the prompts. Press the ENTER key for either value if the default shown is the value you want.) Use the pointing device to select items in the pull-down menus and to perform editing operations (see below). The program can be deleted from the system memory with the following commands (type kill 1 in place of kill if the program was executed as task #1): kill delete a.editicon Program Operation The Icon Editing Utility creates a new window on the monitor screen. 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 83 EDITICON Utility Programs The following paragraphs describe the window and how to interact with the program. Program Window At the top of the program window there is a 16-color palette that displays all the colors available for icon images. While using the icon editor you will select colors from this palette by clicking on a color with one of the mouse buttons. The first color in the palette (color #0) has a special interpretation for icons. Each icon pixel with that color is transparent — that is, the background shows through those pixels. The icon editor uses a checkerboard pattern (of black and background) to represent color #0 in the program's main window. To the right of the 16-color palette there are three colored rectangles. These are the drawing colors, since they are the colors you use to draw the icon image. The letters L (= left), M (= middle), and R (= right) are displayed below the drawing colors to remind you that they correspond to the respective mouse buttons. Each of the drawing colors can be changed by clicking with the corresponding mouse button on a color in the 16-color palette. The letter L is used only with a third-party three-button mouse. With a two-button mouse, the left button accesses the M color. NOTE: When an icon is selected for editing, you are presented with two views of it. The actual icon is shown full size in a small window beside the program's main window. An enlarged view of the icon is shown in an editing grid in the program's main window. A square in the editing grid corresponds to one pixel in the icon. In general, you make changes to the icon in the editing grid, and your changes are shown in the full-size image. If the icon is larger than the size of the editing grid, only a portion of the icon can be seen in the editing grid. Select a different portion of the icon by: 1. Moving the mouse pointer to the full-size icon, 2. Pressing and holding the left mouse button, and 3. Dragging the edit frame around the image. When you release the button, the newly selected portion of the icon is displayed in the editing grid. If an icon array is displayed in the full-size display, there are two ways to select a different element to modify. Use the Select menu in the main window, or select in the full-size display by 84 1. Moving the mouse pointer to the current icon in the full-size display, 2. Pressing and holding the left mouse button, 3. Dragging to the desired element, and Instructions for Adept Utility Programs, Rev. A Utility Programs 4. EDITICON Releasing the mouse button. The standard size for the editing grid is 20 pixels wide and 20 pixels high (or the size of the icon if it is smaller). You can specify a different size for the editing grid when you first execute the program (see above). If you want to change the size of the grid when the program is in use, exit the program, start it again, and specify the new grid size. (Any previous icon data will be displayed in the new grid.) While using the icon editor, you will often see pop-up windows displayed in the working window. These pop-up windows contain messages or questions. Pop-up windows with buttons are closed after a button is pressed. Pop-up windows without buttons are closed after the next mouse click. When a pop-up window requests typed input, keep in mind that the pop-up window must be selected (that is, its top bar must be blue) and that the input will be completed when you press the ENTER key. If a default entry is displayed in the pop-up window, you can type BACKSPACE or CRTL+U to modify or erase the default entry. Exiting the Program To exit the program, choose Exit from the File menu. If you have icons defined, you will be asked if you are sure you want to exit. Choose Yes to exit, or No to continue with the program. Icons are retained in (program) memory even when you exit the program. Thus, you can restart the program later and continue your editing session. NOTE: Editing an Icon After the EDITICON program is executed, no icon selected for editing. Select the icon by loading an existing icon data file (see Load file in the File Menu section) or by creating a new icon (see “Create” under “Icon Menu” on page 87). When the editing grid is displayed, use the mouse buttons to color squares in the grid and, thus, pixels in the icon. Click on a square with one of the mouse buttons to change that square to the drawing color assigned to that button. Click on a square and drag the mouse pointer to color all the squares crossed while the button remains pressed. If you accidentally apply the wrong color to a square, simply select the desired color from the 16-color palette and recolor the square. In addition to directly coloring individual squares in the editing grid, several editing operations modify the icon. These operations are accessed from the Edit menu, as described below. Instructions for Adept Utility Programs, Rev. A 85 EDITICON Utility Programs Program Menus There are four different pull-down menus located at the top of the program’s window. Each of these menus is described in detail below. Menu Purpose File Read and write data files; clear all icons; exit Icon Create and delete icons; change icon size and name Edit Modify the current icon Select Select a new icon to edit At times some menu items cannot be selected. For example, when there is no icon displayed, none of the items in the Edit menu can be selected. Menu items are displayed dimmed when they cannot be selected. File Menu The File menu is used to read and write disk files, and for overall administration of the program. The menu items have the functions listed below. When the program asks for a file specification, the response can have the form: physical_device>unit:directory_path\name.extension where everything except the name element is optional. The defaults for the first three items are taken from the current DEFAULT setting. The default file extension is .DAT. You can use the V+ FLIST command to display information in the icon data file. The information includes the creation date of the file and a list of the icons defined in the file. NOTE: Load file All the icons defined in a requested disk file are loaded into memory for possible editing. If there are any icons already in memory, the program asks if it is okay to delete them. If you choose No, the load operation is canceled. Append file All the icons in a requested disk file are loaded into memory for possible editing. Unlike Load file, however, existing icons are not replaced. 86 Save to file All the icons in memory are written to the specified disk file. Clear all After receiving confirmation, all the icons in memory are deleted. Instructions for Adept Utility Programs, Rev. A Utility Programs Exit EDITICON Execution of the program is terminated. If there are icons in memory, they are retained until the program is deleted from memory. The icons can occupy a large amount of system program memory. Thus, if you do not need to retain them, select Clear all before exiting the program. NOTE: Icon Menu The Icon menu is used to create and delete icons, and to change their sizes or names. Selections in this menu allow recent changes to the icon to be canceled or to be preserved as a basis for further changes. Create A new icon is created. The program asks for the name, size, and offset for the new icon. If an icon array is being created, you are also asked for the arrangement of the elements to be used in the full-size display (see Chg array below). Icon names follow the rules for V+ names, and can include an array index. The width and height of an icon can range from 5 to 255 pixels and do not need to be equal. The positional (xy) offsets of an icon can range from 0 to 255 pixels. Change size Changes the size of the current icon to the new size entered by the user. The right and bottom edges are moved in response to the change. Change name Changes the name of the icon to the new name entered. Copy Copies the image of another icon to the current icon. If the source icon is larger than the current icon, the copy is taken from the upper left corner. Delete If confirmed by the user, the current icon is deleted from memory. Undo edits Recent editing changes to the icon are discarded, and the previous saved image is restored. (The image is saved when the icon is created or selected, when the size is changed, and when Keep edits is requested.) Keep edits Saves a copy of the current icon image for possible later use to undo subsequent changes. Show data Displays data for the current icon. Chg array If the current icon is an element of an icon array, this item can be used to specify a new arrangement of the icon elements in the full-size display window. The choices are: Instructions for Adept Utility Programs, Rev. A 87 EDITICON Utility Programs –1 Have the program choose the arrangement that results in roughly equal numbers of rows and columns. 0 Display only the current array element. >0 Display the array with the specified number of columns. Background Allows selection of a new background color so you can see how the icon looks with the background on which it will be displayed. To specify the new background color, simply click the desired color in the 16-color palette with any of the mouse buttons. (You can click outside the color palette to cancel the Background selection.) To select a new icon after changing the background, see “Select Menu” below. Edit Menu The Edit menu modifies the icon currently being edited. All the changes performed by this menu can be canceled by choosing Undo edits in the Icon menu (see above). Before performing an editing operation, you may want to choose Keep edits in the Icon menu (see above) to save the current icon image. Change color All the pixels in the icon with a specified color are changed to a new color. Before selecting this item, make sure one of the drawing colors is the old color you want replaced in the icon. After choosing Change color, assign a new drawing color to the mouse button for the old color. All the pixels in the icon with the previous drawing color for that button are then changed to the new color. (You can cancel the change operation by clicking outside the 16-color palette.) Flood A region of the icon is filled with a new color. You specify the region and the new color by clicking on a square in the editing grid with one of the mouse buttons — the square selected indicates the region to flood, and the button used indicates which drawing color to use. (You can cancel the flood operation by clicking outside the editing grid.) The region filled consists of all the connected squares with the same color as the first square. Any square with a different color is considered to be on the boundary of the region. Note that region squares can be connected vertically and horizontally but not diagonally. 88 Instructions for Adept Utility Programs, Rev. A Utility Programs EDITICON Thus, the flooding does not leak through a diagonal boundary that is one square thick. If the icon is larger than the editing grid, flooding does not extend beyond the boundaries of the grid. Erase The entire icon image is cleared to the drawing color assigned to the mouse button pressed most recently. Rotate 90° The icon image is rotated 90 degrees clockwise. Shift right, Shift left, Shift up, Shift down Each of these selections shifts the icon image one pixel in the indicated direction. (The first row or column shifted is lost; the last one shifted is duplicated.) Right<>left The icon image is flipped about a vertical line through its center. Top<>bottom The icon image is flipped about a horizontal line through its center. Select Menu The Select menu is used to select a different icon to edit. The menu displays the names of all the icons currently defined in the program’s memory, as well as the predefined items listed below. If you select an icon by name, it is displayed in the full-size display and in the editing grid. If you select an icon array, however, you are first asked to enter the index for the array element you want to see, and the arrangement of the elements to be used in the full-size display (see the description of Chg array above). Prev Element If the current icon is an element of an icon array, this item selects the previous element in the array. (The last element is considered previous to element #0). Next Element If the current icon is an element of an icon array, this item selects the next element in the array. (Element #0 is considered to follow the element item.) Special Considerations The program defines several real-valued and string variables with the prefixes ic. and wn. that must not be modified by the user or by other programs. All of these variables are deleted from memory when a DELETE command is used to delete the program from memory, as described earlier. Instructions for Adept Utility Programs, Rev. A 89 EDITICON Utility Programs The disk file EDITICON.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program itself. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. 90 Instructions for Adept Utility Programs, Rev. A Utility Programs FORMAT FORMAT Description Format utility for the Compact Flash and hard disk Disk File Name FORMAT.V2 Program Name a.format Function Format the Compact Flash or hard disk and erase its entire contents. Abstract Before a Compact Flash or hard disk can be used it must be formatted. Internal drives shipped with Adept systems are already formatted and ready to accept data. If you replace the internal drive, you will have to format the drive. Requirements You need the following items for FORMAT: • Adept system controller • V+ system disk Before you can run FORMAT: • The V+ system must be loaded. • If you are using a robot system, the robot must be calibrated, and COMP mode must be selected on the manual control pendant. or The DRY.RUN system switch must be enabled. or The program can be executed as a program task other than #0. Procedure Load the program:1 load \util\format 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 91 FORMAT Utility Programs Execute the program: execute a.format (Or type execute 1 a.format to execute the program as task #1.) Select an option from the menu displayed. Follow the prompts provided by the program (see below). The program can be deleted from the system memory by typing the following commands (type kill 1 in place of kill if the program was executed as task #1): kill delete a.format Program Prompts The format utility program displays a menu of selections to the user. The following paragraphs describe the menu items. NOTE: If you want to exit the program at any prompt, press CTRL+Z. 0 => Exit to system monitor Choose this item to exit the program and return to the V+ monitor. 1 => Format the hard disk This menu selection initiates the procedure for formatting (or reformatting) the disk. Reformatting the disk erases all the information stored on the disk. The program displays warning messages if it finds information present on the disk. CAUTION: Before performing the actual format operation, the program displays the type of format that will be used and asks if it is correct. Enter y if the format shown is correct. Otherwise enter n, and specify the capacity of the your disk. When reformatting the disk, enter n only if the disk had previously been formatted incorrectly. CAUTION: 92 Instructions for Adept Utility Programs, Rev. A Utility Programs FORMAT 2 => Display disk format information This selection displays information on the current disk format. Special Considerations The FORMAT program defines many real-valued variables with the prefix fw. that must not be modified by the user or by other programs. (All these variables are deleted from memory when the program completes execution normally and when a DELETE command is used to delete the program from memory, as previously described.) The disk file FORMAT.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program itself. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. Instructions for Adept Utility Programs, Rev. A 93 FTP_CLNT Utility Programs FTP_CLNT Description Utility for AdeptFTP client functions Disk File Name FTP_CLNT.V2 Program Name a.ftp_clnt Function Provide access to a remote computer that acts as an FTP server, for the purpose of transferring files to and from the Adept controller. (The remote computer could be another Adept controller that is executing the program FTP_SRVR.) NOTE: For more information on this utility, see the AdeptNet User’s Guide. 94 Instructions for Adept Utility Programs, Rev. A Utility Programs FTP_SRVR FTP_SRVR Description Utility for AdeptFTP server functions Disk File Name FTP_SRVR.V2 Program Name a.ftp_srvr Function Make the local disks in the Adept controller accessible to a remote computer, so the remote computer can transfer files to and from the Adept controller. (The remote computer could be another Adept controller that is executing the program FTP_CLNT.) NOTE: For more information on this utility, see the AdeptNet User’s Guide. Instructions for Adept Utility Programs, Rev. A 95 LOADAREA Utility Programs LOADAREA Description Load area vision calibration data for use by an application program Disk File Name LOADAREA.V2 Program Name load.area Function Restore area vision calibration by reading data from a disk file created by the Adept area vision calibration program, ADV_CAL, or by the AIM VisionWare system. Abstract The Adept area vision calibration program (a.adv_cal) writes data into a disk file. An application program can read that data from the disk and restore it in the vision system by calling the subroutine load.area with the appropriate argument list. This section describes the procedure for including the subroutine in your application program. Requirements The items listed below are needed to utilize the load.area subroutine in your application program. All of these (except as indicated) were supplied with your Adept system. 96 • Adept system controller with the AdeptVision option • PC-style keyboard and high-resolution graphics monitor (system option) or AdeptWindows PC software executing on a PC, with an Ethernet connection to the Adept controller • Your application program (not provided by Adept) Instructions for Adept Utility Programs, Rev. A Utility Programs LOADAREA Procedure Load the program:1 load \util\loadarea Use the system program editor to enter your application program into the system memory, or load your program from a disk file. Make sure the program calls the subroutine load.area (see below). Store your application program and the load.area subroutine in a disk file by typing the command: store file_spec = name_of_your_main_program where file_spec represents the disk and directory to access and the name you want to assign to your disk file. name_of_your_main_program represents the name of the top-level program in your application program, which must logically refer to all the other routines for the application. Alternatively, type the command store file_spec to store all the programs and data in the system memory into the specified file. Programming Considerations The load.area subroutine reads the area vision calibration information that is stored in a disk file. If the data are found to be valid, the following instructions are executed to initialize the vision system, and the data are returned to the calling program. IF NOT SWITCH(VISION) THEN ENABLE VISION END PARAMETER V.THRESHOLD[camera_number] = stored_threshold_value SWITCH V.BACKLIGHT[camera_number] = stored_backlight_value VPUTCAL (camera_number) stored_calib_array[], stored_pmm.to.pix[,], stored_pix.to.pmm[,] After the routine has processed the calibration data file, the AdeptVision system is ready to process images. All of the calibration data are returned to the calling program for completeness, but only the variable to.cam normally is used by the application program. 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 97 LOADAREA Utility Programs Your application program should call the subroutine at some point before the vision system begins acquiring images. The subroutine normally needs to be called only one time (for each camera) per operating session. The CALL instruction must have the following format: CALL load.area($file, cam.virt, threshold, backlight, to.cam, cam.cal[], pmm.to.pix[,], pix.to.pmm[,], pmm.to.mm[,], mm.to.pmm[,], $error) where the program arguments have the interpretations that are described below. The variable names used here are for explanation purposes only. Your application program can use any variable names you choose. NOTE: $file Input parameter that passes the specification of the disk file containing the area camera calibration data. This parameter can be a string constant, variable, or expression. The file specification usually has the form disk_unit:name.extension The file specification can also include a directory path, as follows. disk_unit:directory_path\name.extension However, the file name and extension must have the form AREAnnn.DAT (where nnn is the data set number) if the data file was created by the Adept area vision calibration program, ADV_CAL, or by the VisionWare system. $error If no error occurs while load.area is executing, the parameter $error receives an empty string (“”), and the output parameters described below receive the indicated values. If an error does occur, $error receives a string describing the error, and the other output parameters are not defined. Thus, your calling program should check the variable $error before proceeding. cam.virt Input parameter and output parameter that identifies the (virtual) camera receiving the calibration data. As an input parameter, cam.virt specifies which virtual camera is to receive the calibration data. If this parameter is undefined or has the value zero, the camera number stored in the data file will be used. If cam.virt has a nonzero value, it will be compared with the virtual 98 Instructions for Adept Utility Programs, Rev. A Utility Programs LOADAREA camera number in the data file, and $error will be assigned a warning message if the camera numbers differ. This parameter will be used as an output parameter if it was undefined (or zero) on input. Then, cam.virt will return the virtual camera number used, as a real value in the range 1 to 32. (The physical camera number is contained in the cam.cal[] data array [see below].) threshold Output parameter that receives the real value used to set the V.THRESHOLD system parameter. backlight Output parameter that receives the real value used to set the V.BACKLIGHT system switch. The value will be either TRUE (–1) or FALSE (0). to.cam Output parameter that receives the transformation value representing the position and orientation of the vision camera in the robot frame of reference. This transformation must be combined with the transformation returned by the vision system whenever the robot is to be moved to an object in the field of view. That is, for example, for a camera fixed over the workspace, the robot could be moved to the location defined by to.cam:vis.loc where vis.loc is the transformation returned by a VLOCATE instruction. This example applies only if the camera is fixed over the workspace. For any other camera mounting, refer to the AdeptVision User’s Guide for the details of how to use the to.cam transformation. NOTE: cam.cal[ ] Output parameter that receives the area camera calibration data that is used in the VPUTCAL instruction. This parameter must be a real-array variable. (For details on the elements of this array, see the description of the VPUTCAL instruction in the AdeptVision Reference Guide.) The following output parameters return transformation matrices for dealing with perspective distortion. Each of these parameters must be a two-dimensional real-valued array variable. (If the calibration data file being read does not contain perspective data, these arrays receive simple scale transformations.) Instructions for Adept Utility Programs, Rev. A 99 LOADAREA Utility Programs Refer to the AdeptVision Reference Guide for more information on perspective distortion in general, and on these arrays in particular. NOTE: pmm.to.pix[,] Output parameter that receives the millimeter-to-pixel transformation matrix. pix.to.pmm[,] Output parameter that receives the pixel-to-millimeter transformation matrix. pmm.to.mm[,] Output parameter that receives the transformation from real object space (in millimeters) to simple object space (in millimeters). For efficiency, most vision tools are positioned with coordinates in simple millimeter space, and some tools (such as blob analysis) return coordinates in this space. The pmm.to.mm[,] transformation may be used to precisely position vision tools (such as VWINDOW and the graphics instructions) that do not automatically correct for perspective distortion. Using this correction is appropriate only when the perspective distortion is significant. Using the array mm.to.pmm[,] (see below) to correct the results of vision tools, however, may be desirable for increased precision even when the perspective distortion is slight. NOTE: mm.to.pmm[,] Output parameter that receives the transformation from simple object space (in millimeters) to real object space (in millimeters). This array can be used to correct for perspective distortion in the results from vision tools that do not automatically convert the coordinates with the transformation pix.to.pmm[,] (for example, this is the case with blob or prototype locations). Special Considerations The subroutine load.area enables the VISION system switch, restores the stored settings of the V.THRESHOLD system parameter and the V.BACKLIGHT system switch, and restores the vision calibration data via the VPUTCAL instruction. The subroutine load.area assumes that the calibration data file has the specific format used by the Adept area vision calibration program, ADV_CAL. The calibration program writes a format version number in the data file. This version number must agree with the one expected by load.area, or the loading is not performed. 100 Instructions for Adept Utility Programs, Rev. A Utility Programs LOADBELT LOADBELT Description Load belt calibration data for use by an application program Disk File Name LOADBELT.V2 Program Name load.belt Function Load conveyor tracking calibration from a disk file created by the Adept belt calibration program, BELT_CAL. Abstract The Adept belt calibration program, BELT_CAL, writes data to a disk file. An application program can read that data from the disk and restore it in the system by calling the subroutine load.belt with the appropriate argument list. This section describes the procedure for including the subroutine in your application program. Requirements The items listed below are needed to utilize the load.belt subroutine in your application program. • Robot system with the conveyor tracking feature • Your application program (not provided by Adept) Procedure Load the program:1 load \util\loadbelt Use the system program editor to enter your application program into the system memory, or load your program from a disk file. Make sure the program calls the subroutine load.belt. Store your application program and the load.belt subroutine in a disk file by typing the command: 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 101 LOADBELT Utility Programs store file_spec = name_of_your_main_program where file_spec represents the disk and directory to access and the name you want to assign to your disk file. name_of_your_main_program represents the name of the top-level program in your application program, which must logically refer to all the other routines for the application. Alternatively, type the command store file_spec to store all the programs and data in the system memory into the specified file. Programming Considerations The load.belt subroutine reads belt calibration information from a disk file, executes the following instructions to initialize the conveyor tracking system, and returns the calibration data to the calling program. ENABLE BELT FOR i = 1 TO 6 IF cal[i] THEN DEFBELT %b[i] = nom[i], i, 32, sf[i] WINDOW %b[i] = win1[i], win2[i] END END After the routine has processed the calibration data file, the V+ system is ready to have the robot track the calibrated belt(s). All of the calibration data is returned to the calling program for completeness. Normally, only the belt variables (%b[]) and the locations defining the window limits (variables win1[] and win2[]) will be used by the application program. The application should call the subroutine before the robot moves to a belt location. The subroutine normally needs to be called only one time per operating session. The CALL instruction must have the following format: CALL load.belt($file, cal[], %b[], sf[], nom[], win1[], win2[], $error) where the program arguments have the interpretations described below. The variable names used here are for explanation purposes only. Your application program can use any variable names you choose. If you do not want to use a belt variable array, you must explicitly include appropriate DEFBELT and WINDOW instructions in the application program (see above). NOTE: 102 Instructions for Adept Utility Programs, Rev. A Utility Programs $file LOADBELT Input parameter specifying the disk file containing the belt calibration data. This parameter can be a string constant, variable, or expression and can include a directory path in the form: unit:directory_path\name.extension The file name and extension must have the form BELTnnn.DAT (where nnn is the data set number) if the data file was created by the Adept conveyor tracking calibration program BELT_CAL. $error If no error occurs while load.belt is executing, this parameter receives an empty string (“”), and the output parameters described below receive the indicated values. If an error occurs, $error receives a string describing the error, and the other output parameters are not defined. The calling program should check this variable before proceeding. Each of the following output parameters is an array containing up to six elements. Element #1 pertains to the conveyor belt connected as ENCODER 1; element #2 pertains to the belt connected as ENCODER 2; etc. See the “Conveyor Tracking” chapter in the V+ Language User’s Guide for more complete descriptions of the data items listed below. cal[ ] Real array indicating the calibration status of the belts. Each element contains the value TRUE (–1) if the corresponding belt has been calibrated or FALSE (0) if the information contained in the corresponding element of the other data arrays is invalid. %b[ ] Belt variable array. A belt variable must be combined with one or more transformations whenever the robot is to be moved to a location on a conveyor belt. For example, the robot could move to the location defined by: %b[1]:start where start is a transformation variable defined relative to the belt variable %b[1]. sf[ ] Real array containing belt scale factors. These constants relate motion of the corresponding belt with the output of its belt encoder. The values represent the distance the belt moves (measured in millimeters) for each count from the belt encoder. nom[ ] Transformation array containing the nominal locations of the belts. Instructions for Adept Utility Programs, Rev. A 103 LOADBELT Utility Programs win1[ ] Transformation array containing the locations used to define one extreme of the working windows on the belts. win2[ ] Transformation array containing the locations used to define the other extreme of the working windows on the belts. Special Considerations The subroutine load.belt enables the BELT system switch, restores the belt variables used by the robot to track the conveyors, and restores the working windows on the belts (see above). The subroutine load.belt assumes that the calibration data file has the specific format used by the Adept calibration program, BELT_CAL. The calibration program writes a version number in the data file. That version number must agree with the one expected by load.belt. Otherwise, the loading is not performed. When the working windows for the belts are defined, no program is primed for execution in the event of a window violation. Thus, your program may include a WINDOW instruction for each belt to specify the name of a program to be executed if a window error ever occurs while the robot is tracking the belt. That is, your WINDOW instructions should have the format: WINDOW %b[i] = win1[i], win2[i], program_name where win1[i] and win2[i] are the window-defining locations returned by load.belt, and program_name represents the name of the program you want to have executed if a belt-window violation occurs for belt i. 104 Instructions for Adept Utility Programs, Rev. A Utility Programs LOADICON LOADICON Description Load graphic icons for use by an application program Disk File Name LOADICON.V2 Program Name load.icon Function Load graphic icons into memory from a disk file created by the Adept graphic icon editing utility, EDITICON. Abstract The Adept graphic icon editing utility, EDITICON, writes data into a disk file. An application program can read the data from the disk and store it in graphics system memory by calling the subroutine load.icon with the appropriate argument list. This section describes the procedure for including the subroutine in your application program. See the section on the icon editing utility, EDITICON, for information on how to create icon data files. Requirements The item listed below is needed to utilize the load.icon subroutine in your application program. All of these (except as indicated) were supplied with your Adept system. • Adept graphics-based system controller with the AdeptVision option • PC-style keyboard and high-resolution graphics monitor (system option) or AdeptWindows PC software executing on a PC with a serial-line or Ethernet connection to the Adept controller • Your application program (not provided by Adept) Instructions for Adept Utility Programs, Rev. A 105 LOADICON Utility Programs Procedure Load the program:1 load \util\loadicon Use the system program editor to enter your application program into the system memory, or load your program from a disk file. Make sure the program calls the subroutine load.icon (see below). Store your application program and the load.icon subroutine in a disk file with a command with the form store file_spec = name_of_your_main_program where file_spec represents the disk and directory to access and the name you want to assign to your disk file. name_of_your_main_program represents the name of the top-level program in your application program, which logically refers to all the other routines for the application. Alternatively, use the command store file_spec to store all the programs and data in the system memory into the specified file. Programming Considerations The load.icon subroutine reads the icon definition information stored in a disk file. If the data are found to be valid, the following instructions are executed for each icon found in the file.2 FOPEN (glun) $name , "/ICON /ARRAY", max.index, "/SIZE", dx, dy, "/POSITION", x, y WRITE (glun) graphic_data_from_the_file FCLOSE (glun) After the routine has successfully processed the icon data file, the graphics system is ready to accept GICON instructions that reference the loaded icons. Your application program should call the subroutine before the icons are referenced. The subroutine normally needs to be called only one time per operating session. The CALL instruction must have the following format: 1 2 106 Use the correct drive and path specification if the file is stored on another drive or subdirectory. The variables $name, max.index, dx, dy, x, and y are defined from the data in the file. All these variables are declared AUTO by load.icon, and thus cannot be accessed by other programs. Instructions for Adept Utility Programs, Rev. A Utility Programs LOADICON CALL load.icon($file, dlun, glun, error) where the program arguments have the interpretations listed below. The variable names used here are for explanation purposes only. Your application program can use any variable names you want. NOTE: $file Input parameter that passes the specification of the disk file containing the icon definition data. This parameter can be a string constant, variable, or expression. The file specification can have the form: phy_device>unit:directory_path\name.extension where the following elements are optional: phys_device>, unit:, directory_path\, and .extension. The defaults for the first three items are taken from the current DEFAULT setting. The default extension is .DAT. dlun Input parameter that specifies the disk logical unit to use for opening the data file. The disk logical unit must not be attached by the current program task. The program load.icon leaves the disk logical unit detached. glun Input parameter that specifies the graphics logical unit to use for writing the icon data into graphics memory. The graphics logical unit must be attached by the current program task, but no window may be open on the logical unit. The program load.icon leaves the graphics logical unit attached, with no open window. error Output parameter that receives the status of the load operation. This parameter must be a real-valued variable. If no error occurs in the load process, error returns zero. If an error occurs, error returns a standard V+ error code describing the error. In that case, one or more of the icons defined in the disk file may not have been loaded. Thus, your calling program should check the variable error before proceeding. Instructions for Adept Utility Programs, Rev. A 107 LOADICON Utility Programs Special Considerations The subroutine load.icon assumes that the calibration data file has the specific format used by the Adept graphic icon editing utility, EDITICON. The icon editing utility writes a version number in the data file that must agree with the one expected by load.icon. You can use the V+ FLIST command to display information in an icon data file. The information includes the creation date of the file and a list of the icons defined in the file. 108 Instructions for Adept Utility Programs, Rev. A Utility Programs LOADTCH LOADTCH Description Load touchscreen calibration data for use by an application program Disk File Name LOADTCH.V2 Program Name load.touch Function Load touchscreen calibration from a file created by the Adept touchscreen calibration program, TOUCHCAL. Abstract The Adept touchscreen calibration program, TOUCHCAL, writes data to a disk file. An application program can load that data from the disk by calling the subroutine load.touch with the appropriate argument list. This section describes the procedure for including the subroutine in your application program. Requirements The items listed below are needed to utilize the load.touch subroutine in your application program. • Adept controller with VGB module in the system • High-resolution graphics monitor (system option) • Installed touchscreen (third-party option) • PC-style keyboard (system option) • The touchscreen rather than a trackball or mouse must be connected to the VGB module as the pointing device Procedure Load the program:1 load \util\loadtch 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 109 LOADTCH Utility Programs Use the system program editor to enter your application program into the system memory, or load your program from a disk file. Make sure the program calls the subroutine load.touch (see below). Store your application program and the load.touch subroutine in a disk file by typing a command with the form store file_spec = name_of_your_main_program where file_spec represents the disk and directory to access and the name you want to assign to your disk file. name_of_your_main_program represents the name of the top-level program in your application program, which must logically refer to all the other routines for the application. Alternatively, type the following command: store file_spec to store all the programs and data in the system memory into the specified file. Programming Considerations The application should call the subroutine before interaction with the touchscreen is required. The subroutine needs to be called after system memory is ZEROed or the controller is first turned on. The CALL instruction must have the following format: CALL load.touch($file, $error) where the program arguments have the interpretations described below. The variable names are for explanation purposes only. Your application program can use any variable names. NOTE: $file Input parameter specifying the disk file containing the touchscreen calibration data. This parameter can be a string constant, variable, or expression and can include a directory path. Its value can have the form: unit:directory_path\name.extension However, the file name and extension must have the form TOUCHnnn.DAT (where nnn is the data set number) if the data file was created by the Adept touchscreen calibration program TOUCHCAL. $error 110 If no error occurs during the loading of loadscreen calibration, $error returns an empty string (“”) and the touchscreen calibration Instructions for Adept Utility Programs, Rev. A Utility Programs LOADTCH is applied. If an error occurs, $error returns a string describing the error and the touchscreen calibration is not applied. The calling program should check the variable $error before proceeding. Special Considerations The subroutine load.touch assumes that the calibration data file has the specific format used by the Adept calibration program, TOUCHCAL. The version number in the data file must agree with the one expected by load.touch. Otherwise, the loading is not performed. Instructions for Adept Utility Programs, Rev. A 111 PROFILER Utility Programs PROFILER Description Task profiler utility Disk File Name PROFILER.V2 Program Name a.profiler Function Display the amount of CPU time being used by executing system and user tasks. Abstract The V+ operating system is a multitasking system that concurrently executes system and user tasks. Each task is allowed to execute in one or more of sixteen time slices according to the priority assigned to each task in each of the sixteen time slices. The default priorities assigned to each user task in each time slice may be defined by the user using the program CONFIG_C. The default priorities may be superseded with an EXECUTE instruction. The profiler displays a series of bar graphs showing how much time each task is taking in each time slice. This display helps you define a priority scheme that assures CPU time for your critical tasks and runs noncritical tasks on an as-time-is-available basis. Understanding the information displayed by the task profiler requires a thorough understanding of V+ task execution. See the section “Scheduling of Program Execution Tasks” in the V+ Language User’s Guide. Requirements You need the following items to run the PROFILER. • Adept graphics-based controller • PC-style keyboard and high-resolution graphics monitor (system option) or AdeptWindows PC software executing on a PC, with a serial-line or Ethernet connection to the Adept controller In order to display meaningful data, you should have application programs LOADed and ready to EXECUTE. 112 Instructions for Adept Utility Programs, Rev. A Utility Programs PROFILER If you are using a robot system, the robot must be calibrated and COMP mode must be selected on the manual control pendant. or The DRY.RUN system switch must be enabled. or The program can be executed as a program task other than #0. Procedure Load the program:1 load \util\profiler Execute the program: execute a.profiler (Or type execute 1 a.profiler to execute the program as task #1. Any task can be used. See “Special Considerations” on page 120 for related information.) The profiler utility displays the default bar graph and pull-down menus. This display is active and shows current CPU usage. To exit the program, choose the Close icon or Exit Profiler in the Profiler menu. The program can be deleted from system memory with the following commands (type kill 1 in place of kill if the program was executed in task #1): kill delete a.profiler Program Operation The profiler displays CPU usage on two different bar graphs, the % CPU Time graph or the Time Slice graph. The % CPU Time graph is a bar graph that shows the percent of time used per 16-ms major cycle by the system and user tasks (see Figure 2-5). 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 113 PROFILER Utility Programs Figure 2-5. Percent (%) CPU Time Graph Figure 2-5 shows that the running system is allocating approximately 12 percent of its time to system tasks, zero (0) percent to user task 0, 1 percent to user task 1, zero (0) percent to user tasks 2 and 5, and 88 percent to the null task. (The null task runs whenever no other tasks are available to run.) The Time Slice graph is a bar graph that shows the CPU time that each task has used in each time slice. Data is shown for the last three 16-ms major cycles. These three major cycles are shown as red, white, and blue bars on each task line (see Figure 2-6). 114 Instructions for Adept Utility Programs, Rev. A Utility Programs PROFILER Figure 2-6. Time Slice Graph Figure 2-6 shows a system running four concurrent user tasks. The red, white, and blue bars show the amount of time each task has used in each time slice for the previous three intervals. The interval time between display updates (2.0 seconds in Figure 2-6) is set with the Timing menu items. The Time Slice graph appears after choosing the Time Slice menu item from the Display menu, and when the PROFILER is run in a second task. (When the time-slice graph is active, the Time Slice menu item changes to %CPU Time.) A graph can be displayed in either update or freeze mode. In update mode, the graph is refreshed every 0.5, 1, 2, or 5 seconds. In freeze mode, the graph is held static. In freeze mode, the display can be updated by choosing the Snapshot menu item. (These items are selected from the Timing menu.) Choosing Displayed Tasks The Display menu allows you to specify which tasks are displayed. Choosing All System Tasks shows all the individual V+ system tasks on the bar graph. If All System Tasks is not chosen, all system task usage is displayed on one line marked System Tasks.1 1 Selected options are marked by a ✔. Instructions for Adept Utility Programs, Rev. A 115 PROFILER Utility Programs Choosing All User Tasks displays all the user tasks available to your system. If All User Tasks is not chosen, only tasks with a program on the execution stack are displayed. Program Menus The Profiler Menu The Profiler menu displays help for the profiler utility and exits the utility program. (To close an information pop-up window, click anywhere in the pop-up window.) Table 2-3. Profiler Menu Items Profiler Menu Item Action About Profiler Display program version/revision data. Display Menu Help Display basic information on the Display menu items. Timing Menu Help Display basic information on the Timing menu items. Exit Profiler Exit the profiler program. (Choosing the Close icon also exits the program.) The Display Menu The Display menu determines which display is presented and how many lines of information are graphed. Table 2-4. Display Menu Items Display Menu Item Time Slice % CPU Time All System Tasks 116 Action This menu item toggles between the two display types. When % CPU Time is chosen, the program displays the graph shown in Figure 2-5. When Time Slice is chosen, the graph shown in Figure 2-6 is displayed. When chosen, each system task is displayed on its own line. When not chosen, all system task time is accumulated into one line labeled System Tasks. Instructions for Adept Utility Programs, Rev. A Utility Programs PROFILER Table 2-4. Display Menu Items (Continued) Display Menu Item Action All User Tasks When chosen, all user tasks are graphed whether or not they are in use. When not chosen, only the tasks that have a program on the execution stack are displayed. Refresh Forces a redraw of the profiler graphs. (Use this, for example, if All User Tasks is not chosen and a new user task has become active.) Display Values When % CPU Time is displayed, this item can be chosen to add a column to the display to show the lengths of the graph bars. The Timing Menu The Timing menu determines how often the graphs are updated. Table 2-5. Timing Menu Items Timing Menu Item Action Snap Shot Put the display in freeze mode and update the graphs. Interval 0.5 Update graphs at 0.5-second intervals. Interval 1 Update graphs at 1-second intervals. Interval 2 Update the graphs every 2 seconds. Interval 5 Update the graphs every 5 seconds. Freeze Do not update the graphs (freeze mode). Special Considerations Changing the task priority scheme can seriously degrade the performance of your system. Make sure you have a thorough understanding of how the Adept multitasking system works before changing task priorities. Read the second chapter of the V+ Language User’s Guide before making changes to the task priorities. Instructions for Adept Utility Programs, Rev. A 117 PROFILER Utility Programs In order to get a true picture of CPU usage and minimize the effect of the executing PROFILER program, you will generally want to run the profiler in a low priority task or with a low priority specified as a parameter in the EXECUTE command. See the V+Operating System Reference Guide for details. If you would like to see the Time Slice graph and % CPU Time graph at the same time, you can execute the PROFILER in two different tasks. The PROFILER program defines many real-valued and string global variables with the prefix pf. that must not be modified by the user or by other programs. (All these variables are deleted from memory when the program exits normally or when a DELETE command is used to delete the program from memory, as described earlier.) The disk file PROFILER.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program itself. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. 118 Instructions for Adept Utility Programs, Rev. A Utility Programs SAFE_UTL SAFE_UTL Description Test program for the Adept robot Manual Mode Safety Package (MMSP) option. Disk File Name SAFE_UTL.V2 Program Name a.safe_utl Function Tests components of the Manual Mode Safety Package (MMSP) and sets a software flag to mark the robot as “commissioned” if all the tests pass. Requirements The items listed below are needed to run the SAFE_UTL program. • Adept system controller • Adept robot with the MMSP (Cat 3) option • V+ system Procedure Detailed procedures for running SAFE_UTL for a particular robot are given in the instruction handbook for that robot. Load the program:1 load \util\safe_utl Execute the program in task #1 (or higher): execute 1 a.safe_utl A menu is displayed for selection of the language you want the program to use. After a language selection is made, the following is displayed (in the selected language): WARNING: The current robot will be marked as "not commissioned", and will be marked as "commissioned" only after passing "all tests". 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 119 SAFE_UTL Utility Programs Do you want to continue (Y/N)? If the system has previously been “commissioned”, responding y marks the system as “not commissioned”. The robot cannot be operated in manual mode until all tests are completed and passed. If the response is n, the system is left unchanged and the program halts. The program displays the following menu and prompts the user to select an option: 0 1 2 3 4 5 6 => => => => => => => EXIT All Tests Accelerometer B+ Amp Voltage Restrict VFP Switches and Buttons MCP E-STOP Functions Brake Holding Force See the robot instruction handbook of your system for details on running the specific tests. To exit the program, choose EXIT in the program menu. The program can be deleted from system memory with the following commands: kill 1 delete a.safe_utl Special Considerations The SAFE_UTL program defines many real-valued and string global variables with the prefixes ca., opt., ts. and tt. that must not be modified by the user or by other programs. (All these variables are deleted from memory when the program exits normally or when a DELETE command is used to delete the program from memory, as described earlier.) The disk file SAFE_UTL.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. 120 Instructions for Adept Utility Programs, Rev. A Utility Programs SECURE SECURE Description Limit access to a file or a diskette Disk File Name SECURE.V2 Program Name a.secure Functions Limit access to a diskette Limit access to a file Abstract The SECURE utility works with two separate entities: disks and files.The process of securing a disk is entirely different from the process of protecting a file. The Adept disks are usually formatted to be IBM PC-compatible. This can be a disadvantage if there is information on the disk that you want to restrict. If this is the case, you would want to secure the disk. Securing a Disk There are two objectives in securing a disk. One is to prevent someone from using an IBM PC to examine the contents of the disk. The other objective is to prevent someone from using the disk on more than one Adept system. When a disk is secured, it is no longer IBM-compatible; however, a secured disk can be read on any Adept system (if it is secured for all systems) or only by a specific Adept system. If you secure to a specific system, you must provide the product type and the serial number of the controller. Once a disk is secured for a specific system, it cannot be unsecured—or secured for another system. It can only be reformatted (with a complete loss of data). NOTE: Individual files can be protected from being changed or viewed. SECURE provides the ability to set either of two file attributes: read-only or protected. Protecting a File Instructions for Adept Utility Programs, Rev. A 121 SECURE Utility Programs A read-only file can be read, but can’t be changed; these files have the R attribute in their directory listing. The read-only attribute applies to the file itself, and to all the programs contained in the file. A read-only file can be used to allow operators to view a file but not modify it; this allows users to become familiar with your programming practices without endangering the integrity of your programs. A protected file cannot be viewed. It can only be LOADed or EXECUTEd. Protected files have the P attribute in their directory listing. The protected attribute applies to the file itself and to all the programs contained in the file. Thus, after being loaded into memory, no programs in the file, can be changed. A protected file can be used to prevent users from examining or modifying a file (or its programs). The DISKCOPY utility must be used to make copies of a protected file. Procedure Load the program:1 load \util\secure Execute the program: execute a.secure (Or type execute 1 a.secure to execute the program as task #1.) Follow the prompts provided by the program. The program can be deleted from system memory with the following commands (type kill 1 in place of kill if the program was executed in task #1): kill delete a.secure Special Considerations Although a secured disk is totally compatible with the V+ system, you should be aware that securing a disk causes it to be no longer PC-compatible. The SECURE program defines many real-valued and string global variables with the prefix sec. that must not be modified by the user or by other programs. (All these variables are deleted from memory when the program exits normally or when a DELETE command is used to delete the program from memory, as described earlier.) 1 122 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A Utility Programs SECURE The disk file SECURE.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program itself. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. Instructions for Adept Utility Programs, Rev. A 123 SFUTIL Utility Programs SFUTIL Description Utility for working with data for the MOVEF/MOVESF instructions Disk File Name SFUTIL.V2 Program Name a.sfutil Functions Experimentally determine the parameters for the dynamic model of an AdeptOne-MV, AdeptThree-MV, AdeptOne-XL or AdeptThree-XL robot, which are used by the MOVEF and MOVESF instructions to predict the speed and acceleration of the robot. Display which sets of parameters for the dynamic model are initialized. Save and load all the configuration data for the robot (including the parameters for the dynamic model) to and from a disk file. Save the dynamic model data for the robot to a V+ system disk. Abstract For robot systems with the HyperDrive option, the MOVEF and MOVESF instructions drive the robot through a three-segment pick-and-place motion at the optimum speed and acceleration. These instructions rely on a built-in dynamic model of the robot in order to estimate the maximum speed and acceleration that drive the robot in the shortest amount of time without violating the maximum motor torque specifications. For robot applications that require high-speed motions, these instructions allow programs to be written that operate the robot at near-optimum cycle times without the need for manual speed tuning. Although the form of the dynamic model of the robot is fixed by the design of the robot, the parameters for the model depend on the specific robot and its tooling and payload. The SFUTIL program provides an automatic method for experimentally deducing the parameters of the dynamic model, based upon the results of moving the robot at various speeds in a small region of the workspace. 124 Instructions for Adept Utility Programs, Rev. A Utility Programs SFUTIL Because of manufacturing variations between robots, this procedure must be performed on each robot. Also, the procedure must be done for each combination of tooling and payload that the robot will carry. This procedure is simple to execute, must be done only one time for each payload, and requires only about 10 minutes to determine one set of dynamic model parameters. Once a set of dynamic model parameters is determined, this utility allows you to permanently store the computed values, along with a short description, on the system disk. This utility also displays the descriptions of the data sets that have been stored and provides for writing/reading the full set of configuration data for the robot to/from a disk file. Requirements You need the following items to run SFUTIL: • AdeptOne-MV, AdeptThree-MV, AdeptOne-XL, or AdeptThree-XL robot system with the HyperDrive option • Robot end-effectors and payloads that are to be modeled • Copy of the system diskette if the system is booted from a floppy diskette. (If required, use the DISKCOPY utility program to make a copy of the distribution system diskette.) Before you can run SFUTIL: • The robot must be calibrated and COMP mode must be selected on the manual control pendant. • No program must be running in the main execution task (#0) or in execution task #1. Procedure Load the program:1 load \util\sfutil Execute the program: execute a.sfutil Select an option you want from the menu displayed (see below). Follow the prompts provided by the program (see below). The utility program can be deleted from system memory by typing the following commands: 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 125 SFUTIL Utility Programs kill delete a.sfutil Program Prompts The SFUTIL utility program displays a menu of selections to the user. The following sections describe the menu items. NOTE: To exit the program at any prompt, press CTRL+Z. 0 => Exit to system monitor Choose this item to exit the program and return to the V+ monitor. 1 => Determine robot’s dynamic model parameters This menu selection initiates the procedure for automatically determining the parameters of the dynamic model of the robot. This procedure moves the robot through a series of predefined motions (relative to the user-defined starting location) and compares the actual performance of the robot to that predicted by the dynamic model. Before executing this procedure, the end-effector and payload that are to be modeled must be attached to the robot. NOTE: The following sequence of events is initiated when this procedure is selected. 1. A message is displayed that describes the purpose of the procedure, and you are asked to confirm that the procedure should be performed. 2. A message is displayed describing how much each joint of the robot will be moved during the procedure, and you are asked to position the robot in a clear zone. 3. After confirmation, the robot moves at a slow speed through all the motions that will be performed by the automatic procedure. This allows you to verify that the required clear area is free of any obstacles. If the robot moves close to an obstacle, you should press the E-Stop button on the Manual Control Pendant to stop the motion. CAUTION: 4. 126 After confirmation, the calibration procedure is initiated and the robot is automatically driven through the motions previously demonstrated. In most cases, each motion is repeated more than once, at various speeds. Instructions for Adept Utility Programs, Rev. A Utility Programs SFUTIL During the automatic procedure, the robot can be moved at both low speed and very high speed. Also, the robot might not move for several seconds (while a lengthy computation is performed). Such delays are normal and do not indicate that the procedure has completed all of the robot motions. WARNING: The program moves the robot at increasing speeds, which could exceed the capability of the robot with the attached payload. As a result, it sometimes happens that a motion stops early with the following message displayed: NOTE: *Incomplete motion* Retry (R) or Skip (S) this motion? If the robot has already completed that motion at a slower speed, the procedure will usually succeed even if you enter S to skip the failed motion. To be thorough, however, you could try repeating the motion one time, to see if it might be able to be completed, so that more data could be collected. 5. After the automatic process is completed, a table of computed dynamic model parameters is displayed. These values do not have to be written down. They are presented only for diagnostic purposes. 6. You are asked if you want to store the computed set of dynamic parameters in memory. If so, the list of parameter sets currently defined is displayed. After you specify a brief description and which set of parameter values is to be overwritten, the new values are stored in the internal data structures of the V+ operating system. 7. Finally, you are asked if you wish to save the new data onto the system disk. If so, the new data is permanently saved on the system disk. Do not alter the original distribution diskette supplied by Adept. Instead, you should first make a copy of the distribution diskette (with the DISKCOPY utility), and then store your calibration data to that copy. NOTE: If the computed values are not written into V+ memory, the results of the procedure are ignored. If the values are not written to the system disk, the results are lost when the controller is turned off. 2 => Show description of defined dynamic models This selection shows which of the sets of dynamic parameters have been defined by executing the automatic procedure. A list of the possible parameter sets is displayed, followed by either a short description of each data set or the text “*Not initialized*”. Instructions for Adept Utility Programs, Rev. A 127 SFUTIL Utility Programs 3 => Save robot specifications to a disk file This selection writes all the configuration data associated with the (primary) robot to a disk file. This data includes the sets of dynamic parameters. Depending on the type of robot, the data may also include other values that can be specified by the user, such as the software joint-limit stops. The data is written in the disk file in a readable ASCII format that can be kept as a permanent record of the data and can be used to reload the data. 4 => Load robot specifications from a disk file This selection reads a data file that was created by the previous menu selection, and overwrites the data in memory with the data contained in the disk file. This selection needs to be executed only when you are upgrading your robot operating system to a new version or revision and want to reinstate all the robot specifications generated previously, or when you want to change to different sets of parameters. After the data has been read, the following menu selection must be executed in order to permanently store the data on the system disk. 5 => Save system specifications to system disk This selection stores the robot specification information that is contained in the system memory to the system disk. If the specification information is contained only in the system memory, the information will be lost when the controller is turned off. After the system disk has been altered, the specification information is preserved even when the controller is turned off and the system is rebooted. You should not alter the original distribution diskette supplied by Adept. Instead, you should first make a copy of the distribution diskette (with the DISKCOPY utility), and then store your calibration data to that copy. NOTE: Special Considerations If you make any change to your V+ system disk, you should clearly mark the system disk to indicate that it has been modified for your specific robot configuration. It is advisable to make a backup copy of the modified system disk. The DISKCOPY utility can be used for that purpose. The SFUTIL.V2 utility defines many real-valued variables with the prefixes sf. and sp. that must not be modified by the user or by other programs. (All these variables are deleted from memory when the program completes execution normally or when a DELETE command is used to delete the program from memory, as described earlier.) 128 Instructions for Adept Utility Programs, Rev. A Utility Programs SFUTIL The disk file SFUTIL.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk to another with the FCOPY monitor command or the disk-copy utility program (DISKCOPY). The disk-copy program can be used to make a backup copy of the entire distribution diskette. Instructions for Adept Utility Programs, Rev. A 129 SPEC Utility Programs SPEC Description Robot specification utility Disk File Name SPEC.V2 Program Name a.spec Functions The SPEC program allows customizing robot parameters for a particular application. This description documents the restricted access mode of SPEC seen with Adept robots and password-protected robots. The unrestricted access mode of SPEC is required only for developers of custom robot systems and is documented in the AdeptMotion VME Developer’s Guide. For systems with AdeptModules devices, the SPEC program must be used to specify the configuration of the devices when the system is initially set up. See the AdeptModules Instruction Handbook, Vol. 1, Adept MV Controller Interface, for detailed information about this procedure. The SPEC utility contains new/enhanced options that might not be documented in your edition of the AdeptMotion VME Developer’s Guide or your Robot Instruction Handbook. For details on these options, please refer to the sections listed below: 130 • The ability to use the Expert User feature. This allows an experienced user to enter select parameters by entering the menu option number followed by a comma and the new parameter value • The ability to set SPEC Program Preferences that allow the user to configure global SPEC settings or use the Auto-backup or Variable DAC Increment features for ease of use when setting up configurations within SPEC. • The ability to create user-defined obstacles in the workcell. • The ability to use a dedicated home sensor when calibrating an AdeptModules device. • The ability to specify a manual mode envelope error limit, which allows the user to configure a smaller envelope error (that is, how far the motor is allowed to lag behind the commanded position) for motions made with the pendant. Instructions for Adept Utility Programs, Rev. A Utility Programs SPEC • The ability to create a custom point-to-point motion routine that will execute in place of the standard routine in SPEC. See “Custom Point-to-Point Motion Routine” on page 147. • The ability to specify a unique acceleration and deceleration percentage for the point-to-point move test during motor tuning. See “Move Acceleration and Deceleration Percentages” on page 147. The following robot parameters can be changed with the restricted access mode of SPEC: • The digital signals that are used to control the robot hand or end-effector • The positional tolerances to be used at the ends of motions • The robot (software) joint limits • The program-controlled motion speed above which accelerations are not to be scaled Abstract The V+ system contains internal data structures that describe robot parameters such as those mentioned above. This internal data can be modified whenever the configuration of any of the robot parameters needs to be changed to suit a particular application. This program can be used to make the desired changes to the data. Requirements You need the following items to run SPEC. All of these, except as indicated, were supplied with your robot system. • Adept robot system (or a non-Adept robot controlled with the AdeptMotion VME option) • Diskette for storing configuration data file (optional) Before you run SPEC: • The system must have been booted from the actual system disk that will be modified during the configuration procedure. Procedure Load the program:1 load \util\spec 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 131 SPEC Utility Programs Execute the program: execute 1 a.spec Choose an option from the menu displayed (see below). Follow the prompts provided by the program (see below). You can delete the SPEC program from the system memory with the following commands: kill 1 delete a.spec Special Considerations The configuration program defines many real-valued and string variables with the prefix sp. that must not be modified by the user or by other programs. Some string variables are intentionally left in RAM when the program exits normally. For example, the name of the custom point-to-point motion routine is left in memory (see “Custom Point-to-Point Motion Routine” on page 147). However, all variables are deleted when a DELETE command is used to delete the program from memory, as described earlier. NOTE: The disk file SPEC.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. Menu Structure Menu structures will be different depending on the robot and external encoder configuration of your V+ system. Exit to system monitor Enter password to increase access1 AdeptModules quick setup2 Change robot options and motor configuration3 1 2 3 132 Password-protected robots only. Only for systems with AdeptModules devices. Display of this menu item and options depends on the type of device connected to your system and/or user access level. Instructions for Adept Utility Programs, Rev. A Utility Programs SPEC Perform hardware diagnostics Edit robot specifications Exit to main menu Edit robot initialization specs Exit to robot menu Hand OPEN signal Hand CLOSE signal Edit motor amp/encoder specs1 Exit Change motor number Encoder scale factor (ct/mm or ct/deg) Encoder counts per zero index (ct) Encoder configuration Encoder sign Motor sign Maximum DAC output Maximum DAC output in Manual mode *Duty-cycle exceeded* DAC limit *Duty-cycle exceeded* filter parameter *Motor stalled* timeout (sec) *Manual mode envelope error* limit (cts) *Soft envelope error* limit (cts) *Hard envelope error* limit (cts) Velocity envelope error limit (ct/ms Machine input polarity Perform hardware diagnostics Edit motor tuning parameters1 Exit Proportional gain... Proportional zero... Proportional pole... Integral gain....... Max integrator value Max integrator step. Velocity feedforward 1 Display of this menu item and options depends on the type of device connected to your system and/or user access level. Instructions for Adept Utility Programs, Rev. A 133 SPEC Utility Programs Accel feedforward... DAC output filter... S-A: Skew error gain S-A: Max velocity FF Select test......... Test and plot Test and display Export results Edit motor calibration parameters1 Exit Change motor number Change homing configuration Speed and direction (ct/msec) ‘Motor stalled’ timeout during cal (msec) Maximum search distance (ct) Maximum home switch width (ct) Distance from home switch to zero index (ct) Motor position at zero index (ct) Calibration groups Park position after calibration (ct) Teach calibration specs Calibrate motor Calibrate rotor Edit joint motion specs Exit Change joint number FINE nulling tolerance (cts) COARSE nulling tolerance (cts) Lower joint limit (mm or deg) Upper joint limit (mm or deg) Edit link dimensions1 Edit Cartesian motion specs1 Exit to robot menu Cartesian translation speed at SPEED 100 (mm/sec) 1st Cartesian rotation speed at SPEED 100 (deg/sec) Translation acceleration at ACCEL 100 (mm/sec^2) 1 134 Display of this menu item and options depends on the type of device connected to your system and/or user access level. Instructions for Adept Utility Programs, Rev. A SPEC Utility Programs Accel for 1st rotation at ACCEL 100 (deg/sec^2) Max WORLD/TOOL pendant translation speed (mm/sec) Max WORLD/TOOL pendant rotation speed (deg/sec) Time to reach max WORLD/TOOL pendant speed (sec) Min WORLD/TOOL pendant translation increment (mm) Min WORLD/TOOL pendant rotation increment (deg) Edit general motion specs Exit to robot menu Upper speed limit for SCALE.ACCEL (%) Edit S-Curve trajectory profiles1 Exit to robot menu Enable and edit a profile Disable a profile Edit motor stop-on-force specs1 Exit Change motor number Stop-on-force integrator gain Edit collision detection specs Exit User User User User to robot menu specified Cartesian specified Cartesian specified Cartesian specified Cartesian obstacle obstacle obstacle obstacle #1 #2 #3 #4 Load robot specifications from a disk file Save robot specifications to a disk file Save ALL specifications to system disk Edit SPEC program preferences UNDO SPEC changes Change robot number1 1 Multiple-robot systems only. Instructions for Adept Utility Programs, Rev. A 135 SPEC Utility Programs Switch to external encoder specifications1 Program Prompts When you execute the SPEC utility, it checks for the SPECSUB library routines to be in system memory. If they are not found, the program attempts to load the file SPECSUB.LIB from the same path from which SPEC was originally loaded. If the file cannot be found, the user is asked to enter the appropriate device/unit/path specification to access the file. The SPEC program also looks for a file containing user preferences for the program. An advisory message is displayed if that file is not found. The SPEC robot configuration utility program then displays the initial screen. You may notice some differences due to your system configuration. In particular, the menu may have more or fewer items, and it might be numbered differently. Figure 2-7. Initial SPEC Screen You can exit the program at any prompt by pressing CTRL+Z. However, this leaves all the program’s global variables defined in memory. You can delete these variables by restarting the program and then exiting with the main-menu selection. NOTE: 0 => Exit to System Monitor 1 136 Systems with external encoders only. Instructions for Adept Utility Programs, Rev. A Utility Programs SPEC Exit the configuration program and return to the V+ system monitor. 1 => Change robot options and motor configuration This menu item displays the motor/joint configuration and allows the changing of this configuration by the motor or joint. Figure 2-8. Robot Options and Motor Configuration Screen 2 => Perform hardware diagnostics This menu item displays the following read-only information for troubleshooting of a robot system. Type Q or 0 (zero) to exit the display. For more information refer to the AdeptMotion VME Developer’s Guide. Instructions for Adept Utility Programs, Rev. A 137 SPEC Utility Programs Figure 2-9. Hardware Diagnostics Screen 3 => Edit robot specifications This selection allows the editing of specific specifications for the robot. The following menu items are displayed at this level: Figure 2-10. Robot Specifications Screen 138 Instructions for Adept Utility Programs, Rev. A Utility Programs SPEC These menu item selections allow you to perform the following: • Change the default gripper OPEN and CLOSE signals • Change tuning parameters on motor 4 of certain Adept robots. See the AdeptMotion VME Developer’s Guide for details on motor tuning. • Change the joint limits and COARSE and FINE nulling tolerance for each joint • Change the percentage speed above which the SCALE.ACCEL switch has no effect • Edit the servo mechanism ID (available only when the selected robot is an AdeptModules device) • Edit the V+ deceleration parameter (this parameter is displayed only if robot option word bit 12 is declared to enable this feature) • Edit collision detection, including Cartesian obstacles and clearance distances. See “Edit collision detection specs” on page 142 for details. 4 => Load robot specifications from a disk file Use this menu item to load robot configuration data from a disk file created with the next menu item. 5 => Save robot specifications to a disk file After you have changed the robot configuration data, you can store the new data in a disk data file. The data in the file can be used later to apply your specific robot configuration data to another V+ system disk. You can save specifications in a readable ASCII text file or in an encrypted binary file. Only the editable data are included in the ASCII file; binary files contain both editable and hidden data that completely specify the device. ASCII files are adequate in many cases, since you ordinarily want to save only those specifications that you have edited. ASCII files are also adequate for any non-Adept device that is not password-protected, since there are no hidden specifications in such devices. Binary file format is typically used on password-protected robots to save the complete description of the mechanism. If your Adept system controls more than one robot, these menu choices access the data for the specific robot you chose in the main menu. 6 => Save ALL specifications to system disk Instructions for Adept Utility Programs, Rev. A 139 SPEC Utility Programs After you have changed the configuration data for any of the items, you should store the new data on the V+ system disk. This menu item causes all the current configuration data to be written to the V+ system disk. If the changed data is not stored on the system disk, the previous configuration data will be used the next time the robot system is turned on and booted from disk. Before you modify a V+ system disk, you should make a copy of the system (with the DISKCOPY utility program). CAUTION: If you normally boot your system from a floppy disk, you should make a copy of your V+ system disk (with the DISKCOPY utility) before you use this procedure. Then, you should save the original diskette and store the new configuration information on the copy. The V+ system must have been booted from the actual system disk (floppy disk or hard disk) on which the new configuration information is saved. If your Adept system controls more than one robot, this menu selection saves the data for ALL the robots (and any external encoder). Ensure that all SPEC changes are correct before saving information to the V+ system disk. 7 => Edit SPEC program preference This selection allows the user to configure defaults for the SPEC program. Figure 2-11. SPEC Program Preference Screen 140 Instructions for Adept Utility Programs, Rev. A Utility Programs SPEC 8=>UNDO SPEC changes This selection allows restoration of any SPEC changes to the original settings. If changes to SPEC have been saved, this option will not restore the old SPEC data, as this data has been destroyed in the saving process. NOTE: The following two menu items might be available, depending on the configuration of the V+ system. Change robot number If your system has multiple robots, selecting this item allows you to access data for another robot. Switch to external encoder specifications If your system supports external encoders for conveyor tracking, you can select this item to edit the encoder parameters. See the AdeptMotion VME Developer’s Guide for more information. Descriptions of Some Program Operations The items described below can be edited after selecting “Edit robot specifications” in the main program menu. After changing any of these items, the data should be written to the V+ system disk so it will be used the next time the controller is turned on. Edit robot initialization specs Hand OPEN signal Hand CLOSE signal The numbers of the digital signals accessed by V+ for controlling the end-effector are stored on the V+ system disk. These menu items permit you to change these specifications if your application requires special signals to control the robot gripper. The default settings for the gripper signals are listed in the user’s guide for the robot. These can be changed to any of the robot I/O signals (3001 to 3008), digital output signals (numbered 1 to 8 and 33 to 512), and internal software signals (2001 to 2512). Setting a negative signal number indicates that the gripper will be activated when the signal is deasserted. Instructions for Adept Utility Programs, Rev. A 141 SPEC Utility Programs Edit joint motion specs The following parameters can be adjusted for each joint of the robot. FINE nulling tolerance (cts) COARSE nulling tolerance (cts) Choose these items to change the positioning tolerances used at the end of any motion that requires nulling. Do not modify the positioning tolerances unless you have a good understanding of how they are used by the V+ system. Refer to the descriptions of the COARSE and FINE program instructions in the V+ Language Reference Guide. NOTE: Lower joint limit (mm or deg) Upper joint limit (mm or deg) The motion limits for the individual robot joints can be changed from their standard settings to prevent the robot from moving into undesired regions. Edit general motion specs Upper speed limit for SCALE.ACCEL (%) This defines the maximum program speed setting for which the SCALE.ACCEL switch has an effect. The SCALE.ACCEL or speed-scaling feature provides automatic reduction of accelerations at speed settings below this value, thus eliminating the problem of short, rapid accelerations at low program speeds. For more information on speed scaling and the SCALE.ACCEL switch, see the V+ Operating System User’s Guide. Edit collision detection specs This menu item can be used to define parameters used to avoid collisions with static obstacles in the workspace. During operation of the workcell, the paths of the robot tool tip and tool-mounting flange are automatically tested to ensure they will not collide with these objects under the following circumstances: when the robot is being moved in JOINT, WORLD, or TOOL manual control mode; when the destination of each motion is being planned; and while straight-line motions are being performed. 142 Instructions for Adept Utility Programs, Rev. A Utility Programs SPEC Each obstacle is defined by its shape, location, and size. The shape of an obstacle can be a box, a cylinder, or a sphere. The location of each obstacle is defined with respect to the base reference frame of the robot when its BASE transformation is null. When defining the size of an obstacle, you generally should add 1/2 of the diameter of the robot's end-of-arm tooling to each surface of the actual obstacle being modeled. That is needed because the collision detection references the tool point of the end-effector, which is typically at the center of the tooling. CAUTION: The menu shown in Figure 2-12 is displayed. Choose one of the user-defined options. (The screen shown in Figure 2-12 display.) Figure 2-12. User-Defined Obstacle Definition Screen Enter the desired value for the object shape, position, and size. If option 0 (none) is selected for the shape, the system displays the menu shown in Figure 2-13. The list of shape parameters may vary depending on the type of object selected (box, cylinder, or sphere). Instructions for Adept Utility Programs, Rev. A 143 SPEC Utility Programs Figure 2-13 shows an example of a completed screen.You can repeat the previous steps for up to four objects in the robot workcell. Figure 2-13. Sample Collision Detection Options for Box Shape 144 Instructions for Adept Utility Programs, Rev. A Utility Programs SPEC Edit Motor Calibration Parameters The SPEC program contains an option that allows users with AdeptModules running on an Adept MV Controller to change the homing configuration so that the robot calibration procedure searches for a dedicated home sensor. (Previously, the AdeptModules devices calibrated only to an overtravel sensor.) When this menu item is selected, the menu shown in Figure 2-14 is displayed. Figure 2-14. The Robot/Motor Calibration Menu Instructions for Adept Utility Programs, Rev. A 145 SPEC Utility Programs Select Change homing configuration from the menu. A submenu is displayed followed by a series of questions. Figure 2-15. Change Homing Configuration Submenu To use a home sensor mounted on your AdeptModules axis for calibration, select Search for home sensor from the submenu and press ENTER. To cancel the option, simply press the ENTER key. After selecting the option, you are asked to disable (or enable) the “calibrate to zero index” feature. To toggle the setting for how the motor calibrates to a zero index, press y and then press ENTER. To use the current setting, enter n and then press ENTER, or simply press ENTER to accept the default value (n). After answering this question, you are asked to enable (or disable) the “fine search toward home” switch. To toggle the setting for fine search toward home, enter y. To use the current setting, press n, or simply press ENTER to accept the default value (n). After you answer this question, the screen is first cleared and then the Robot/Motor Calibration menu is displayed. Edit motor amp/encoder specs The SPEC program contains an option that allows you to specify a manual mode envelope error limit. This option allows you to configure a smaller envelope error (that is, how far the motor is allowed to lag behind the commanded position) for motions made with the manual control pendant. If a small value is specified for this parameter and the user then drives the robot into an unmovable object using the pendant, the system would halt robot motion faster. This parameter is related to the Soft Envelope Error and Hard Envelope Error as follows: 146 Instructions for Adept Utility Programs, Rev. A Utility Programs SPEC Man Env Err <= Soft Env Err <= Hard Env Err To change the manual mode envelope error limit, select *Manual mode envelope error* limit from the menu and press ENTER. You are prompted for the allowable manual mode position error count. Type the new value and press ENTER to accept, or simply press ENTER to cancel the option. Edit motor tuning parameters The SPEC program contains options that allow you to configure both the acceleration and deceleration percentages for motor tuning tests, and to specify a custom point-to-point motion routine. To access these options select the following item from the Robot Servo Tuning Submenu: Select test..Taught Pt The following material describes use of these options. Move Acceleration and Deceleration Percentages This feature allows the user to specify unique acceleration and deceleration percentages for the point-to-point motion test during motor tuning. This can be useful for high-inertia robots that require different acceleration and deceleration values. From the Motor Tuning Test Configuration menu, select either Move acceleration (for setting the acceleration percentage) or Move deceleration (for setting the deceleration percentage) from the Motor Tuning Test Configuration menu. Type the desired value and press ENTER to accept it, or simply press ENTER to cancel the option and return to the Motor Tuning Test Configuration menu. Custom Point-to-Point Motion Routine This feature allows a user to write a custom point-to-point motion routine that will execute in place of the standard routine in SPEC. (The standard routine is protected and cannot be edited.) That is, if you want to do something special with the robot and analyze data collected during the motion, write a program, with any name, and then specify the name in the SPEC menu. At that point, SPEC will verify that the custom routine exists (in RAM) and is executable. At execution time, SPEC will call the custom program instead of the standard routine. You can also specify a custom point-to-point motion routine as one of the SPEC program preferences. NOTE: The custom routine must be in RAM when the name is specified to the SPEC utility. SPEC will verify that the custom routine exists and is executable (at least as far as V+ is concerned). NOTE: Instructions for Adept Utility Programs, Rev. A 147 SPEC Utility Programs From the Motor Tuning Test Configuration menu, select Pt-to-Pt motion routine from the Motor Tuning Test Configuration menu. You are prompted for the name of the new routine. Type the name of the custom routine and press ENTER, enter a space and press ENTER to revert to the standard routine, or simply press ENTER to cancel the option and return to the Motor Tuning Test Configuration menu. When using a custom motion routine, please note: • The routine must have this calling sequence: routine(plot, ctl[ ], $err) • The routine must be loaded into RAM. Program Listing for sp.tu.mov.test( ) The program listing for the standard routine sp.tu.mov.test( ) is provided below to show developers how the routine works. This will allow developers to create their own custom motion routines that use SPEC to collect the motion data. The standard routine is protected. This listing is supplied so that developers can reference the standard program as an example for creating custom motion routines. NOTE: .PROGRAM sp.tu.mov.test(plot, ctl[], $err) ; ABSTRACT: Performs programmed motion for taught-point tuning test. ; Assumes precision points #sp.tu.pt[0] and #sp.tu.pt[1] have ; been defined. These variables contain the two precision points ; taught for the point-to-point test. Custom routines may also ; use two transforms that are taught at the same time: ; sp.tu.loc[0] and sp.tu.loc[1]. ; ; This is the standard point-to-point motion program. Custom ; motion programs can be used to perform special moves for ; servo tuning analysis. Any custom program MUST have the ; same calling sequence as this program. ; ; In order to take advantage of the data collection and plotting ; features of the SPEC program, note the CALLs to the following ; programs in the code below: ; ; CALL sp.tu.config(time) ;Specfies the amount of data ; ;collection time in seconds. ; CALL bf.enable(mode, sync) ;Enables data collection buffer. ; The values for "mode" and "sync" are detailed below: ; mode 0 (default): Stop data collection ; 1: Trigger re-enabled after collection ; 2: Single sweep ; sync Trigger synchronization ; 0 (default): Trigger now ; 1: Trigger to internal trajectory generator ; ; CALL sp.tu.plot(time, $err) ;Plots the results. Note the 148 Instructions for Adept Utility Programs, Rev. A SPEC Utility Programs ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;"time" argument is internally ;calculated. CALL sp.tu.dump(lun) ;Dumps data to the specified ;Logical Unit Number (lun). ;LUN = 4 is the terminal or ;MONITOR window. The data collected will be that configured in the data-collection menu. INPUT PARM: plot ctl[] Flag indicating whether to plot results Array of test control values. Relevant values for point-to-point motion test are: ctl[sp.tu.move.spd] = Move speed (% motor max) ctl[sp.tu.move.acc] = Acceleration (1-100%) ctl[sp.tu.move.dec] = Deceleration (1-100%) ctl[sp.tu.move.prf] = Accel profile OUTPUT PARM: $err Error string. If non-empty, then an error occurred that will be reported to the user. SIDE EFFECTS: None Copyright (c) 1994-1998 by Adept Technology, Inc. AUTO DOUBLE time CALL sp.tu.config(10) ;Configure 10 sec of data collection ; Set up speed and acceleration SPEED ctl[sp.tu.move.spd] ALWAYS ACCEL (ctl[sp.tu.move.prf]) ctl[sp.tu.move.acc], ctl[sp.tu.move.dec] ; Move to 1st point a little slower than the test motions if the test ; motion speed is greater than or equal to 50%. IF ctl[sp.tu.move.spd] >= 50 THEN SPEED ctl[sp.tu.move.spd]/2 END ;Move at 1/2 speed COARSE MOVE #sp.tu.pt[0] DELAY 0.2 BREAK ;Don't bother to settle accurately ;Move to Start point ;Allow some time for settling ;Complete settling time FINE MOVE #sp.tu.pt[1] WAIT ;Perform motion accurately ;Initiate motion ;Allow motion to start time = TIMER(-3) CALL bf.enable(1) ;Reset cycle timer ;Enable buffer: wrap-around, start now BREAK MOVE #sp.tu.pt[0] BREAK time = TIMER(-3)-time ;Complete motion ;Return to start position ;Complete motion ;Record cycle time Instructions for Adept Utility Programs, Rev. A 149 SPEC Utility Programs WAIT.EVENT , 0.25 CALL bf.enable() ;Collect for a while longer ;Turn off buffer IF plot THEN CALL sp.tu.plot(time, $err) ;Plot results ELSE CALL sp.tu.dump(4) ;Dump data buffer to monitor END RETURN 150 Instructions for Adept Utility Programs, Rev. A Utility Programs SQUEEZE SQUEEZE Definition Disk file compression utility Disk File Name SQUEEZE.V2 Program Name a.squeeze Function Compress a disk file by deleting all the comments and blank lines in the V+ programs in the file. Abstract When a V+ program is loaded into the system memory from a disk file, all the comments and blank lines in the program take up system memory. The squeeze program eliminates all the comments and blank lines from program files so the programs will require less memory (and so the program file will require less disk space). Requirements You will need the following to run SQUEEZE: • Adept system controller • Program file(s) to be compressed • Disk to receive compressed file(s) If you are using a robot system, the robot must be calibrated, and COMP mode must be selected on the manual control pendant. or The DRY.RUN system switch must be enabled. or The program can be executed as a program task other than #0. Procedure Load the program1 load \util\squeeze 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 151 SQUEEZE Utility Programs Execute the program execute a.squeeze (Or type execute 1 a.squeeze to execute the program as task #1.) Enter the disk unit of the input file. Or you can simply press ENTER to select the default unit when one is shown. Enter the name of the input file to be compressed. The file extension “.V2” is assumed if no extension is specified. An optional subdirectory specification can be included in the file specification. If no subdirectory specification is included, the file is assumed to be in the default subdirectory on the specified input disk. Enter the disk unit for the output file or press ENTER to accept the default unit. Enter the name of the output file to be created. If you simply press ENTER, the input file name with the extension .SQU is used. An optional subdirectory specification can be included in the file specification. If no subdirectory specification is included, the file will be created in the default subdirectory on the specified output disk. NOTE: If you want to stop, enter n (or just press ENTER) in response to the prompt Squeeze another file (Y/N)? If you want to process another file, enter y and repeat the above process for the next file to be compressed. To delete the file compression program from the system memory type the commands: kill delete a.squeeze (You must type kill 1 in place of kill if the program had been executed as task #1.) Special Considerations The compression program defines several real-valued and string variables with the prefix sq. that must not be modified by the user or by other programs. All of the variables are deleted from memory when a DELETE command is used to delete the program from memory. 152 Instructions for Adept Utility Programs, Rev. A Utility Programs SQUEEZE The disk file SQUEEZE.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program itself. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. Instructions for Adept Utility Programs, Rev. A 153 TOUCHCAL Utility Programs TOUCHCAL Definition Touchscreen calibration utility Disk File Name TOUCHCAL.V2 Program Name a.touchcal Function Calibrate an installed touchscreen for use as the system pointing device. Abstract A touchscreen can be used as the system pointing device, instead of a mouse or trackball. Since the resolution of a touchscreen is different from the standard trackball, a simple calibration procedure must be performed. After the calibration procedure has been completed, the data can be stored in a disk file for access by an application program. Requirements You must have the following items to run TOUCHCAL: • Adept controller with a VGB module in the system • High-resolution graphics monitor (system option) • Installed touchscreen (third-party option) • PC-style keyboard (system option) Before you can run TOUCHCAL: 154 • The touchscreen rather than a trackball or mouse must be connected to the VGB module. (You must know the type of touchscreen you are using.) • If you are using a robot system, the robot must be calibrated, and COMP mode must be selected on the manual control pendant. or The DRY.RUN system switch must be enabled. or The program can be executed as a program task other than #0. Instructions for Adept Utility Programs, Rev. A Utility Programs TOUCHCAL Procedure Load the program:1 load \util\touchcal Execute the program: execute a.touchcal (Or type execute 1 a.touchcal to execute the program as task #1.) The monitor window will display the touchscreen calibration main menu (see below). After you exit the program, it can be deleted from the system memory by typing the following commands (type kill 1 in place of kill if the program was executed as task #1): kill delete a.touchcal Menu Options 0 => EXIT to system monitor Select this option when you are finished with the calibration utility. NOTE: You can exit the program at any prompt by entering CTRL+Z. 1 => LOAD calibration data from disk Before calibration data can be loaded, a valid calibration file must have been created using option 2 or 3 below. The calibration file must have the name TOUCHnnn.DAT where nnn is the number of the stored calibration data set. The program asks for the disk drive and subdirectory where the calibration file is stored. After you enter the subdirectory specification, the program asks for the number of the touchscreen calibration (0 to 999). After you supply a calibration file number, the program displays the directory path it will use to load a calibration file. If the path and file name are correct, respond y and the file will be loaded. 2 => STORE calibration data to disk 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 155 TOUCHCAL Utility Programs Before calibration data can be stored, a valid calibration file must have been loaded using option 1, or new calibration data must have been created using option 3. The program asks for the disk drive and subdirectory where the calibration file is to be stored. After you enter the subdirectory specification, the program asks for a touchscreen calibration number. This number is used to create a file with the name TOUCHnnn.DAT, where nnn is the number you specify. After you supply a calibration file number, the program displays the directory path it will use to store the calibration file. If the path and file name are correct, respond y and the file is created. 3 => CALIBRATE the touchscreen The following submenu is shown: 0 => EXIT to MAIN MENU 1 => Elographics: Intelli-Touch 2 => Elographics: Accu-Touch The Intelli-Touch screen uses Surface-Acoustic Wave (SAW) technology; the Accu-Touch is a resistive screen. After you make your selection, the program presents a square in each corner of the monitor and asks you to touch the center of each square. After touching all the squares, you are then asked to check the screen calibration: Move your finger around on the screen. The pointer should track your finger within 0.25 inch (6 mm). Do you want to calibrate again to improve the results (Y/N)? If you respond with n, the program will proceed to store the calibration data in a disk file. See menu option 2 (STORE calibration data to disk) above. Programming Considerations The touchscreen calibration data must be loaded each time the controller is turned on. After the calibrating procedure has been performed, the data can be stored in a disk file for access by an application program. Your application program can CALL the routine in the file LOADTCH.V2 to load the touchscreen calibration. 156 Instructions for Adept Utility Programs, Rev. A Utility Programs TOUCHCAL The TOUCHCAL program defines many real-valued and string global variables with the prefix tc. that must not be modified by the user or by other programs. (All these variables are deleted from memory when the program exits normally or when a DELETE command is used to delete the program from memory, as described earlier.) The disk file TOUCHCAL.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program itself. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. Instructions for Adept Utility Programs, Rev. A 157 XMODEM Utility Programs XMODEM Description File transfer utility Disk File Name XMODEM.V2 Program Name a.xmodem Function Transfer disk files using the XMODEM protocol. Abstract XMODEM is a serial communication protocol that incorporates basic error checking, handshaking, and retransmission of corrupted data. This utility allows for XMODEM transfers between Adept controllers, between Adept controllers and other computers, and between Adept controllers and modem devices. The Kermit file-transfer protocol is built into V+ and can be enabled for a serial port with the utility CONFIG_C. NOTE: Requirements You will need the following items to run XMODEM: • Adept system controller • Serial connection between the controller and the device being communicated with • Correct configuration of communication parameters on the receiving and transmitting ends. (The utility CONFIG_C specifies the default serial configuration of the serial ports on the Adept controller. The FSET instruction can be used to change that configuration after the V+ system has been initialized.) If you are using a robot system, the robot must be calibrated, and COMP mode must be selected on the manual control pendant. or The DRY.RUN system switch must be enabled. or The program can be executed as a program task other than #0. 158 Instructions for Adept Utility Programs, Rev. A Utility Programs XMODEM Procedure Load the program:1 load \util\xmodem Execute the program: execute a.xmodem (Or type execute 1 a.xmodem to execute the program as task #1.) The program asks you for the serial port to use for the file transfer. (See the V+ Operating System User’s Guide and the Adept MV Controller User’s Guide for details.) Next, the program asks whether you want to send or receive a file. After you indicate the direction of the transfer, the system asks you the name of the file to transfer or the name to give the file that is being received. The file name can include a disk device and unit, and a complete directory specification. After entering the file specification, the program will make sure the remote system is ready to send/receive a file and then begin the file transfer. If the remote system does not respond after several tries, the program will time out and halt. After a successful file transfer, you are asked if you want to transfer another file. The file transfer program can be deleted from the system memory by typing the commands: kill delete a.xmodem (You must type kill 1 in place of kill if the program had been executed as task #1.) Special Considerations The XMODEM program defines many real-valued and string global variables with the prefix x. that must not be modified by the user or by other programs. (All these variables are deleted from memory when the program exits normally or when a DELETE command is used to delete the program from memory, as described earlier.) 1 Use the correct drive and path specification if the file is stored on another drive or subdirectory. Instructions for Adept Utility Programs, Rev. A 159 XMODEM Utility Programs The disk file XMODEM.V2 is a protected binary file. Thus, the programs in the file cannot be displayed, edited, or stored from memory to a disk. The file can be copied from one disk (or subdirectory) to another with the FCOPY monitor command or the DISKCOPY utility program itself. The DISKCOPY program can be used to make a backup copy of the entire distribution diskette. 160 Instructions for Adept Utility Programs, Rev. A Index A a.adv_cal (program) 26 a.belt_cal (program) 28 a.config_c (program) 37 a.diskcopy (program) 71 a.duty_cyc (program) 79 a.editicon (program) 82 a.format (program) 91 a.ftp_clnt (program) 94 a.ftp_srvr (program) 95 a.profiler (program) 112 a.safe_utl (program) 119 a.secure (program) 121 a.sfutil (program) 124 a.spec (program) 130 a.squeeze (program) 151 a.touchcal (program) 154 a.xmodem (program) 158 AdeptModule data 17 AdeptModules, dedicated home sensor for calibration 145 AdeptMotion VME, configuration 130 AdeptNet utilities 94, 95 AdeptVision VME, camera calibration 26, 96 ADV_CAL.V2 (disk file) 26 ADV_USER.V2 (disk file) 27 Analog input, configuring 51 Analog output, configuring 52 Area vision 26, 27, 96 ASCII files 18 B BELT_CAL.V2 (disk file) 28 BELTnnn.DAT 31 Binary files 18 C Calibration area camera 26, 96 conveyor tracking 28, 101 touchscreen 109, 119, 154 Camera calibration 26, 96 Change Homing Configuration 146 Collision detection, defining obstacles 142 Compact Flash, formatting 91 Compression of disk files 151 CONFIG_C.V2 (disk file) 37 CONFIG_R utility, see SPEC.V2 Configuration AdeptModules 17 controller 37 motion device 130 Conveyor tracking 28, 101 Copying disks 73 files 73 CPU usage, displaying 112 Custom point-to-point motion routine 147 Customer service assistance phone numbers 21 D Data area vision calibration 96 conveyor tracking calibration 101 touchscreen calibration 109, 154 Dedicated home sensor for calibrating AdeptModules 145 Default disk drive selection 54 motion speed 54 speed 54 Defining obstacles 142 Deleting files 76 Descriptions of utilities 25 Device-module files 17 Digital I/O input configuration 52 OPEN, CLOSE signals 141 Disk copying 73 Instructions for Adept Utility Programs, Rev. A 161 Index drive, default 37 file compression 151 formatting 91 hard drive 91 DISKCOPY.V2 (disk file) 71 DUTY_CYC.V2 (disk file) 79 E EDITICON.V2 (disk file) 82 F File compression 151 copying 71, 73 deleting 76 transferring 158 Files AdeptModules configuration 17 device-module 17 types of 18 FORMAT.V2 (disk file) 91 Formatting hard disk 91 Frame size vision system 56 FTP_CLNT.V2 (disk file) 94 FTP_SRVR.V2 (disk file) 95 of utility programs 19 K Keyboard conventions 13 L load.area (subroutine) 96 load.belt (subroutine) 101 load.icon (subroutine) 105 load.touch (subroutine) 109 LOADAREA.V2 (disk file) 96 LOADBELT.V2 (disk file) 101 LOADICON.V2 (disk file) 105 Loading area vision calibration 96 conveyor tracking calibration 101 graphic icons 106 touchscreen calibration 109 LOADTCH.V2 (disk file) 109, 119 M General utilities 14 Graphics configuration 37 system configuration 54 Memory, allocating for vision 56 Millimeter-to-pixel ratio 26 Modem communication 158 Monitor speed, setting default 54 Motion device configuration 130 Motion device to camera calibration 26 Motion utilities 15 Move acceleration and deceleration percentages 147 MOVEF instruction 124 MOVESF instruction 124 H N Hard disk, formatting 91 High-speed signals, configuration 37 High-speed trigger 52 HyperDrive robot option 124 Network configuration 37 NVRAM 43 G Obstacles, defining 142 Option utilities 17 I Icon defining 82 editing 82 loading 106 Installation of new V+ system 44 162 O P Perspective calibration 26 Pointing devices, touchscreen 109, 154 Position latch 52 Priority, task 55 Instructions for Adept Utility Programs, Rev. A Index Profiler, task 112 PROFILER.V2 (disk file) 112 Program listing for sp.cu.move.tst( ) 148 task configuration 37 Protected files 121 R Read-Only files 18, 121 Robot configuration 130 device-modules 17 Robot dynamic model parameters 124 Robot to camera calibration 26 Robot/Motor Calibration menu 145 S SAFE_UTL.V2 (disk file) 119 Sample collision detection options for box shape 144 SECURE.V2 (disk file) 121 Serial communication, XMODEM 158 Serial I/O configuration 37, 53 Servo board configuration 54 SFUTIL.V2 (disk file) 124 Signals, external trigger 37 SPEC.V2 (disk file) 130 Specialized utilities 19 SQUEEZE.V2 (disk file) 151 Support phone numbers 21 System configuration 42 options, displaying 43 tasks 55 System disk, copying 71 Typographic conventions 12 U User Defined Obstacle Instruction Screen 143 User tasks, configuring 55 User-defined cartesian obstacles 142 Utilities descriptions of 25 general 14 motion 15 option 17 specialized 19 vision 16 V V+ disk, copying 72 V+ interpreter, enabling/disabling 51 Vision area camera 96 calibration 96 memory allocation 56 trigger 52 utilities 16 X XMODEM file protocol 158 XMODEM.V2 (disk file) 158 T Task configuration 37, 55 profiler 112 TOUCHCAL.V2 (disk file) 154 TOUCHnnn.DAT 110 Touchscreen, calibrating 109, 154 Tracking, conveyor 28, 101 Transferring files 158 Instructions for Adept Utility Programs, Rev. A 163 Adept User’s Manual Comment Form We have provided this form to allow you to make comments about this manual, to point out any mistakes you may find, or to offer suggestions about information you want to see added to the manual. We review and revise user’s manuals on a regular basis, and any comments or feedback you send us will be given serious consideration. Thank you for your input. NAME_______________________________________________ DATE_________________________ COMPANY _________________________________________________________________________ ADDRESS___________________________________________________________________________ PHONE_____________________________________________________________________________ MANUAL TITLE: ____________________________________________________________________ PART NUMBER and REV level:________________________________________________________ COMMENTS: ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ ______________________________________________________________________________________ MAIL TO: Adept Technology, Inc. Technical Publications Dept. 11133 Kenwood Rd. Cincinnati, OH 45242 FAX: (513) 792-0274 00963-00000, Rev. A