files3hac16586-1_reva_en_第1页
files3hac16586-1_reva_en_第2页
files3hac16586-1_reva_en_第3页
files3hac16586-1_reva_en_第4页
files3hac16586-1_reva_en_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ABB RoboticsApplication manualDiscrete application platformApplication manual3HAC 16586-1Revision A Discrete Application PlatformRobotWare 5.0The information in this manual is subject to change without notice and should not be construed as a commitment by ABB. ABB assumes no re- sponsibility for any

2、 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 pur- pose or the like.In no event shall ABB be liable for

3、 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 ABBs written permission, and contents thereof must not be imparted to a third party nor be used for any unauthorized purpose. Cont

4、ravention will be prosecuted.Additional copies of this manual may be obtained from ABB at its then current charge.Copyright 2003 ABB All rights reserved.ABB Automation Technology Products AB RoboticsSE-721 68 Vsters SwedenTable of Contents1 Discrete application51.1 Summary51.1.1 Overview51.1.2 Summa

5、ry (DAP)62 Programming discrete application132.1 Programming summary132.1.1 Designing a discrete application132.1.2 Installation283 Rapid Reference353.1 Rapid Data types353.1.1 dadescapp - Discrete application - application descriptor353.1.2 dadescprc - Discrete application - process descriptor393.1

6、.3 daintdata - Discrete application - internal data433.2 Rapid Instructions473.2.1 DaActProc - Discrete application - activate process473.2.2 DaDeactAllProc - Discrete application - deactivate all processes 493.2.3 DaDefExtSig - Discrete application - definition of the external signals 513.2.4 DaDef

7、ProcData - Discrete application - definition of the process data 553.2.5 DaDefProcSig - Discrete application - definition of the process signals 593.2.6 DaDefUserData - Discrete application - define user data633.2.7 DaGetCurrData - Discrete application - get current data673.2.8 DaProcML/MJ - Discret

8、e Application - multiple processes713.2.9 DaSetCurrData - Discrete application - set current data753.2.10 DaSetupAppBehav - Discrete application - sets up application behav-3HAC 16586-1Revision A3Table of Contentsiour793.2.11 DaStartManAction - Discrete application - execute a application man- ually

9、813.2.12 DaDeactProc - Discrete application - deactivate process833.2.13 DaGetAppDescr - Discrete application - get application descriptors 853.2.14 DaGetAppIndex - Discrete application - index of application array 873.2.15 DaGetNumOfProcs - Discrete application - get number of processes 893.2.16 Da

10、GetNumOfRob - Discrete application - number of robots913.2.17 DaGetProcDescr - Discrete application - get process descriptor. 93 3.3 Rapid Functions953.3.1 DaGetFstTimeEvt -Discrete application - get the first time event 953.3.2 DaCheckMMSOpt - Discrete application - Check if MMS973.3.3 DaGetMP - Di

11、screte application - Get motion planner993.3.4 DaGetRobotName - Discrete application - Get Robot name1013.3.5 DaGetTaskName - Discrete application - Get Task name1034Revision A3HAC 16586-1Discrete Application PlatformSummary1 Discrete application1.1 Summary1.1.1 OverviewThe option Discrete Applicati

12、on Developers Functions (DAP) provides a software frame- work for application software engineers.The package is an optimal tool for fast and straight forward development by providing a setup of specialized methods and datatypes in RAPID. It encapsulates motion and process execu- tion in one RAPID-in

13、struction call (see EG1ML/EG1MJ).The use of the package reduces application development costs and ensures a high quality level and optimal use of the IRC5-system.The Discrete application is tailored for applications similar to SpotWelding which with the following environment: Discrete Application co

14、mbines finepoint positioning with execution of up to four paral- lel processes. The process is specialized for monitoring an external process device Supports encapsulation of the process and motion in shell-routines provided to the end user.The package is designed to have an internal kernel administ

15、rating the fast and quality secured process sequence skeleton. It calls RAPID routines which the application writer has to pre- pare to fulfill his specific task. It is up to the writer of the application how much flexibility to leave to the end user.It is possible to use the application in a MultiM

16、ove system (MMS) with up to four robots using the application.3HAC 16586-1Revision A5Discrete Application PlatformSummary (DAP)1.1.2 Summary (DAP)Discrete application featuresThe Discrete Application package contains the following features:6Revision A3HAC 16586-1 Installation of one process instance

17、 of a Discrete Application per robot in the system Installation of max four processes running independently in parallel in the system Dynamic configuration of one RAPID task per process Dynamic installation of application modules Minimized RAPID-memory requirement Fast and accurate fine positioning

18、Precalculation of the next position resulting in quick start after a process completion Free naming of I/O-signals used by the kernel. Setting of program number for an external device Setting of external start signal Subscribing for external ready signal Subscribing for external stop signal Dual/sin

19、gle tool Time and sequence related events calling RAPID actions hooks Exception event RAPID hooks such as Process Hold / Release and Abort Automatic process retry Process simulation External process simulation Return to the process position Process tool counters Supports both program and start trigg

20、ered external devices Process current data setting and retrieving Manual process execution Possible to start external process disregarding the in position event Individual process abort Cancelling of all processes at instruction abortionDiscrete Application PlatformSummary (DAP)Principles of discret

21、e applicationsThe scope of the Discrete Application is limited to RAPID, I/O-configuration and system configuration.Layers of a discrete applicationRobot program-User of application writers interfaceApplication writerFunctions Procedures PERSI/O HooksFigure 1 Layers and interfacesDAP is based on a s

22、eparate handling of motion and processes. The motion acts as trigger and synchronisation towards the processes. On its way towards the programmed position, the motion task will trigger actions in the process tasks.The triggers are activated by virtual digital signals. Their names are fix and predefi

23、ned. They are not multiplied by additional process installations.3HAC 16586-1Revision A7DA kernel-Motion-Sequencer-Process and application administrationUser part-Variables-Functions/ RoutinesKernel-Shell routine-Hooks-Init DA-kernel-Datatype-Task installationDiscrete Application PlatformSummary (DA

24、P)Each process provides storage for three current data of anytype which are updated with the begin of the process, i.e. its content is stable during process execution. The data have differ- ent purposes: process data: information altering with each instruction process tool data: information connecte

25、d to the four equipment, i.e. equipment config data internal process data: information needed by the application shell.Calls to hooks offer application writers tools to shape the application processes. All the RAPID PERS data is used to customize the internal process sequence.A program stop will onl

26、y stop the motion task execution. The process and supervision does by default carry on their tasks until they come to a well defined process stop. A process hold may though very well be activated through the use of the shelf routines.The application may run independently of the motion if manually tr

27、iggered. Supported equipment: Up to four external process device monitoring with parallel interface. The device may be of two types - program schedule or start signal triggered. The process monitoring is interrupted by either process ready, timeout or external stop. Any type of process tool which ca

28、n be controlled through RAPID-code and I/O inter- face is applicable.Programming principlesBoth the robots movement and the process control are supposed to be embedded in one shell instruction of free format and name.The application “EG1” is specified by (see the example code that follows with the D

29、AP option, RobotwareXX/options/dap): process data process tool data internal process data The system modules EG1BAS.SYS, EG1PRC.SYS and EG1TOL.SYS containing RAPID shell routine, data types, data definitions and routines. System parameters: the kernel I/O configuration.8Revision A3HAC 16586-1Discret

30、e Application PlatformSummary (DAP)Discrete application instructions3HAC 16586-1Revision A9InstructionUsed to:DaActProcActivate a processDaDeactAllProcDeactivate all installed processDaDeactProcDeactivate a specific processDaDefExtSigDefine I/O-signals interfacing the external deviceDaDefProcDataDef

31、ine three data which shall be used as current data at process startDaDefProcSigDefine I/O-signals for the process execution informationDaDefUserDataDefine process user data which enables the application writer to influence the framework behaviourDaGetCurrDataRetrieve the content of the current data

32、of the types defined by DaDefProcDataDaProcMLInitiator of motion and process. Order time event calculation. Move the TCP along a linear path and perform n processesDaProcMJInitiator of motion and process. Order time event calculation. Move the TCP along a non-linear path and perform n processesDaSet

33、CurrDataChange the content of the current data of the types defined by DaDefProcDataDaSetupAppBehavDeactivate one or more of the five user hooks (see below) - DaPrepPrcEG1, DaTmEvt1EG1, DaTmEvt2EG1, DaTmEvt3EG1, DaStartEG1DaStartManActionThe application run independently of the motion, i.e. a manual

34、 trigg of the applicationDiscrete Application PlatformSummary (DAP)Discrete application functionsDiscrete application dataDiscrete application user hooks10Revision A3HAC 16586-1HookUsed to call at:DaCalcEvtEG1Called before motion startDaPrepPrcEG1Motion startDaTmEvt1EG1First time event delta time T1

35、 in advance of inposDaTmEvt2EG1Second time event delta time T2 in advance of inposDaTmEvt3EG1Third time event delta time T3 in advance of inposData typeUsed to define:dadescappApplication descriptor.dadescprcProcess descriptordaintdataType of required first element of eg1intdataEG1procdataThe proces

36、s control data (entire data name free)EG1tooldataThe process tool configuration data (entire data name free)EG1intdataThe internal application writer transfer data (entire data name free)DaCheckMMSOptChecks if any MMS option is installedDaGetAppDescrRetrieve the application descriptors (one descript

37、or per robot)DaGetFstTimeEvtRetrieve the first event time of all active processes in the current application descriptorDaGetMPRetrieve the motion planner for current application descriptorDaGetNumOfProcsRetrieve the process descriptorsDaGet NumOfRobRetrieve number of robots (application descriptors)

38、 in the systemDaGetPrcDesrRetrieve the process descriptorsDaGetProcIndexRetrieve index of current process descriptorDaGetAppIndexRetrieve index of current application descriptorDaGetRobotNameRetrieve the robot name for current application descriptorDiscrete Application PlatformSummary (DAP)3HAC 1658

39、6-1Revision A11HookUsed to call at:DaStartEG1Inpos (or immediately after DaTmEvt3) before setting external start signalDaEndPrcEG1Called after receiving the ready signalDaExtStopEG1Called after receiving the external device stop signalDaTimoutEG1Called after timeout has passed without getting either

40、 ready or stopDaHoldPrcEG1Called at process holdDaRlsPrcEG1Called at process release after a holdDaAbortPrcEG1Called at process abortionDiscrete Application PlatformSummary (DAP)12Revision A3HAC 16586-1Discrete Application PlatformProgramming summary2 Programming discrete application2.1 Programming

41、summaryOverviewThe option Discrete Application supports creating new applications with a discrete behav- iour, see Discrete Application Summary. The writer of an application will gain from the use of the framework in terms of: Development time Run time execution time RAPID-program memory need Simila

42、r look and feel between applications Tested kernel software MultiMove system adaption2.1.1 Designing a discrete applicationThis is a description of the required steps to follow when writing a discrete application. You can find example files for designing a discrete application in the folder optionsd

43、ap in your system.ModulesThere are three modules required for each application named “EG1”: Base module: EG1BAS.SYS Process module: EG1PRC.SYS Tool module: EG1TOL.SYSThese three modules will run in different RAPID tasks. If we for example have one applica- tion and two processes it will look like th

44、e following figure:3HAC 16586-1Revision A13Discrete Application PlatformDesigning a discrete applicationFigure 2The figure above shows that module EG1BAS.SYS will be running in the T_ROB1 task. Module EG1PRC.SYS will be running in a background (process) task. There can be as many process tasks start

45、ed as the maximum number of processes allowed. Today maximum number of processes are four. There will be at least one process task attached to each robot that runs the application. In a MultiMove system it is possible to have four robots connected to the same controller, and the four processes can b

46、e distributed between the robots. If all of the robots in the system run the application, each robot can only have one process task attached to it. But if two robots run the application they can, for example, have two processes each. It is only possible to have ONE discrete application in one MultiM

47、ove system, i.e. all robots in the cell must run the same discrete application.The figure above also shows that all installed RAPID-tasks will share code and data declared in module EG1TOL.SYS.Base moduleThe base module shall contain code and data which is accessed in the T_ROB1 task. It shall at le

48、ast contain (see EG1BAS.SYS on page 23):init code for the framework application shell routinetime event calculation hooka power on shelf routine named EG1ShPowerOn( ) where the initialization of the application and processes is sited further shelf routines: The framework will call shelf routines at

49、the appropriate event given a name of the following convention: EG1ShStart14Revision A3HAC 16586-1Discrete Application PlatformDesigning a discrete application EG1ShReStart EG1ShStop EG1ShQStopProcess moduleThe process module shall contain (see EG1PRC.SYS on page 23): the sequence hooksTool moduleTh

50、e tool module shall contain: common datatypes, notably process data, process tool data and internal process data common PERS data common codeSee also Installation on page 28.Application nameThe name of the application must be defined in eg1tol.sys asCONST string EG1_APP_NAME := EG1;The string length

51、 of the name, in this case “EG1”, is limited to 5 characters.There must also be a routine, DefAppName, in EG1bas.sys where the application name is retrieved:PROC DefAppName(INOUT string name) name := EG1_app_name;ENDPROCThe routine DefAppName is called when the system is starting up, so it is very i

52、mportant that the routine exists in EG1bas.sys.Process taskIt is very important that the names of the process tasks begins with “DA_PROC” (DA_PROC1, DA_PROC2.). Look in the example code file eg1sys.cfg.3HAC 16586-1Revision A15Discrete Application PlatformDesigning a discrete applicationInitializatio

53、nThe following instructions shall be used in the EG1ShPowerOn-routine (in eg1bas.sys) to initialize the application and its processes. Putting it in EG1ShPowerOn ensures the instal- lation of the application automatically at warm start and a proper Power Failure support by the frame work.Initializat

54、ion of application and processesProcess transfer data definitionDaDefProcData defines three essential data for the application. Their content will be stored by the framework as current data at each process start. The current data remains stable during the complete process. process data process tool

55、data internal process dataThis data has to be defined for each process. They have to be defined as PERS variables (see eg1tol.sys). The process data and process tool data shall be known to the end user. The inter- nal process data may serve the application writer such as to make data coming from the

56、 instruction parameters accessible in the sequence hooks without showing them to the end user.16Revision A3HAC 16586-1DaGetAppDescrreturns an array containing the configured application descrip- tors.DaGetPrcDescrreturns an array containing the configured process descrip- tors.DaGetNumOfProcsreturns how many processes that are configured in the sys- tem.DaGetNumOfRobreturns how many robots in the system that run a discrete application (in a MultiMove s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论