Release Notes RobotStudio SDK 5.14.03
Release Notes RobotStudio SDK 5.14.03
RobotStudio SDK
5.14.03
Revision: -
The information in this manual is subject to change without notice and should not be
construed as a commitment by ABB. ABB assumes no responsibility for any errors that
may appear in this manual.
Except as may be expressly stated anywhere in this manual, nothing herein shall be
construed as any kind of guarantee or warranty by ABB for losses, damages to persons
or property, fitness for a specific purpose or the like.
In no event shall ABB be liable for incidental or consequential damages arising from
use of this manual and products described herein.
This manual and parts thereof must not be reproduced or copied without ABB's written
permission.
The original language for this publication is English. Any other languages that are
supplied have been translated from English.
Overview 5
1 Release Information 6
1.1 General 6
1.2 Contents 6
4.3 Controller I/O Signals does not need to have Access Level ALL 9
5.1 General 10
6 Problems Corrected 21
6.1 Solved Product Defect Documents (PDD) since RobotStudio SDK 5.14.03 21
6.2 Solved Product Defect Documents (PDD) since RobotStudio SDK 5.14.02 21
6.3 Solved Product Defect Documents (PDD) since RobotStudio SDK 5.14.01 21
6.4 Solved Product Defect Documents (PDD) since RobotStudio SDK 5.14 21
7 Known Limitations 22
8 Installation Information 23
8.2 Compatibility 23
Overview
Description
This document provides information about the new features, problems corrected, and
installation of RobotStudio SDK.
Product Overview
RobotStudio SDK is included in the RobotStudio installation and can be used for free
by anyone who wants to develop on the RobotStudio platform. It could be scripts, Add-
Ins or applications that can provide new functionality and/or customized user interfaces
in RobotStudio.
It is also possible to call PC SDK to access real or virtual IRC5 controller functionality
from the Add-In.
Custom Smart Components with Code Behind can also be developed using the
RobotStudio SDK.
Visit our web site at http://www.abb.com/roboticssoftware for information and updates.
RobotStudio, including RobotStudio SDK, can be downloaded from the Download
section.
To get started, or to learn more, visit our Developer Center:
http://developercenter.robotstudio.com
Here you will also find the User Forum, where developers discuss software
problems and solutions online:
http://www.robotstudio.com/forum
1 Release Information
1.1 General
Release Name
The release name is RobotStudio SDK 5.14.03 and the build number is 5.14.4771.3070.
For information about RobotStudio, please refer to the document ‘Release Notes
RobotStudio 5.14.03.pdf’.
Release Date
The release date is 11th of April, 2012.
1.2 Contents
Overview
The installation includes software, documentation and tools as specified below.
Software
ABB.Robotics.Math.dll
ABB.Robotics.Environment.dll
ABB.Robotics.RobotStudio.Documents.dll
ABB.Robotics.RobotStudio.dll
ABB.Robotics.RobotStudio.Controllers.dll
ABB.Robotics.RobotStudio.Stations.dll
ABB.Robotics.RobotStudio.Stations.Forms.dll
Documentation
Reference Manual – RobotStudio SDK (Html Help).
After installation the documentation can be launched from the RobotStudio Help Menu,
and Windows Start Menu\Programs\ABB Industrial IT\Robotics IT\Robot Studio
5.14\SDK.
Tools
LibraryCompiler.exe – A tool for batch creation for RobotStudio libraries such as
SmartComponents and Mechanisms.
The poprerty IsNaN on the Matrix4 and Vector3 classes returns a value indicating
whether any elements evaluates to a value that is not a number (NaN).
When building your SmartComponent with the library compiler use the Multiline
attribute of the DynamicProperty element to specify a multi line string property.
4.3 Controller I/O Signals does not need to have Access Level ALL
RobotStudio can now change the value of an input signal in the Virtual Controller even
if the Acess Level is not ALL. For example you can now always change the value of a
Station Logic signal that is connected to a signal in the Virtual Controller regardless of
the accress level.
Setting a signal in this manner is identical to setting a physical I/O signal (that is to
apply +24V or 0V). The Access Level cannot not stop +24V to be connected to a
physical signal. Now the Virtual environment behaves the same.
Hint: Using PC SDK you can change a signals value in the same manner by using the
property Signal.InputAsPhysical.
Overview
This section contains information about the new features in 5.14.
Section 5.2 describes how you can take advantage of new RobotStudio features in your
application. Sections 5.3 contains a list of new methods and types sorted by namespace.
Fluent UI
The RobotStudio 5.14 user interface is redesigned and now uses the Microsoft Office
2010 Fluent user interface. Applications built for previous version of RobotStudio that
added user interface elements in the Ribbon does not need to be updated in order to take
advantage of the new style.
The main difference compared to Office 2007 look and style, besides the visual
appearance and color scheme, is the Backstage tab.
The backstage tab replaces the application menu of RobotStudio 5.13.
It is currently not possible for applications to add their own content to the backstage
tab.
Accelerated simulation
An option to run the simulation as fast as possible has been added to the Simulation
Accuracy section of the RobotStudio options.
This option corresponds to the new property Simulator.FullSpeed.
It is possible to set the resolution (virtual time step size) and simulation speed (how fast
the virtual clock is advancing) using the properties Simulator.Resolution and
Simulator.SimulationSpeed.
When the simulator is running in full speed it will execute the next time step as soon as
the calculation for the previous one is completed, as fast as the CPU allows. The
predicted execution times for the Virtual Controllers will not be affected.
Markups
The new Markup class together with the Station.Markups property can be used to
annotate your station. The markups will be persisted in the station file, as opposed to
temporary graphic text boxes.
AutoConfig options
The performance of the methods that retrieves a list of all available configurations has
been greatly improved. It is now possible for applications to have interactive user
interfaces which needs to constantly retrieve the available configurations.
There new overload
Mechanism.GetAllConfigurations(RsTarget target, RsToolData tool,
Boolean includeTurns) lets you decide if you want to get only the base
configuration, or also all configurations resulting from rotations of 4 and 6.
DataRecorder
The new Signals Analyzer feature is built on top of the DataRecorder API which allows
applications to both provide their own signals which then be selected and analyzed in
the user interface, and also lets applications subscribe to signal changes.
The DataRecorder class is the hub which collects data from all its souces, and
distributes it to its clients, or sinks.
Use the class DataRecorderSource if you would like to provide your own signals to
users, and inherit the base class DataRecorderSink to get notified when a signals
changes value.
The class BuiltInDataRecorderSignals can be used to programmatically access
the signals built in to RobotStudio.
In addition to I/O signals and the EventLog, the following signals can be analyzed:
Signal name RW availability
Controller Signals / <system name> / EventLog
<domain> Any RW version
Controller Signals / <system name> / Mechanical Units / I/O System
<all signals> Any RW version
Controller Signals / <system name> / Mechanical Units / ROB_x / Joint
J1-J6 Any RW version
Near Limit Any RW version
Controller Signals / <system name> / Mechanical Units / ROB_x / Target
Fine Point Any RW version
Target Reached Any RW version
Controller Signals / <system name> / Mechanical Units / ROB_x / TCP
1
Maximum Linear Acceleration in World RW version 5.14
Orientation Q1-Q4 Current Workobject RW version 5.14
Orientation Speed in Current Workobject RW version 5.14
Pos X, Y, Z in Current Workobject RW version 5.14
Robot Configuration cf1, cf4, cf6, cfx RW version 5.14
Speed in Current Workobject RW version 5.14
Total Motor Power RW version 5.14
Smart Components
<all signals> <no RW needed>
1
The signal ’Maximum Linear Acceleration in World’ provides the maximum acceleration of the
current move instruction.
Overview
This section contains information about the new types in the API, and existing types
which has been extended with new methods.
5.3.1 ABB.Robotics.Math
New Types
Extended Types
class BoundingBox
Double Distance(Vector3 point) Returns the distance between this
BoundingBox and a point.
static Double Distance(BoundingBox Returns the distance between two
lhs, BoundingBox rhs) bounding boxes.
BoundingBox Expand(Double amount) Returns a BoundingBox expanded
by an amount in all directions.
static Boolean Returns true if two bounding boxes intersects.
Intersects(BoundingBox lhs,
BoundingBox rhs)
static Boolean Returns true if two bounding boxes intersects.
Intersects(BoundingBox lhs,
BoundingBox rhs, Double tolerance)
class MathExpression
String ErrorText { get; } If the expression is invalid (IsValid returns false),
this property may return more information why.
Double[] Returns the linear coefficients,
GetLinearCoefficients(String[] if this expression is linear in the set of given
variables) variables. Otherwise it returns null.
struct Matrix4
Matrix4(Double[] values, Boolean Creates a matrix from an array of 16 values.
rowMajor);
Boolean AlmostEquals(Matrix4 rhs, Comparison method for vectors
Double tolerance) with tolerance.
struct Plane
struct Quaternion
Double this[Int32 index] Array access.
Vector2
static Boolean operator==(Vector2 Equality operator
lhs, Vector2 rhs);
static Boolean operator!=(Vector2 Inequality operator
lhs, Vector2 rhs);
struct Vector3
Double[] ToArray();
5.3.2 ABB.Robotics.RobotStudio.Environment
Extended Types
class ApplicationMenu
CommandBarControl Gets or sets the active tab of the
ActiveBackstageControl Backstage (file) menu
class UIEnvironment
static Boolean BackstageVisible True if the Backstage (File) tab is currently active,
false otherwise.
5.3.3 ABB.Robotics.RobotStudio
New Types
Extended Types
class AttributeCollection
Boolean TryGetValue<T>(String key, Gets the value with the specified key.
out T value)
Boolean TryGetValue(String key, out Gets the value with the specified key.
Object value)
enum BuiltinQuantity
Power
class ExceptionLogMessage
String GetErrorString() Returns a string containing the aggregated stack
traces and exception messages of the associated
exception, and its inner exceptions.
class Logger
static void AddMessage(String Adds an log message to the logger.
message)
class Options
static void Save() Commits all options to disk.
class ProjectObject
IEnumerable<ProjectObject> Children Enumerates all child objects.
enum ProjectObjectChangeType
UndoRedo The object was changed as a result of an undo
or redo operation.
class Quantity
static Quantity Power
enum ScreenRecorderFileFormat
Wmv Windows Media Video
Mp4 MPEG-4
struct Vector4
Boolean AlmostEquals(Vector4 vec, Comparison method for vectors
Double tolerance) with tolerance.
5.3.4 ABB.Robotics.RobotStudio.Controllers
New Types
Extended Types
class
ControllerObjectReference
ControllerObjectType ObjectType Specifies the type of controller object that is
referenced by a ControllerObjectReference.
class
ControllerReferenceCollection
ControllerObjectReference this[Guid Gets the controller reference at the specified
systemId] index.
5.3.5 ABB.Robotics.RobotStudio.Diagnostics
Extended Types
class ApplicationLogger
static String CurrentLogFile Returns the location of the log file for the
current session.
static void LogException(Exception ex) Adds an exception error message and
flushes the log to disk.
5.3.6 ABB.Robotics.RobotStudio.Stations
New Types
Extended Types
class Body
FaceCollection Faces Gets the FaceCollection that the Shell belongs to.
WireCollection Wires Gets the WireCollection that the Shell belongs to.
static Body CreateFromFace(Face Creates a new Body consisting only of a copy of
face) the given Face
class Camera
Double FieldOfView Gets or sets the field of view, in degrees.
Vector3 UpDirection Gets or sets the up direction vector.
class CollisionDetector
static CollisionType Calculates whether two objects intersect, or
CheckCollision(GraphicComponent whether an object intersects any other object,
object1, GraphicComponent object2, and returns the intersecting Parts.
Double nearMiss, DetectableUsage
detectableUsage, out Part part1, out
Part part2)
enum DetailLevels
Default
class Face
Boolean GetCenterPoint(out Vector3 Returns the center point of a planar surface.
centerPoint)
Edge[] GetEdges() Returns an array contianing the edges of this face.
class GraphicComponent
Boolean Detectable Gets or sets a value indicating the the component
can be detected by sensors.
void Highlight(bool value, Color Highlights the object using a specified color.
color)
enum Irc5ConveyorTrackingState
PassedStartWindow
class Material
Material Clone()
class Mechanism
Matrix4 ModelBaseFrame Returns the nominal base frame of this model.
class Mesh
MeshPart Closest(DetailLevels Returns the available detail level,
detailLevel) which is close as possible to the one specified.
class MeshBody
MeshBody Clone() Returns a deep clone of this MeshBody.
class MeshFace
MeshFace Clone() Returns a deep clone of this MeshFace.
class MeshPart
MeshPart Clone() Returns a deep clone of this MeshPart.
class Part
void Facet(DetailLevels Re-creates the graphical representation of this
detailLevels) Part.
class
PropertyBindingCollection
void Clear()
class
RsIrc5ConveyorEncoderUnit
class RsTarget
void JumpTo(RsToolData tool, Jumps the tool and the attached robot to the target
ConfigurationData configuration) with specified configuration.
Completely ignores the configuration already
defined.
class Simulator
static Boolean FullSpeed Gets or sets a value indicating if the simulation
should run at maximum possible speed.
static Double CurrentTime Gets the current simulation time (in milliseconds).
static SimulationDataRecorder Gets the data recorder that records
DataRecorder simulation data.
static void Step() Advances the current simulation one time step.
static event EventHandler Raised when the ActiveConfiguration property
ActiveConfigurationChanged changes.
class SmartComponent
Boolean IsBaseComponent Returns true if this is a built-in base component.
class SmartComponentCodeBehind
virtual void Called if the library containing the
OnLibraryReplaced(SmartComponent SmartComponent has been replaced
component)
virtual void OnLoad(SmartComponent Called when the library or station containing the
component) SmartComponent has been loaded.
class Station
BuiltInDataRecorderSignals Gives access to the identities of the built in data
BuiltInDataRecorderSignals recorder signals.
class Texture
static Texture CreateParallaxBumpMap Creates a combined normal map and bump map
from two images,
suitable for parallax bump mapping
class TrackingStateEventArgs
Irc5ConveyorWorkpieceInfo
ConveyorWorkpieceInfo
5.3.7 ABB.Robotics.RobotStudio.Stations.Forms
New Types
class RefFrameCoordSys
Extended Types
class GraphicPicker
static event Occurs when an object has been moved or
EventHandler<AfterFreehandEventArgs> rotated by freehand manipulation.
AfterFreehand
class TemporaryGraphic
String Text Sets the text of this TemporaryGraphic object
class
TemporaryGraphicCollection
TemporaryGraphic DrawMesh(Matrix4 Creates a mesh.
origin, MeshPart mesh)
6 Problems Corrected
Overview
This section describes the problems solved in RobotStudio SDK.
6.1 Solved Product Defect Documents (PDD) since RobotStudio SDK 5.14.03
No solved PDDs.
6.2 Solved Product Defect Documents (PDD) since RobotStudio SDK 5.14.02
No solved PDDs.
6.3 Solved Product Defect Documents (PDD) since RobotStudio SDK 5.14.01
No solved PDDs.
6.4 Solved Product Defect Documents (PDD) since RobotStudio SDK 5.14
ID Title
PDD10178 GetURange and GetVRange
PDD10459 Body.scale method not working
PDD10707 installation removes 5.13 SDK files
7 Known Limitations
7.1 Development Environment
No known limitations
8 Installation Information
Overview
In order for the Visual Studio project templates to be installed, Visual Studio 2010
needs to be installed on the computer before you install RobotStudio SDK.
To install RobotStudio SDK click RobotStudio on the RobotWare & RobotStudio
DVD. If you select the default installation option Complete, RobotStudio SDK will be
installed. The .NET assemblies and Visual Studio template can be optionally installed,
while the documentation is always installed. If you do not want to install the assemblies
and templates, select the installation option Custom and uncheck the feature
RobotStudio/SDK.
Software requirements
Operating system:
Same as RobotStudio – Please refer to RobotStudio Release Notes
8.2 Compatibility
The APIs in the RobotStudio SDKs 5.14.03 are backwards compatible with previous
versions since RobotStudio SDK 5.12.