Release Notes PC SDK 5.14
Release Notes PC SDK 5.14
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
1/15
Table of Content
GENERAL .................................................................................................................................................................... 3 Release Information .................................................................................................................................................................3 Introduction ..............................................................................................................................................................................3 Installation ................................................................................................................................................................................4 Hardware and Software requirements ...................................................................................................................................5 Compatibility ............................................................................................................................................................................6 Updates in PC SDK 5.10 vs. 5.09.............................................................................................................................................7 Updates in PC SDK 5.11 vs. 5.10.............................................................................................................................................7 Updates in PC SDK 5.12 vs. 5.11.............................................................................................................................................8 Updates in PC SDK 5.13 vs. 5.12.............................................................................................................................................8 Updates in PC SDK 5.14 vs. 5.13.............................................................................................................................................8 Information 5.11.01 .................................................................................................................................................................9 Information 5.12 ....................................................................................................................................................................10 Information 5.12.01 ...............................................................................................................................................................11 Information 5.12.02 ...............................................................................................................................................................11 Information 5.13 ....................................................................................................................................................................12 Information 5.13.01 ...............................................................................................................................................................13 Information 5.13.02 ...............................................................................................................................................................13 Information 5.14 ....................................................................................................................................................................13 Corrected Product Defect Document 5.12 Corrected Product Defect Document 5.12.01 Corrected Product Defect Document 5.12.02 Corrected Product Defect Document 5.13 Corrected Product Defect Document 5.13.01 Corrected Product Defect Document 5.13.02 Corrected Product Defect Document 5.14 PDD.......................................................................................................14 PDD..................................................................................................14 PDD..................................................................................................14 PDD.......................................................................................................14 PDD..................................................................................................14 PDD..................................................................................................14 PDD.......................................................................................................14
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
2/15
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
3/15
General
Release Information
The information should be considered as last minutes information and most up-to-date. For more information please visit Robot Release Information (RRI) Homepage: http://roboticsportal.se.abb.com/prod/!display?action=page&id=351
Introduction
This file contains release notes for PC SDK 5.14 Previously PC SDK and FlexPendant SDK were distributed as the product Robot Application Builder (RAB). Starting with RobotWare 5.13, PC SDK and FlexPendant SDK are distributed together with RobotStudio. The SDKs are not affected by this change. PC SDK 5.14 is included in the RobotStudio installer, which is distributed on the RobotWare 5.14 DVD. It can be used for free by anyone who wants to develop a customized PC operator interface, for the IRC 5 controller. It can also be used to develop RobotStudio addins 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 targeted controller. The installation includes software, documentation and tools as specified below: Software PC SDK (5.14) Documentation Application manual PC SDK (5.14), Html Help and Pdf). PC SDK Reference Documentation (5.14), documentation of class libraries with method signatures in C# and Visual Basic (Html Help). Tools ABBControllerAPI.msm - merge module including the PS SDK dlls to be used when a PC SDK application is deployed to a customers 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 Studio 5.14 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.robotstudio.com/community for information and updates. Click the Download symbol to the right in order to download RobotStudio 5.14, including PC SDK 5.14 for free. Click Developer Tools to learn more about the PC SDK and visit the User Forum, where developers discuss software problems and solutions online.
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
4/15
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 will be installed side by side with any previous PC SDK 5.xx releases. For example PC SDK 5.13 will be installed side by side with PC SDK 5.12. PC SDK 5.14 will upgrade previous PC SDK 5.13 versions. For example PC SDK 5.14 will upgrade PC SDK 5.13. 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 2005 Express or better, or Visual Studio 2008 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
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
5/15
Recommended hardware 10 MB free disk-space on the installation hard disk IRC5 requirements - RobotStudio 5.13.xx for building a test system and for debugging and testing in the virtual environment - RobotWare option "PC Interface" for communication with a real IRC5 controller. Note! PC applications developed with PC SDK 5.13.xx require RobotWare version 5.07 or higher on the IRC5 controller.
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
6/15
Compatibility
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 revisions is guaranteed (PC SDK 5.14 will be compatible with PC SDK/RW 5.14.01 etc). 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;
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. 3. Mastership.Request( ... ) throws an InvalidOperationException if the user is not authenticated against the controller, previous versions raised an ArgumentException.
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
7/15
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
8/15
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
9/15
Information 5.11.01
Documentation for RAB FlexPendant SDK has to be rebuilt (DSE8261) The reference documentation for the FP SDK 5.11 has been updated. NumEditor causes NullReferenceException on FlexPendant (DSE8270) When using the NumEditor control in a TpsControl, the ClickEvent raises a NullReferenceException in Taf.exe that requires the FlexPendant to be restarted. When using the DataEditor control in a TpsControl, it does not display an alpha pad when it is clicked. This has now been corrected. PictureBox control not available in toolbox (DSE8358) The FP SDK PictureBox control was missing among the FP SDK controls added to the Visual Studio toolbox. It has now been added. FP SDK application - unwanted entry in ABB menu (DSE8450) In RAB 5.10 an FP SDK application using TpsViewStartupTypes.Automatic in the TpsView attribute did not have an entry in the ABB menu of the FlexPendant. In RAB 5.11 this error was corrected. But no solution was provided for users who relied on the previous behavior and do not want an entry in the ABB menu for applications that are launched automatically at start-up. In this revision (5.11.01) a new TpsView argument, StartPanelLocation.None, can be used to prevent Automatic and Invisible applications from showing up in the ABB menu. Note, however, that the FlexPendant project wizard has not yet been changed, so StartPanelLocation.None has to be applied directly in the code (instead of StartPanelLocation.Left /Right). Note! Be aware that FP SDK applications that make use of StartPanelLocation.None using RAB 5.11.01 CAN NEVER be run on RobotWare 5.11, but only on RobotWare 5.11.01 and later!
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
10/15
Information 5.12
FP SDK - Error in designer when creating new VB project (DSE8267) When creating an FPSDK project for VB using an empty form (the default) as the startup view, an error message may be displayed in the designer the first time the viewer is opened. The problem does not occur when the startup type is Form, or in C#. Work around: Close and re-open the designer. FPRapidData creates data object that cannot be disposed (DSE8273) When creating new instances of FPRapidData, FPToolCalibration and FPWorkObjectCalibration, some objects were created internally that could not be disposed by the SDK user. These appeared in the log as possible memory leaks. This has been corrected. The user must dispose the returned RapidDataType object returned by RapidData.DataType (See FP SDK Ref Help.) Data binding with FP SDK controls caused unexpected updates in the controller (DSE8274) Before 5.12, the use of data binding with FlexPendant SDK controls could cause the value of a connected RAPID variable or signal to be changed unexpectedly at instantiation of the GUI control. This could happen if "Data Source Update Mode" of the binding source was set to OnPropertyChanged and a non-default value, not matching the actual value of the connected data/signal, was assigned to the control. For example, if the text of a label was set to "1" in design time and the label bound to an I/O signal with the value "0", the signal would be set to "1" once the label was created. This error has now been corrected. The erratic behavior was first discovered in the new FP SDK controls 'Led' and 'Switch'. For security reasons, their data binding property was disabled in the designer in 5.11. The designer support for data binding for these controls has now been enabled. DataEditor displays unwanted quotation marks with data (DSE8276) Text data, read through the FlexPendant SDK data binding components, does not contain any surrounding quotation marks. No Start Menu link to Compliance tool in RAB Installation (DSE8325) From RAB 5.11 the compliance tool is found in the installation folder. SDK users who frequently use it can manually add the link to the start menu, quick launch, or desktop. FPRapidData returns Cancel when OK button is pressed (DSE8326) The dialogs for RAPID data, tool calibration and work object calibration now return the correct result from user interaction (Cancel or OK). Undocumented output from memShow command (DSE8327) Documentation changed. Console command fpcmd -a output does not match documentation (DSE8328) Documentation changed. Closable property in FP SDK doesn't work correctly (DSE8528) FlexPendant SDK applications that were launched automatically and had the property Closable set to false, were still launched with the close button activated. Applications that were launched on operating mode change were always opened with the close button enabled even if the property Closable was set to false. These problems have now been fixed.
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
11/15
Information 5.12.01
No new info.
Information 5.12.02
From 5.12.02; it is possible to do remote axis calibration and update of revolution counters via PC SDK. Four new methods in name space MotionDomain: FineCalibrate - fine calibrate a specified TCP mechanical unit and axis. The current position of the axis will be the new calibration value. SetRevolutionCounter - set revolution counter on a specified TCP mechanical unit and axis. GetMechanicalUnitStatus - get status of mechanical unit. GetSingleAxisStatus - get status of single axis FineCalibrate and SetRevolutionCounter requires that the system is in Auto mode and Motors off state. These methods also require UAS grants for fine calibration and update rev counters.
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
12/15
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; // Access data declared in a hidden task. // A hidden task has the -hidden attribute defined in the Controller Configuration. data = controller.Rapid.GetRapidData("hidden_task", "module1", "num1"); // Access data declared in a hidden module // A hidden module has the -hidden attribute defined in the Controller Configuration. data = controller.Rapid.GetRapidData("T_ROB1", "hidden_module1", "num2"); // Access data declared in a shared hidden module // A shared hidden module has the -hidden and the -shared attributes defined in the Controller Configuration. data = controller.Rapid.GetRapidData("num3"); // Access data declared in an installed module // An installed module is loaded from a install script using the -install option. data = controller.Rapid.GetRapidData("T_ROB1", "#SYS", "num4"); // Access data declared in an installed hidden module // An installed module is loaded from an install script using the -install and -hidden options. data = controller.Rapid.GetRapidData("T_ROB1", "#SYS", "num5")
Simulate physical setting of input signals on a Virtual Controller It is now possible to simulate the physical setting of the value of an input signal. The previously existing method to set the value of a signal is similar to setting a signal from RAPID. Depending on the Access Level the controller safety system may or may not allow the signal value to be changed. When a physical signal is set by connecting it to +24V the controller cannot prevent it from happening, no matter what Access Level the signal has. By setting the property InputAsPhysical on the Signal class, a subsequent write operation will simulate a physical write. This is important in a scenario where a PC SDK application shall set signal values in order to verify a RAPID program in a Virtual Controller Dnum variable not accessible from PC SDK (DSE9020) It is now possible to access RAPID dnum variables via PC SDK. A new class Dnum has been added. 32 bit group signals is now supported by the PC SDK. (DSE9386) 32 bit group signals is now supported by the PC SDK. Memory leak (DSE9493) There was a memory leak in PCSDK when retrieving ipc messages. It leaked about 400 bytes per message it retrieves, this has now been corrected.
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
13/15
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.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.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. A merge module containing the Robot Communication Runtime is planned for PC SDK 5.14.01.
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
14/15
PDD
DSE8273 DSE8276 DSE8325 DSE8326 DSE8327 DSE8328 DSE8749 DSE8780
PDD
PDD
DSE8903
PDD
DSE9020 DSE9386 DSE9493
PDD
DSE9830
PDD
DSE9926 DSE10140 DSE10169
PDD
DSE10353
ABB Robotics
PRU Title Ref
SEROP
Department
RP5.14
Page
DMRO/ST
2011-04-06
Dealt with by, telephone
15/15
Known Limitations
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. 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. Due to a Microsoft bug the ImageList.Dispose method does not work, causing a memory leak. Microsofts 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; In PC SDK 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." When installing RobotStudio 5.14 on top of RobotStudio 5.13 there will be a prompt if you want to remove or keep the 5.13 installation. If remove is selected then PC SDK 5.13 is removed with RobotStudio 5.13. Please go to the User Forum for updates on this issue. http://robotstudio.com/forum/
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.