Release Notes PC SDK 5.14.03
Release Notes PC SDK 5.14.03
Table of Content
GENERAL ............................................................................................................................................................. 3
Release Information.......................................................................................................................................................... 3
Introduction ...................................................................................................................................................................... 3
Installation ........................................................................................................................................................................ 4
Deployment ....................................................................................................................................................................... 6
Compatibility .................................................................................................................................................................... 7
General
Release Information
The information should be considered as last minutes information and most up-to-date.
Introduction
This file contains the release notes for PC SDK 5.14.03.
PC SDK 5.14.03 is included in the RobotStudio installer, which is distributed on the
RobotWare 5.14.03 DVD.
It can be used for anyone who wants to develop a customized PC operator interface, for the
IRC 5 controller.
It can also be used to develop RobotStudio add-ins that interacts with the controller.
With PC SDK it is possible to create an application that connects to one or several IRC5
controllers, real as well as virtual. No license is required to develop applications using PC
SDK.
The end user of a PC SDK application, needs to have the option PC Interface on the IRC5
controller.
Here you will also find the User Forum, where developers discuss software problems and
solutions online:
http://www.robotstudio.com/forum.
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.
Installation
To install PC SDK click RobotStudio on the RobotWare & RobotStudio DVD. If you select
the default installation option Full, PC SDK will be installed. If you want to install only PC
SDK and not RobotStudio select the installation option Custom.
PC SDK 5.xx will be installed side by side with any previous major version of PC SDK 5.xx,
while minor versions within a release will update to the latest one.
Before you start the installation you are recommended to read chapter 2, Installation and
development environment, in the PC SDK Application Manual which is available on the
Documentation DVD in PDF format.
Microsoft Visual Studio development environment is used to develop PC SDK applications.
Visual Studio 2008 Express or better, or Visual Studio 2010 Express or better is required.
The default installation path is C:\Program Files\ABB Industrial IT\Robotics IT\SDK\PC SDK
5.14.
ABB Robotics
PRU Title Ref
Note! PC SDK application that shall be executed on Windows 7 – 64 bit edition, must be
built with target platform set to “x86”. The default setting in VisualStudio 2008 is “AnyCPU”
Note! PC SDK applications 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\SDK\PC SDK 5.14.\redistributable\RobotCommunicationRuntime
after you have installed PC SDK.
Recommended hardware
10 MB free disk-space on the installation hard disk
IRC5 requirements
- RobotStudio 5.14.xx for building a test system and for debugging and testing in the virtual
environment
- RobotWare option "PC Interface" for communication with IRC5 controller.
ABB Robotics
PRU Title Ref
Deployment
When you build a PC SDK stand alone executable (not a RobotStudio Add-In), and want
to deploy it to the end users computer, you must ensure that all necessary dependencies
are also deployed.
If RobotStudio and the PC SDK are already installed on the end users computer, the
required assemblies may already be in place, but your application installer should not rely
on that.
To make sure that the PC SDK assemblies are deployed, include the merge module
ABBControllerAPI.msm in your setup project. The merge module can be found in the
folder ABB Industrial IT\Robotics IT\SDK\PC SDK
5.14\Redistributable. As an alternative you can include the individual assembly
files and deploy them in the same folder as your executable.
To make sure that Robot Communication Runtime is deployed, inform the end user to
install it. A complete installer which you can distribute together with your application
can be found in the folder, ABB Industrial IT\Robotics IT\SDK\PC SDK
5.14\Redistributable.
Note 1: Deploy the same versions as your application was built with
Please note. It is a requirement of the.NET Common Language Runtime that the exact
same version of the referenced assemblies, as your application was built with, are
available on the target computer.
Compatibility
PC SDK 5.14 and 5.13 are compatible, there are no breaking changes.
PC SDK communicates with the robot controller using the Robot Communication Runtime,
which is designed to be backwards compatible with earlier versions of RobotWare.
Note! Functionality introduced in later versions of RobotWare will not be available for a PC
SDK application that is connected to a controller with an older version of RobotWare.
For example the Messaging functionality is only supported on RobotWare 5.10 and above.
This means that a PC SDK application cannot use the Ipc class when communicating with a
controller with RobotWare 5.09.
The code will compile, but an exception will be thrown at runtime. Application developers are
responsible for handling this scenario in their applications. Please refer to the PC SDK
Reference Documentation for details.
Note! Compatibility between RobotWare minor revisions is guaranteed (PC SDK 5.14.01 will
be compatible with PC SDK/RW 5.14.02 etc).
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;
2. 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.
ABB Robotics
PRU Title Ref
Information 5.14.03
Memory leak
Fixed memory leak issue.
Information 5.14.02
Hint:
To force a PC SDK application built with an earlier version of the SDK, for example
5.14.01, to use the 5.14.02 assemblies, without first rebuilding it, you can include an
assembly binding element in your app.config file. This may be useful on your
development machine. On the end users machine it is recommended to deploy the
correct assemblies. See section Deployment for more information.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="ABB.Robotics" publicKeyToken="1da709b7d1f14b7b" culture="neutral" />
<bindingRedirect oldVersion="5.0.0.0-5.65535.65535.65535" newVersion="5.14.2027.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ABB.Robotics.Controllers" publicKeyToken="1da709b7d1f14b7b"
culture="neutral" />
<bindingRedirect oldVersion="5.0.0.0-5.65535.65535.65535" newVersion="5.14.2027.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
By calling controller.IsMaster you can check if you have mastership over all the
resources.
Note:
The fill from string implementations of all RAPID data type classes like “Bool”,
“RobTarget”, “Num”, etc, is documented to through a RapidDataFormatException if
the string is not of the correct format. However the behaviour was different than the
documentation and various .NET exceptions like NullReferenceException, as the
general PC SDK GenericControllerException was thrown instead.
When fill from string was implemented for array types, it was desired to have the
same error handling as for the atomic types, mentioned above.
Throwing RapidDataFormatException instead of GenericControllerException,
would break compatibility. In order to provide a consistent set of fill from string
implementations the current FillFromString method was made obsolete in favour
for FillFromString2 which implements the correct functionality and error handling.
Information 5.14.01
Eventlog.MessageWritten now works on Chinese system
There was a problem with listening to the event Eventlog.MessageWritten on a
controller with Chinese language (culture code ”zh”). This has now been corrected.
ABB Robotics
PRU Title Ref
Information 5.14
Memory leakage in PC-SDK (DSE10353)
A memory leak in the PC SDK method Controller.Rapid.GetRapidData() has been corrected.
No simple installation for PC SDK apps because msm file RCR (DSE10406)
The Robot Communication Runtime is at present not available as a merge module (.msm
file), only as a separate installer. If you are creating an installer for an application built with
PC SDK, it is not possible to let it install the Robot Communication Runtime.
The Robot Communication Runtime must first be installed on the target computer, using the
separate installer, which can be found in the Redistributable folder of the PC SDK
installation.
Information 5.13.02
PC SDK exception in AWPP when running on Windows 7 - 64 bit (DSE9926)
PC SDK can now handle parenthesis in the system or release folders, e.g. "Program Files
(x86)". Previous versions throw an exception.
Information 5.13.01
Connect when controller is in SYS_FAIL state (DSE9830)
A bug in PC SDK 5.13 makes it impossible to connect to a controller which is in sys-fail state.
This has now been corrected.
Information 5.13
It is now possible to access RAPID data that are declared in hidden modules and in hidden tasks.
E.g
RapidData data;
Controller controller;
Known Limitations
PC SDK UIInstructionEvent / RAPID UIListView - if you are using characters like
double quote (“) and brackets ([ ]) in the RAPID array of list item strings, the
UIListViewEventArgs.ListItems may return the wrong number of list items. Avoid
using double quote (“) and brackets ([ ]).
In manual mode, when a PC SDK application releases master and immediately
requests master again, the FlexPendant is locked up when the user presses the
prompt to grant write access to the PC SDK application. In automatic mode there is
no problem.
PC SDK IPC Messaging - the PC SDK erratically ALWAYS sends 444 byte. Data
must therefore be null terminated. Also, there is a problem reading the data if the PC
SDK thread is running as STA. Changing it to MTA will solve that problem.
The property IsLocal on the class RapidData, returns true for shared data, even
though such data is visible from all modules.
The declarations of default zonedata and speeddata has been moved from module
BASE.SYS in each task, and are now installed as shared data.
If an application used to create a RapidData object representing for example
"v1000", the IsLocal property returned false in RobotWare 5.12, but will return true in
RobotWare 5.13."
Product Support
For technical support please turn to your local ABB office.
http://www.abb.com/contacts
For help, advice and the latest updates please visit the User Forum.
http://www.robotstudio.com/forum