• No results found

Release Notes RobotStudio SDK

N/A
N/A
Protected

Academic year: 2021

Share "Release Notes RobotStudio SDK"

Copied!
23
0
0

Loading.... (view fulltext now)

Full text

(1)

Release Notes

RobotStudio SDK

5.14.03

(2)

-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.

Additional copies of this manual may be obtained from ABB.

The original language for this publication is English. Any other languages that are supplied have been translated from English.

© Copyright 2008 - 2012 ABB All rights reserved. ABB AB

Robotics Products SE-721 68 Västerås

(3)

Overview

5

1 Release Information

6

1.1 General 6 1.2 Contents 6

2 What’s New in 5.14.03?

7

2.1 Pictures in Markups 7

2.2 Detect “Not a Number” in Vectors and Matrices elements 7

2.3 Decal texture blending mode 7

3 What’s New in 5.14.02?

8

3.1 Added ABB.Robotics.RobotStudio.Controllers to documentation 8

4 What’s New in 5.14.01?

9

4.1 Energy Quantity 9

4.2 Multiline string properties on SmartComponents 9 4.3 Controller I/O Signals does not need to have Access Level ALL 9 4.4 Face.GetU/VRange not limited to spline faces 9

5 What’s New in 5.14?

10

5.1 General 10

5.2 Leveraging new features of RobotStudio 10

5.3 New types and methods 13

5.3.1 ABB.Robotics.Math

13

(4)

© Copyright 2012 ABB All rights reserved

4

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

7.1 Development Environment 22

8 Installation Information

23

8.1 Hardware and Software requirements 23

(5)

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:

(6)

1 Release Information

1.1 General

Release Name

The release name is RobotStudio SDK 5.14.03 and the build number is 5.14.4766.3069.

For information about RobotStudio, please refer to the document

‘Release Notes

RobotStudio 5.14.03.pdf’

.

Release Date

The release date is 11

th

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.

Visual Studio Project Templates

RobotStudio Add-In – template for a standard Add-In

RobotStudio Smart Component – template for a Smart Component with Code Behind

and XML description.

(7)

2 What’s New in 5.14.03?

Overview

This section contains information about new features in this release.

2.1 Pictures in Markups

You can now specify a bitmap to be rendered by a markup, using the new property

Bitmap

on the

Markup

class.

2.2 Detect “Not a Number” in Vectors and Matrices elements

It is now possible to write more robust code that handles vectors and matrices

containing invalid decimal values.

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).

2.3 Decal texture blending mode

A texture can now be applied to a material in

Decal

mode, using the new

BlendMode

property of the

Material

class. In this mode the texture replaces the underlying color

when the alpha level is 1 in the texture, and the color shines thrugh when the alpha level

is 0.

(8)

3 What’s New in 5.14.02?

Overview

This section contains information about corrected problems in RobotStudio SDK

5.14.02.

3.1 Added ABB.Robotics.RobotStudio.Controllers to documentation

The namespace ABB.Robotics.RobotStudio.Controllers was missing in the API

reference documentation and has now been added.

(9)

4 What’s New in 5.14.01?

Overview

This section contains information about the new features in 5.14.01. Corrected

problems are listed in chapter 6.4.

4.1 Energy Quantity

Threre

is a new quantity representing Energy. You can use it by the new property

Quantity.Energy

and the enumeration value

BuiltinQuantity.Energy

.

4.2 Multiline string properties on SmartComponents

It is now possible to have a dynamic property on a SmartComponent that is of type

String but contains multiple lines of text.

When a

DynamicProperty

of type

String

is tagged with the attribute

KnownAttributeKey.Multiline

it will be displayed using a multi line text box in the

RobotStudio User Interface. Lines are separated by the

Environment.NewLine

character.

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.

4.4 Face.GetU/VRange not limited to spline faces

The methods

Face.GetVRange

and

Face.URange

are no longer limited to return a

valid result for spline faces.

(10)

5 What’s New in 5.14?

5.1 General

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.

5.2 Leveraging new features of RobotStudio

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.

Document Manager References

References to files and folder can be added to a station through the new

Station.Documents property.

You can use the enumeration ProjectDocumentType to decide if a reference to a file

or folder, or a an entire file, shall be added to the station.

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.

Simulation Step / Pause / Resume

The methods Simulator.Step, Simulator.Pause and Simulator.Resume,

can be used to be used to step the simulation forward one time step at the time, and to

pause and then resume the simulation.

(11)

The ScreenRecorder class now has support Windows Media version 8 and 9. In

addition, movies can be recorded using the H.264 / MPEG-4 encoder that creates

high-quality recordings with a high compression ratio.

The ScreenRecorderFileFormat enumeration has the new elements Wmv and mp4.

Target Reference Frame

The reference frame of a target has now been exposed in the RobotStudio user

interface.

Applications can access modify the reference frame using the property

RsTarget.ReferenceFrame. The target reference frame allows a target to be

modified relative to the original position. This is useful if your application lets the user

create targets using a CAD-model. Your application can define its own specific

relations between the current and original position. For example spin angle, and travel

angle are terms used in arc welding.

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.

(12)

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

Maximum Linear Acceleration in World1 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

(13)

5.3 New types and methods

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

class LogicExpression

Parses and evaluates a logic

(boolean)expression

class Matrix

Arbitrary-sized matrix

struct Ray

Represents a 3D ray with an origin and a direction.

Extended Types

class BoundingBox

Double Distance(Vector3 point)

Returns the distance between this

BoundingBox and a point.

static Double Distance(BoundingBox

lhs, BoundingBox rhs) Returns the distance between two bounding boxes. BoundingBox Expand(Double amount) Returns a BoundingBox expanded

by an amount in all directions. static Boolean

Intersects(BoundingBox lhs,

BoundingBox rhs)

Returns true if two bounding boxes intersects.

static Boolean

Intersects(BoundingBox lhs,

BoundingBox rhs, Double tolerance)

Returns true if two bounding boxes intersects.

class MathExpression

String ErrorText { get; } If the expression is invalid (IsValid returns false), this property may return more information why. Double[]

GetLinearCoefficients(String[]

variables)

Returns the linear coefficients,

if this expression is linear in the set of given variables. Otherwise it returns null. Boolean TrySetVariableValue(String

variable, Double val) Sets the value of a variable, which will be used the next time the expression is evaluated.

struct Matrix4

(14)

Plane rhs)

static Boolean operator!=(Plane lhs,

Plane rhs); Inequality operator

struct Quaternion

Double this[Int32 index] Array access.

Vector2

static Boolean operator==(Vector2

lhs, Vector2 rhs); Equality operator

static Boolean operator!=(Vector2

lhs, Vector2 rhs); Inequality operator

struct Vector3

Double[] ToArray();

5.3.2 ABB.Robotics.RobotStudio.Environment

Extended Types

class ApplicationMenu

CommandBarControl

ActiveBackstageControl Gets or sets the active tab of the Backstage (file) menu event EventHandler

ActiveBackstageControlChanged Raised when the ActiveBackstageControl property changes

class UIEnvironment

static Boolean BackstageVisible True if the Backstage (File) tab is currently active, false otherwise.

static event EventHandler

BackstageVisibleChanged Raised when the BackstageVisible property has been changed static event ExceptionEventHandler

Exception Raised when an exception is thrown by an event handler and caught by the environment.

5.3.3 ABB.Robotics.RobotStudio

New Types

class DataRecorderBase

A data recorder collects data from

all its souces, and distributes it to

its sinks.

class DataRecorderSignal

Represents a piece of information that can be recorder by a DataRecorder

struct DataRecorderSignalInfo

Represents information such as data

Type and quantity of a DataRecorderSignal.

class DataRecorderSinkBase

A data recorder sink will get notified when signals subscribed by the data recorder is updated.

(15)

class

DataRecorderSubscribeSignalResult

Represents information about the reason for success or failure to subscribe to a signal.

class ProjectDocument

Represents a document associated with a project.

enum ProjectDocumentFlags

Specifies values for the Flags property.

enum ProjectDocumentType

Specifies the type of a

ProjectDocument

enum SignalDataType

Specifies the data type of a DataRecorderSignal

enum SignalInterpolationType

Specifies the type of interpolation for a DataRecorderSignal

Extended Types

class AttributeCollection

Boolean TryGetValue<T>(String key,

out T value) Gets the value with the specified key.

Boolean TryGetValue(String key, out

Object value) Gets the value with the specified key.

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

message) Adds an log message to the logger.

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.

(16)

struct Vector4

Boolean AlmostEquals(Vector4 vec,

Double tolerance) Comparison method for vectors with tolerance.

Double[] ToArray(); Returns the elements (x,y,z,w) as an array.

5.3.4 ABB.Robotics.RobotStudio.Controllers

New Types

class

ControllerObjectSelectionTypes

Gives access to the controller object types which can be selected in the Online or Offline browser.

Extended Types

class

ControllerObjectReference

ControllerObjectType ObjectType Specifies the type of controller object that is referenced by a ControllerObjectReference.

class

ControllerReferenceCollection

ControllerObjectReference this[Guid

systemId] Gets the controller reference at the specified 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.

static void LogException(String message,

Exception ex) Adds an exception error message and flushes the log to disk. static void LogException(Exception ex,

Boolean toOutput) Adds an exception error message and flushes the log to disk. static void LogException(String message,

Exception ex, Boolean toOutput) Adds an exception error message and flushes the log to disk. static void LogExceptionOnce(String

message, Exception ex, Boolean toOutput) Adds an exception error message and flushes the log to disk.

5.3.6 ABB.Robotics.RobotStudio.Stations

New Types

class

BuiltInControllerSourceSignals

Gives access to built in data recorder signals, that represents information

(17)

enum

BuiltInDataRecorderMotionSignal

Specifies information from the robot motion system that can be recorded.

class BuiltInDataRecorderSignals

Gives access to the identities of the

built in data recorder signals.

class

BuiltInSmartComponentSourceSignals

Gives access to built in data recorder signals, that represents information from SmartComponents.

class Markup

Represents a text and pointer

markup displayed in the 3D graphics.

class SimulationDataRecorder

A data recorder than can record

signals from a simulation. It is synchronized with virtual time.

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

face) Creates a new Body consisting only of a copy of 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

CheckCollision(GraphicComponent

object1, GraphicComponent object2, Double nearMiss, DetectableUsage detectableUsage, out Part part1, out Part part2)

Calculates whether two objects intersect, or whether an object intersects any other object, and returns the intersecting Parts.

enum DetailLevels

Default

class Face

Boolean GetCenterPoint(out Vector3

centerPoint) Returns the center point of a planar surface.

Edge[] GetEdges() Returns an array contianing the edges of this face.

(18)

class Material

Material Clone()

class Mechanism

Matrix4 ModelBaseFrame Returns the nominal base frame of this model.

ConfigurationData[]

GetAllConfigurations(RsTarget

target, RsToolData tool, Boolean includeTurns)

Returns reachable arm configurations for the specified target.

Matrix4 GetCalibrationPosition(Int32

jointIndex) Returns the calibration transform for a joint.

Matrix4 GetJointTransform(Int32

jointIndex) Get the transform for a joint The index of the joint for which the transform shall be retrieved. Boolean

GetParentJoint(GraphicComponent

link, out Int32 jointIndex)

Returns the joint index of a link, or -1.

Boolean GetParentLink(Int32 jointIndex, out GraphicComponent link)

Returns the parent link of a joint.

class Mesh

MeshPart Closest(DetailLevels

detailLevel) Returns the available detail level, which is close as possible to the one specified.

void Save(String fileName) Saves this Mesh to an .rsgfx file.

static Mesh Load(String fileName) Loads a Mesh from an .rsgfx file.

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

detailLevels) Re-creates the graphical representation of this Part.

void Facet(DetailLevels

detailLevels, Boolean surfaceModel) Re-creates the graphical representation of this Part. void Facet(DetailLevels

detailLevels, Boolean surfaceModel, ProgressNotification progress)

Re-creates the graphical representation of this Part.

class

PropertyBindingCollection

void Clear()

class

RsIrc5ConveyorEncoderUnit

(19)

if true an object is connected.

Double Speed Gets or sets the speed of the conveyor.

class RsTarget

void JumpTo(RsToolData tool,

ConfigurationData configuration) Jumps the tool and the attached robot to the target 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

DataRecorder Gets the data recorder that records simulation data.

static void Step() Advances the current simulation one time step.

static event EventHandler

ActiveConfigurationChanged Raised when the ActiveConfiguration property changes.

class SmartComponent

Boolean IsBaseComponent Returns true if this is a built-in base component.

class SmartComponentCodeBehind

virtual void

OnLibraryReplaced(SmartComponent

component)

Called if the library containing the SmartComponent has been replaced virtual void OnLoad(SmartComponent

component) Called when the library or station containing the SmartComponent has been loaded.

class Station

BuiltInDataRecorderSignals

BuiltInDataRecorderSignals Gives access to the identities of the built in data recorder signals. MarkupCollection Markups Gets a MarkupCollection object that represents all

the markups on this Station object. ProjectDocumentCollection Documents Gets a the collection of ProjectDocuments

associated with this Station.

class Texture

static Texture CreateParallaxBumpMap Creates a combined normal map and bump map from two images,

(20)

5.3.7 ABB.Robotics.RobotStudio.Stations.Forms

New Types

class RefFrameCoordSys

Extended Types

class GraphicPicker

static event EventHandler<AfterFreehandEventArgs> AfterFreehand

Occurs when an object has been moved or rotated by freehand manipulation.

class TemporaryGraphic

String Text Sets the text of this TemporaryGraphic object

class

TemporaryGraphicCollection

TemporaryGraphic DrawMesh(Matrix4

(21)

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

(22)

7 Known Limitations

7.1 Development Environment

No known limitations

(23)

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.

8.1 Hardware and Software requirements

Software requirements

Operating system:

Same as RobotStudio – Please refer to RobotStudio Release Notes

Supported development environment:

Microsoft Visual Studio 2010.

The Visual Studio project templates works only for the English version of Visual

Studio.

NOTE!

As RobotStudio 5.14 is built on .NET Framework 4.0, Microsoft Visual Studio 2008

can not be used for RobotStudio 5.14 application development.

It is possible, but not supported, to develop RobotStudio Add-Ins with any .NET

development environment, such as Visual Studio 2010 Express or SharpDevelop, but

there will be no project templates available. The RobotStudio API documentation also

assumes that Visual Studio 2010 is used, which means that information about

VisualStudio project settings etc has to be adopted to the other development

environment.

8.2 Compatibility

The APIs in the RobotStudio SDKs 5.14.03 are backwards compatible with previous

versions since RobotStudio SDK 5.12.

References

Related documents

To create a set of APKs that can be uploaded to the Play Store that will cover both 32-bit and 64-bit ARM devices, a developer would therefore need to create two APK files using

Kesimpulan dalam penelitian ini ini adalah kecemasan membuat pikiran menjadi kacau, takut, gelisah, tidak nyaman sehingga membuat lansia sulit memulai dan

Since the implementation of BIS often requires substantial changes to organizational processes, employees’ roles and jobs, reward systems, control and coordination

application will not work properly unless you enter specific information about general ledger account numbers, cash accounts, terms codes, aging periods, vendors, or existing

If one seeks to assess the equilibrium ex- change rate of any given economy, a systematic analysis using alternative economic and econometric specifications must be performed

After documenting the growth experience of developing countries over the past 25 years and discussing the importance of research that dissects the effects of national policies

Once you have made changes to the document, save it locally and close it, then click on the Action drop down list to the right of the document you wish to replace and choose Upload

The Employee Assistance Professional Association of the United States defines EAP thus: “An Employee Assistance Programme is a work-site based programme designed to assist