throbber

`
`
`
`EXHIBIT 3EXHIBIT 3EXHIBIT 3
`
`
`
`
`
`
`
`
`
`
`
`ABB Inc.ABB Inc.ABB Inc.
`
`
`
`
`
`EXHIBIT 1003 EXHIBIT 1003 EXHIBIT 1003
`
`
`
`
`
`Page 1 of 18Page 1 of 18Page 1 of 18
`
`Page 1 of 18
`
`

`

`EXHIBIT B
`
`XMC Motion Control
`
`-
`
`XMCAPI Reference
`
`
`
`
`
`
`
`
`
`:4
`
`
`
`
`%i1%¥3?.§:§§£
`
`
`
`
`
`Revision:
`Author:
`Date:
`Doscnpuon:
`
`Third Draft
`Dave Brown
`Wednesday. Feb 22. 1995
`This document is me XMCAPI reference descnoing all functions. standard OLE interfaces. and
`custom OLE interfaces making up me XMCAPI.
`
`Revision History: 4/15/94 (DB)
`7/1/94 (DE)
`2/22/95 (05)
`
`Initial wming.
`- First Draft:
`- Second Draft: Split oesign of! small business Dian. incorporated suggestions.
`- Third Draft - Split XMCAPI reference off design guide.
`
`-0.
`
`ROY-G—BlV Corporation Confidential
`© 1995 ROY-G-BIV Corporation. All rights reserved.
`
`Page 2 of 18
`
`Page 2 of 18
`
`

`

`XMC Motion Control XMCAPI Reference
`
`‘
`it may be changed substantially prior to final commercial release.
`This is a preliminary release ofthe 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.
`‘Die entire
`formation contained within this document or software.
`ults of its use. remains with the user. No part of this document
`ROY-G-BIV Corpomion.
`
`ROY-G-BXV Corporation makes no warranties on the in
`risk of tmng this document or soficware including the res
`may be reproduced without express written permission from
`ROY~G—BW. XMC. XMCAPL and XMCSPI an: trademarks ofROY«G-BIN‘ Corporation.‘
`
`Microsoft. Visual C++. Visual Basic. WFNJZ. and Microsoft Excel 5.0 are registered trademarles and Windows.
`Windows NT. MFC. Wmlls. and OLE are trademarks ofMierosofl Corporation.
`
`Borlnnd and Borlnnd C++ are uademarks ofBorl:tnd lntemational. inc.
`
`0 I995 ROY-G-BXV Corporation. All Rights Reserved.
`Printed in the United States ol'America.
`
`
`
`
`
`
`
`
`
`
`
`
`§ll§l”:§!lK§fi§§ill
`
`
`
`
`-o.
`
`ROY-G—BlV Corporation Confidential
`0 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`3115/95
`
`Page 3 of 18
`
`Page 3 of 18
`
`

`

`XMC Motion Control XMCAPI Rnfurunco
`
`Table of Conant:
`
`Table of Contents
`
`TABLE OF CONTENTS ........................................
`
`.................................................................................... i
`
`1.0 OVERVIEW ............................................................................................................................................1
`
`............................................................2
`2.0 STANDARD OLE INTERFACES ...........................................
`2.1 ICLASSFACTORY INTERFACE .....................................................................................................................3.
`2.2 IDISPATCH INTERFACE ...............................................................................................................................2
`2.3 IENUMX INTERFACE ..................................................................................................................................2
`2.4 IUNKNOVVN INTERFACE.............................................................................................................................3
`3.o XMC DRIVER ADMINISTRATOR .....................................................................................................3
`3.1 STANDARD OLE INTERFACES ....................................................................................................................3
`3.2 CUSTOM OLE INTERFACES ............................................................
`.........................................................3
`3.2.] IXMC_DriverAdmin ...........................................................................................................................3
`3.2.! [XMC__EnurrtDrr"ver ................................................'............................................................................-I
`4.0 XMC MOTION CONTROL CONIPONENT .....................................................................................__5
`4.1 STANDARD OLE INTERFACES ...................................................'.................................................................5
`4.2 Cusrom OLE INTERFACES - MOTION CONTROL .......................................................................................6
`4.2.1 [XMC_Caunter Interface....................................................................................................................6
`4.2.2 IXMC___Dynamt'cState Interface...........................................................................................................6
`4.2.3 lXMC__Encader Interface ................................................................................................................... 7
`4.2. 3 IXMC__EnumInterface Interface ......................................................................................................... 7
`4.2.5 D(MC__I0 Inte ace.............................................................................................................................8
`4. 2. 6 IXMC_Jay:tt'ck Interface ..........................................................................................................
`.......8
`4.2. 7 1XMC__Limit.s' Inter7“ace .......................................................................................................................8
`4.2.8 I/YMC_Motian Interface .....................................................................................................................9
`4.2.9 I/\’MC_StaticState Interface.............................................................................................................. I0
`4.2.10 [XMC___Timer Interface................. .._':................................................................................................ I0
`4.3 CUSTOM OLE INTERFACES - CODE GENERATION .................................................................................... I 0
`4.3.1 1XMC__Oper__r._ztor Interface ................................................................................................................ I I
`4. 3.2 IXMC__Prograrn Interface......................
`......................................................................................... II
`4.3.3 IXMC__ProgramFIaw Interface ................
`...................................................................................... I2
`4. 3. 4 lXMC_ProgramMgmt Interface ....................................................................................................... I2
`4.3.5 1XMC__Subroutt'ne Interface ...............................................................................................
`............ 13
`4.3.6 IXMC_ Variable Interface ............................................................................................................... .. I 3
`4.4 CUSTOM OLE INTERFACES - DIAGNOSTIC ...............................................................................................13
`4.4.1 1XMC__Errar Interface .................................................................................................................... .. I 3
`4. 4.2 IXMC_Debug Interface ................................................................................... .., ............................ .. I3
`APPENDIX A ............................................................................................................................................"14
`A.l REVIEW!-ZR FEEDBACK ........................................................................................................................... ..I4I 4
`A. I . I Correspondence ............................................................................................................................. ..
`
`
`
`
`
`
`
`.
`
`<.
`
`ROY-G-BIV Corporauon Confidential
`D 1995 ROY-G-BIV Comoranon. All Right: Reserved,
`
`3115195
`
`Page 4 of 18
`
`Page 4 of 18
`
`

`

`
`
`
`
`XMC Motion Control XMCAPI Reference
`
`1.0 Overview
`
`1.0 Overview
`To use XMC. applications call the methods defined by the XMCAPI OLE interfaces to perform
`the motion control services needed. The full XMCAPI comprises a set ofOLE interfaces
`corresponding with common objects found in a motion control system. For example. a motion
`control system may contain servo and stepper motors. encoders,.limit switches. and ajoystick.
`Within the XMCAPI are interfaces corresponding to each of these objects. The full XMCAPI
`contains implementations ofboth standard OLE 2.0 interfaces and a rich set ofcustom OLE
`interfaces designed specifically for motion control.
`
`This reference manual describes all OLE interfaces in the XMCAPI. Each section discussing an
`interfaces starts with a description of the interface and how it is used. Next, all functions in the
`interface are listed by eatagory.
`
`Chapter 2.0 Standard OLE Interfaces, describes all standard interfaces exposed in the XMCAPI.
`Next, Chapter 3.0 XMC Driver Administrator, discusses both the standard and custom
`interfaces exposed by the Driver Administrator that make up a small portion of the XMCAPI.
`Finally, Chapter 4.0 XMC Motion Control Component, discusses the standard and custom
`interfaces exposed by the Motion Control Component. The Motion Control Component
`implements and exposes the majority of the XMCAPI. Together, the Motion Control Component
`and the Driver Administrator implement and expose the fiill set of interfaces defined by the
`XMCAPI.
`V
`.
`
`_
`
`
`
`c.
`
`__.__________________________________.____.____.____I.._________
`3115/95
`ROY-G-8lV Corporation Confidential
`D 1995 ROY—G-BIV Corporation. All Rights Reserved.
`
`Page 5 of 18
`
`Page 5 of 18
`
`

`

`
`
`XMC Motion Comml XMCAPI Hnfnrvnce
`
`2.0 Standard ote lntorfacou
`
`I
`
`Standard OLE lnterfaces
`lowing the OLE sofivvare model.
`Several standard OLE interfaces must be supported when fol
`Both the [Unknown and lClassFactory interfaces are examples ofrequired interfaces. The
`IDataObject interface is used when transferring or caching data. The [Dispatch is provided to
`support OLE Automation between processes. This section describes all standard OLE interfaces
`used by the Driver Administrator, Motion Control Component. and Motion Control Drivers.
`
`2. 1 lClassFactory Interface
`The IClassFaetory interface is used to create an instance of an object and re
`pointer to an interface.
`'
`’
`
`turn to the caller a
`
`General
`('pCE‘) ->C::eat:eInst;ance H
`(‘PCS’) ->LockSe:ver (l
`
`2.2 [Dispatch Interface
`The [Dispatch interface is used to support OLE Automation. Normally, this interface is used by
`the OLE Automation engine, not die C/C++ application developer.
`
`General
`('pDisp) —>GetIDsOfNames ()
`('PDiSP) ->Get:'I'ypeInfo ()
`('pDisp)->Get:'I‘ypeInfoCour1tll
`("pDisp) ->Invol<e (l
`
`2.3 IEnumX Interface
`The IEnumX interface is a generic OLE
`fi'om. This interface is used to create and move
`IXMC__EnutnInterface interface inherits from
`querying functionality.
`
`".
`
`interface that other enumeration interfaces always inherit
`through an enumeration of data. The
`IEnumX to implement the interface support
`
`General
`(‘pf-Jnum) —>Next ()
`("pEnum) ~->skip ()
`("pEZnum) -->Re5et()
`(‘pl-lrtuml ->Clone()
`
`‘
`
`2.4 IUnkno_wn Interface
`The lUnknown interface is a standard OLE interface exposed by all OLE objects.
`common base interface.
`
`yitisa
`
`In a Wa
`
`General
`l'PUnl<l ->QueryInt'.e:face ()
`('2-'JUnlc) ->AddRef ()
`l'pUn><) ->Release ()
`
`<0.
`
`ROY-G—8lV Corporation Confidential
`6D 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`3115195
`
`Page 6 of 18
`
`
`
`Page 6 of 18
`
`

`

`
`
`
`
`
`
`
`
`
`XMC Motion Control XMCAPI Reference
`
`3.0 XMC Drlvor Administrator
`
`3.0 XMC Driver Administrator
`The Driver Administrator, which implements a small subset ofthe XMCAPI set of functions. is
`used by both the user and the Motion Control Component.
`it is used by the user to add new
`Motion Control Drivers, configure existing drivers. and remove old ones. Later when an
`application uses the Motion Control Component. the component queries the Driver Administrator
`for the current driver to use.
`
`NOTE: OLE 2.0 interfaces are used to implement all functions in the XMCAPI.
`
`The following OLE 2.0 interfaces are custom OLE interfaces in the XMCAPI supported by the
`Driver Administrator.
`v
`
`IXMC_D:ive:Admin
`
`3.1 Standard OLE Interfaces
`The following standard OLE interfaces are supported by the Driver Administrator. ‘ For more
`information on each interface. see section 6.0 Standard OLE Interfaces.
`
`_
`
`IClassFactory
`IDispacch
`Iflnknown
`
`3.2 Custom OLE Interfaces
`
`'" The following custom interface
`software model.
`
`is a part of the XMCAPI and an extension to the OLE 2.0
`
`3.2.1 DflVIC___DriverAdmin
`
`query the Driver Adminisnator settings. The Driver
`This interface is used to manipulate and
`lates the administrator’: settings. And. the
`Administrator application, run by the user. manipu
`r for a pointer to the current driver to use.
`Motion Control Component queries the administrate
`
`Queqcing Attributes
`('pXMCDrvAdmin)—>GetSelectedD:ivers()
`('pXMCDrvAdmin)->IsDiagnos:icTestingOnl)
`('pXMCDrvAdmin)~>IsAPILogg;ngOn()
`l "pXMCDr:vAdmiri) ->IsCkridLoggingOn ( )
`('pXMCDrvAdminl ->IsBitLogg:‘.ngOn ll
`
`Setting Attributes
`l'pXMCDrvAdmin)->SecAPIStream()
`(’pXMCDrvAdmin)->SecCmdSt:eam()
`('pXMCDrvAdmin)—>SeeEi:Sc:eam()
`
`Acfions
`('pXMCD:vAdminl—>EnableAPILogg1nq()
`('pXMCDrvAam1nl->EnaoieCmdLogg;ng()
`('pXMCDrvAdm;n)->Enable5;:Loqg;ng()
`('pXMCD:vAumin)->EnableDiagnos:;csll
`!'pXMCDrvAam;nl—>ViewIn:e:faceSuppor:l)
`
`-co.
`
`ROY-G—BlV Corporation Confidential
`0 1995 ROY-G—BlV Corporation. All Rights Reserved.
`
`3/15/95
`
`Page 7 of 18
`
`
`
`
`
`
`Page 7 of 18
`
`

`

`XMC Motion Control XMCAP! Reference
`
`3.0 XMC Driver Administrator
`
`3.2.1 IXMC_EnumDriver _
`The IXMC_EnumDriver interface is used by the XMC Motion Control Component when
`building the interface enumeration describing the level of XMC support providcd by each driver.
`This interface inherits from the standard IEnumX OLE interface.
`
`
`
`
`
`
`
`
`
`
`
`
`
` 3116195
`ROY-G—8lV Corporation Confidential
`D 1995 ROY-G-BIV Corporatton. All Rights Reserved.
`
`Page 8 of 18
`
`Page 8 of 18
`
`

`

`XMC Motlon Control XMCAFI Reference
`
`4.0 XMC Motion Control Component
`
`4.0 XMC Motion Control Component
`The Motion Control Component, which implements the majority of the XMCAPI set of functions.
`is used by applications. As a complete set. the OLE interfaces in the XMCAPI are separated into
`the four catagories below.
`
`1. Standard — Standard OLE interfaces.
`2. Motion Control - Custom OLE interfaces used for motion control and code generation.
`3. Code Generation - Custom OLE interfaces used for code generation only.
`4. Diagnostic — Custom OLE interfaces used for debugging the system.
`
`ow the standard OLE 2.0 COM Object software model. The following
`XMCAPI interfaces foll
`I set of functions implemented by theMotion Control
`OLE 2.0 interfaces make up the XMCAP
`Component:
`
`
`
`g
`”
`
`
`
`
`
`'
`
`_
`
`’
`
`Standard
`IClassFactory
`IDacaObjec:
`Ibispacch
`IEnumX
`Iunknown
`
`Motion Control
`IXMC_Coun:er
`IXMC_Display
`IXMC_Dynam1cState
`IXMC_Encoder
`IXMC_EnumIncerface
`IXMC_IO
`IXMC_Joystick
`IXMC_Limits
`IXMC_Motion
`IXMC_StaticSta:e
`IxMC_Timer
`
`:4
`
`Code Generation
`IXMC_Operato:
`IXMC_P:ogram
`‘IxMC_P:ogramFlow
`IXMC_P:oqramMgm:
`IXMC_Subroutine
`IXMC_Variable
`
`Diagnostic
`IXMC_E::or
`IXMC_Debuq
`
`-
`
`.
`
`*
`
`
`
`
`
`
`
`4.1 Standard OLE Interfaces
`rted by the Motion Control Component. For
`The following standard OLE interfaces are suppo
`dard OLE Interfaces.
`more information on each interface. see section 6.0 Stan
`
`Zclassfactory‘
`IDacaObjec:
`IDxspaccn
`Ifinumx
`IUnknown
`
`4.
`
`RDY—G-EIV Corporatlon Confidential
`O 1995 ROY—G-BIV Corporation. All Rights Reserved.
`
`M1995
`
`Page 9 of 18
`
`Page 9 of 18
`
`

`

`
`
`
`
`
`
`XMC Motion Control XMCAPI Rnhnnco
`
`4.0 XMC Motion Control Component
`
`V4.2 Custom OLE Interfaces - Motion Control
`The general set of interfaces is made up from all main motion control interfaces. Most interfaces
`resemble objects found within the motion control system.
`
`4.2.1 IXMC_Counter Interface
`The IXMC__Counter interface allows the programmer to manipulate a hardware counter.
`
`Aefions
`('pCounee:)—>Advise()
`('pCount:e:) -->At:eachEncode: ()
`('pCouneer) ->DecachEncoder (l
`('pCouneer) ~>Enable ()
`('pCouncez:) ->Reset (l
`('pCoum:e:) -—>UnAdvi.se H
`
`Querying Attributes
`('pCounter)->GetCount(l
`
`.
`-
`4.2.2 IXMC_DynamicState Interface
`The IXMC_DynamieState interface manages high level system tasks, such as initialization. and
`allows the user to get all state information describing the motion control system. When queried,
`other interfaces use an internal pointer to the IXMC__Dyn'amicState interface to retn’eve state
`values, which are returned to the caller. The following methods make up the
`IXMC__DynamicState interface:
`
`‘
`
`'
`
`Configuration
`('pDynSt)~>InitializeEx()
`(‘pDynSt)->Intialize(l
`('pDynst'.) -->Reser. ()
`('pDynSt)->ShutDown()
`
`‘
`
`Querying Attributes
`('pDynSt)->AreflardwareLimiesOn()
`('pDynS:)->AresoftwareLimi:sOn()
`('pDynSt)—>GetAcceleracion()
`(‘pDynSc)~>GetAceualPosie1on()
`('pDynSt)->GetAetualVe1oci:y()
`l'pDynSt)~>GecCommandedPosition()
`('pDynSt)->GetComandedVeloci:y()
`('pDynS:)~>GecCoun:()
`('pDynSt)—>GetDeceleraeion()
`('pDynSt)—>GecErrorseatus(l
`('pDynS:)—>GecHomePosi:ion()
`('pDynS:)—>Get£ncoderResolu:ion()
`('pDynSc)->GeeJogVe1oc1tyHigh()
`('pDynSt)—>GetJoqveloc;:yLow()
`('pDynSt)—>Ge:JoystickVelocicyHighll
`('pDynSc)->Ge:JoystickVeloci:yLow()
`('pDynSt)—>GecJoystickAccele:ation(l
`('pDynsc)->GecJoyscickDecelerataonl)
`('pDynSc)->GecLimitDecelera:;on()
`('pDynSt)->GecSoftwareL;mi:Pos1:;onsll
`('pDynStl->GecMapModel)
`('pDynS:)->GetPosi:ion(l
`(’pDynSt)—>Ge:TimerTick()
`('pDynSc)~>GeeUnics()
`('pDynS:)->GetVelocity()
`l'pDynSt)->GeeZeroPosi:ion()
`('pDynS:)->IsCounterOn(l
`l'pDynSt)->IsInMo:;on()
`('pDynS:)—>IsIncerpola:1onOn()
`
`_
`
`Q
`
`ROY-G-BIV Corporauon Confidential
`'3 1995 ROY—G—BlV Coroorauon. All Rights Reserved.
`
`M1595
`
`Page 10 of 18
`
`
`
`
`
`
`
`Page 10 of 18
`
`

`

`XHC Motion Control X!-lCAPl Reference
`
`4.0 XMC Motion Control Component
`
`PPDYRSE) ->IsJoyst;::kOn H
`('PDYnSt) ->I3MotionOn ll
`l'pDynSt) ->IsPosizzonlizrorcorreccionon H
`('pDynSt) ->Is'I‘imerC>n ()
`.
`l'PDynSt) ->IsIOOucput:On H
`<‘pDynStl ->IsIOInpu:On (
`)’
`
`Setting Attribute:
`('pDyn$!'.) ->ClearE.::ors ll
`
`Actions
`('pDynst) ->GetCS H
`('pDynSt) ->Relea5eCS ll
`
`4.2.3 IXMC__Encoder Interface
`The IXMC__Encoder interface is used when working with encoder hardware. Once initialized. a
`pointer to an IXMC___Encoder interface may be attached to an IXMC__Motion interface which
`allows them to work together. Once attached. the 1XMC__Motion interface uses the
`[XMC__Encoder interface position related functions, like setting the home position or querying
`the current position.
`~
`v
`
`.
`
`'-
`
`V
`Querying Attributes
`('pEnc:odex) ->Get:I-Jrrorstatcus U
`('pE‘.ncode:) ->Get:HomePosit:ion ()
`('PEncoder) ->GetPosit:ion ( )'
`('pEncoder) —>GetzeroPosiciori ()
`(‘pi-Zncocler) ->GetResolut:ion (J
`
`Setting Attributes
`('P5nCOderl ->Set:HomePosition ()
`('pEncoder) ->Set:HotnePositionEx ()
`("pEncoder) ->Set:Zer:oPosit:'.on ()
`('pEncoder) ->Set:ZeroPosit:ionI-Ix ()
`(‘pl-Encoder) ->Set:Resolut:ion ()
`
`4.2.4 IXMC__EnumIntet'face._Interface
`11:: IXMC_l-Jnumlnterface interface is used to access the list of the XMCAPI interface names
`and a description of their implementations. For example. if the motion control hardware or
`software drivertuntrolling the hardwaredo not support code generation, all code generation
`interfaces in the enumeration would be listed as “NOT IMPLEMENTED“. Knowing what
`interfaces are and are not supported allow particular programs to decide what drivers are actually
`'
`’
`'
`'
`rface inherits fiom the standard IEnumX OLE
`
`
`
`
`
`
`
`
`
`
`
`
`
`lnharitance
`Iiinumx
`
`l l
`
`--- IXMC__x'-Znumlnte rface
`
`<u.
`
`ROY-G-BIV Corporation Confidential
`O 1995 ROY-G-BIV Corporation. Ail Rights Reserved.
`
`3/15195
`
`Page 11 of 18
`
`Page 11 of 18
`
`

`

`
`
`
`
`
`
`
`
`‘
`
`XMC Motion Control XMCAPI Rtfumnca
`
`4.0 XMC Mouon Control Component
`
`4.2.5 IX.MC___IO Interface
`
`ns to manipulate both digital and analog l/O support located on
`This interface is used by applicatio
`llowingmethods are available from the Motion Component
`the motion control hardware. The fo
`in the IXMC__IO interface:
`
`Configuration
`('pIO) ->Init:ia1i:e ll
`('pIO) ->InJ‘.:iaJ.:'.zeEx ll
`
`Querying Attnibutos
`('pIO) ~>Get:E2rro:Stat:us ll
`('pIO)->I.sIm:put.E.nab1ed()
`(’pIO) —>IsOu'.:put:Enablecl ll
`
`‘
`Acfions
`('pIO)->Advise()
`('pIO)~>AtnachMoeion()
`('pIO)—>DetachMotion()
`('pIO)->Enab1eInpun()
`('pIO)—>EnableOu:pu:()
`('pIO)—>Read()
`('pIO) ->Un.Advise ()
`('pIO) ->w::it:e()
`
`'-
`
`'
`
`'
`
`‘
`
`‘
`
`4.2.6 IXMC__Joystick Interface
`The IXMC__Joystick interface is used to manipulate a hardware joystick. When the joystick is
`‘ enabled, all instances ofthe IXMC_Motion interface will be disabled.
`
`‘
`
`p
`
`"
`
`Querying Attributes
`(‘pJS) ->Get'.Acc:elerat:ion ()
`("pJS) ~>Get:Dece1ex:at:ion ()
`l "pJS) ->Get:Errorstat:us ( l
`('pJs) ->GetVelocit:yH.i.gh H
`('pJs) ->Geeve1oc:;.tyLow ()
`l'pJS) ->IsEnab1e_d ll
`
`Setting Attributes
`—( 'pJS) -->Set:Accele2:at:ion ()
`('pJS) -->Set:Decelez:a:ion ()
`('pJS) ~>set;Ve1ocityH.'tgh H
`('pJS) ->Set:Velocit:yLow ()
`('pJS) ->SetZero()
`
`Actions
`»('pJS) —>Att:achAnalogIO H
`('_oJS) ->Att:achLimit5 ()
`('pJS) —>DetachAna1ogIOl)
`('pJS) ->DecachLimi.cs (l
`('pJS) ->l-Znablell
`
`4.2.7 IXMC_Litnits Interface
`d to set software limit positions. The [XMC__Limits.
`.
`The IXMC_Limits interface is use
`ftware limits.
`lXMC_Joystick} and lXMC_Motion interfaces work together to implement the so
`
`Querying Attributes
`)
`l 'S’Li.m) ->Get;E::rorSt:at:us l
`l'pL.Lm) ->Get.Lim1.tPos1:1ons l)
`('pL:.m) ->Get;Decele:ai::.on l
`)
`('pL1ml —>A:eSoftwa:eLJ.m:.t:sOn l)
`
`-o.
`
`ROY-G-BIV Corporation Confidential
`D 1995 ROY-G-BIV Corporation. All Rights Rnsurvad,
`
`3115195
`
`Page 12 of 18
`
`Page 12 of 18
`
`

`

`XMC Motion Control XMCAPI Raterlnco
`
`4.0 AMC Motion Control Component
`
`('pLim)->A:eHa:dwa:eL;m1:sOn()
`
`Setting Attributes
`('pLim)->SetLimitPosi:ions()
`('pLim)->Se:Decelera:ion()
`
`Acflons
`('pLim)->EnableSoftwareL1mi:s()
`('pLim)->EnableHardwa:eL1mits()
`
`4.2.8 IXMC__Motion Interface
`movement operations. Most functions are passed
`The IXVMC__Motion interface is used to perform
`an array of AX1S_DATA specifying the appropriate axis data.
`
`Configuration
`('pMotion) ->Init:ia1ize()
`('pMoeion)->Tune()
`('pMotion)->TuneEx()
`
`‘
`Querying Attributes
`('pMotion)—>GetAcce1e:acion()
`("pMot-.ion) ->Get:Dece.Ler:a:ion ()
`("pMot:ion) ->Get:E.::rorst:at:us ()
`(*pMot:ion) ->GetVelocity ()
`("pMotion) —>Get:Position () .
`("pMotion) ->Get:Unit:s H
`('pMotion) -->IsMoe:'.onon ()
`('pMotion)—>IsInterpola:ionOn()
`
`Setting Attributes
`('pMotion)~>AttachEncoder()
`('pMo:ion)->A::achLimits()
`('pMotion)—>De:achEncoder()
`('pMotion)->De:achLimics()
`('pMotion)—>setA:celeraeion()
`('pMotion)—>SecDeceleration()
`('pMot-.ion) ->setPosit:ion ()
`('pMo::Lon) ->$e:vé-locitzy ()
`('pMotion)->seeJogVelocityHigh()
`('pMotion)->Se:JogVelocityLow()
`
`“
`
`-
`
`.
`
`.
`
`,
`
`‘
`
`
`
`
`
`
`
`Acfions
`('pMotion)->Advise()
`('pMo:ion)->CreaeePa:h()
`('pMotion)->EnableInee:po1acion()
`('pMo:ion)->EnableMotion()
`:Cor:ection()
`('pMo:ion)—>EnablePosicionE::o
`('pMo:ion)—>GoHome()
`('pMo:1on)—>Goze:o()
`('pMotion)->Joq()
`('pMoc1on)->Kill()
`('pMotion)->MoveAbs()
`('pMOCicn)->MoveContinous()
`('pMo:ion)->MoveRes()
`('pMotion)->S:op()
`('pMoc;on)r>TraceA:c()
`('pMo:1onJ->T:acePath()
`('pMot1on)->UnAdv1se()
`
`ROY-G-8iV Corporation Confidential
`O 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`3115195
`
`Page 13 of 18
`
`
`
`
`
`‘
`
`<.
`
`Page 13 of 18
`
`

`

`
`
`
`
`
`
`
`XHC Motion Control XMCAPI Reference
`
`4.0 XMC Motion Control Component
`
`4.2.9 IXMC_StaticState Interface
`The IXMC__StaticStnte interface manages all static data in the motion control system, such as
`scaling factors. maximum velocities and maximum accelerations. The following methods make
`up the IXMC__StaticStste interface:
`
`Configuration
`('pSt:atSt) ->Init:iali:eE.x (
`( 'pstacSt) —>Im::La.l.i:e ( l
`
`l
`
`Querying Attributes
`('pSt:acS:) —>GecAxi.sScaling (l
`('pScat.S:l —>GeeMaxAcceleracion ( l
`("pStatSt:l ->Get:MaxDe<:eleracion ( l
`("pStatStl ->Get:MaxVe.l.oci:y H
`('pSt:atSt) ->Get:Path5calinq ll
`('pStat'.St) ->Get:Oper:a'c:'.nqMode (
`
`l
`
`Setting Attributes
`(*pStatSt)~>SetAxisScaling()
`('pscat:stl -~>secMaxAceeleracion ()
`('pSt:at:Stl->Set:t-taxDecele::ation(l
`('pSt:at:St:) —>Set:MaxVeloci:y ( l
`('pStac.St) —>set:Pat:nSca.l.ing (l
`('pSeacSt:l -->set:OperatingMocie ()
`
`’
`
`~
`
`Actions
`('pStat:St:) ->Commit;St:at:e (l
`('pStat:St'.)~>EnableScalingEac1:or:s ()
`('pStatSt) ~>Get:State ()
`("pStat:St) ->Re1easestate ()
`
`‘-
`
`4.2.10 IXMC__Titner Interface
`The IXMC__Timer interface allows the programmer to manipulate a hardware timer.
`
`g
`Querying Attributes
`('pTime::l -->GetDe_lay ()
`('p'1‘imerl ->Get:E:rorStar_us ll
`('pTimerl ->Get:Elapsed'I‘ime ll
`l'pTimerl ->GetReso1.ut:ion ll
`('p'I‘imer) ->IsInDe.Lay(,)
`
`Setting Attributes
`('pTimerl ->Set:De.l.ay ()
`
`Actions
`-('pTimer:) ->1-xdvise ll
`('pTime:)->DoDelay(l
`('pT1mer)~>Enablel)
`('pTimer)->Rese:()
`l'pTimer)—>Star:ll
`l'pTimerl—>Scop(l
`('pTimerl->UnAdvise(l
`
`4.3 Custom OLE Interfaces - Code Generation
`y either run in either real-time or generating code
`Unlike the set of general interfaces. that ma
`d when generating code. When used in
`modes. the code generation interfaces are only use
`n control programs may be generated.
`conjunction with other general interfaces. complete menu
`This section discusses each ofthe code generation interfaces.
`
`-o.
`
`ROY-G-BIV Corporation Confidential
`O 1995 ROY—G—8lV Corporatlon. All Rights Reserved.
`
`3/15195
`
`Page 14 of 18
`
`
`
`
`
`
`Page 14 of 18
`
`

`

`
`
`XMC Motion Control XMCAPI Reference
`
`4.0 mac Motion Corrtrol Component
`
`4.3.1 IXMC__Operator Interface
`gram statement genemting functions
`The IXMC__Operator interface contains general pro
`matical operations. logical operations, and gcncml conditional
`including bitwise operations. mathe
`the [XMC__Operator interface:
`operations. The following functions are in
`
`Constant:
`CE__PI
`
`Eltwise
`('pOper)->BitAndl)
`('pOper)->BitNot()
`('pOper)->BitOrl)
`('pOperl->BitShiftL()
`('poper)—>BieshiftR()
`('pOperl->BitXOr(l
`
`Logical
`('pOper)->And()
`("pOper) ->Noc ()
`(‘pOper) ->0: ll
`
`Mathematical
`('pOper)->Addll
`('pOper)->Bitl)
`('pOper)->Div()
`('p0pe:)~>LeftParen()
`('pOper)->Multll
`('pOper)->RightParen()
`(‘pOpe:)->Sqrt()
`('pOper)—>Sub()
`
`Trigonometric
`('pOperl ->ACos ()
`('pOper) ->Asin ()
`('pOper)'>ATan()
`('P0Per)->cosl)
`,
`('pOpe:)->Sin()
`('p0p'er) —>'t‘an H '
`
`Labelslstringslcommants
`~+'pOper) ->ASCIIChar ()
`('pOper)—>Commen:ll
`('p0per)—>DeclLabe1()
`('pOper)->String()
`
`_ Condmonfl
`('pOper)->Equal()
`‘('pOper)->Grea:erThan()
`l'pOper)->Greace:Than£qualll
`('pOper)->Le:sThan()
`('pOperl->LessThanEqualll
`('pOper)->Noc£qual()
`
`
`
`
`
`Interface
`4.3.2 IXMC__Program
`_
`terface is used to generate the general program shell. Several other
`leep for a specified amount oftime are also
`causing the program to s
`thods make up the interface:
`
`The IXMC_Program in
`program flow functions like
`included. The following me
`
`-o.
`
`Program Flow
`('pProq)—>C
`l'pProq)->D
`('pP:oq)—>D
`
`ombinell
`efinefl
`ownloadll
`
`ROY-G-81V Corporation Confidential
`D 1995 ROY—G-BIV Corporation. All Rights Reserved.
`
`‘
`
`N1&95
`
`Page 15 of 18
`
`Page 15 of 18
`
`

`

`XMC Motion Control XMCAPI Reference
`
`4.0 XMC Motion Control Component
`
`('pP:oq)->End()
`('pProq)->Exit(l
`( 'pProq) ->Rende::AsTex: ( l
`('pP:og) ->Run()
`,
`('pProg) ->Sleep ll
`('pProq)->St'.op(l
`
`4.3.3 IXMC__ProgramFlow Interface
`The lXMC_ProgramFlow interface is used to generate code used to control the flow ofa
`program. Methods are available to generate if-else and general looping statemems. The following.
`methods are in the lXMC__ProgramFlow interface:
`
`
`
`
`
`
`
`
`
`lfIElse
`("pProgF1ow) ->IfOpen ()
`('pProgFlou) ->IfClose ()
`('pP:'ogFlow) ->Else ll
`('pProgFlow) —>E.ndIf()
`
`While
`('pProgE‘low)—>whi1eOpen()
`("pP:ogFlow) ->whileClose ll
`('pPz:ogElow) ->EndWhile ()
`
`Repeat
`('pP:ogE‘low) ->Repeat ()
`('pPx:ogFlow) —>Unti10pen ()
`('pP::oql:‘low) ->Un:ilCJ.osé l )
`
`"
`
`Loops
`(’pProgFlow) ->Loop ()
`(‘pProgFlow) —>EndLoop ()
`
`Misc.
`('PProgl:‘low) ——>Break ()
`('pProgE‘low) —>GoTo ()
`
`4.3.4 IXMC_ProgramMgmfInterface
`en working with programs on a high level.
`The IXMC_PrograrnMgmt interface is used wh
`5 included in this interface. The following
`Running and saving programs are a few operation
`methods make up the interface:
`'
`-
`
`‘
`
`Program Management
`l'pProgMgmt) ->DownJ.oad ()
`('pProgMgmt) —>Up.l.oad ()
`('pP::oqMg'mt) ->set:Ouepu: ()
`‘l 'pProgMg‘mt) ->openOutpu: ()
`)
`l 'pP::ogMqmt) —>CloseOuepuc (
`('pP:ogMgm\:) -->E'lusnou:puc ()
`
`
`
`
`
`
`
`--.
`
`ROY-G—8lV Corporation Confidential
`O 1995 ROY—G-BIV Corporation. All Rights Reserved.
`
`3115195
`
`Page 16 of 18
`
`Page 16 of 18
`
`

`

`
`
`
`
`
`
`XMC Motion Control XHCAPI Reference
`
`4.0 mac Motion Control Component
`
`4.3.5 IXMC_Subroutine Interface
`The [XMC__Subroutine interface is, used to generate and subroutines and calls to subroutines
`generated. The following methods are in the_lXMC_Subroutine interface:
`
`General
`('pSub) -->Define ()
`("pSubl ->End ii
`('pSub) ->caJ.l ll
`
`4.3.6 IXMC__Variable Interface
`The IXMC__Variable interface is used to define and assign values to variables. The following
`methods are included in the interface:
`A
`
`Definition
`- ('pVar) ->Define ()
`
`Assignment
`('pvaz:) ->AssignNumeric ()
`("’PV-_31.‘)->AssignBinary()
`("pvar) ->Assignst:ring ()
`
`‘
`
`‘
`
`s
`
`__
`
`-
`
`4.4 Custom OLE Interfaces - Diagnostic .
`Diagnostic interfaces maybe used by the application developer when debugging the system. The
`methods in the interface provide the user with logs of information generated when running the
`XMC software model. Logs may be created for XMCAPI calls. and.all information flowing in
`" and out of specified ports.
`_
`
`.
`
`..
`-
`=
`-
`4.4.1 IXMC_En'or Interface
`The DCMC__Error interface is provided to give the application developer a consistant method of
`displaying and logging all XMC errors based on the I-{RESULT value retumed by functions that
`fail. The following methods are in the interface:
`
`Setting Attributes
`('pErro:) ->Set:0ucput ()
`
`Actions
`('pError) ->Disp1.ay ()
`(*pError) ->Log ()
`("pError) —>StringE‘::omHRESUI..T ()
`
`4.4.2 IXMC__Debug Interface
`The IXMC__Debug interface gives the application developer control over severa
`may be generated to help debug an application using the XMC software model.
`methods are in the interface:
`
`i log files that
`The following
`
`Setting Attributes
`i 'pDebug) ->Set:xMCAPILogE‘ile l )
`l'pDeoug) ->Set:xMCAPIStream()
`
`Actions
`('PDebug) ->EnVableX.MCAPII.ogginq ll
`i'PDebuq) ->Enabi.eDiagnos:‘.cs U
`

`
`ROY-G-BIV Corporation Confidential
`O 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`311 5195
`
`Page 17 of 18
`
`
`
`
`
`
`
`
`
`Page 17 of 18
`
`

`

`Motion Control Componnnt Spoclfleatlon
`
`Appendix A
`
`Appendix A
`
`A.1 Reviewer Feedback
`All feedback is important in order to evolve the specification into a standard software model for
`motion control hardware. Please, at a minimum. respond to the following issues:
`
`Which areas, ideas, or concepts within the specification seem confusing to you’?
`Do you see any unresolved issues. other than those listed above?
`Are there any main features missing from the specification that you would find useful?
`4. Are there any specific scenario-maps you would like to see in the next revision?
`5. Are there any specific C or C++ code examples you would like to see?
`6. Are there any_speeific Visual Basic code examples you would like to see?
`
`A.1.1 Correspondence
`If possible, please send all feedback over email to. the following address:
`
`~
`
`Dave Brown
`
`ROY-G-BIV Corporation
`Comptisen/e:72103,2235
`Internet:
`72103.2235@compuserve.com
`
`Otherwise, ifyou do not have access to email,'please mail all correspondence to the following
`address:
`
`Dave Brown
`
`_ ROY-G-BIV Corporation
`PO. Box 1278
`White Salmon, WA. 98672
`
`
`
`
`
`
`
`
`«o.
`
`_________._____________________________.________i____._.._._____
`3115195
`ROY-G-BIV Corpontlon Confidential
`0 1995 ROY-G-BIV Corporation. All Right: Reserved.
`
`Page 18 of 18
`
`
`
`
`
`Blifiliti'
`
`
`
`
`
`
`Page 18 of 18
`
`

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