README.TXT Release Notes for EPSON RC+ Version 3.6.2 Copyright (c) 1994-2003 SEIKO EPSON CORPORATION, INC. Installation Notes ================== 1. EPSON RC+ 3.6.2 must be installed on Windows 2000 Professional with Service Pack 3 or 4 for full functionality. EPSON RC+ 3.6.2 can be installed on Windows XP for offline use only. Windows NT 4.0 is supported in versions prior to 3.5.0. 2. If you are upgrading, please refer to the upgrade notes found later in this file. 3. You must be logged in as Administrator to install. 4. To install: a. Insert the EPSON RC+ installation CD. b. The setup program will start automatically. c. If setup doesn't start, run e:\EpsonRC\setup.exe where e: is the CD drive. d. Follow the instructions on the screen. 5. When you reboot the system for the first time after installation, you must use the same login name that you used for installation. This is so that system files are updated properly. 6. In order to run SPEL programs, you must install the SPEL Runtime Drivers. This is specified during installation. 7. To use EPSON RC+ on a PC that will not be running a robot, such as a laptop, do not install the SPEL Runtime Drivers option. 8. To use Vision Guide without a frame grabber, select VGA mode. 9. You can install EPSON RC+ on the same system where SPEL for Windows v1.xx or v2.xx is installed. The EPSON RC+ installation creates a new Windows program group and no files are shared with v1.xx or v2.xx versions. 10. When using the VB Guide option, you must install Visual Studio 6.0 Service Pack 4 or greater. Getting Started =============== After installation, there will be a program group called "EPSON RC+". A desktop shortcut is also created. To start EPSON RC+, either double click the desktop shortcut or click Start, then select EPSON RC+ from the EPSON RC+ program group. The very first time you run EPSON RC+, no projects will be open. You must create a new project by selecting New Project from the Project menu. By default, the next time you run EPSON RC+, the last project you were working on will be opened automatically. Getting Help ============ EPSON RC+ has context sensitive help. Press the F1 key at any time to get help for the current operation, or click on the HELP button for the current dialog box, if available. You can get help for SPEL+ language keywords in the Edit window by placing the insertion point anywhere within a keyword and pressing the F1 key. You can also select Contents from the Help menu to open the Help table of contents. First time users should review the Introduction in the help contents. Revision List v3.6.2 ==================== What's New in v3.6.2: 1. Added new TaskStatus event for SPELCom control. See help on EventReceived for details. 2. Added new CommandCompleted event to SPELCom control. 3. Added AsyncMode property to SPELCom control. This allows several methods to be executed asynchronously. 4. Added two methods to support SPELCom AsyncMode: WaitCommandComplete and WaitAbortComplete. 5. The SPELCom control is now thread safe for use with VC++ 6.0 and 7.0, VB .NET, and C#. 6. Added new commands for Ethernet I/O to support counters. ENetIO_ReadCount, ENetIO_DigGetConfig, ENetIO_DigSetConfig Any digital input can be configured as a counter. Quadrature encoder counters are also supported. 7. Added support for several Ethernet I/O modules: SNAP_AIMA, SNAP_AIMA-4, SNAP-AIARMS, SNAP-AIVRMS, SNAP-AOA3, SNAP-AOA23, SNAP-AOA28, SNAP-AOD29, SNAP-IDC5Q SNAP-AICTD, SNAP-AICTD-4, SNAP-AIR40K-4, SNAP-AIRATE, SNAP-AIRTD, SNAP-AITM, SNAP-AITM-2 8. The default setting for the SPELCom Timeout property has been changed from 10 to 0 (disabled). What's Fixed in v3.6.2: 1. Fixed Cnv_RobotConveyor function when used in an expression. 2. Improved timing for Trap Error and Trap Abort. -Trap Error is no longer aborted by the system before it's finished. -Now the Trap Error routine must complete before Trap Abort is called (if armed). -Now if there is a Trap Abort handler in SPEL+ and Abort is executed from SPELCom, the SPELCom Abort waits for the Trap Abort routine to execute before returning. 3. Now if Cont is executed from a SPEL+ task, the SPELCom pause state is set to false. 4. Fixed problems for robot joint enable/disable. After a joint was disabled, it could not be re-enabled. Also, Hofs, Calpls, and McOfs were not being restored after disabling a joint. 5. Fixed DetailLevel for Vision Guide Geometric object. When the Geometric object was taught, the DetailLevel was internally being changed to High. 6. The SPELCom control no longer has an error if you set DesignMode to True to open EPSON RC+, then execute Stop Debugging from Visual C++ and restart the application. 7. Fixed Stat(0), bit 0x20000 (Pause). Now when safeguard is open and closed, this bit is on. 8. Added new warning messages when RC+ starts: a. If one or more options have been installed, but there is no software options key or the options are not enabled in the key. b. If one or more options are enabled by the user, but the option is not installed. 9. Fixed Cnv_Point for sensor conveyor. In previous versions, x and y arguments were ignored. 10. Improved conveyor tracking for pick up position. 11. Fixed video display for Run window and Operator window. Sometimes after the first VRun, the video was not updated. 12. Fixed internal error 5 for Japanese Windows that sometimes occurred when OK is clicked on the System Configuration dialog and the Windows task bar Always on top property is off. Revision List v3.6.1 ==================== What's New in v3.6.1: 1. EZ Modules are now supported. 2. PG robots are now supported. 3. Cnv_AbortTrack and Cnv_Fine conveyor tracking commands are now supported. 4. Vision Guide ShowModel dialog now uses nearest neighbor algorithm to display zoomed model and model origin cross hair width is the same as the zoomed pixel width. 5. The Val function now supports hexadecimal (&H), octal (&O), and binary (&B) numbers. 6. Added two new SPEL+ commands: SyncLock and SyncUnlock. These commands allow you to control a resource from multiple tasks by allowing only one task at a time to handle it. What's Fixed in v3.6.1: 1. Fixed problem where user clicks on X button to close RC+, but cancels saving the program. Then Project | Save All would not work. 2. Fixed problem for Input statement when used after a Print statement that suppresses the end of line. For example: Print "Enter value", Input aValue 3. More data validation was added to Vision Guide calibration cycle. Now if data is invalid during calibration, such as with invalid robot points or vision results, the correct error message is displayed, instead of internal errors. 4. Fixed robot vision coordinates on Vision Guide dialog for multiple robots. If you change the current robot to one that is different for the calibration you are using, then the robot vision coordinates were wrong. 5. Fixed jog distance for values less than .01 mm. Previously, if a jog distance of less than .01 mm was specified, the robot did not jog. 6. Fixed Shutdown when used in single line If statement. For example: If a = 1 Then Shutdown In previous versions, there were compiler errors. 7. Fixed Smoothness property for Vision Guide Geometric tool. If the value was changed, the new value was not being loaded at startup. 8. Fixed jog distance for OP. When the jog mode was changed, the jog distances were not being updated. 9. Fixed MPD file load after new robot is created. If a robot was created and the MPD file was immediately loaded, then after closing the System Configuration dialog, the values from the MPD file were not in use. 10. Fixed problem for SavePoints and Jog & Teach. If Jog & Teach was previously opened, and SavePoints was executed for a new point file, then if Jog & Teach was opened using RunDialog, the new point file was not in the Jog & Teach point file list. 11. Fixed robot number and joint number for Japanese and German OP error history. Previously, these fields were always blank. 12. Fixed crash for VB Guide demo when used with Japanese VB 6.0. Sometimes when switching dialogs that use video, a memory access violation would occur. 13. Fixed F1 key for VB Guide help from within VB. Revision List v3.6.0 ==================== What's New in v3.6.0: 1. Added support for OP500RC operator pendant. 2. Added optional error number parameter to Trap Error. This allows you to obtain the error number of the trapped error. See help for details. 3. Vision Guide calibrations now support robot Base settings other than default. 4. Security passwords are now displayed in asterisks on the Setup | System Configuration dialog Security tab. 5. The nomenclature for Attend On/Off has been changed to Teach / Auto. Teach mode corresponds to Attend On and Auto mode corresponds to Attend Off. 6. Added two new events for VB Guide: Teach mode and Auto mode. See help on EventReceived for details. 7. Improved Vision Guide camera switching. Now when the frame grabber camera channel is switched, the video signal is locked more reliably before the next grab. Also, the delay time between camera switches has been reduced. What's Fixed in v3.6.0: 1. FmtStr no longer appends a CRLF at the end of the formatted string. 2. Fixed problem with moving to points from Vision Guide jog tab if Project Save As was executed using a project name that never previously existed. 3. Fixed Wait when used with the following functions: In, InW, Out, OutW, Ctr, Lof, Motor, MCalComplete It was not waiting for the expression to become true when these functions were used. 4. Fixed Defaults button for Inertia tab of Robot Parameters dialog. The values were incorrect. 5. Fixed problem for Exit Do inside For...Next. The For loop was exited, not the Do loop. 6. If $ prefix was not used with memory I/O label in an On or Off statement, then the statement compiled incorrectly. Now a $ is added automatically. 7. XC55n camera type can now be selected when using Meteor2/MC frame grabber. 8. Fixed problem with error 419. Previously, if one task was waiting to execute certain commands (including vision) and several other tasks were also executing these commands, then after 3 seconds error 419 could occur. 9. Fixed overflow error for Vision Guide Edge tool. If an edge was found, and then not found for a few hundred cycles, an overflow error could occur. This exact not found count depends on the score when found. 10. Fixed local variable problems when tasks were being Quit and no abort occurred. Sometimes local variable values could be changed after making a function call. This was more likely to happen when SPEL+ tasks are started from VB Guide. 11. If the MsgBox title parameter is blank or empty, the system was hanging. 12. Fixed problem for breakpoints. If you resume a task, then clear a breakpoint, the breakpoint appeared to be cleared, but it was not. Revision List v3.5.0 ==================== What's New in v3.5.0: 1. Windows 2000 is now supported. 2. Added new Conveyor Tracking option. 3. Added stand alone mode support. This allows PC control unit to be used as an I/O controller. 4. Added support for Japanese and German GUI. 5. Added new functions PLabel$ and PNumber. PLabel$ returns the point label associated with a point number. PNumber returns the point number associated with a point label. 6. The Pulsar frame grabber board for the Vision Guide option is no longer supported. 7. Added StartPointObject, StartPntObjResult, StartPointType, EndPointObject, EndPntObjResult, EndPointType to Edge tool in Vision Guide. 8. Added three new events for VB Guide: Continue, Motor On/Off, Power High/Low. See help on EventReceived for details. 9. Borland Delphi is no longer supported in VB Guide. 10. Duplicate I/O labels and User Error labels are now checked at save time, not at entry time. This allows you to copy and paste groups of labels, then change the copied labels, without error messages. 11. Duplicate point labels are now checked at save time, not at entry time, when using the point file editor. This allows you to copy and paste groups of labels, then change the copied labels, without error messages. When entering point labels from Jog & Teach, duplicates are still checked at entry time. 12. Vision Guide Correlation objects can now find up to 999 results. What's Fixed in v3.5.0: 1. Fixed compiler for I/O labels used on left side of statement. Now the correct error occurs during build. 2. Function drop down list now works on programs that use line numbers. 3. Fixed CurrentResult property for Vision Guide. Setting CurrentResult from SPEL+ was setting the value to 1 internally. 4. Fixed occasional "Permission denied" error when deleting a project. 5. Now Ethernet I/O can be monitored when SPEL drivers are not enabled. 6. Fixed AngleEnable property for Vision Guide Correlation object. If AngleEnable is changed from True to False, angle results are now 0, instead of previous angles. 7. Fixed expression with negative numbers on both sides of statement. For example, this statement would not compile in previous versions: If -1 + 1 = -2 Then 8. Fixed EResume Next problem. Sometimes in a fast loop that causes and error and the error handler used EResume Next, the task would stop. 9. Fixed save problem for point files from Jog & Teach. Sometimes when working with multiple point files, a point file would not be save properly when switching files. 10. Made improvements for SPELCom events. In previous versions, after Abort was called, no events were being fired until RESET was executed. This has been fixed. Also, if Pause is executed from VB and no tasks are running, a Pause event is fired. 11. Fixed problem for jump to function from toolbar. If program window was maximized, then jump to function would change the window state to normal size. 12. Video is no longer disabled when focus is lost and color resolution is 16 bits / pixel or more. 13. Variables will now work in parallel processing statements. Revision List v3.4.1 SP3 ======================== What's Fixed in v3.4.1 SP3: 1. Fixed remote outputs for current robot. When the current robot is changed via remote inputs, the remote outputs related to robot status were not being updated. 2. Fixed Wait when used with the following functions: In, InW, Out, OutW, Ctr, Lof, Motor, MCalComplete SPEL+ was not waiting for the expression to become true when these functions were used in a Wait statement. 3. Fixed mouse caret for Vision Guide sequence and object properties. If you clicked on a result value, then clicked on a property that contains text, the text cursor (caret) did not a appear. Revision List v3.4.1 SP2 ======================== What's Fixed in v3.4.1 SP2: 1. Fixed problem for quick pause. If QP OFF is executed in a program and QP ON is executed later, Pause did not work correctly. 2. Fixed error 4242 when safeguard was opened during Pass and Cont was executed. 3. Fixed crash condition that can occur when EXIT FUNCTION is used in a single line IF statement. For example: If a = 1 Then Exit Function In rare cases, this could cause RC+ to crash. 4. Fixed problem for Vision Guide calibration. In the Calibration dialog, only 4 cameras were allowed for Meteor2 frame grabber. This has been fixed to allow 12 cameras for Meteor2. Revision List v3.4.1 SP1 ======================== What's Fixed in v3.4.1 SP1: 1. The ES653S robot model can now be added. 2. Error 4103 was fixed when jogging to teach calibration points from Vision Guide. 3. The I/O type column was fixed for the I/O Label Editor when used with Ethernet I/O. 4. Fixed video update when strobe is used. 5. Fixed remote outputs for current robot. 6. Fixed problem for Error statement. If Error was used in a function without error handler, then variables in the calling function had incorrect values. 7. Fixed local variable initialization problem. If a program was aborted, then run again, the local variables in the aborted function were not being initialized. 8. Fixed error 76 when Setup | System Configuration was selected and Vision Guide was installed in VGA mode. Revision List v3.4.1 ==================== What's Fixed in v3.4.1: 1. Default points are now loaded after switching group using remote inputs. 2. First Print statement can now be seen on the Operator Window after starting a program using remote input. 3. Hofs and MCOfs can now use 8 digits from the Robot Configuration dialog. 4. Fixed auto start from Operator Window if mode was switched to Program / Debug during start up. Now auto start is correctly disabled in Program / Debug mode. 5. Fixed step through Restart and Chain statements. 6. Newly added point files are now displayed in the Jog & Teach dialog point file drop down. 7. Fixed problem with For...Next when used in a GoSub routine. 8. Fixed problem where sometimes the label for P0 was being deleted when switching point files from Jog & Teach. 9. CtrlDev function now returns correct values. 10. RobotModel$ and RobotType functions now work without the RobotNumber parameter when used in an expression. In previous versions, you had to always use the RobotNumber argument. 11. Fixed Run Window title when CtrlDev is remote. 12. You can no longer change the group on the Run window when tasks are running. 13. The Point number column is now displayed correct when opening the I/O label editor for Ethernet I/O. 14. Fixed ByRef variables when used on right side of statement inside a function other than the main function. 15. Fixed memory access violation errors that sometimes occurred with ParseStr or Redim string. 16. Fixed variable display using mouse hover for function parameters. 17. Fixed password for Administrator in Security option. It was not functioning. 18. Fixed TCPIP_PortNumber parameter for SetNet. Now an expression can be used. 19. Fixed problem for Jog and Teach and P* when safeguard is open. Now when safeguard is open, robot XYZU coordinates are updated correctly and the Teach button for Jog and Teach and P* in user programs now works correctly. 20. Fixed Homeset GUI. If Homeset was not defined, and you view the Homeset tab from Projects | Robot Parameters and click OK, then the Homeset values were changed to -999999999. Now they are not changed. 21. Fixed error 419. This error occurred if multiple tasks were attempting vision commands and a sequence was taking more than 3 seconds. Now the timeout is 30 seconds. Revision List v3.4.0 ==================== What's New in v3.4.0: 1. Support for ANSI/RIA 15.06-1999 has been added. Robot motors will now turn off when the safeguard is open. Attend Mode has been added to allow jogging and slow motion with the safeguard open while holding a dead man three position enable switch. Refer to the Safety chapter in the EPSON RC+ User's Guide for more information. 2. Now the default installation drive is D, if it is available. When configured at the factory, drive D is used for EPSON RC+ because it is formatted as an NTFS drive, which is more reliable. It is recommended that you always install on drive D when not using EPSON RC+ off line. 3. I/O labels can now be used in expressions. This allows you to pass a label to a function or use it in an integer expression. 4. During stepping through code, if the step line is the last line in the window, the step line is centered in the window. 5. Now there is a message box stating when a Find has been completed, instead of wrapping around to the first search result. 6. The OCR object Character Constraints dialog was improved. Now the font characters are displayed and can be copied and pasted into the constraint column. 7. A pop up menu has been added to the Jog and Teach dialog for Free Axes. If you right click anywhere in the Free Axes group, a menu is displayed to Free All or Lock All. 8. Improved connection time for OpenNet. A new parameter has been added to specify Server or Client. 9. Added new operation modes: Production / Debug Production / Operator Production / Remote See the on line help for details. 10. Added status bar to Operator Window to show emergency stop, safe guard, and date/time. 11. Added the following remote outputs: AtHome: This output is only on when the robot is at the home position. EnableOn: This output is on when the dead man switch is engaged during attend mode. MotorMode: Current user motor mode setting. PowerMode: Current user power mode setting. See on line help for details. 12. Now remote input and output names can be used in I/O status functions Sw and Oport. For example: If Sw(AtHome) = Off Then Home EndIf 13. Now the Run Window function list displays function names in sorted order after the main function. What's Fixed in v3.4.0: 1. Fixed CX, CY, CZ, CU, POrient, and PLocal when used with P(expr) or Pnumber. 2. Added EStop and Safety status to the main window status bar. 3. Added new SPEL+ function called JT. JT returns the status of the last Jump command for the current robot. See help for details. 4. Fixed import for user errors. User errors could not be imported from other projects. 5. Fixed font change for editor. If monitor window was open when editor font was changed, the monitor window used the editor font until the next session. 6. Fixed the RTS/CTS check box for Comm Ports configuration in Setup | System Configuration | Comm Ports. 7. Fixed vision graphics when OCR tool is in use. Sometimes when stepping through a sequence, some objects were being drawn with dotted lines instead of solid lines. 8. If a comment included two or more apostrophes, then during debug stepping, the debugger would step through the line containing the comment. 9. The vision Correlation object no longer moves to it's CenterPointObject position during teach. 10. If User Errors are changed, the event is now logged in security audit database. 11. Fixed User Errors. If a label was removed, the project programs were not being recompiled. 12. Fixed OCR frame problem. If an OCR object was in a frame and the frame step was changed because an object with a lower step number was deleted, a type mismatch error was occurring when the sequence was run. 13. Fixed problem for Correlation object. After starting a session, the search parameters were set internally to the values at teach time. 14. Fixed Display Variables dialog for local strings. When the string value was changed, the new value was not being retained. 15. Fixed bad identifier error when using mixed data types with Input. For example, the following statement was causing an error: Input a, b$ 16. User function names can no longer have the same name as a DLL function name. Now an error will occur. 17. Fixed problem for point labels that were maximum length (16 characters). In 3.3.0, internal errors were occurring during point file save or project build. In previous versions, point labels with 16 characters were causing memory corruption. 18. Fixed line numbers when errors are reported and program has been numbered. 19. Fixed bug for CameraBrightness and CameraContrast properties. They were not being loaded when a new session of EPSON RC+ was started. This only affects vision systems with Meteor2 frame grabbers. 20. Fixed error 231, 'MCAL has not been completed' during VRun at runtime if robot is not robot 1 and MCAL is executed at runtime. 21. Fixed PDef function so it handles point labels and Pxxx. 22. Fixed Point object when used with Frame. If the point location is not in the video image, it is considered not found. 23. Fixed VGet when some arguments are an array variable but the last argument is not. Error 416, "Not an array", was occurring. 24. Fixed problems for nested #ifdef statements. 25. Fixed XYLim, Local functions. These functions return a point. p1 = XYLim(1) p2 = Local(1) 26. Fixed TlSet when used with a point. TlSet 1, p1 27. Fixed macros that defined multi-statements when defined in an include file. #define PRN_DATA(a, b) Print "Data a = ", a; Print "Data b =", b 28. Fixed build problem for include files. If an include file had a statement with a syntax error, then the compiler would not catch it. 29. Fixed For...Next problems: A. When Exit For or Exit Function was used to abort a loop in a called function from another For...Next, the loop would not terminate. B. If the For...Next variable value was already outside the range of the loop, the loop was executing one time. Now it does not. 30. Fixed single line If problem when multi-statements are used. Multi-statements were not all attached to the if condition. For example, in the following code, b was printed, even though the If condition was false. a = 0 If a = 1 Then b = 2; Print b Now all multi-statements on a single line If statement are only executed when the If condition is true. 31. An expression can now be used in the Pallet function for the palletNumber parameter. For example: P1 = Pallet(a + 1, 1, 1) 32. Improved Select TRUE for certain Case statements to be more compatible with the SPEL language used on SRC-3** controllers. Since TRUE is -1 in SPEL+, but 1 in SPEL, the following statements were not executing properly, because Sw(xxx) or Oport(xxx) evaluate to On (1) or Off (0), instead of -1 or 0. Now this code will work in SPEL+, too. Select TRUE Case Sw(1) Print "case 1 is true" Case Sw(1) And Sw($2) Print "case 2 is true" Case Oport(3) Print "case 3 is true" Send However, we recommend adding a Boolean expression to make it read more clearly: Select TRUE Case Sw(1) = On Print "case 1 is true" Case Sw(1) = On And Sw($2) = On Print "case 2 is true" Case Oport(3) = On Print "case 3 is true" Send 33. Fixed problem for robot point file on Jog & Teach after changing the current robot outside of Jog & Teach. The wrong point files were shown in the Point File drop down list.