throbber
ABBInm
`
`EXHIBIT 1003
`
`Page 1 of 18
`Page 1 of 18’
`
`35»
`
`EXHIBIT B
`
`HILL“322-23?3339ii“ill-3i};iimii33...?5
`
`
`
`
`
`
`<1!"-1L.i!'-lin.il1!"(5222}:ii"
`
`uh”m“"“1“
`r’puurn““x
`
`m n
`
`nlx‘
`
`I’m"nun]“In“
`
`"ummm
`
`

`

`EXHIBIT B
`
`XMC Motion Control
`
`
`
`
`"
`
`!
`
`Roviclon:
`Author:
`Data:
`Description:
`
`Third Draft
`Dave Brown
`Wednesday. Feb 22. 1995
`This document is the XMCAPI reference descnbing all lunctions. standard OLE interfaces. and
`custom OLE interfaces makmg up the XMCAPI.
`
`Revision History: 4/15/94108)
`7/1/94 (08)
`2122195 (08)
`
`Initial wmmg.
`. First Draft:
`- Second Draft: Split design all small business plan. incorporated suggestions.
`- Third Draft - Solxt XMCAPI reference all design guide.
`
`ROY-G-BIV Corporation Confidential
`© 1995 ROYoG-Blv Corporatron. All rights reserved.
`
`Page 2 of 18
`Page 2 of 18
`
`

`

`t
`
`XMC Motion Control XMCAPI Reference
`
`It may be changed substantially prior to final commercial release.
`This 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 sofiware. The entire
`risk of using this document or software including the results of its use. remains with the user. No part of this document
`may be reproduced Without express written perrmssion from ROY-G-BIV Corporation. _
`
`ROY-G-BI'V. XMC. XMCAPL and XMCSPI are trademarks of ROY-G-Blv Corporation:
`
`Microsoft. Visual CW. Visual Basic. WINJZ. and Microsoft Excel 5.0 are registered trademarks and Windows.
`Windows NT. MFC. WINJZI. and OLE are trademarks of Microsoft Corporation.
`
`Borland and Borlaad CH are trademarks ofBorland lntemational. Inc.
`
`0 I995 ROY-G-BIV Corporation. All Rights Reserved.
`Printed in the United States of America.
`
`
`
`————__—_—————_-——-————
`311995
`ROY-G-alv Corporatlon Confldcntlal
`O 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`Page 3 of 18
`Page 3 0f 18
`
`

`

`XMC Motion Control XMCAII Reference
`
`
`
`.
`
`I
`
`Table ofConant:
`
`Table of Contents
`
`TABLE OF CONTENTS .............................................................................................................................. i
`
`LO OVERVIEW
`
`.............................................................................................. l
`
`2.0 STANDARD OLE INTERFACES .........................................................................................................2
`
`2.1 ICLASSFACI'ORY INTERFACE ..................................................................................................................... 3-
`
`2.2 IDISFATCH INTERFACE ...............................................................................................................................2
`2.3 IENUMX INTERFACE ..................................................................................................................................2
`2.4 IUNKNOWN INTERFACE ..............................................................................................................................2
`
`3.0 XMC DRIVER ADMINISTRATOR .....................................................................................................3
`
`3.1 STANDARD OLE INTERFACES ....................................................................................................................3
`3.2 CUSTOM OLE INTERFACES
`.........................................................3
`
`3.2.] IXMC_Drt‘verAdmin ........................................................................................................................... 3
`3.2.1 lXMC_EnumDrI‘ver ............................................................................................................................ 4
`
`4.0 XMC MOTION CONTROL COMPONENT .......................................................................................5
`
`4.1 STANDARD OLE INTERFACES ....................................................................................................................5
`4.2 CUSTOM OLE INTERFACES - MOTION CONTROL ....................................................................................... 6
`
`4.2. I lXMC_Caunter Interface .................................................................................................................... 6
`4.2.2 lXMC_DynamicState Interface........................................................................................................... 6
`4.2.3 IXMC_Encoder Interface ................................................................................................................... 7
`4.2.4 LYMC_EnumInter/ace Interface .................... 7
`4.2.5 IXMC_IO Interface............................................................................................................................. 8
`4.2. 6 IXMC_Joystic/c Interface ............................................................................................................,‘....... 8
`4:2. 7 WC_Lirnits Interface ....................................................................................................................... 8
`4.2.8 WC_Motian Interface ..................................................................................................................... 9
`4. 2. 9 WC_StaticState Interface .............................................................................................................. 10
`4.2.10 IXMC_Timer Inteo’ace...................‘:................................................................................................ [0
`4.3 CUSTOM OLE INTERFACES - CODE GENERA‘HON .................................................................................... 10
`4. 3. I lXMC_0pera_tor Interface ................................................................................................................ I I
`4. 3.2 IXMC_Program Interface................................................................................................................. I I
`4.3.3 IXMC_ProgramF/ow Interface ..................'...................................................................................... I2
`4. 3. 4 IXMC_ProgramMng Interface ....................................................................................................... I 2
`4.3.5 IXMC_Subroutine Interface .................................................................................................'............ 13
`4.3.6 [XMC__Vart'able Interface ................................................................................................................. I3
`' 4.4 CUSTOM OLE INTERFACES - DIAGNOSTIC ............................................................................................... I3
`4. 4.] IXMC_Error Interface ...................................................................................................................... I 3
`4. 4.2 IXMC_Debug Interface ....................................................................................., .............................. I3
`
`APPENDIX A .............................................................................................................................................. 14
`
`A.I REVIEWER FEEDBACK ............................................................................................................................. I4
`
`A. 1.] Correspondence ............................................................................................................................... I 4
`
`.
`
`32.2
`
`
`
`m;
`
`.
`
`
`ROY-G-BIV Corporation Gonna-nail
`3115/95
`d: 1995 ROY-G-BIV Corporation. All Right: Reserved.
`
`Page 4 of 18
`Page 4 of 18
`
`

`

`.
`t
`-
`w ‘
`XMC Motion Control XMC’mnnco
`
`‘t
`
`‘
`
`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 of OLE interfaces
`corresponding with common objects found in a motion control system. For‘example. a motion
`control system may contain servo and Stepper mozors. encoders, limit switches. and a joyStick.
`Within the XMCAPI are interfaces corresponding to each of these objects. The full XMCAPI
`contains implementations of both standard OLE 2.0 interfaces and a rich set of custom 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 catagory.
`
`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
`itnplements and exposes the majority of the XMCAPI. Together, the Motion Control Component
`and the Driver Administrator implement and expose the full set of interfaces defined by the
`XMCAPI.
`
`
`
`
`ROY-G-alv Corporation Confidential
`3115/95
`0 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`Page 5 of 18
`Page 5 0f 18
`
`

`

`‘
`
` .i
`
`":1
`Fr.L‘
`
`
`
`ii"
`
`ii"82322
`
`
`
`xuc Motion Control Xllcgahnnce
`
`
`
`.10 Standard OLE Interfaces
`
`2.0 Standard OLE lnterfaces
`
`Several standard OLE interfaces must be supported when following the OLE software model.
`Both the [Unknown and lClassFactory interfaces are examples of required interfaces The
`[DataObject interface[5 used when transferring or caching data. The [Dispatch is provided to
`support OLE Automation between proccsScS. This senior. describe; all sumdard OLE interfaces
`used by the Driver Administrator. Motion Control Component. and Motion Control Drivers.
`
`2. 1 ICIassFactory Interface
`
`The [ClassFactory interface is used to create an insrance of an object and retum to the caller a
`pointer to an interface.
`'
`
`General
`('pCF) ->CreaceInstance ()
`('pCF) ->LockServer()
`
`2.2 [Dispatch Interface
`The [Dispatch interface is used to support OLE Automation. Normally, this interface is used by
`the OLE Automation engine, not the C/CH- application developer.
`
`General
`('pDisp) ->GetIDsOfNames ()
`('pDisp) ->GetTypeInfo (l
`(‘pDisp) ->Get'rypeInfoCounc ()
`('pDisp) —>Invoke ()
`
`2.3 lEnumX Interface
`
`The IEnumX interface is a generic OLE interface that other enumeration interfaces always inherit
`from. This interface is used to create and move through an enumeration of data. The
`IXMC_EnumInterface interface inherits from IEnutnX to implement the interface support
`querying functionality.
`
`General
`('pExtum) ->Next:()
`('pEnum) ->Skip ()
`('pEnum)->Reset(l
`' ('pEnum) ->Clone()
`
`2.4 [Unknown Interface
`The [Unknown interface is a standard OLE interface exposed by all OLE objecs.
`common base interface.
`
`[n a way it is a
`
`General
`('pUnk) ->QueryInce:face (l
`('pUnk) ->AddRef()
`('pUnk) ->Release()
`
`
`ROY-G-BIV Corporation Confidential
`'
`3/15/95
`0 1995 ROY-G-BIV Corporation. All Right: Reserved.
`
`Page 6 of 18
`Page 6 0f 18
`
`

`

`XMC Motion Control XMCAPI Reference "' 3.0 XMC Driver Admlnlatntor
`
`.
`
`.)
`
`x
`
`I
`
`
`
`3.0 XMC Driver Administrator
`
`The Driver Administrator. which implements a small subset ofthe XMCAPl 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 lunar/ans in the XMCAPI.
`
`The following OLE 2.0 interfaces are custom OLE interfaces in the XMCAPI supported by the
`Driver Administrator.
`
`IXMC_D:iverAdmin
`
`3.1 Standard OLE Interfaces
`
`The following standard OLE interfaces are supported by the Driver Adminisrrator. For more
`information on each interface. see seetion 6.0 Standard OLE Interfaces.
`
`‘
`
`IClassFactory
`IDispacch
`IUnknown
`
`3.2 Custom OLE Interfaces
`
`" The following custom interface is a part of the XMCAPI and an extension to the OLE 2.0
`software model.
`
`3.2.1 IXMC_Dn'ver-Adrnin
`
`This interface is used to manipulate and query the Driver Administrator settings. The Driver
`Administrator application, run by the user. manipulates the administrator’s settings. And. the
`Motion Control Component queries the administrator for a pointer to the current driver to use.
`
`Querying Attributes
`('pXMCDrvAdmin)—>GecSelectedD:ivers ()
`('pXMCDrvAdmin) ->IsDiagnos:icTestingOn l)
`('pXMCDrvAdmin) ->IsAPILogg1ngOn ()
`( 'pXMCDrvAdmin) ->IsCmdLoggingOn l )
`('pXMCDrvAdmin)->IsBi:LoggingOn()
`
`-
`
`Setting Attributes
`('pXMCDrvAdmin) ->SetAPIStream()
`('pXMCDrvAdi-nin) ->Ser.C::tdSt:eam ()
`l‘pXMCDrvAdx-nin) ->Seesi:5e:eaml)
`
`Acflons
`('pXMcothdmin)->EnableAPILoggingl)
`l'pXMCDrvAdmin)->EnabieCmdLogg;ng()
`t'pXMCDrvAdmtn)->Enable5;:Logg;ng()
`('pXMcoevAdmin)—>EnableDiagnosc;csll
`{'pXMCDrvAdmzn)~>ViewIncerfaceSuppor:l)
`
`!‘" li“
`El
`ii...il
`
`
`
`‘
`
`——-—_————_—-—_————_——-—_—
`3I1 5/95
`ROY-G-BIV Corporntlon Confidential
`0 1995 ROYaG-Blv Corporation. All Right: Reserved.
`
`.
`
`Page 7 of 18
`Page 7 0f 18
`
`

`

`.
`
`I
`
`
`
`XMC Motion Control XMCAPI Rofonneo 3.0 XMC Driver Admlnletntor
`
`.
`
`.
`
`3.2.1 IXMC_EnutnDriver
`
`The lXMC_EnumD'i-iver interface is used by the XMC Motion Control Component when
`building the interface enumeration describing the level of XMC support provided by each driver.
`This interface inherits from the standard lEnumX OLE interface.
`
`‘
`

`
`
`
`:tc'
`
`5f
`
`3
`
`——————-—————_————————————
`ROY-G-BIV Corporation Confidential
`3’1 5’95
`O 1995 ROY-G-BIV Corporation. All Right: Reserved.
`
`Page 8 of 18
`Page 8 0f 18
`
`

`

`XMC Motion Control XMCAPI Reference
`
`4.0 !!C Motion Control Component
`
`
`
`4.0 XMC Motion Control Component
`
`The Motion Control Component. which implemean the majority ofthe XMCAPl set of functions.
`is used by applications. As a complete set. the OLE interfaces in the XMCAPl are separated into
`the four catagories below.
`
`1. Standard - Standard OLE interfaces.
`" Motion Control - Cu5tom 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.
`
`XMCAPI interfaces follow the standard OLE 2.0 COM Object software model. The following
`OLE 2.0 interfaces make up the XMCAPI set of functions implemented by the Motion Control
`Component:
`
`'
`
`
`
`Standard
`IClassFactory
`IDacaObjec:
`IDispaech
`IEnumX
`IUnknown
`
`Motion Control
`
`IXMC_Counter
`IXMC_Display
`IXMC_DynamicStace
`IXMC_Encoder
`IXMC_EnumInterface
`IXMC_IO
`IXMC_Joystick
`IXMC_Limits
`IXMC_Motion
`IXMC_ScacicScace
`IXMC_Timer
`
`Code Generation
`IXMC_Operator
`IXMC_Program
`'IXMC_ProgramFlow
`IXMC_P:ograqum:
`IXMC_Subroutine
`IXMC_Variable
`
`Diagnostic
`IXMC_E::or
`‘IXMC_Debug
`
`‘
`
`4.1 Standard OLE Interfaces
`
`The following standard OLE interfaces are supported by the Motion Control Component. For
`more information on each interface. see section 6.0 Standard OLE Interfaces.
`
`IClassFactory
`IDacaObjec:
`IDispaccn
`IEnumx
`IUnknown
`
`M3/15/95
`ROY-GoBN Corporation Confidential
`O 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`Page 9 of 18
`Page 9 0f 18
`
`

`

`
`
`XMC Motion Control XMCAPI Reference 4.0 XMC Mouon Control Component
`
`4.2 Custom OLE Interfaces - Motion Control
`
`The general set of interfaces is made up from all main motion conu'ol interfaces. Most interfaces
`resemble objects found within the motion control system.
`
`4.2.1 IXMC_Counter Interface
`
`The lXMC_Counter interface allows the prog'ammer to manipulate a hardware counter.
`
`Acuons
`('pCoun:e:)->Advise()
`('pCountez) ->Aetach£ncoder ()
`('pCouncer)->Decach£ncoder()
`(‘pCounter)->Enable(l
`('pCounter)—>Reset()
`('pCounter) ->UnAdvise ()
`
`Querying Attributes
`('pCounter)->GetCount()
`
`4.2.2 IXMC_DynamicState Interface
`The IXMC_DynamicState interface manages high level system mks, 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_DynamicState interface to retrieve state
`values, which are returned to the caller. The following methods make up the
`lXMC_DynamicState interface:
`
`”
`
`Configuration
`('prnS:)->Initialize£xl)
`('prnSt)->Intialize()
`('prnSt)->Reset()
`('prnSt)->ShutDown()
`
`‘
`
`Querying Attributes
`('prnSt)~>AreHardwareLimitsOnl)
`('prnSt)->AreSoftwareLimi:sOnl)
`('prnSt)->GetAcceleracionl)
`('prnSt)->GetAccualPosition()
`('prnSt)->GetAc:ualVeloci:y()
`l'prnSt)->GetCommandedPosition()
`('prnSt)->GetCommandedVelocity()
`('prnSt)->GetCount()
`('prnSt)->GetDeceleration()
`('prnSt)->Get£rror5tacus()
`('prnSt)->GetHomePosi:ion()
`('prnS:)->Get£ncoderResolueionl)
`t'prnS:)->GetJogVelocicyHigh()
`('prnSt)->GeeJogVeloc;cyLowl)
`l'prnSt)->Ge:JoystickVelocityHigh()
`('prnSt)->Ge:JoystickVeloci:yLowl)
`('prnSt)->GecJoystickAccele:ationl)
`('prnS:)—>GetJoystickDecelera:Lonl)
`('prnS:)->GetLimitDeceleraczont)
`('prnSt)->GetSofcwareL;mi:Posi:ions(l
`t'prnSt)-)GeeMapMode()
`('prnS:)->Ge:Posi:ionl)
`l'prnS:)->Ge:TimerTickl)
`('prnSt)->GetUnits()
`('prnS:)->GecVelocityl)
`l'prnSt)->GetZeroPosi:ionl)
`l'prns:)->IsCoun:erOn()
`('prnSEl->I5Innotzont)
`l'prnSt)->IsInterpolatLonOnl)
`
`’
`
`
`
`ROY-G-BIV Corporation Confluenual
`'9 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`3/15/95
`
`Page 10 of 18
`Page 10 0f 18
`
`
`
`
`
`.
`
`

`

`l
`
`|
`
`\
`
`.
`
`.
`
`\
`
`
`
`XMC Motion Control XMCAPI Reference 4.0 XMC Motion Control Component
`
`('prnSt) ->IsJoyscickOn ()
`('prnSt) ->IsMocion0n ()
`('prnSt) ->IsPosi:zonE::orCo:rectionOn ()
`('prnSt) ->I5Timer0n()
`('prnSt)->IsIOOu:putOn()
`('prnSE) ->IsIOInpucOn()
`
`Setting Attributes
`('prnS:) ->Clear£r:ors ()
`
`Actions
`('prrtSt) ->GetCS ()
`('pr‘nSt) ->ReleaseCS ()
`
`4.2.3 IXMC__Encoder Interface
`
`The lXMC_Encoder interface is used when working with encoder hardware. Once initialized. a
`pointer to an IXMC_Eneoder interface may be attached to an lXMC_Motion interface which
`allows them to work together. Once attached. the lXMC_Motion interface uses the '
`lXMC_Encoder interface position related functions, like setting the home position or querying
`the current position.
`
`Querying Attributes
`('pEncoder) ->Get£rror5tatus ()
`('pEncoder) ->GecHomePosition ()
`('pEncocler) ->GetPosition ()
`('pEanoder) ->GetZetoPosition ()
`('pEncoder) ->GetResolution ()
`
`_
`
`..
`
`Setting Attributes
`('pEncoder) ->SetHomePosition ()
`(‘pEncoder) ->SetHomePosition£x ()'
`('pEncoder) ->Set2eroPosition ()
`('pEncoder) ->SetZeroPositionl-:x ()
`('pEncoder) ->SetResolution ()
`
`-.
`
`4.2.4 IXMC_EnumInterface,Interface
`
`The IXMC_Enumlnterface 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 driver‘controlling the hardware do 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
`capable of running with the application. This interface inherits from the standard IEnumX OLE
`interface.
`
`Inheritance
`IEnuntx
`
`I l
`
`--- IXMC_EnumIncerface
`
`
`
`.
`
`
`ROY-G-BIV Corporation Confidential
`3/15/95
`0 1995 ROY-G-BIV Corporation. All Right: Reserved.
`
`Page 11 of 18
`Page 1 1 of 18
`
`

`

`.
`
`t
`
`|
`
`I
`
`\
`
`I
`XMC Motion ControlXMCJJI Reference 4.0 XMC Motion Control Component
`
`
`
`4.2.5 IXMC_IO Interface
`
`This interface is used by applications to manipulate both digital and analog [/0 support located on
`the motion control hardware. The following methods are available from the Motion Component
`in the IXMC_IO interface:
`
`Configuration
`('pIO)->Inicialize()
`('pIO) ->Ini.ciali.ze£x ()
`
`Querying Attributes
`('pIO) ->Get£rro:$tatus ()
`('pIO)->IsIncput£nabled(l
`('pIO)->IsOucpucEnabled()
`
`Acfions
`('pIO)->Advise()
`('pIO)->AttachMocion()
`('pIO)->DecachMocion()
`(’pIO)->EnableInput()
`('pIO)->Enable0utpuc(l
`('pIO)->Read()
`('pIO) ->Un.Advise ()
`(‘pIO)->Wrice(l
`
`‘
`
`4.2.6 IXMC_Joystick Interface
`The IXMC_Joystick interface is used to manipulate a hardware joystick. When the joystick is
`enabled, all instances of the IXMC_Motion interface will be disabled.
`
`"
`
`Querying Attributes
`('pJS) —>GetAcce1eration ()
`(’pJS) ->GecDeeeleration ()
`(‘pJSl ->Get£rror$tatus ()
`('pJS) ->GetVelocityHigh ()
`('pJS)->GetVelocgtyLow(l
`('pJS) ->Is£nable.d()
`
`Setting Attributes
`-( 'pJS) ->SecAeceleracion ()
`('pJS) ->SecDeceleration ()
`('pJS) ->SecVelocityHigh (l
`('pJS)->SecVelocicyLow()
`('pJS) ->SetZero ()
`
`Actions
`-('pJS) ~>ActachAnalogIO ()
`('pJS) ->AccachLimics ()
`('pJS) ->DecachAnalogIO t)
`('pJS) ->DecachLimits (i
`('pJS) ->Enable()
`
`4.2.7 IXMC_Limits Interface
`
`The IXMC_Limits interface is used to set software limit positions. The IXMC_Limits,
`IXMC_Joystick'. and IXMC_Motion interfaces work together to implement the software limiLs.
`
`Querying Attributes
`('PLim) ->Gec£:rorscacus ()
`('pLim) ->GecLimatPosi:ions ()
`('pLim) ->GecDeceleracaonl)
`('pLim) —>AreSofcuareLamtcsOn ()
`
`.'
`
`
`
`
`=
`'
`
`'
`
`,
`
`‘
`
`.
`
`‘
`
`. R
`
`OY-G-BIV Corporation Confidential
`O 1995 ROY-G-BIV Corporation. All Right: Reserved.
`
`3/15/95
`
`Page 12 of 18
`Page 12 of 18
`
`

`

`
`
`XMC Motion Control XMCAPI Rotoronco 4.0 XMC Motion Control Componont I
`
`
`
`('pLim)->A:eHa:dwareLimi:sOni)
`
`SemngAnfibums
`('pLim)->SetLimitPosicionsi)
`i'pLim)->Se:Decelera:icn()
`/
`
`Acfions
`('pLim)->EnableSo£cwazeLimitsi)
`('pLim)->EnableHardwa:eLimitsi)
`
`21.2.3 IXMC_Motion Interface
`The IXMC_Motion interface is used to perform movement operations. Most functions are passed
`an may of AXIS_DATA specifying the appropriate axis data.
`
`"
`
`
`
`§m
`
`Configuration
`i'pMotion)->Initialize()
`('pMotion)->Tune()
`('pMotion)->Tune£x()
`
`-
`Querying Attributes
`('pMocion)->GetAccele:a:ion()
`('pMotion)->GetDecelera:ion()
`('pMotion)->Get£rror3tatus()
`('pMotion)->GetVelocity()
`('pMotion)->GetPositioni)
`('pMotion)->GetUnits()
`('pMotion)->IsMotionOni)
`('pMotion)->IsIn:erpola:ionOni)
`
`Setting Attributes
`('pMotion)->AttachEncoder()
`('pMotion)->AttachLimits()
`('pMotion)->Deeach£ncoder()
`('pMotion)->De:aehLimitsi)
`('pMotion)->SetAccelerationi)
`('pMotion)->SetDeceleration()
`('pMotion)->SetPosition()
`('pMotion)->Setvélocity()
`('pMotion)->SetJogVelocityHighi)
`('pMotion)->SetJ0qulocityLow()
`
`Acfions
`('pMonion)->Advise()
`('pMotion)->CreatePach()
`('pMotion)->Enab1eInterpolationi)
`('pMoeion)->EnableMotion()
`('pMotion)->EnablePosicionE::o:Correctioni)
`-('pMo:ion)->GoHome()
`('pMotion)->GoZeroi)
`('pMotion)->Jog()
`('pMotion)->Kill()
`('pMotion)->MoveAbs()
`('pMocion)->MoveContinous()
`('pMotion)->MoveResi)
`('pMocion)->s:op()
`('pMocion)r>T:aceA:ci)
`('pMo:ion)->T:acePathi)
`('pMotion)->UnAdv15e()
`
`‘
`
`M3/1 5/95
`ROY-G-BIV Corporation Confldonu‘al
`O 1995 ROY-G-BIV Corporation. All Rights Reserved.
`
`Page 13 of 18
`Page 13 0f 18
`
`

`

`‘
`
`l
`
`\
`
`.
`
`.
`
`
`
`XMC Motion Control XMCAPI Reference 4.0 XMC Motion Control Component
`
`4.2.9 IXMC_StaticState Interface
`
`file lXMC_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 lXMC_StaticState interface:
`
`Configuration
`('pStatSt) ->Initia1i:eEx(l
`('pSt:atSt) ->Intiali:e ()
`
`Querying Attributes
`('pStacSt) ->GechisScaling ()
`('pStat’.St) ->GecMaxAcceleracion ()
`('pScatSt) ->GecMaxDeceleracion (l
`('pScacSt) ->GecMaxVelocicy ()
`('pSEatSt) ->GetPathScaling l )
`('pScatSt)->Get0pera:1ngMode ()
`
`Setting Attributes
`('pStatSt)->SetAxisScaling()
`('pScatSt) ->SetMaxAccelerar.ion ()
`('pStatSt) ->SetMaxDecelex:ation ()
`('pStatSt)->SetMaxVelocity(l
`('pStatSt) ->SetPathScaling ()
`(‘pStatSU ->Sec0peratingMocie ()
`
`Acfions
`( 'pStatSt) ->Commit3t:at:e ( l
`('pStatSt) ->Enable5caling£‘actors (l
`('pStatSt)->Get$tate(l
`('pStatSt)->ReleaseState(l
`
`‘
`
`4.2.10 IXMC__Timer Interface
`
`..
`
`The IXMC_Timer interface allows the programmer to manipulate a hardware timer.
`
`.
`Querying Attributes
`('pTimer) ->GetDe_lay ()
`('pTimer) ->Get£rror5ta:us ( l
`('p'rimer) ->Get£1apsedTime ()
`__(_'p'rirner) ->GetResolucion ()
`('pTimer) ->IsInDelay()
`
`Setting Attributes
`('p'rimer) ->SetDelay ()
`
`Acflons
`.('pTimerl->Advise()
`('pTimer)->DoDelay()
`('pTimerl->Enable()
`('pTimez)->Rese:()
`('pTimer)->Scaet(l
`('pTimer)->scop()
`('pTimer)->UnAdvise()
`
`4.3 Custom OLE Interfaces - Code Generation
`
`Unlike the set of general interfaces. that may either run in either real-time or generating code
`modes. the code generation interfaces are only-used when generating code. When used in
`conjunction with other general interfaces. complete motion control programs may be generated.
`This section discusses each of the code generation interfaces.
`
`
`
`ROY-G-BIV Corporation Confidential
`0:: 1995 ROY-G-Blv Corporation. All Rights Reserved.
`
`3/15/95
`
`Page 14 of 18
`Page 14 of 18
`
`
`
`
`~
`
`

`

`xuc Motion Comm! XMCAPI Reference
`
`4.0 !It: Motion Control Component
`
`‘
`
`.‘
`
`4.3.1 IXMC_Operator Interface
`
`The D(MC_0perator interface contains general program statement generating functions
`including bitwise operations. mathematical operations, logical operations. and general conditional
`operations. The following functions are in the IXMC_Operator interface:_
`
`“Gain:
`
`:3
`
`CE_PI
`
`Bltwioo
`('pOper)->BitAnd()
`('pOper) ->BicNot()
`('pOper) ->Bit0r ()
`('pOper) ->aitShich()
`('pOper) ->Bit:ShiftR ()
`l'pOper) ->8itXOr()
`
`Logical
`('pOper) ->And ()
`('pOper) ->Not: ()
`('pOper) ->0: ()
`
`Mathematical
`('pOper)->Add()
`l'pOper)->Bi:()
`('pOper)->Div()
`('pOper)->LeftPazen()
`('pOpe:)->Mult()
`(*pOper)->RightParenl)
`('pOper)->Sqrt()
`('pOper)->Sub()
`
`Trigonometric
`l'pOper) ->ACos ()
`('pOpez) ->ASin ()
`('pOper) ->ATan ()
`('pOper) ->Cos ()
`('pOper)->Sin()
`('pOp'er)->Tan()
`
`.
`'
`
`Labels/StringsIComments
`“f'pOpem ->ASCIIChar()
`('pOper) ->Comment ()
`('pOper)->DeclLabe1()
`('pOper) ->Scring ()
`
`Conditional
`('pOper) ->Equal ()
`-('pOpe:) ->GreaterThan ()
`l'pOper) ->Greate:ThanEqual ()
`('pOper) ->Less’rhan ()
`('pOper) ->LessThan£qual ()
`('pOper) —>Not:£qual ()
`
`.
`
`
`
`‘
`
`-.
`
`4.3.2 IXMC.;Program Interface
`The IXMC__Program interface is used to generate the general program shell. Several other
`program flow fitnctions like causing the program to sleep for a specified amount oftime are also
`included. The following methods make up theinterface:
`
`Program Flow
`(‘pProq) ->Combine()
`('pProq)->Define()
`('pProg) ->Download()
`‘
`
`ROY-G-BIV Corporation Confldentlal
`3/1895
`6 1995 ROY—G—BIV Corporation. All Rights Reserved.
`
`Page 15 of 18
`Page 15 0f 18
`
`

`

`‘
`
`l
`
`
`
`XMC Motion Control XMCAPI Rotonnco 4.0 XMC Motlon Control Component
`
`I
`
`I
`
`‘
`
`
`
`
`1%}
`
`"
`
`('pong)->End()
`('pProg)->Exit()
`('pP:og)->RenderAsText()
`('pProg)->Run()
`('pProg)—>Sleep()
`('pProg)->Stop(l
`
`4.3.3 IXMC_ProgramFlow Interface
`
`The lXMC_ProgramFlow interface is used to generate code used to control the flow of a
`program. Methods are available to generate if-clse and general looping statements. The following.
`methods are in the IXMC_ProgramFlow interface:
`
`lf/Else
`('pProgE‘low) -> I fOpen ()
`('pProgFlow)->I£Close()
`('pProgFlow)->Else()
`('pProgFlow)->£ndlf()
`
`While
`('pProgFlow)->WhileOpen()
`('pProgFlow)->Whileclosel)
`('pProgE‘low) ->EndWhile ()
`
`Repeat
`('pProgFlow)->Repeat()
`('pProgFlow)->UntilOpen()
`('pProgFlow) ->UntilClose ()
`
`‘
`
`.
`Loops
`('pProgFlow)->Loop()
`('pProgFlow)->£ndLoop()
`
`Misc.
`('PProgFlow)—>Break()
`('pProgElow)—>GoTo()
`
`4.3.4 IXMC_ProgramMgmf Interface
`
`The IXMC_ProgratnMgmt interface is used when working with programs on a high level.
`Running and saving programs are a few operations included in this interface. The following
`methods make up the interface:
`
`Program Management
`('pProgMgmt)->Download()
`('pProgMgmt)->Upload()
`('pProgMgmc) ->Set0utput: ()
`'( 'pProgMgmc) ->Open0utpuc ()
`('pProgMgmc) ->Close0utpuc ()
`('pProgMgmtl ->Flush0ucput ()
`
`
`ROY-G-BIV Corporatlon Confidential
`3115195
`0 1995 ROY-G-BIV Corporation. All Right: Reserved.
`
`Page 16 of 18
`Page 16 0f 18
`
`

`

`4.0 I!C Motion Control Compomm
`XMC Motion Conuol XIClli Reference
`
`4.3.5 IXMC_Subroutine Interface
`
`”Hie IXMC_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 ( l
`('pSub) ->E:nd ()
`l'pSub) ->Call ()
`
`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:
`
`Definition
`('pVat) ->Define ()
`
`Assignment
`(-pVar) ->AssignNumeric ()
`('pVarl ->AssigrtBinary ()
`('pVar) ->Assignscring ()
`
`_
`
`4.4 Custom OLE Interfaces - Diagnostic
`Diagnostic interfaces may be 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, andall information flowing in
`" and out of specified ports.
`
`.
`
`-
`
`4.4.1 IXNIC_Error Interface
`The IXMC__Error interface is provided to give the application developer a consistant method of
`displaying and logging all XMC enters based on the HRESULT value retumed by functions that
`fail. The following methods are in the interface:
`
`Setting Attributes
`('pError) ->Set0utput ()
`
`Actions
`('pError) ->Display()
`('pError) ->Log ()
`('pEzror) ->St:ingF:omHR£SULT ()
`
`4.4.2 IXMC_Debug Interface
`
`The IXMC_Debug interface gives the application developer control over several log files that
`may be generated to help debug an application using the XMC software model. The following
`methods are in the interface:
`
`Setting Attributes
`l 'pDebug) ->Se:XMCAPILogFile (
`('pDebug) ->SetXMCAPIScream ()
`
`)
`
`Actions
`('poebug) ->EnableXMCAPILogging ()
`('poebugl ->Enableoiagnos:ics ()
`
`
`
`
`E
`;._
`
`___________________———'_—————311 ms
`ROY-G-alv Corporation Confidential
`0 1995 ROY—G-BIV Corporation. All Rights Reserved.
`
`Page 17 of 18
`Page 17 0f 18
`
`

`

`
`
`Motion Control Component Specification Appendlx A
`
`Appendix A
`
`A. 1 Reviewer Feedback
`
`Aii feedback is irnporiani in orderIf) evolve the spcczficaticnsue a standard scflwae .._ode! -or
`motion control hardware. Please at a minimum. respond to the followingissues:
`
`.
`
`9v+u-
`
`, 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?
`Are there any specific scenario-maps you would like to see in the next revision?
`Are there any specific C or C++ code examples you would like to see?
`Are there anyspecific Visual Basic code examples you would like to see?
`
`A.l.l Correspondence
`
`If possible, please send all feedback over email to the following address:
`
`Dave Brown
`
`ROY-G-BIV Corporation
`Comptiserve: 72 103.2235
`lntemet:
`72103 .223 5@compuserve.com
`
`Otherwise, if you do not have access to email, please mail all correspondence to the following
`address:
`
`Dave Brown
`
`ROYoG-BIV Corporation
`PO. Box 1278
`
`White Salmon, WA. 98672
`
`'
`
`"
`
`Ev»;
`
`
`
`
`ROY-G-alv Corporation Confldentlnl
`3115195
`0 1995 ROY-G-Blv Corporation. All Rights Reserved.
`
`Page 18 of 18
`Page 18 0f 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