Hardware and software requirements
This file
contains release notes for Robot Application Builder (RAB) 5.10. The
information should be considered as last minutes information and most
up-to-date.
RAB 5.10 is
included on the RobotWare 5.10 CD. It can be used by anyone who wants to
develop a customized operator interface for IRC 5 controller. From 5.10 no
license is required to use Robot Application Builder. The RobotWare options PC
Interface/FlexPendant Interface are however still required on the targeted
robot controller, just as before. To install Robot Application Builder you
click the RAB button of the RW Install Shield application. This installs both
PC and FlexPendant SDK. The result is an upgrade of any existing PC SDK to 5.10
and a side-by-side installation of FlexPendant SDK 5.08, 5.09 and 5.10. The
User's Guide in PDF format is available from the CD 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.10)
and FlexPendant SDK (5.08, 5.09 and 5.10)
Documentation
User's
Guide: Application manual - Robot Application Builder, Rev B (5.10).
PC SDK
Reference (5.10), the complete documentation of the class libraries with method
signatures in C# and Visual Basic (Html Help)
FP SDK
Reference (5.10), the complete documentation of the class libraries method
signatures in C# and Visual Basic (Html Help)
FlexPendant
Style Guide (Html Help)
Tools
ABB
Compliance Tool - can be used to download a FlexPendant application to a robot
controller
ABBControllerAPI.msm
- merge module with 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 Online (required for the
Netscan functionality)
After
installation the documentation can be launched from Windows Start
Menu\Programs\ABB Industrial IT\Robotics IT\Robot Application Builder.
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.
Code samples will be published continuously on the portal.
RAB 5.10 requires
Visual Studio 2005 to be installed on the computer. Upgrading the development
environment to VS 2005 is necessary before using RAB 5.10.
From RAB
5.08 the installation includes both PC and FlexPendant SDK. It is recommended
to uninstall PC SDK 5.07 (or earlier) before installing RAB 5.10.
FlexPendant
SDK 5.07 (or earlier) should NOT be uninstalled if they are still needed. (To develop FP SDK applications for
RW 5.07 for example, FP SDK 5.07 is necessary.)
It is not
necessary to uninstall RAB 5.08 before installing RAB 5.10. The result whether
5.08 is uninstalled or not, is an upgrade of PC SDK to 5.10 and a side-by-side
installation of FlexPendant SDK 5.08, 5.09 and 5.10. Windows Control Panel:
Add/Remove Programs will show only one RAB installation: RAB 5.10.
Note! There will be only ONE PC SDK folder at the installation path after the
upgrade to RAB 5.10. This means that the PC SDK 5.09 dlls are no longer
available at the installation path after an upgrade to RAB 5.10. If you want to
continue working with PC SDK 5.09 applications you need to store the PC SDK
dlls elsewhere BEFORE you upgrade to RAB 5.10. As there is no incompatibility
between PC SDK 5.09 and 5.10, however, you may prefer converting the existing
application to PC SDK 5.10. Between PC SDK 5.08 and 5.09 there are some
breaking changes, which means that existing 5.08 applications require some
modifications to compile when moved to PC SDK 5.10. All incompatibilities are
on the PC side, however, and converted applications will still work with RW
5.08.
One way of keeping several versions at the
original installation path is following these steps:
1. Copy the 'redistributable' folder
(C:\Program Files\ABB Industrial IT\Robotics IT\Robot Application
Builder\redistributable) into the PC SDK folder (C:\Program Files\ABB
Industrial IT\Robotics IT\Robot Application Builder\PC SDK). (The redistributable
folder is needed if you need to deploy the application to a customer.)
2. Rename the PC SDK folder (e.g. C:\Program
Files\ABB Industrial IT\Robotics IT\Robot Application Builder\PC SDK 5.09.)
3. Register the PC SDK 5.09 dlls in the Global
Assembly Cache (GAC). This is necessary, as the GAC is used for the run-time
(and if the 5.09 dlls are not available the 5.10 dlls will be used when the
application executes). To do this you open the VS 2005 command prompt and use
the gacutil command, e.g. gacutil
-i "C:\Program Files\ABB Industrial IT\Robotics
IT\Robot Application Builder\PC SDK 5.09\ABB.Robotics.dll". You should do
the same for all PC SDK assemblies.
4. Install the new RAB version.
5. Update the references for your 5.09
application so that they point to the directory where you keep the 5.09 PC SDK
installation (use the Browse tab in the Add Reference dialog
). The Reference Property Specific Version must explicitly be set to
True.
The
installation path is C:\Program Files\ABB Industrial IT\Robotics IT\Robot
Application Builder.
Before you
start the installation you may want to read chapter 2, Installation and
Setup, in the User’s Guide which is available on the CD.
Also make
sure that you have administrator permissions on the computer that you are
using.
Note! As far as we know
Windows
Note! The NetScan component of the PC SDK requires
that either RobotStudio
Online or Robot Communications Runtime is installed on
your PC. The latter can be installed from C:\Program Files\ABB Industrial
IT\Robotics IT\Robot Application Builder\redistributable\RobotCommunicationRuntime
after you have installed RAB.
Note! The FlexPendant SDK
requires VS 2005 Standard edition or better, whereas PC SDK application
developers can manage with VS 2005 Express edition for C# or VB. No separate
installation of .NET Framework 2.0 is needed.
Note! Service Pack 1 or 2 for .NET
Compact Framework 2.0 (.NET CF 2.0 SP1 or SP2) is required for setting up and
using the Visual Studio debugger on the FlexPendant device. It can be
downloaded from http://www.microsoft.com/downloads.
We recommend SP2, as it will also enable the use of Remote Performance Monitor.
Note! Service Pack 1 for VS
2005 is not necessary, but if you have not
installed it you need to do a little workaround to be able to use debugging on the real FlexPendant.
See “Degugging the FlexPendant
device” in User’s Guide for detailed information.
SxTPU-1 (executes with
.NET CF 2.0 and WinCE 4.2)
SxTPU-2 (executes with
.NET CF 2.0 and WinCE 5.0)
Running PC applications developed with RAB 5.10
requires RobotWare version 5.07 or higher on the IRC5 controller.
Running FlexPendant applications developed with
RAB 5.10 requires RobotWare version 5.08 or higher on the IRC5 controller.
RAB 5.10
and 5.09 are compatible, there are no breaking changes.
FlexPendant
debugging, however, involves a minor change, which is detailed in the section
Compatibility FlexPendant SDK 5.10 vs 5.09 further down.
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 of the Microsoft platforms, new demands or bug corrections,
however, breaking changes sometimes cannot be avoided.
The
introduction of the Design Support in the FlexPendant SDK 5.08 and the
environment change from .NET CF 1.0 to .NET CF 2.0 enforced such breaking
changes between FP SDK 5.07 and 5.08, requiring old FlexPendant applications to
be modified and recompiled. Likewise, applications built with PC SDK 5.08 need
some code changes to be moved to PC SDK 5.10. FP SDK 5.10, however, is fully
compatible with FP SDK 5.09 and 5.08. There is more specific information on
compatibility issues further down in this document.
Note! Robot Application Builder is under development
and can be changed without any further notice. No guarantee is given for
backward compatibility. Compatibility between RobotWare revisions is however
guaranteed (RAB 5.10 will be compatible with RW 5.10.01 etc).
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! Earlier
releases, e. g. FP SDK 5.08 and 5.09 still require a license.
PC SDK 5.10
is compatible with PC SDK 5.09. There are no breaking changes.
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.
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;
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.
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.)
New features:
Development environment:
Improvement of PC SDK Reference. Method signatures in C# and
Visual Basic.
Resource Monitoring:
To enable system wide monitoring of PC SDK
based applications support for resource monitoring through Windows Performance
Counters has been added. All counters are part of the ABB Robotics PC SDK
category:
·
Connected
Controllers - the number of connected controllers (simple counter).
·
Controller
Events - the number of events raised by the controller (events / second).
·
Controller
Requests - the number of controller calls (events / second).
These counters are available as global and
process counters. The instance name of the process counters corresponds to the
name of the current process. To start resource monitoring you must install the
counters; this is most easily done through the InstallUtil.exe tool
(administrator privileges required).
c:\> Installutil.exe
ABB.PCSdk.install.dll
Except for the presence of the performance
counter categories and counters the [HKEY_LOCAL_MACHINE\SOFTWARE\ABB\Robotics
IT\Applications\Robot Application Builder] registry key is checked for the EnableLocalCounters
value. If EnableLocalCounters is set to "True" the performance
monitoring code will be enabled.
To uninstall the performance counters, apply
the '/u' argument to installutil.exe.
c:\> Installutil.exe /u
ABB.PCSdk.install.dll
The ABB.PCSdk.Install.dll uses standard .NET
installer classes and therefore it can be included in any Windows Installer
project as a custom action.
New domains:
ConfigurationDomain.
This previously internal API is now public without any additional license
requirement.
Miscellaneous (new classes, events
and methods):
Rapid.Task
MotionPointerChanged event
ConfigurationDomain.ConfigurationDatabase
Read & Write (Direct access methods use to read / write the database)
ConfigurationDomain.ConfigurationDatabase
Load (loads a configuration file into the database)
ConfigurationDomain.Domain.Reset
(resets the domain to its default state)
Controllers.Controller
RobotWareVersion property (fast access to Robot Ware version)
Controllers.Controller
Connected property (can be used to find out if the controller object is
connected to a IRB controller)
Controllers.Controller
Restart (restarts the controller using the specified start mode)
RapidDomain.Task
LoadModuleFromFile / LoadProgramFromFile (if loading succeeded but the
program/module contained errors the method returns false, otherwise true)
Discovery.NetworkWatcher.IDisposable
(the network watcher class now supports IDisposable)
- 5.08 vs 5.07
New
features:
Development environment:
Visual Studio 2005,
Express edition or better
New domains:
Controllers.UserAuthorizationManagement
(contains types needed to manage UAS configuration on the robot controller)
Miscellaneous (new classes, events
and methods):
Controllers.MainComputerServiceInfo
(CpuInfo, BoardType, RamSize, Temperature)
Controllers.NetworkSettingsInfo
(gets/sets the settings of a network adapter (NIC), e.g. IP address, gateway,
subnet mask, Mac address)
FileSystemDomain.FileSystem
GetStorageDevices (gets all available storage devices of the controller)
FileSystemDomain.StorageDeviceInfo
(get/set DriveType, Enabled, Name, ReadOnly)
MotionDomain.MechanicalUnitServiceInterval
(information about service intervals for a mechanical unit)
MotionDomain.MechanicalUnitServiceInfo
(get/set ElapsedCalenderTimeSinceLastService, ElapsedProductionTime,
ElapsedProductionTimeSinceLastService, ServiceInterval etc)
MotionDomain.MechanicalUnitWarningLevel
(all warning levels for the mechanical unit)
RapidDomain.DataParser
& DataFormatter (improved ways of reading and writing RAPID data)
RapidDomain.DynamicArray
RapidDomain.TaskType
(normal, static, semistatic)
EventLogDomain (event
log messages matching the language setting of the controller)
Compatibility FlexPendant SDK 5.10 vs 5.09:
· FlexPendant
SDK 5.10 is compatible with FP SDK 5.09.
Debugging the real FlexPendant
Due to a Microsoft bug in Visual Studio 2005
Service Pack 1, RAB 5.08 and 5.09 users had to
manually add a workaround to the hw_info.xml file to be
able to use debugging on the real FlexPendant. In RAB 5.10, as most users will have installed VS2005 SP1, the
workaround has become the default setting in the hw_info.xml file. This
means, however, that if you have NOT
installed VS2005 SP1 you need to manually remove
this workaround. How to do this is detailed in “Degugging the FlexPendant
device” in User’s Guide.
Compatibility FlexPendant SDK 5.09 vs 5.08:
· FlexPendant
SDK 5.09 is compatible with FP SDK 5.08.
Compatibility FlexPendant SDK 5.08 vs 5.07:
· FlexPendant
SDK 5.08 is NOT compatible with 5.07, due to changes necessary to implement the
new Design Support for the FlexPendant controls. You need to rebuild your 5.07
application.
· In
order to correct a problem generated by the compliance tool (which is
generating the gtpu.dll) the development team was forced to do a change. An
internal parameter name created in the gtpu.dll may have changed in the
gtpu.dll between the usage of the compliance tool 5.07 and 5.08. The internal
parameter name is stored in a configuration file on the controller when setting
up "Additional Test View" and "View on Operation Mode
Change". This configuration file is part of the backup. For 5.08 SDK
applications that have a change in the gtpu.dll and is part of the backup from
5.07 (have used it in either "Additional Test View" or in "View
on Operation Mode Change") you must manually update these settings again
in order to make them work.
Compatibility
- FlexPendant SDK 5.07 vs 5.06:
· ArrayData type has changed from struct to class. The type
definition is also moved from ABB.Robotics.dll to ABB.Robotics.Controllers.dll.
Don't use FillFromString when you create an
ArrayData (the method call is ignored).
· GrantDemandRejectedException is
replaced by MasterRejectException.
Compatibility - Compact Framework 2.0 vs Compact Framework 1.0
· With
the delivery of RobotWare 5.06 rev 4 and 5.07 a new FlexPendant hardware
(SxTPU-2) and system software was introduced. The system software included
updates of the operating system Windows CE from version 4.2 to 5.0 and the .NET
CF from 1.0 to 2.0.
· CF
2.0 is more sensitive for manipulating GUI controls on background threads. It
is not allowed to access any method or property (except Invoke, BeginInvoke,
CreateGraphics, InvokeRequired) of a GUI control from a background thread. If
so a NotSupportedException will be thrown.
· With
the new SxTPU 2 hardware, the image driver was changed from 8 bits to 16 bits,
which will increase memory needs for all images. To avoid an "Out Of
Memory" condition, use Dispose when there is no longer need for an object.
· To
make sure that your FlexPendant SDK 5.06 and 5.07 applications work on the new
FlexPendant you must make a test!
-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.
Types:
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.
-5.09 vs 5.08
New
features:
Development
environment:
Improvement of the FP SDK Reference.
Method signatures in C# and Visual Basic.
New
domain:
ABB.Robotics.Controllers.ConfigurationDomain
Miscellaneous:
ConfigurationDomain.ConfigurationDatabase
Read & Write
Controller Configuration property
(gets the ConfigurationDatabase of the controller)
RapidDomain.Task ExecutionState
(Ready, Stopped, Started, Uninitialized)
RapidDomain.Task
ExecutionStateChanged event
Tps.Windows.Forms.GTPUMessageBox CloseMessageBox
- 5.08 vs 5.07
New
features:
Development
environment:
Design Support for FlexPendant GUI controls in
Visual Studio 2005
Data binding
FlexPendant debugging
Resource Monitoring
New domains:
ABB.Robotics.Diagnostics (Trace, Debug,
GetDiskInfo, GetMemoryInfo etc)
ABB.Robotics.DataBinding
(RapidDataBindingSource, SignalBindingSource)
Miscellaneous (new classes,
events and methods):
Tps.Windows.Forms.GroupBox
Tps.Windows.Forms.TextBox
Tps.Windows.Forms.Label
Tps.Windows.Forms
FpRapidData, new constructor creating the control with the desired element of
the RapidData array
RapidDomain.RecordDataType
Controller
MastershipChanged event
RapidDomain.Task
SetProgramPointer
RapidDomain.Module
CreateRapidData
RapidDomain.Module
CreateRoutine
FileSystemDomain.FileSystem
Exists
FileSystemDomain.FileSystem
GetEnvironmentVariableValue
- 5.07 vs 5.06
New
features:
Controller Backup & Restore
Mastership
FileSystemDomain StorageDevice
SignalCollection & SignalType
& IOFilterType
MechanicalUnit Domain & Jogging
RapidDomain.Module.Name set + get
RapidDomain.Module Create and Delete
RapidData
RapidDomain ProgramPointer
RapidDomain Rapid Start and Stop
program execution
ModPos
Possibility to launch Standard Views
as RapidEditor, Jogging, RapidData,
BackUpRestore, LogOff
Possibility to launch other assemblies
TpsIcon
Arrays, size and dimensions - now
possible to retrieve large arrays element by element
Example:
Do not write: imageList.Dispose();
Write: imageList = null;
Example:
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox1.Font = TpsFont.Font12b;
Note! Make the font change the
last thing you do, as the VS Designer will automatically revert to System.Drawing.Font when another control is added.
The problem may occur if the PC SDK application
is running in a Single Threaded Apartment (STA). The Dispose() call will then
dispose of managed objects, but unmanaged resources (created internally by the
PC SDK) will remain and will not be released by the Garbage collector, as they
must be released in the same context as created by the application. A solution,
a new method that should be called periodically by the application developer,
has been delivered to revisions for 5.07 and 5.09 and for the 5.10 release. If
you encounter leakage problems with a PC SDK application, we recommend that you
upgrade it and implement periodical calls to ReleaseUnmanangedResources()
in the Controller class.
Note! The error appears on
the Virtual FlexPendant only.
In 5.09 and 5.08 VB programmers need to modify
the method themselves to ensure that everything is disposed of properly. The
way to do this is to change the lines:
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
to:
If Not IsDisposed
Then
Try
If disposing Then
//insert clean-up code here
End If
If components IsNot Nothing
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End If
·
Due
to a Microsoft bug, a VB application falsely required a reference to Dcl.Rapid when the class RapidDataType
was used. This has been resolved in RAB 5.10.
Note! The error appears on
the Virtual FlexPendant only. It should not be a problem in RW 5.09.
-
ABB.Robotics.Controllers.MotionDomain.MotionSystem
-
ABB.Robotics.Controllers.RapidDomain.AliasDataType
-
ABB.Robotics.Controllers.RapidDomain.AtomicDataType
-
ABB.Robotics.Controllers.RapidDomain.RapidDataType
-
ABB.Robotics.Controllers.RapidDomain.RecordDataType
-
ABB.Robotics.Controllers.RapidDomain.RapidSymbol
Note! In FlexPendant SDK 5.09
and 5.10 these types implement the IDisposable
interface.
If you need
product support please turn to your local ABB office or visit the User Forum
referred to in the introduction.