Application manual - PC SDK
Table of Contents
Overview
About this manual
Usage
Who should read this manual?
Prerequisites
Organization of chapters
References
Revisions
Product documentation, M2004
General
Product manuals
Technical reference manuals
Application manuals
Operating manuals
Safety
Safety of personnel
Safety of regulations
1 Introduction
1.1. About creating controller applications
Flexible user interfaces
Local vs Remote client
Ease-of-use on the factory floor
.NET and Visual Studio
Robustness and performance
1.2. Documentation and help
Introduction
Application manual
SDK Reference Help
RobotStudio Community
MSDN
1.3. Terminology
About terms and acronyms
Definitions
2 Installation and development environment
2.1. Installation overview
About this section
Supported platforms
Requirements for installing and using PC SDK
About the PC SDK installation
RAB 5.11 to 5.12
RAB 5.10
What is installed?
Working with several versions
PC applications
RobotStudio Add-In
Installation procedure
2.2. How to obtain and install a license key for RAB 5.09 or earlier
Overview
Install licence key
2.3. How to set up your PC to communicate with robot
Overview
Why is a connection needed?
Ethernet network connection
Service port connection with automatic IP address
Service port connection with fixed IP address
Related information
2.4. Development environment
Overview
Microsoft .NET and Microsoft Visual Studio
Choosing a programming language
Integration with Visual Studio
2.5. Two development models - virtual and real
About this section
Virtual robot technology
Requirements for virtual environment
Requirements for real environment
Virtual test and debug
Real tests necessary
Porting the application from virtual to real IRC5
Deployment to customer
2.6. Conversion of VS 2005 projects to Visual Studio 2008
Overview
3 Run-time environment
3.1. Overview
About this chapter
Software architecture
PC platform
Controller API
3.2 Running PC SDK Applications
3.2.1. Overview
Introduction
3.2.2. Mastership
Controlling controller resources
Manual and automatic mode
Controller mastership domains
Remote privilege in manual mode
Losing mastership
3.2.3. PC application configuration
Application configuration file
Adding App.config to the project
Section tag
Capi section
3.2.4. Communication between PC and controller
COM technology
Resource identification
Hard real-time demands
3.2.5. Licence verification - applies only to versions earlier than PC SDK 5.10
Overview
Licenses.licx
3.3. Release upgrades and compatibility
About this section
Matching PC SDK and RobotWare release
RobotWare upgrades
Prepared for change
4 Developing Controller applications
4.1. Introduction
About this chapter
Basic approach
4.2. Analysis and design
About this section
Object oriented software development
Object oriented Analysis and Design
Analysis based on communication and use cases
Design is about managing complexity
Do you need to do design?
As complex or as easy as you wish
4.3. Controller events and threads
Overview
Controller events
GUI and controller event threads in conflict
Invoke method
4.4. User Authorization System
Overview
Accessing UAS from custom applications
Grants and Groups
MessageBox feedback
GetCurrentGrants and DemandGrant
4.5. Exception handling
Overview
Try-catch-finally
Typecasting
.NET Best Practices
4.6. How to use the online help
Overview
5 Using the PC SDK
5.1. Controller API
PC SDK domains
CAPI illustration
PC SDK Reference
5.2. Create a simple PC SDK application
Overview
Setting up the project
Create the user interface
Implement network scanning
Add a network watcher
Handle event
Establish connection to controller
Implement event handler
Start program execution
5.3. Discovery domain
Overview
NetworkScanner
ControllerInfo object
Add controllers from outside local network
NetworkWatcher
5.4. Accessing the controller
Controller object
Memory management in PC applications
Dispose
Logon and logoff
Mastership
Controller events
Backup and Restore
Backup sample
Restore sample
VirtualPanel
Learn more
5.5 Rapid domain
5.5.1. Working with RAPID data
Overview
Providing the path to the RAPID data
Direct access
Hierarchical access
Accessing data declared in a shared module
Creating an object representing the RAPID data value
IRapidData.ToString method
IRapidData.FillFromString method
String format
Writing to RAPID data
Letting the user know that RAPID data has changed
Add subscription
Handle event
Read new value from controlller
Implementing high priority data subscriptions
RapidData disposal
5.5.2. Handling arrays
Overview
ArrayData object
Array dimensions
Array item access by using indexers
Array item access using enumerator
5.5.3. ReadItem and WriteItem methods
Overview
ReadItem method
WriteItem method
5.5.4. UserDefined data
Overview
Creating UserDefined object
Reading UserDefined data
Writing to UserDefined data
Recursively reading the structure of any RECORD data type
Implement your own struct representing a RECORD
Creating ProcessData type
Implementing ProcessData struct
Implementing IRapidData methods
Property implementation
5.5.5. RAPID symbol search
Overview
Search method
Search properties
Default instance
Data type argument
Symbol name argument
Example 1
Example 2
Example 3
SearchRapidSymbol example
Search for UserDefined RAPID data - example
5.5.6. Working with RAPID modules and programs
Overview
Load modules and programs
Save programs and modules
ResetProgramPointer method
Start program
Execution change event
5.5.7. Enable operator response to RAPID UI-instructions from a PC
Remote operator dialog box
Supported RAPID instructions
UIInstructionType
Increased flexibility
Basic approach
UIInstructionEvent
UIInstruction event arguments
UIInstructionEventArgs
UIListViewEventArgs
UIInstructionEventType
SendAnswer method
5.6. IO system domain
Overview
Accessing signals
Getting signals using SignalFilter
Reading IO signal values
Digital signal
Analog signal
Writing IO signal values
Digital signal
Analog signal
Listening to signal changes
Visual Basic
C#
Start and stop subscriptions
Implementing high priority event subscription
Limitations for high priority events
Avoiding threading conflicts
Reading the new value
5.7. Event log domain
Overview
Accessing the controller event log
Accessing event log categories
Accessing event log messages
MessageWritten event
5.8. Motion domain
Overview
Motion system
Accessing Mechanical units
Mechanical unit properties and methods
Calibrating Axes
5.9. File system domain
Overview
Accessing files and directories
Controller and PC directory
Environment variables
Loading files
Saving files
CopyFile and CopyDirectory
Getting multiple files and directories
Using search patterns
5.10. Messaging domain
Overview
RobotWare option
Messaging illustration
Benefits
The Messaging namespace
Basic approach
What can be sent in a message?
RAPID Message Queue system parameters
Remote RmqType
Code example
PC SDK - C#
RAPID
6 PC - Debugging and troubleshooting
6.1. Debugging
Introduction
Exception error codes
6.2. Troubleshooting
Overview
Checklist
Important support information
7 Deployment of a PC SDK application
7.1. Overview
Introduction
Facilities for deployment
ABBControllerAPI.msm
ABB Industrial Robot Communication Runtime.msi
Index