Release Notes - Robot Application Builder 5.11

 

 Contents

 

            Introduction     

            Installation       

            Hardware and software requirements

            Compatibility   

            Licensing

            PC SDK

                        Compatibility

                        Updates

FlexPendant SDK

Debugging the device

            Compatibility

                        Updates

Known limitations        

            Product Support

 

Introduction

This file contains release notes for Robot Application Builder (RAB) 5.11. The information should be considered as last minutes information and most up-to-date.

 

RAB 5.11 is included on the RobotWare 5.11 DVD and can be used for free by anyone who wants to develop a customized operator interface for the IRC 5 controller. No license is required to use Robot Application Builder. The end-user of a FlexPendant SDK application, however, needs the RobotWare option FlexPendant Interface on the targeted robot controller. Likewise, to make use of a PC SDK application PC Interface is required on the targeted controller.  

 

To install Robot Application Builder you click the RAB button of the RW Install Shield application. This installs both PC SDK and FlexPendant SDK side by side with any previous RAB version. The RAB User's Guide is available from the DVD before installation. See chapter 2, Installation and Setup, for installation details.

 

The installation includes software, documentation and tools as specified below:

 

Software

PC SDK (5.11) and FlexPendant SDK (5.11)

 

Documentation

User's Guide: Application manual - Robot Application Builder (5.11), Rev C (Html Help and Pdf).

PC SDK Reference (5.11), documentation of class libraries with method signatures in C# and Visual Basic (Html Help).

FP SDK Reference (5.11), documentation of class libraries with method signatures in C# and Visual Basic (Html Help).

FlexPendant Style Guide (Html Help)

 

Tools

ABB Compliance Tool - automatically run when compiling an FP SDK application, creating the  *.gtpu.dll.

ABBControllerAPI.msm - merge module including the PS SDK dlls to be used when a PC SDK application is deployed to a customer’s PC

ABB Industrial Robot Communication Runtime.msi - to be used when a PC SDK application is deployed to a PC without RobotStudio

 

After installation the documentation can be launched from Windows Start Menu\Programs\ABB Industrial IT\Robotics IT\Robot Application Builder 5.11.

 

In no event shall ABB be liable for incidental or consequential damages arising from use of this product, of the software and hardware described in relating product documentation.

 

Visit our web site at http://www.abb.com/robotics for information and updates. Via the Software Products / Software Support Portal links, try out the User Forum at http://213.115.162.163/supportportal/, where RAB developers discuss software problems and solutions online. This is also where you can download RAB 5.10 and RAB 5.11 for free.

 

Installation

Microsoft Visual Studio development environment is used to develop RAB applications. Visual Studio 2005 or Visual Studio 2008 is required on the PC before the installation of RAB 5.11.

 

RAB 5.11 is installed side by side with any previous RAB version. It includes PC SDK 5.11 and FlexPendant SDK 5.11.

 

The default installation path is C:\Program Files\ABB Industrial IT\Robotics IT\Robot Application Builder 5.11.

 

Before you start the installation you are recommended to read chapter 2, Installation and Setup, in the User’s Guide which is available on the DVD in PDF format.

 

Also make sure that you have administrator permissions on the computer that you are using.

 

Hardware and software requirements

Software requirements 

 

Microsoft Windows Vista SP1 or Microsoft Windows XP SP2

Note! Robot Application Builder does  not yet support 64-bit editions.

 

Microsoft Visual Studio 2005 or

The FlexPendant SDK requires Standard edition or better, whereas PC SDK application developers can manage with the Express edition for C# or VB. No separate installation of .NET Compact Framework 2.0 is needed.

 

Microsoft Visual Studio 2008

The Professional Edition or better is required to develop applications for Smart Devices, such as the FlexPendant. No separate installation of .NET Compact Framework 2.0 is needed.

Please note that RAB 5.11 has not been fully tested with Visual Studio 2008.

 

Note!  Robot Application Builder is developed and tested for the English version of Visual Studio.

 

Note! PC SDK requires Robot Communications Runtime to be installed on your PC. It comes with the RobotStudio installation, but can also be installed separately from C:\Program Files\ABB Industrial IT\Robotics IT\Robot Application Builder 5.11\redistributable\RobotCommunicationRuntime after you have installed RAB.

 

Note!  Debugging the FlexPendant device

Depending on the OS, Visual Studio version and FlexPendant version you are using there may be different requirements for setting up and using the Visual Studio debugger on the FlexPendant device. See the section Debugging the device for further information.

 

Recommended hardware 

  • 50 MB free disk-space on the installation hard disk

 

  • Supported FlexPendant device versions

      SxTPU-1 (executes with .NET CF 2.0 and WinCE 4.2)

      SxTPU-2 (executes with .NET CF 2.0 and WinCE 5.0)

IRC5 requirements

  • RobotStudio 5.11 for building a test system and for debugging and testing in the virtual environment
  • For PC SDK applications - RobotWare option "PC Interface" for communication with a real IRC5 controller.
  • For FlexPendant SDK applications - RobotWare option "FlexPendant Interface" for communication with a real IRC5 controller.
  • RobotWare version 5.11

 

Note!  PC applications developed with RAB 5.11 require RobotWare version 5.07 or higher on the IRC5 controller. FlexPendant applications developed with RAB 5.11 should be used with RobotWare 5.11.

 

Compatibility

RAB 5.11 and 5.10 are compatible, there are no breaking changes.

 

The RAB product is under development and compatibility between RobotWare releases cannot be absolutely guaranteed. The goal is to be 100% compatible and the development team tries hard to achieve this. Due to necessary upgrades in the Microsoft platforms or new demands breaking changes sometimes cannot be avoided. There is more specific information on compatibility issues further down in this document.

 

Note! No guarantee is given for backward compatibility. Compatibility between RobotWare revisions is however guaranteed (RAB 5.11 will be compatible with RW 5.11.01 etc).

Compatibility with other products:

  • Use RobotStudio 5.11

 

Licensing

1.      Robot Application Builder NO LONGER requires a design time license.

 

2.      You NO LONGER need to add a Licenses.licx file to your PC SDK development projects.

 

Note! Releases earlier than RAB 5.10, e. g. FP SDK 5.08 and 5.09 included in the RAB 5.10 release still require a license. If you must have such a license you can get one for free by contacting support.

 

PC SDK

 

Compatibility

 

Compatibility PC SDK 5.11 vs 5.10:

PC SDK 5.11 is compatible with PC SDK 5.10. There are no breaking changes.

 

Compatibility PC SDK 5.10 vs 5.09:

PC SDK 5.10 is compatible with PC SDK 5.09. There are no breaking changes.

 

Compatibility PC SDK 5.09 vs 5.08:

The following breaking changes exist between PC SDK 5.09 and PC SDK 5.08.

 

EventHandlers and events

 

For 5.09 the internal event architecture was completely redesigned.

 

  1. All previous event handlers are [Obsolete] and existing events are changed to the EventHandler<TEventArgs> generic delegate.

 

Ex:  This example shows how to change from the old to the new event handler type.

 

// This old line will fail…

myEventLog.MessageWritten += new MessageWrittenEventHandler( OnMessage );        

 

// and should be replaced like this… 

myEventLog.MessageWritten += new EventHandler<MessageWrittenEventArgs>( OnMessage ); 

 

//or preferably…

myEventLog.MessageWritten += OnMessage;

 

  1. Previous versions of PC SDK used the Windows Thread Pool internally to raise events. From 5.09 a single thread is used to dispatch all events. This reduces the risk of race conditions in client code. However, it makes it even more important to use the Control.BeginInvoke( ... )/Control.EndInvoke( ... ) pattern to avoid event starvation.  Additionally, we now raise all events internally prior to any external subscribers, as this will reduce the risk of race conditions between inner and external subscribers.

 

If your application is based on Control.Invoke( ... ) and not on Control.BeginInvoke( ... ) all events will be serialized, both internally and externally. However in previous PC SDK versions you may encounter "out-of-order" events and thread pool starvation through the use of Control.Invoke( ... ).

 

Some public events raise an initial event immediately when the subscription is activated; however this is not consistent or by design and should therefore be avoided. Later versions of PC SDK will remove all initial events.

 

  1. Mastership.Request( ... ) throws an InvalidOperationException if the user is not authenticated against the controller, previous versions raised an ArgumentException

 

Updates PC SDK

- 5.11 vs 5.10

New features:

Development environment:

Changed installation (supports working with several PC SDK versions side by side on a PC)

Robot Application Builder 5.11 is installed side by side with any previous RAB version. It includes PC SDK 5.11 and FlexPendant SDK 5.11

Support for Windows Vista

Support for VS 2008

            Note! RAB 5.11 has not yet been fully tested with Visual Studio 2008.

 

Miscellaneous (new classes, events and methods):

IOSystem.GetIOBuses (gets all IO buses of the controller)

IOSystem.GetIOUnits (gets all IO units of the controller)

IOBus properties (Name, State, Type)

IOUnit properties (Name, Bus, Address, Type, Logical State, PhysicalState)

IOUnit events (SignalChanged event, StateChanged event)

Task.SetProgramPointer

Task.SearchRapidSymbol & Task.GetRapidData now support accessing RAPID data declared in SHARED module

Limitation: RAPID data declared in a SHARED HIDDEN module cannot be accessed.

 

- 5.10 vs 5.09

New features:

New domains:

Messaging (Together with RAPID Message Queue this functionality represents a new, flexible way for a RAB application to interact with a RAPID task. It makes use of the IPC mechanism provided by Microsoft Windows OS for facilitating communications and data sharing between applications.)

Miscellaneous (new classes, events and methods):

High priority event subscriptions. (To speed up event notification you can set up subscription priorities. This applies to I/O signals and persistent RAPID data.)

MechUnit.DriveModule (Gets the drive module of the mechanical unit.)

Controller. ReleaseUnmanagedResources(Should be called periodically by the application developer to release unmanaged resources.)

 

FlexPendant SDK

 

Debugging the device

 

Depending on the OS, Visual Studio version and FlexPendant version you are using there may be different requirements for setting up and using the Visual Studio debugger on the FlexPendant device. XP, VS 2005 with SP1 is required to debug the FlexPendant without any adaptations. The procedure for this is described in User’s Guide.

 

Service Pack 1 or 2 for .NET Compact Framework 2.0 (.NET CF 2.0 SP2) is required for setting up and using the Visual Studio debugger on the FlexPendant device. These can be downloaded from http://www.microsoft.com/downloads.

 

To debug with VS 2008 (as well as VS 2005 without SP1) you must follow a procedure that will be presented on the RAB User Forum. The procedure will be different for each RobotWare release.

 

If your PC is running under Windows Vista “Windows Mobile Device Center” needs to be installed in order to connect to the device.

 

Further information and updates concerning this topic will from this release be published on the RAB User Forum.

 

 

Compatibility

 

Compatibility FlexPendant SDK 5.11 vs 5.10:

 

·           FlexPendant SDK 5.11 is compatible with FP SDK 5.10.

 

Compatibility FlexPendant SDK 5.10 vs 5.09:

 

·           FlexPendant SDK 5.10 is compatible with FP SDK 5.09.

 

Compatibility FlexPendant SDK 5.09 vs 5.08:

 

·           FlexPendant SDK 5.09 is compatible with FP SDK 5.08.

 


Updates FP SDK

 

-5.11 vs 5.10

 

New features:

           

            Development environment:

Changed installation (Robot Application Builder 5.11 is installed side by side with any previous RAB version. It includes PC SDK 5.11 and FlexPendant SDK 5.11)

Support for Windows Vista

Support for VS 2008 (Professional Edition is required to develop applications for Smart devices, such as the FlexPendant)

Note! RAB 5.11 has not yet been fully tested with Visual Studio 2008.

 

Localization:

Support for localizing a FP SDK application to Russian (Ru).

 

New UI controls:

Note! These controls are in beta status, further information in the section Known limitations in this release

            - BarGraph

            - CheckBox

            - Graph

            - Led

            - NumEditor

            - NumericUpDown

            - PictureBox

            - RadioButton

            - DataEditor

            - Switch

 

            New properties in existing UI controls:

            -TpsLabel

                        - WordWrap: multiline instead of tooltip

                        - MultiStates

                                    - AllowMultipleStates

                                    - SelectedStateIndex

                                    - SelectedStateValue

                                    - States

                                    - BaseValue

 

            -Button

                        - Image, grays out a button that is disabled

                        - BorderStyle

                        - MultiStates

                                    - AllowMultipleStates

                                    - SelectedStateIndex

                                    - SelectedStateValue

                                    - States

                                    - BaseValue

 

Miscellaneous (new classes, events, methods and properties):

- Task.Enabled (get/set the status of the task on the task selection panel on the FlexPendant, i.e. whether the task should be started when the user presses the start button of the FP.

- Task.CallRoutine, Task.CancelCallRoutine (calls and starts a service routine or an ordinary RAPID routine without parameters with kept execution stack)

- Task.SearchRapidSymbol, Task.GetRapidData (possiblility to access RAPID data declared in SHARED module (but not in SHARED HIDDEN).

Not yet any support to do this from the Designer (using RapidDataBindingSource)

- Controller.Restart

- Support for preventing users from unintentionally closing FP SDK applications launched automatically at warm start. Automatic views have become visible in the ABB menu to allow the user to relaunch in the normal way. Also, a named parameter "Closeable" can be used to disable the close button of a view (see examples below).

 

VB:

<Assembly: ABB.Robotics.Tps.Taf.TpsView("VB", "xyz32.gif", "xyz16.gif", "TpsViewXyz.dll", "TpsViewXyz.TpsViewXyz", StartPanelLocation.Left, TpsViewType.Static, TpsViewStartupTypes.Manual, Closeable:=False)>

 

C#:

[assembly: TpsView("Xyz", "xyz32.gif", "xyz16.gif", "TpsViewXyz.dll", "TpsViewXyz.TpsViewXyz", StartPanelLocation.Left, TpsViewType.Static, TpsViewStartupTypes.Manual, Closeable = false)]

 

- Support for closing an FP SDK application programmatically by calling CloseMe from the view class (the first view). Limitation: Client views will be removed from TAC when first view is a TpsForm, not when it is a TpsControl.

 

-5.10 vs 5.09

 

New features:

 

            New domain:

SystemInfoDomain (New functionality for retrieving information about the active robot system, e.g. RobotWare version, system name, release and system paths, existing system options and installed additional options.

New classes:

SystemInfo

Option

SystemOption

AdditionalOption

           

Miscellaneous (new classes, events, methods and properties):

Controller.IpAddress (IP address, gateway and subnet mask)

Controller.IsVirtual (Checks whether the targeted controller is real or virtual.)

 Controller.CurrentUser (Returns the current logged on user.)

 

RapidDomain.Routine.TextRange (Enables launch of the Rapid Editor at a specified RAPID routine.)

RapidDomain.Module.PersInSync (Checks if the data of a Module object is still in sync with the real values in the controller.)

RapidDomain.Module.SyncPers (Updates the data of the Module object in case they are no longer in sync with the real values in the controller.)

 

RapidDomain.Task ProgramChanged event (triggered when a module is edited, loaded, added or removed)

                       

Changed behavior in the Controller API:
A System.ObjectDisposedException is thrown when an attempt is made to access an already disposed object.

 

Known limitations

Known limitations in this release

·        The new UI controls in the FP SDK are not described in User’s Guide, nor completely documented in the FP SDK Reference Help. These controls are used by a new ABB tool (ScreenMaker), which can be used to create FlexPendant screens without any need for Visual Studio or any programming skills. But they can also be used as stand-alone controls by FP SDK users. Be aware, however, that they are still in beta status. (ScreenMaker is not yet released, but will only be available as beta in 5.11.)

·        In the PC SDK, the execution of this program sequence throws the exception "Operation is illegal in current execution state" when the second statement is executed:
task1.DeleteProgram();
task1.LoadProgramFromFile(...);

The reason is that the predefined RAPID event routine SYS_RESET executes for a short while when a program is deleted, and it may still be executing when the controller program server is asked to load a program in the second statement. There is no way for the RAB programmer to find out exactly when the event routine has stopped executing, and when it is safe to call LoadProgramFromFile.  Listening to the event Rapid.ExecutionStatusChanged or reading the property Rapid.ExecutionStatus does no good, as these do not react to the start and stop of event routines. The suggested workaround is to use a time delay between the first and the second statement.

The same problem may occur when a request to load a RAPID program is directly followed by a request to start RAPID execution for example. Here, as well, a short delay may be necessary before calling the controller program server again. 

      The same problem may occur in the FlexPendant SDK as well. This limitation    exists in earlier releases as well.

 

  • ArrayData.FillFromString is not correctly implemented in the PC SDK. Users are recommended to use RapidData.StringValue to read and write small arrays (e.g. 100 num variables) in one call.

 

It is now possible to read/write a RAPID array of 100 num as one operation, in previous versions the limit was 97 elements. If the array has more than 100 num elements the array must be read and written element by element. Reading/writing an array of 100 elements takes 15 to 200 milliseconds, depending on available resources on the robot controller and the PC. To write one element of an array will also take 15 to 200 milliseconds.”

 

  • Due to a Microsoft bug the ImageList.Dispose method does not work, causing a memory leak. Microsoft’s advice is to set the ImageList to null instead of calling Dispose. This way the memory will correctly be reclaimed by the garbage collector.

avoid:

imageList.Dispose();

            use:     

imageList = null;

 

Product Support

If you need help or advice while using the product please visit the User Forum referred to in the introduction. For product support please turn to your local ABB office. This link will direct you to a page with your local ABB contacts throughout the world: http://213.115.162.163/supportportal/contacts.html.