throbber
EXHIBIT A
`
`ABB Inc.
`
`EXHIBIT 1002
`
`Page 1 of 24
`
`Page 1 of 24
`
`

`
`EXHIBIT A ‘
`
`XMC Motion Control
`
`XMCSPI Reference
`
`
`
`
`
`
`
`
`
`Revision:
`Author:
`Date:
`Description:
`
`Third Draft
`Dave Brown
`Wednesday. Feb 22, 1995
`Thus document is the XMCAPI reference descnbing all functions. standard OLE interfaces, and
`custom QLE interfaces making up the XMCAPI.
`
`Revision History: 4/15/94 (DB)
`7/1/94 (DB)
`2122195 (05)
`
`Initial writing.
`- First Draft:
`~ Second Draft: Split design off smatl business plan. incorporated suggestions.
`- Third Draft - Split XMCAPI reference off desrgn guide.
`
`ROY-G-BIV Corporation Confidentiai
`© 1995 ROY—G-BIV Corporation. All right: resorvcd.
`
`Page 2 of 24
`
`Page 2 of 24
`
`

`
`XMC Motion Control XMCSPI Reference
`
`It may be changed substantially prior to final commercial release.
`‘fiiis is a preliminary release ofthc documentation.
`This document is provided for discussion purposes only in strict confidence and is governed by the Don-Disclosure or Beta
`Agreement that you or a representative from your company has signed.
`
`ROY—G—BlV Corporation makes no warranties on the information contained within this document or software. The entire
`risk of using this document or software including the results of its use. remains with the user. No pan of this document
`may be reproduced without express written permission from ROY-G-BIV Corporation.
`
`ROY-G-BIV. XMC. XMCAPI. and XMCSPI are trademarks ofROY-G-BIV Corporation.
`
`Microsoft. Visual C++. Visual Basic. WfN32. and Microsoft Excel 5.0 are registered trademarks and Windows.
`Windows NT. MFC. WlN32s. and OLE are trademarks ol'Microsol“t Corporation.
`
`Borlnnd and Borlnnd C++ are trademarks ofBorland lntemational. Inc.
`
`0 l995 ROY—G-BIV Corporation. All Rights Reserved.
`Printed in the United States ofAmerica.
`
`
`
`
`
`
`
`
`
`
`
`ROY-G-BIV Corporation Confidential
`3/135/95
`©1995 ROY—G-BIV corporation. All Right: Reserved.
`Page Of 24
`
`Page 3 of 24
`
`

`
`
`
`
`
`
`
`XMC Mouon Control XMCSPI Reference
`
`Table of Contents
`
`.
`
`Table of Contents
`
`TABLE OF CONTENTS .............................................................................................................................. i
`
`1.0 OVERVIEW ....................................................................................................._.......................................I
`
`2.0 XMCSPI INTERFACE CATEGORIES ...............................................................................................3.
`2.} STANDARD OLE INTERFACES ............................§.......................................................................................3
`2.3 CORE INTERFACES (CORE) .........................................................................................................................3
`2.3 EXTENDED INTERFACE CATEGORIES ..........................................................................................................2
`2.3.1 Extended Interface: (Ext) .................................................................................
`................................3
`2.3.2 Extended UI Interfaces (ExtUI) ..........................................................................................................3
`2.3.3 Extended Code Generation Interfaces (EXICG) .................................................................................3
`2.4 VENDOR SPECIFIC INTERFACES (EXTVS) .............................................................................'......................4
`2.5 INTERFACE MAP .........................................................................................................................................4
`2.6 INTERFACE RELATIONSHIPS ........................................................................................................................5
`2. 6.1 Inheritance Relatianxhtps ...................................................................................................................5
`2.6.2 Dependency Relationships.............................................................................
`.................................5
`3.0 XMCSPI REFERENCE .......................................................£..................................................................6
`3.1 XMC CORE INTERFACES (CORE) ...............................................................................................................6
`3.1.1 [XMC__DrvCore_Ana1ogI0 Interface .................................................................................................6 '
`3.1.2 IXMC__DrvCare__Dt'gt'ta1IO Interface .................................................................................................6
`3.1.3 IXMC__DrvCare__Dynamt'cState Interface........................................................................................... 7
`3.1.4 IXMC__DrvCore___Encader Interface ................................................................................................... 7
`3. 1.5 IXMC__Dr'vC0re__EnumInterfaceSupport Interface.............................................................................8
`3. 1.6 IXMC_DrvCare__I0 Interface...................................................................................................'..........3
`3.1.7 lXMC_DrvCare__Limt'ts Interface .......................................................................................................8
`3.1.8 IXMC___DrvCare_Mott'on Interface .....................................................................................................9
`3.1.9 [XMC_DrvCore__.S'ervo Interface...;....................................................................................................9
`3.1.10 LYMC__DrvCore_Statt'cState Interface............................................................................................ 10
`3.1.1 I IXMC___DrvCore__Stepper Interface................................................................................................. 10
`3.2 XMC EXTENDED INTERFACES (EXT) .......................................................................................................IO
`3.2.1 IXMC_DrvExt__Counter Interface ..........
`........................................................................................ /0
`3.2.2 IXMC_DrvErt__Debug Interface (Private)........................................................................................ 11
`3.2.3 IXMC__Drv£LtI__D_vnamicState Interface ...........................................................................
`..............1 1
`3.2. 4 IXMC__DrvExt__Digt'ta1IO Interface .................................................................................................. I2
`3.2.5 IXMC__DrvErt__Encoder Interface ....................................................................................................1.7
`3.2. 6 lXMC__Drv£rt__1nterrupt Interface ...................................................................................................12
`3.2. 7 1XMC__Drv£xt_1O Interface ............................................................................................................. 12
`3.2. 8 IXMC__Drv£xt_Jo,vstic1c Interface.....................................................................................................13
`5.2. 9 IXMC_DrvExt__Limt'!s Interface...................................................................................................... ..13
`3. 2. 10 IXMC__DrvErI__M0tt'on Interface .................................................................................................. ..13
`3.2.11 IXMC_DrvEx!__3taliC$1ateInterface............................................................................................. ..14
`3.3.12 1XMC_DrvExt_Timer1nterface .................................................................................................... ..1-/
`3.3 XMC EXTENDED UIINTERFACES (EXTUI) ............................................................................................ ..I5
`3.3.1 1XMC__DrvExtUI_Ana/0gIO Interface............................................................................................ .. 15
`3.3.2 IXMC_Drv£rtUI_Ana1og/O Interface............................................................................................ .. /5
`3.3.3 b\’MC__Drv£xtU1__Ba.re Interface.................................................................................................... .. /5
`3.3.4 IXMC_Drv£xtUI_DynamicState Interface ..................................................................................... ..15
`33.5 IXMC__DrvE.rtUI__Statt'cState Interface ............................................................................................ 15
`3.3.6 /XMC_.DrvE.rtUI__Digt'tat’/0 Interface ............................................................................................ .. /6
`
`___.____.___________________________________..__________________
`ROY-G-BIV Cotporauon Confidenttal
`3/15/95
`Page 4 of 24
`(D 1995 ROY-G-BIV Corporation. All Rlghts Reserved.
`
`‘
`
`__
`
`3
`
`
`
`
`
`Page 4 of 24
`
`

`
`
`
`
`
`XMC Motion Control XMCSPI Reference
`
`Table of Contents
`
`3.3. 7 [XMC__Dr\/Ex! UI__Servo Interface .............................................................................................. .. I 6
`3.4 XMC EXTENDED CODE GENERATION INTERFACES (EXTCG) ........................................................'........ "16
`3. 4. I [XMC___DrvExICG__0perator Interface ................................................................................. .;........ .. I 6
`3.4.2 IXMC_DrvExICCr'__Program Interface........ .f. ................................................................................... I 7
`3.4.3 IXMC__DrvExtCG__ProgramF1ow Interface ..' ................................................................................. .. I 7
`3. 4:4 £XMC_DrvErtC'G__ProgramMgmt Interface .............................................
`..................................... I 8
`3.4.5 b\’MC_DrvExlCG__Subroutine Interface......................................................................................... .. I8
`3. 4. 6 IXMC__DrvEx1CG'__ Variable Interface ................................................................. .§ ........................... I 8
`
`APPENDIX A ...............................................................................................................................................19
`
`AJ REVIEWER FEEDBACK ..........................................................................................................................."19
`A. 1.1 Correspondence ............................................................................................................................. .. I 9
`
`
`
`5
`
`
`ROY-G-BIV Corporatton Confidential
`3/15/95
`©1995 ROY-G-BIV corporauon. Au Rights Reserved.
`Page 5 of 24
`
`Page 5 of 24
`
`

`
`
`
`
`
`Nil‘
`
`
`
`XMC Motion Control XMCSPI Reference
`
`1.0 Overview
`
`1.0 Overview
`
`The XMCSPI is the Service Provider Interface (SP1) implemented by every XMC Driver. This
`layer ofsoftware, used by the XMC Motion Component, controls the specific motion control
`hardware corresponding to the current XMC Driver. Four categories of custom OLE 2.0
`interfaces make up the complete XMCSPI layer. Out ofthe four categories. all XMC Drivers are
`required to implement one category of interfaces called core interfaces. Implementing the other
`three interface categories, called extended interfaces. is recommended, but not required to
`participate in the XMC software model.
`implementing all extended interfaces is recommended
`for it makes the current driver-hardware interaction more precise and more efficient. Since not all
`hardware will support all extended interfaces, implementing them is not required.
`
`This manual describes all core and extended interfaces making up the complete set ofXMCSPI
`custom OLE interfaces. Chapter 2.0 XMCSPI Interface Categories discusses the purpose of each
`category and lists the interfaces that fall in each. Chapter 3.0 extends this discussion by
`describing each interface and the methods they contain.
`
`
`
`
`
`
`ROY-G-BIV Corporation Confidential
`5/95
`in 1995 ROY-G-BIV Corporation. All Rights Reserved.
`Page 6 Of
`
`Page 6 of 24
`
`

`
`
`
`
`
`XMC Motion Control XMCSPI Reference
`
`2.0 XMCSPI interface Categories
`
`2.0 XMCSPI lnterface Categories
`This section describes the categorical grouping ofthe OLE interfaces found in the XMCSPI. Both
`standard and custom OLE interfaces are used in the XMCSPI. OLE 2.0 requires the
`implementation of all interfaces listed in Section 2.! Srandard OLE Interfaces. XMC requires the
`implementation of all interfaces listed in section 2.1 Core Interfaces.
`
`2.1 Standard OLE Interfaces
`The following standard OLE interfaces must be supported by each Motion Control Driver. For
`more information on each interface, see section 2.0 Standard OLE Interfaces in the XMCAPI
`Reference manual.
`
`Standard Interfaces
`IClassFactory
`IUnknown
`
`~
`2.2 Core Interfaces (Care)
`Any absolutely essential functions to motion control problems are in the core set of functions. All
`motion control XMCSPI drivers must implement these core functions. None ofthese functions
`are not allowed to use user—interface objects.
`‘
`
`‘
`
`The following custom OLE 2.0 interfaces are hi the core set ofXMCSPI functions:
`
`'
`
`Custom Core Interfaces
`IXMC_DrvCore_AnalogIO
`IXMC_DrvCore_DigitalIO
`IXMC_DrvCore”DynamicState
`IXMC_DrvCore_Encoder
`IXMC_DrvCore_EnumInterfacesupport
`IXMC_DrvCore_IO (Abstract)
`IXMC_DrvCore_Limits
`IXMC_DrvCore_Motiong(Dependent)
`IXMC_DrvCore_Servo-
`‘ IXMC_DrvCore_StaticState
`IXMC_DrvCore_Stepper
`
`‘
`
`‘
`
`NOTE: The IXMC___DrvCore_Servo interface ‘is only required if the motion control hardware controlled by the
`driver has servo motor support. The same follows for the lXMC_DrvCore__Stepper interface with stepper
`/UOIOFS.
`
`Abstract interfaces are only used by other interfaces as an inheritance base. For example. since
`the IXMC__DrvCore__Digitall0 interface inherits from the IXMC_DrvCore__lO interface, its
`implementation contains all methods in both interfaces. See section 2. 7.} lnherirance
`Relationships for more information on inheritance relationships between interfaces.
`
`Dependent interfaces are only used after the interfaces they are dependent on have perfonned
`certain operations. For example, the IXMC_DrvCore_Motion interface is dependent on either
`the lXMC__DrvCorc_Servo or the IXMC_DrvCore__Stepper interfaces initializing the motion
`system. See section 2.7.2 Dependency Relationships for more infomation on dependency
`relationships between interfaces.
`
`2.3 Extended Interface Categories
`All non-core interfaces in the XMCSPI fall into one ofthe three extended interface categories.
`XMC Drivers are not required to implement any ofthe extended XMCSPI functions. A stub
`driver, called the XMC Driver Stub, implements all extended interfaces, not supported by the
`
`.
`
`‘
`
`
`
`
`
`
`3/1
`age
`
`ROY-G-BIV Corporation Confidential
`to 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`P
`
`Page 7 of 24
`
`

`
`
`
`
`
`
`
`XMC Motion Control XMCSPI Reference
`
`2.0 XMCSPI interface Categories
`
`current driver, that can be emulated using a software algorithm which calls core functions. For
`more information on how the XMC Driver Stub is used. see Section 7.0 Driver Administrator,
`Component, Driver Relationship in the XMC User Guide manual.
`implementing extended
`interfaces directly in the driver can improve the precision and efficiency of the operation. for the
`driver implementation has more direct control over the motion control hardware than the XMC
`Motion Conuol Component. Even greater precision and perfonnance improvements occur when
`the driver can direct the motion control hardware to directly perform a procedure defined in one of
`the extended interfaces.
`
`2.3.1 Extended Interfaces (Ext)
`This set offunctions consists of all non core functions that do not use user—interface objects such
`as dialog boxes or message boxes. The following custom OLE 2.0 interfaces are in the set of
`extended XMCSPI functions:
`
`Custom Ext Interfaces
`IXMC_DrvExt_Counter
`IXMC_DrvExt_Debug (Private)
`IXMC_DrvExt_DynamicState
`IXMC_DrvExt_Encode:
`IXMC_DrvExt_Incerrupt
`IXMC_DrvExt_IO (Abstract)
`IXMC_DrvExt_Joyscick
`IXMC_DrvExt_Limits
`IXMC_DrvExt_Motion (Dependent)
`IXMC___DrvExt_Stat icstate
`IXMC_DrvExt_Timer
`
`2.3.2 Extended U1 Interfaces (ExtUI)
`This XMCSPI set consists of all extended XMCSPI functions that require user-interface objects
`such as dialog boxes or message boxes. For example, when an application requests to tune the
`servo motors, special input may be needed from the user to complete the process. Because tuning
`the servo motors is not a required motion control function and may need input from the user, it is
`in the Extended.UI XMCSPI set of fimctions.
`
`The following custom OLE 2.0 interfaces are in the extended user-interface set of XMCSPI
`functions:
`
`Custom ExtUl Interfaces
`-
`IXMC__Di:vExtUI_A.nalogIO
`IXMC__D rvExt:UI__Base
`IXMC__DrvExtUI__Digi t:alIO
`IXMC___DrvExt:UI__Dynami. cs : ate
`IXMC__DrvExt:U I_Se rvo
`IXMC_Dr:v£xt:UI__Sta:ic:S ca 1: e
`
`2.3.3 Extended Code Generation Interfaces (ExtCG)
`These XMCSPI functions consist of all methods used for code generation only. Most core and
`extended methods generate code also generate code when the XMC software is mo in code-
`gcneration mode. But, where core and extended functions may also be used in real-time and
`mixed modes, Code-generation functions cannot. Code-generation functions are only used when
`running in code-generation mode.
`
` 3/15/95
`ROY-G-BIV Corporatlon Confidential
`8 Of 24
`©1995 ROY-G-BIV Corporation. All Rights Reserved.
`Page
`
`
`
`
`
`
`
`Page 8 of 24
`
`

`
`XMC Motion Control XMCSPI Reference
`
`2.0 XMCSPI Interface Categories
`
`The following custom OLE 2.0 interfaces are in the set of code-generation XMCSPI functions:
`
`Custom ExtCG interfaces
`IXMC DrvExtCG ProgramFlow
`IXMC DrvExtCG Operator
`IXMC D:vExcCG Program
`IXMC DrvExtCG Programmgmt
`IXMC DrvExtCG subroutine
`IXMC DrvExtCG Variable
`ll
`ll
`
`llll
`
`llll
`
`2.4 Vendor Specific Interfaces (ExtVS)
`These functions are not part of the set ofXMCSPI interfaces. No XMCAPI interface methods call
`these functions for they are provided by each vendor as a pass—through method giving vendors
`access to new hardware features not yet supported by the XMC software model. Each
`implementation of vendor specific custom OLE Interfaces depend on the needs of the hardware
`vendor. Applications may communicate directly with these interfaces, but in doing so, they
`automatically become dependent on the specific Motion Conool Driver and therefore become
`hardware-dependent. But, allowing vendor—specific functions to exist gives the software model a
`flexible way to evolve. For example, if one hardware vendor adds a new feature to their motion
`control hardware, not provided by any other vendors, they may gain access to the new feature by
`adding a vendor specific SPI interface to their driver and then directly programming to the SP1
`interface from within the application. Of course, other drivers will not work with applications that
`call the hardware dependent SP1 interface, for they will not implement the interface. As the
`feature becomes more useful over time, other hardware vendors will probably add the feature to
`their hardware. After the feature gains a critical mass of support within the companies supporting
`the XMC sofiware model, the feature will be added to the XMC software model by becoming a
`part of both the XMCSPI and XMCAPI. For more information on vendor specific interface-3, see
`the appropriate XMC Motion Control Extension manual describing the specific XMC Driver
`which includes a reference for each hardware-dependent driver interface.
`
`'
`
`2.5 Interface Map
`The following table displays all Motion Control Driver, XMCSPI interfaces and the categories
`they fall in:
`‘
`
`Core
`“IXMCDrvCore_”
`
`Ext
`“IXMCDrv‘Ext__"
`
`AnalogIO
`
`ExtUI
`“D(MCDrvExtUI__”
`AnalogIO
`Base
`
`Extcc
`“IXMCDrvExtCG_”
`AnaloglO‘
`
`
`
`
`
`
`
`
`Counter
`
`
`
`
`
`_
`
`IO (Abstract)
`-
`
`Debug (Private)
`DigitalIO
`' DigitalIO
`Dynamicstate
`Dynamicstate
`Encoder
`Encoder
`
`Enumlnterface
`interrupt
`[0 (Abstract)
`Joystick
`
`Limits
`Limits
`Motio—ri-(i/-i.”bscraci)_'
`Motion (Absrlct)
`Servo
`Servo
`St.aticStatc
`Staticstaie
`
`Stepper
`Timer
`
`’
`
`DigitallO
`Dynamicstate
`
`_m—m.
`
`Servo
`StatiC5t2-It
`________
`
`—M-‘W
`
`Counter‘
`
`A
`oigitalio""i"""'”"”
`
`Encoder‘
`
`lnterrupt.‘m“-inlvmWW
`IO‘
`Joystick‘
`Limits‘
`Motion-7 —”w-mwmw
`Servo‘
`
`Stepper‘
`Timer‘ M’ “W.
`
`_
`
`
`ROY-G-Blv Corporation Confldantlal
`3/1 /95
`en 1995 ROY-G-BIV Corporation. All Rights Reserved.
`Page , of 24
`
`Page 9 of 24
`
`

`
`
`
`
`
`
`XMC Motion Control XMCSPI Reference
`
`2.0 XMCSPI Interface Catngorlos
`
`Operator
`Program
`ProgramFlow
`ProgramMgmt
`Subroutine
`
`
`
`.—~
`
`y
`
`‘ These interfaces generate code implicitly. Calling methods, that immediately cause an action on
`the hardware when run in real-time mode, generate code when run in code-generation mode.
`
`.
`
`"
`
`.
`
`Variable
`
`2.5 Interface Relationships
`This section describes how closely coupled XMCSPI interfaces relate to one another. There are
`two ways interfaces relate to one another.
`interfaces can inherit from each other and can be
`dependent on one another. The following sections describe these relationships and the interfaces
`using them.
`
`2.6.1 Inheritance Relationships
`
`C4-+ inheritance is used to combine two interfaces in such a way that the derived interface
`“inherits” all method definitions in the base interface. Only the method definitions within the base
`interface are inherited. The resulting interface contains implementations of all methods in both
`the derived and the base interface. The following are the inheritance relationships found in the
`XMCSPI:
`
`_
`
`Inheritance Tree
`IXMC_DrvCore_IO
`
`'
`
`l l
`
`~~- IXMC_DrvCore_DigitalIO
`l--- IXMC_DrvCore_AnalogIO
`
`IXMC_DrvExtUI_Base
`
`I l
`
`--- IXMC DrvExtUI AnalogIO
`l--— IXMC:DryExtUI:Digit:a.LIO
`l--- IXMC_Dz:vExt:UI__Dyna.micStace
`l--~ IXMC~DrvExtUI_Servo
`|--- IXMC__DrvExt:UI_St:at'.icStat:e
`
`2.6.2 Dependency Relationships"
`Unlike inheritance relationships, dependency relationships are between two interface
`implementations. When an interface is dependent on another interface, it needs the interface to
`perform an operation before it can continue one ofits own operations. For example, the
`IXMC_DrvCore_Motion interface is dependent on the IXMC__DrvCore_Stepper interface
`initialization routine. Before using the IXMC__DrvCore__Motion interface, the
`IXMC__DrvCore__Ste-pper interface must be used to initialize the stepper system. The following
`are the dependency relationships found in the XMCSPI:
`
`Dependency Tree
`IXMC__Dr:vCore__Motion —-I
`IXMC__DrvExt_Mo’:.ion ---I
`
`l-l
`
`(dependen: on)
`I
`V
`
`l--- IXMC_DrvCore_Stepper
`l——-
`IXMC_D:vCore_Servo
`
`ROY-G-EN Corporation Confidential
`D 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`Page 10 of 24
`
`
`
`
`
`
`Page 10 of 24
`
`

`
`
`
` 7257wellfl
`
`
`
`XMC Motion Control XMCSPI Reference
`
`3.0 XMCSPI Reference
`
`3.0 XMCSPI Reference
`
`3.1 XMC Core Interfaces (Core)
`
`Core functions are the lowest level primitive motion control functions implemented by all
`hardware vendors that software cannot duplicate in an algorithm that uses other methods, such as
`those in me Motion Control Driver Stub. This section describes each custom OLE 2.0 interface
`within the set of core interfaces.

`
`3.1.1 IXMC_DrvCore_AnalogIO Interface
`The IXMC__DrvCore__AnalogIO interface inherits from the IXMC_DrvCore__IO interface and
`implements all of its methods. This interface take care of initializing the analog I/O system used.
`All I/O work is carried out by the IXMC__DrvCore__lO interface.
`
`Inheritance
`
`IXMC__DrvCore___IO
`
`l l
`
`------ IXMC__DrvCore__AnalogIO
`
`.
`V
`Configuration
`('pDrvCore___A.nalogIO) ->Initialize ()
`
`3.1.2 D(MC__DrvCore__DigitalIO Interface
`Similar to the IXMC_DrvCore_AnalogIO interface, the IXMC_DrvCore__DigitalIO interface is
`also inherits from the LXMC_DrvCore___IO interface. The l'XMC__DrvCore__DigitalIO interface
`takes care of initializing the digital I/O system, and the IXMC_DrvCore__I0 interface takes care
`of all other operations.
`*
`-
`.,
`
`Inheritance
`
`IXMC__DrvCore_IO
`.
`I
`l ---- —— IXMC__D:vCore__Digit;alIO
`
`Configuration
`(*pDrvCore__Digit:alI_Ol ->Init:ialize'()
`
`'
`
`"
`
`
`
`
`ROY-G-Blv Corporation Confidential
`3/15/95
`Page 11 of 24
`D 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`Page 11 of 24
`
`

`
`3.0 XMCSPI Reference
`XMC Motion Control XMCSPI Reference
`
`3.1.3 IXMC_DrvCore_DyinamicState Interface
`The IXMC__DrvCore__DynamicState interface manages the overall state ofthe motion control
`system. Included in its management tasks are initializing and shutting down the system. The
`current state information may be queried or changed at any time after the system is initialized.
`
`State information
`
`typede 13 st ruct: ___XMC__DYNAMICSTATE IN F0
`l
`
`X.MC___S'I‘ATICSTA'I‘£
`double
`double
`double
`double
`double
`double
`double
`HRESULT
`XMC_OP_MODE
`XMC_AXIS_DATA
`XMC_AXIS DATA
`) xMc_oYNAMfcs'rAr2 mro;
`
`' pXMCDC;
`dfAc:ua1Position:
`dfCommandedPosition;
`dfA:cualVelocicy:
`dfcommandedvelocity;
`dfPosicion£:ro:;
`dfAcceleration:
`dfbeceleration:
`hfirrorstatus:
`operacingmodei
`*pLeftLimitDaca;
`'pRightLimitData;
`
`‘
`
`Configuration
`("pDrvCore_DynSt ) ->Reset ()
`(‘pDrvCore_DynSt) ->Init:ialize ()
`('pDrvCo re__DynSt) ~>Shut.Down ()
`
`‘
`
`'
`
`Querying Attributes
`("pDrvCore___DynSt) —>Get:Erro:r:St:atus ()
`("pDr:vCore__DynSt:) ->Get:St:a1:e ()
`
`Setting Attributes
`("pDrvCore__DynSt) ->CJ.eaz:E:rors ll
`('pDrvCox:e___DynSt) -->SetState ()
`
`3.1.4 IXMC_DrvCore_Enci)der Interface
`The IXMC__DrvCore_Encoder interface implements several optimized functions used to query
`positions. Calling the IXMC__DrvCore__DynamicSrate::GeISIate0 method will also collect the
`position information, but at the expense of collecting all other current state data. The methods
`specified by this interface only collect the data requested.
`
`‘
`
`" Querying Attributes
`('pDrvCor:e___Mot:ion) ->GetPositiortA<:t:ual ()
`('pDrvCore__Mocion) -->Get:Posit::i.onE.rror ()
`
`NOTE: Currently. this interface is classified as a core set of XMCSPI. hut it may be changed to an extended
`set of XMCSPI instead.
`
`
`
`
`
`
`
`
`
`.
`
`
`
`
`
`
`
`
`3/15/95
`ROY-G-BIV Corporation Confidential
`©1995 ROY»G-BIV Corporation. All Rights Reserved.
`
`Page 12 of 24
`
`Page 12 of 24
`
`

`
`
`
`
`§lll3?\{i1§1i§‘
`
`
`
`
`
`XMC Motion Control XMCSPI Reference
`
`3.0 XMCSPI Reference
`
`3.1.5 IXMC__DrvCore__EnuxnInterfaccSupport Interface
`The IXMC_DrvCore_Enuminterfacesupport interface is used to query a list ofinterfaces
`meeting the specific search criteria set with the
`IXMC__DrvCore__Enum[nteiy’aceSupp0rt.'.'Se!SearchCrireria0 method,,
`
`Inheritance
`IEnumX
`
`I l
`
`--- IXMC__DrvCore__EnumIm:e rfacesupport
`
`Setting Attributes
`('pDrvCore__EnumIFace) ->setSearchCrit:e:ia ()
`
`3.1.6 IXMC___DrvCore__IO Interface
`This interface consists ofall digital input and output related functions. The following methods are
`available from each Motion Control Driver in the IXMC_DrvCore_DigitalIO interface:
`
`Configuration
`("pDx:vCore__IO) ->Init:ialize ()
`
`Actions
`
`("pDrvCore__IO) ->Read ()
`("pDrvCore__IO) —>W:i.t;e ()
`
`u
`
`3.1.7 IXMC__DrvCore_Limits Interface
`The [XMC__DrvCore__Limits interface is used to set software limits for a set of axes. When
`setting limit values, two arrays containing A/YIS_DA TA elements are used to transfer the settings
`to the method.
`*-
`
`Setting Attributes
`1
`( 'pDrvCore_Limi:s ) —>Set:Lim:Lt Positions ( )
`
`NOTE: Currently. this interface is classified as a core set of XMCSPI. but it may be changed to an extended
`set of XMCSPI instead.
`
`
`
`
`
`
`
`
`ROY-G-BIV Corporation Confidential
`3/15/95
`01995 ROY-G~BlV Corporation. All Rights Reserved.
`Of
`
`Page
`
`Page 13 of 24
`
`

`
`XMC Motion Control XMCSPI Reference
`
`3_o xmcspl Raferance
`
`3.1.8 IXMC__DrvCore_Motion Interface
`This IXMC__DrvCore__Motion interface is a dependant interface in that it may only be used after
`cither the‘lXMC__DrvCore__Stepper or IXMC__DrvCore__Servo interfaces are used to initialize
`the system. All primitive motion control functions that are absolutely necessary to solve motion
`control software problems are placed in this interface. Also. each function in this set should be a
`primitive that can not be duplicated through a software algorithm built on top of other primitive
`functions. The following methods are available from each Motion Control Driver in the
`IXMC_‘_DrvCore__MotionControl interface:
`
`Querying Attributes
`('pDrvCore___Mot:ion) ->Get:CommandedPosit:ion ()
`('pDrvCore__Mot:ion) —>Get:Act:ualPosit:ion ()
`('pDrvCore_Mot:ion) ->Get:CommandedVelocit:y ()
`(*pDrvCor:e__Mot'.ion) ->Ge:Accua1ve1ocity ()
`
`Setting Attributes
`("pDr:vCore__Motion) ->Set:VeJ.ocity ll
`(*pDrvCore__Mot:ion) —>Set:Posicion (l
`
`Actions
`
`("pDrvCoz:e___Motion) ->Kill ()
`("pDrvCore__Motion) ->MoveAbs ()
`(*pDrvCore Motion) ->MoveCon1:inous ()
`('pDrvCore:Motion) ->Stop ()
`
`3.1.9 IXMC__DrvCore___Servo Interface
`The IXMC__DrvCore_Servo interface handles all operations specific to servo motors. All motion
`operations are performed by the IXMC__DrvCore__Motion interface. The following methods are
`in the IXMC_DrvCore_Servo interface:
`
`Dependency
`IXMC__DrvCore__Mot:ion
`I
`.
`
`I ------ IXMC__‘DrvCore__Se rvo
`
`Configuration
`('pDrvCore_Servo)->In:i.t:ialize()
`("pDrvCore__Servo) ->Tune ()
`
`-
`
`
`
`
`
`
`
`
`
`
`i»'lfli’:‘m§‘
`
`
`
`
`
`
`ROY-G-BIV Corporation Confidential
`3/15/95
`Page 14 of 24
`Q 1995 ROY-(3-Blv Corporation. All Rights Reserved.
`
`Page 14 of 24
`
`

`
`
`
`
`<lame*
`
`
`
`
`XMC Motion Control XMCSPI Reference
`
`3.0 XMCSPI Reference
`
`3.1.10 IXMC__DrvCore_StaticState Interface
`The I.XMC__DrvCore__StaticState interface manages all static state information defining the
`system. Like the current state information, the device context information may be queried at any
`time after the system is initialized. But. unlike the current state information, the device context
`information is only set during the initial setup of the system.
`
`State information
`
`typedef struct: __XMC___STATICSTATEINFO
`l
`
`dflincodercountsPeraevolutioni
`double
`dfMMPe:Revo1ut:i.on:
`double
`cblxxiscount:
`int
`cbAxisMax;
`int
`XMCMOTORTYPE
`rnot:o:’I‘ype:
`l X.MC_STATICSTATEINFO:
`
`Querying Attributes
`l"pDrvCore_Stat:St:) ->Get:St:at:e ()
`
`Setting Attributes
`("pDrvCore__St:atSt) -->Set:State()
`
`__
`
`3.1.11 IXMC_DrvCore_Stepper Interface
`The IXMC_DrvCore__Stepper interface handles all operations specific to stepper motors. All
`motion operations are performed by the IXMC__DrvCore__Motion interface. The following
`methods are in the IXMC__DrvCore_Stepper interface:
`
`».
`
`Dependency
`IXMC___DrvCore__Mot:ion
`
`l I
`
`----— IXMC_DrvCore___S tepper
`
`,
`Configuration
`(*pDrvCot:e_step;':>er) ->Init:ialize ()
`
`-
`
`3.2 XMC Extended Interfaces (Ext) .
`Extended interfaces contain methods that are not required. These interfaces are either duplicated
`by the Motion Control Driver Stub or contain functionality not essential in most motion control
`problems. However, implementing these interfaces will optimize the performance ofthe motion
`control system for a particular set of hardware. This section describes all extended interfaces
`within XMCSPI.
`
`3.2.1 IXMC_DrvExt_Counter Interface
`The IXMC__DrvExt_Counter interface is used to operate a counter implemented by the motion
`control hardware.
`
`Querying Attributes
`('pDi:vExt__Count:er) —>GecCount;e : ()
`
`Actions
`l'pDrvExt: Counter)->EnableInce::up:l)
`l"pDrvExt::Coun:er) ->Reset ll
`('pDrvExt: Counter.-)~>st:art()
`('pDrvExc:-Counter)->Stop(l
`
`
`ROY-G-Blv Corporation Confidential
`3/15/95
`©1995 ROY-G-Blv Corporation. All Rights Reserved.
`Page
`Of
`
`
`
`
`
`
`
`Page 15 of 24
`
`

`
`XMC Motion Control XMCSPI Reference
`
`3.0 XMCSPI Reference
`
`3.2.2 IXMC___DrvExt_Debug Interface (Private)
`The lXMC__DrvExt__Debug interface is a private interface used by the Manon Control
`Component, if available. When implemented, the interface is used when debugging the Motion
`Control Driver.
`
`y
`Setting Attributes
`('pDrvExt:___Debug) ->SetRawDataInDumpE‘ile ()
`l'pDrvExt:_Debug) ->SetRawDacaOutDu.mpEi.le ll
`('pDrvExt__Debug) ->SetXMCSPILogl:‘ile ( l
`
`Actions
`
`('pD:rvExt__Debug) ->EnableRawDat:aDump ()
`("pDrvExt;___Debug) —>EnableXMCS PILogging ( l
`
`3.2.3 IXMC__DrvExt___DynatnicState Interface
`The IXMC__DrvExt__DynamicState interface manages the extended, dynamic stateof the motion
`control system. The extended current state information may be queried or changed at any time
`after the system is initialized.
`
`‘
`
`5
`5
`
`
`
`
`
`‘
`
`State lnformation
`
`typedef struct
`l
`
`DWORD
`
`XMC__EXTDYNAMICS'I‘ATE INFO
`
`XMC__EX'I‘STATICSTATEINE‘O
`double
`double
`double
`double
`double
`double
`POS_DATA
`POS_DATA
`POS_DATA
`POS_DATA
`double
`BOOL
`BOOL
`BOOL
`BOOL
`BOOL
`BOOL
`BOOL
`BOOL
`BOOL
`) XMC_EXTDYNAMICSTATEINFO;
`
`1
`.
`
`Querying Attributes
`l 'pDrvCore__DynSt ) ->GetStace ( )
`
`Setting Attributes
`('pDi:vCore__DynSt) —>set:St:a:e ()
`
`dwSupportedPope rties;
`
`"'pE.xtXMCDC:
`dfLimitDeceleration;
`dfJogVelocityHigh;
`dfJogVelocityLow;
`dfJoystickVelocityHigh;
`dfJoystickVelocityLow;
`dfFeedRate:
`*pHomePosition:
`'pzeroPosition;
`'pLimitSWFwdPosition;
`*pLimitSWBwdPosition;
`dfLimitDeceler

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket