`
`EXHIBIT 1001
`
`Page 1 of 107
`
`
`
`US 6,513,058 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`7/1989 Baer
`4,846,693 A
`8/1989 Fernandez
`4,855,725 A
`8/1989 Rose
`4,857,030 A
`12/1989 Gellerman
`4,887,966 A
`1/1990 Gaskill
`4,897,835 A
`6/1990 Schwane et al.
`4,937,737 A
`3/1992 Sekiguchi
`5,095,445 A
`6/1992 Driseoll et al.
`5,120,065 A
`6/1992 Wolfson et al.
`5,126,932 A
`12/1992 Onarheim et al.
`5,168,441 A
`12/1992 Adams et al.
`5,175,817 A
`9/1993 Hubert
`5,245,703 A
`9/1993 Judd et al.
`5,247,650 A
`12/1994 Bro
`5,377,258 A
`2/1995 Talati
`5,390,330 A
`2/1995 Wilson et al.
`5,392,207 A
`3/1995 Lowery
`5,402,518 A
`5/1995 Endo
`5,412,757 A
`9/1995 Dunaway
`5,450,079 A
`9/1995 Wright et al.
`5,453,933 A
`11/1995 Strickland et al.
`5,465,215 A
`2/1996 Bondy et al.
`5,491,813 A
`2/1996 Owens
`5,493,281 A
`1/1997 Bro
`5,596,994 A
`2/1997 Chui et al.
`5,600,373 A
`2/1997 Shaw et al.
`5,604,843 A
`3/1997 Lebensfeld et al.
`5,607,336 A
`3/1997 Kawakami et al.
`5,608,894 A
`4/1997 Stechmann et al.
`5,617,528 A
`6/1997 Tong
`5,636,994 A
`7/1997 Aldred et al.
`5,652,866 A
`8/1997 Jani
`5,655,945 A
`9/1997 Kohiyama et al.
`5,666,161 A
`9/1997 Yasuhara et al.
`5,670,992 A
`5,691,897 A * 11/1997 Brown et al.
`.......... .. 318/568.1
`5,707,289 A
`1/1998 Watanabe et al.
`5,733,131 A
`3/1998 Park
`5,737,523 A
`4/1998 Callaghan et al.
`5,746,602 A
`5/1998 Kikinis
`5,752,880 A
`5/1998 Gabai et al.
`5,764,155 A
`6/1998 Kertesz et al.
`5,790,178 A
`8/1998 Shibata et al.
`5,800,268 A
`9/1998 Molnick
`5,801,946 A
`9/1998 Nissen et al.
`5,818,537 A
`10/1998 Enokida et al.
`5,821,987 A
`10/1998 Larson
`5,822,207 A
`10/1998 Hazama et al.
`5,828,575 A
`10/1998 Sakai
`5,846,132 A
`12/1998 Junkin
`5,852,441 A
`12/1998 Nakajima et al.
`5,855,483 A
`1/1999 Collins et al.
`5,867,385 A *
`2/1999 Brown et al.
`5,873,765 A
`2/1999 Rifl<in et al.
`5,890,963 A
`4/1999 Yen
`5,907,704 A
`5/1999 Gudmundson et al.
`5,907,831 A
`5/1999 Lotvin et al.
`5,914,876 A
`6/1999 Hirai
`5,920,476 A
`7/1999 Hennessey et al.
`5,924,013 A
`7/1999 Guido et al.
`5,960,085 A
`9/1999 De La Huerga
`5,977,951 A
`11/1999 Danieli et al.
`6,078,968 A
`6/2000 Lo et al.
`6,101,425 A *
`8/2000 Govindaraj et al.
`6,139,177 A
`10/2000 Venkatraman et al.
`6,144,895 A
`11/2000 Govindarai et al.
`6,216,173 B1
`4/2001 Jones et al.
`OTHER PUBLICATIONS
`
`................ .. 700/1
`
`...... .. 700/104
`
`WEB 3.0 Products Brochure, Trihedral Engineering Ltd.
`(1994); 6 pages.
`
`The Complete, Computer-Based Automation Tool (IGSS)
`Seven Technologies A/S; 6 pages.
`Oregon Micro Systems Product Guide: pp. 1-20.
`AIMAX—WIN Product Brochure, TA Engineering Co., Inc.;
`8 pages.
`XANALOG Model NL-SIM Product Brochure, XANA-
`LOG, 4 pages.
`EXperTune PID Tuning Software, Gerry Engineering Soft-
`ware; 6 pages.
`PMAC Product Catalog, p. 43.
`Paragon TNT Product Brochure, Intec Controls corp.; 6
`pages.
`AerotechMotion Control Product Guide; pp. 233-234.
`OpenBatch Product Brief, PID, Inc.; 6 pages.
`PC/DSP-Series Motion Controller C Programming Guide;
`pp. 1-54.
`FIX Product Brochure, Intellution (1994); 6 pages.
`Precision Motion Controls Product Guide; p. 17.
`Compumotor Digiplan (1993-94) Catalog pp. 10-11.
`Sue Chen, Jonathon Lin; “Computer Numerical Control:
`Essentials in Programming and Networking”, Part 5, Chap-
`ter 27, pp. 824-848.
`Pritschow et al., “Open System Controllers: Challenge for
`the Future of the Machine Toool Industry”; pub. Jan. 15,
`1993; PP. 449-452.
`William E. Ford; “What Is an Open Architecture Robot
`Controller” pub. Aug. 16, 1994; pp. 27-32.
`Marcos et al., “A New Solution for Integrating Control
`Devices Involved in Computer-Integrated Manufacturing”;
`pub. Sep. 02,1996.
`Chu and Wang; “Development of a Practical SFC System for
`CNC Machine Shop”; pub. 1994; pp. 362-367.
`Microsoft; “The Microsoft Object Technology Strategy-
`”pub. Mar. 1994; pp. 1-33.
`Microsoft; “Open Systems: Technology, Leadership, and
`Collaboration”; pub. Mar. 1994; pp. 1-15.
`Microsoft; Microsoft OLE Today and Tomorrow: Technol-
`ogy Overview; pub. Dec. 1993; pp. 1-9.
`Microsoft; “Object
`linking and Embedding 2.0 Back-
`grounder”; pub. Sep. 1993, pp. 1-15.
`Robert Anderson; “SMART: A Modular Architecture for
`Robotics and Teleoperation”; pub. 1993; pp. 416-421.
`Proctor et al., “Validation of Standard Interfaces from a
`Machine Control”; pub. 1996; pp. 659-664.
`Altintas et al., “Design and Analysis of a Modular CNC
`System”; pub. Mar. 4-1990; pp. 305-316.
`Wright et al.; “Open Architecture Controllers”; pub. Jun.
`1997; pp. 60-64.
`Lutz et al.; “OSACA-The Vendor-Neutral Control Archi-
`tecture”; pub. Dec. 1997; pp. 247-256.
`Morales et al.; “A Generalised Software Control System for
`Industrial Robots”; pub. 1998; pp. 411-416.
`Feng et al.; “Distributed Control of a Multiple-Tethered
`Mogile Robot System for Highway Maintenance and Con-
`struction”; pub Nov. 1997; pp. 383-392.
`Fedrowitz; “IRL-Based Expansion of the Con1n1only Used
`High-Levle Language C for Robot 1’rogramming:” pub.
`Oct. 1995; 5 pages.
`Szabo et al.; “Validation Results of Specifications for
`Motion Control Interoperability”; pub. 1997; pp. 166-167.
`Chang et al.; “Development and Implementation of an
`Applciation Programming Interface for PC/DSP-based
`Motion Control System”; pub. 1998; pp. 94-105.
`
`Page 2 of 107
`Page 2 of 107
`
`
`
`US 6,513,058 B2
`Page 3
`
`Michaloski et 1a.; “A Framework for Component-base CNC
`Machines” pub. Nov. 1998; pp. 132-143.
`Bouzouia et al.; “A Three-layer Workcell Control Architec-
`ture Design”; pub. May 1998; pp. 1185-1191.
`Muir et al.; “Mechatronic Objects for Real-time Control
`Software Development”; pub. Nov. 1998; pp. 251-265.
`McGraW ct al.; “A Friendly Command, Control, and Infor-
`mation System for Astronomy”; pub. 1996; pp. 356-367.
`Jackman; “Robotic Control Using Sequential Function
`Charts”; pub. 1996; pp. 12(L128.
`Leu et al.; “A Telemanufacturing Workcell over the Inter-
`net”, pub. Nov. 1998; pp. 230-237.
`“Requirements of Open Modular Architecture Controllers
`for Applications in the Automotive Industry ”; pub. Dec. 13,
`1994; pp. 1-13.
`Sperling; “Designing Applications for an OSACA Control”;
`pub. Nov. 16, 1997; 5 pages.
`
`Lutz et al.; “OSACA: The Vendor-neutral Control Archi-
`tecture”; pub. 1997; 10 pages.
`Sperling et al.; “Enabling Open Control Systems: An Intro-
`duction to the OSACA System Platform”; pub. May 1996;
`pp. 1-8.
`Open, Modular Architecture Controls at GM Powertrain;
`pub. May 14, 1996; pp. 1-33.
`“Technologies Enabling Agile Manufacturing (TEAM)
`Intelligent Closed Loop Processing”; pub. Jan. 11, 1996; 30
`pages.
`
`“Nemi Low-cost Controller Project” pub. Dec. 1996; total
`pages 392.
`Protoctor et al., “Open Architecture Controllers”; pub. Jun.
`1997, pp. 60-64.
`
`* cited by examiner
`
`Page 3 of 107
`Page 3 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 1 of 68
`
`US 6,513,058 B2
`
`TO/FROMFIG.IB
`
`- UNKNOWN
`
`gg)%¥ggL
`STANDARD OLE INTERFACES
`DRIVER A
`CORE INTERFACES -
`EXTENDED INTERFACES - HARDWARE
`EXTENDED un INTERFACES -
`A
`CODE GENERATION INTERFACES -
`LANGUAGE
`VENDOR SPECIFIC INTERFACES
`DEPENDENT
`
`TO/FROM FIG.
`
`ID
`
`Page 4 of 107
`Page 4 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 2 of 68
`
`US 6,513,058 B2
`
`FIG.
`
`IB
`
`
`
`38
`
`' UNKNOWN
`
`° STANDARD OLE
`
`DRIVER
`INTERFACES
`ADMINISTRATOR
`CPL
`
`DRIVER
`ADMIN
`
`- CUSTOM OLE
`INTERFACES
`
`
`
`
`
`
`
`40
`
`DDE SERVER
`
`32
`
`IUKNOWN
`
`35
`
`TO/FROMFIG.IC
`
`STANDARD OLE INTERFACES
`
`GENRAL INTERFACES -
`MOWON
`
`
`CODE GENERATION INTERFACES -
`CONTROL
`DIAGNOSTIC INTERFACES
`COMPONENT
`
`
`
` TO/FROMFIG.IA
`
` INKNOWN
`
` STANDARD OLE INTERFACES '
`
`
`MOTION
`,
`EXTENDED INTERFACES '
`CONTROL
`
`
`EXTENDED UI INTERFACES
`DRIVER STUB
`
`
`
`
`
`t
`.UNKNOWN
`
`36
`
`I
`
`30b
`
`M
`OTION
`STANDARD OLE INTERFACES -
`CONTROL
`CDRE INTERFACES -
`
`DRIVERB
`EXTENDED INTERFACES -
`
`
`HARI,33WARE
`EXTENDED Ul INTERFACES -
`
`
`LANGUAGE
`CODE GENERATION INTERFACES -
`VENDOR SPECIFIC INTERFACES - DEPENDENT
`
`
`
`
`
`
`
`TO/ FROM FIG.
`
`IE
`
`Page 5 of 107
`Page 5 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 3 of 68
`
`US 6,513,058 B2
`
`FIG.
`
`IC
`
`
`
`TO/FROMFIG.IB
`
`STANDARD OLE INTERFACES
`
`MOTION
`
`E TEs32s:ITE.WS o°r%IEE%L
`x
`FACES
`EXTENDED uu INTERFACES HARDé’VARE
`CODE GENERATION INTERFACES ° LANGUAGE
`VENDOR SPECIFIC INTERFACES - DEPENDENT
`
`30c
`
`TO/FROM FIG. IF
`
`Page 6 of 107
`Page 6 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 4 of 68
`
`US 6,513,058 B2
`
`FIG.
`
`ID
`
`TO/FROM FIG.
`
`IA
`
`
`INKNOWN
`
`
`INKNOWN
`ISTREAM MOTION CONTROL
`V
`'
`TEXT FILE
`MOTION CONTROL
`STREAM
`PC BUS
`TEXT
`STREAM
`COMMUNICATION
`PROTOCOL
`Pc Bus
`
`
`COMMUNICATION
`
`PROTOCOL
`
`
`
`
`
`
`
`
` OUTPUT FILE
`
`I""'-""'—
`
`
` TO/FROMFIG.IE
`PERSONALCOMPUTERHARDWARE '"fl"!'IR HARDWARE
`I
`MECHANICAL
`I80
`
`
`
`CONTROLLER A
`
`
`
`1
`
`SYSTEM A
`
`
`
`PERSONAL COMPUTER HARDWARE BUS
`
`200
`
`
`
`
`MOTION CONTROL
`DEVICE A
`
`Page 7 of 107
`Page 7 Of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 5 of 68
`
`US 6,513,058 B2
`
`FIG. IE
`
`TO/FROM FIG.
`
`IB
`
`INKNOWN
`
`ISTREAM - MOTION CONTROL
`PC BUS
`STREAM
`PC BUS
`COMMUNICATION
`PROTOCOL
`
`Zeb
`
`TO/FROMFIG.IF
`
`Page 8 of 107
`Page 8 of 107
`
`TO/FROMFIG.ID
`
`““"I!‘!'I‘—
`HARDWARE
`I
`CONTROLLER B -
`
` |6b
`
`|8b
`
`20b
`
`
`
`I
`
`
`
`MECHANICAL
`
`SYSTEM A
`
`MOTION CONTROL
`DEVICE B
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 6 of 68
`
`US 6,513,058 B2
`
`FIG. IF
`
`TO/FROM FIG.
`
`IC
`
`IUN KNOWN
`
`ISTREAM MOTION CONTROL
`HARDWAREC
`PC BUS STREAM
`SPECIAL PC BUS
`coMMuNmAnoN
`PRoToam_FoR
`HARDWARE C
`
`286
`
`!4
`
`TO/FROMFIG.IE
`
`|6c
`
`l8c
`
`20c
`
`IIII ""I
`
`
`
`
`I lb
`|
`HARDARE
`CONTROLLER c
`I
`MECHANICAL
`I
`
`
`SYSTEM A
`
`MOTION CONTROL
`DEVICE C
`
`Page 9 of 107
`Page 9 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 7 of 68
`
`US 6,513,058 B2
`
`ExcELAPPucAnoN§
`§ WSUMJMGKJAH?
`§
`§C++APPucATKn4
`§
`
`|_ _ _ _ _ _ . _ _ _ _ _ _
`
`. ..-.._......--..--____........-..-..._--....n
`
`I XMC_xxxAP|
`
`32
`
`
`
`o !Unknown
`
`DRIVER
`
`ADMIN.
`
`
`
`S REGISTRYS
`
`2
`. |L§nknown
`
`DR5|\/ER
`STUB
`
`Page 10 of 107
`Page 10 of 107
`
`. lUnknown
`
`
`
`MOTION
`coMPoNENf"w’
`
`lXMC_xxxAPl .
`
`34
`
`|XMC_UDXXXSP .
`
`. !Unknown
`
`36
`
`lXMC_xxxSPl.
`
`30
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 8 of 68
`
`US 6,513,058 B2
`
`' lUnknown
`
`DRIVER
`
`ADMIN.
`
`
`
`
`
`32
`
`lXMC_xxxAP| o
`
`FIG. 3
`
`._' - 'v .,_ 0. .,. '- '1 .__ ‘n '-... ‘o
`
`'3 '- I.
`
`c...
`
`
`
`CUnitMapper
`
`|XMC_UDxxxSPl o
`
`36
`
`' lUnknown
`
`DRIVER
`STUB
`
`' lUnknown
`
`|XMC__XXXSPI O
`
`DR“/ER
`
`30
`
`Page 11 of 107
`Page 11 of 107
`
`CCmpntDisp
`
`CDriverAdmin
`
`CDriverMgr
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 9 of 68
`
`US 6,513,058 B2
`
`4
`
`32
`
`IlUnknown
`
`EXCEL APPLICATION
`
`
`
`-
`
`\/ISUAL BASIC APP.
`
`c++ APPLICATION
`
`
`
`o lUnknown
`
`|XMC_UDxxxSPl a
`
`DRIVER
`STUB
`
`36
`
`. lUnknown
`
`lXMC_XXXSP| O
`
`DRIVER
`
`30
`
`Page 12 of 107
`Page 12 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 10 of 68
`
`US 6,513,058 B2
`
`FIG. 5
`
` :
`
`\/ISUAL BASIC APP.
`5 C++ APPLICATION
`
`
`
`A
`
`
`
`A
`
`. lUnknown
`
`|XMC_xxxSPl ,
`
`30
`
`DRIVER
`
`
`
`
`
`Page 13 of 107
`Page 13 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 11 of 68
`
`US 6,513,058 B2
`
`FIG. 6
`
` :""""""""""""""""""""""" PCS Measurements
`
`. IUnknown
`
`6
`MCS Xi
`Measuremems
`
`IXMC UDxxxSP|
`
`|Unknown
`
`'
`DRIVER
`STUB
`
`36
`
`|Unknown
`
`IXMC_xxxSPI ,
`
`DRNER
`
`30
`
`Page 14 of 107
`Page 14 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 12 of 68
`
`US 6,513,058 B2
`
`FIG. 7
`
`|XMC_UDxxxSPl
`
`36
`
`o lUnknown
`
`DRIVER
`STUB
`
`Page 15 of 107
`Page 15 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 13 of 68
`
`US 6,513,058 B2
`
`FIG. 8
`
`EXCEL APPLICATION
`VISUAL BASIC APP.
`c++ APPLICATION
`
`§
`'
`
`
`
`. |Unknown
`
`
`
`
`I
`
`....»'
`
`
`
`MOTION
`OMPONENT
`
`IXMC_xxxAP|
`
`
`
`u' '
`
`-
`
`34
`-I
`_.
`u‘
`. - ‘ '
`
`n-
`
`.-
`
`. - ' '
`
`n’
`
`_,n
`
`a’
`
`. - ' '
`
`.-'
`
`. F '‘
`
`'-
`
`‘"-
`
`' '~
`
`I.
`
`.
`
`'c,
`
`‘ --
`
`'-
`
`--
`
`' -.
`
`"1
`
`.
`
`'' ' -a
`
`'0
`
`I ' '.
`
`I.
`
`
`
`CDriver
`
`
`—
`
`o |Unknown
`
`
`
`DRIVER
`
`STUB
`
`|Unknown
`
`DRIVER
`
`Page 16 of 107
`Page 16 of 107
`
`
`
`36
`
`
`
`lXMC_xxxSPl 0
`
`30
`
`|XMC_UDxxxSP| .
`
`
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 14 of 68
`
`US 6,513,058 B2
`
`FIG. 9
`
` CComponentOjbect
`
`
`
`IUnknown
`
`
`
`
`
`!CIassFactory
`
`IDispatch
`
`
`
`
`
`Standard OLE 2.0 Interfac
`
`Standard OLE 2.0 Interface
`
`Standard OLE 2.0 Interface
`
`API Interfaces -------------------- H
`
`
`
`IXMC_API_1 ,
`
`XMCAPI Interface #1
`
`IXMC_API_2 .
`
`XMCAPI Interface #2
`
`
`
`
`
`Page 17 of 107
`Page 17 of 107
`
`
`
`O O O
`
`XMCAPI Interface #n
`
`IXMC_API_n .
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 15 of 68
`
`US 6,513,058 B2
`
`FIG. 10
`
`I ' '
`
`'
`
`'
`
`' -_lNFO struct
`
`DRVEXT_Xn_INTERFACElDs enum
`
`
`
`
`
`lXMC_DrvExt_X1
`
`lXMC_DrvExt_X2
`
`O O O
`
`lXMC_DrvExt_Xn
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DRVEXT_METHOD_lNFO struct
`
`XMC_SUPPORTTYPE m__st;
`
`Cstring
`
`m_strName;
`
`LPFNDRVEXT
`
`m_pfnMethod;
`
`Page 18 of 107
`Page 18 of 107
`
`
`
`
`
`DRVEXT_lNTERFACE_|NFO struct
`
`DRVEXT_Xn_METHOD|Ds enum
`
`
`
`Method|nfo_1
`
`Methodlnfo_2
`
`O O O
`
`Method|nfo_n
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 16 of 68
`
`US 6,513,058 B2
`
`FIG. 11
`
`lXMC__xxxAPI
`
`32
`
`
`
`. lUnknown
`
`
`
`DRIVER
`
`ADMIN.
`
`34
`
`o lUnknown
`
`MOTION
`
`
`
`
`
`IXMC_xxxAPI
`
`COMPONENT
`
`lUnknown
`
`|XMC_xxxSPl
`
`DRIVER
`
`lUnknown
`
`lXMC_xxxUDSPI
`
`STREAM
`
`28
`
`Page 19 of 107
`Page 19 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 17 of 68
`
`US 6,513,058 B2
`
`FIG. 12
`
`. lUnknown
`
`|XMC_XXXAP|
`
`DR“/ER
`
`ADMIN.
`
`
`
`. |Unknown
`
` |XMC_xxxAPl
`MOTION
`
`COMPONENT
`
`
`
`g |Unknown
`
`
`
`.............................
`
`
`
`
`CStrea nvrDIsp
`
`CCommandMg
`
`
`
`
`
`
`
`
`
`CResponseList
`
`CC°mm3“dLi3
`
`|Unknown
`
`|XMC_xxxUDSP|
`
`STREAM
`
`Page 20 of 107
`Page 20 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 18 of 68
`
`US 6,513,058 B2
`
`FIG. 13
`
`. |Unknown
`
`|Unknown
`
`lXMC_xxxAPl
`
`
`
`.-
`
`,...u
`
`.n-'
`
`
`
`
`—-ii-'
`CStreamMg ‘
`0
`C
`DrivrDisp
`
`
`Page 21 of 107
`Page 21 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 19 of 68
`
`US 6,513,058 B2
`
`FIG‘ 15
`
`lXMC_xxxAPl
`
`|Unknown
`
`
`DRIVER
`
`ADMIN.
`
`Stream CLSID
`
`. lUnknown
`
`
`
`a
`
`.uI"
`
`. . . . - "
`
`u-'
`
`------ -I
`
`lXMC_xxxUDSPl
`
`STREAM
`
`Page 22 of 107
`Page 22 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 20 of 68
`
`US 6,513,058 B2
`
`IUnknown
`
`lXMC_xxxAP|
`
`
`
`DRIVER
`
`ADMIN.
`
`. lUnknown
`
`.--
`
`_,.--
`
`...-
`
`.¢-
`
`,.--
`
`.-
`
`.... --
`
`...-
`
`.-
`
`-on
`
`.--u
`
`.--"
`
`..-
`
`__.--
`
`_ . . . --
`
`...u
`
`_ , . . .-
`
`..u
`
`__...
`
`..u-
`
`..---
`
`FIG. 18
`
`|XMC_xxxAPl
`
`
`lXMC_xxxSPl
`........
`
`CStrea Mg ‘‘jg.
`‘a
`CCommandMg
`
`
`
`—-j-1-—'
`
`
`
`
`
`Page 23 of 107
`Page 23 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 21 of 68
`
`US 6,513,058 B2
`
`FIG. 19
`
`. lUnknown
` lXMC_xxxAPI
`
`MOTION
`
`COMPONENT
`
`
`
`.-.--
`
`. - . . --
`
`us...
`
`..u.a
`
`. - . . --
`
`,..-.
`
`.oo-'
`
`...--
`
`.-
`
`. . . ~ . . - I-
`
`. . . - "
`
`_ _
`
`. . . --
`
`u...
`
`. . . - - ' "
`
`....-
`
`.-..
`
`'
` .
`.
`E
`
`CStrea r|vrDIsp
`
`3 CCommandMg 9
`
`
`
`|XMC_xxxUDSPl
`
`STREAM
`
`
`
`
`
`
`Page 24 of 107
`Page 24 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 22 of 68
`
`US 6,513,058 B2
`
`FIG. 20
`
`. lUnknown
` lXMC_xxxAPl
`
`MOTION
`
`COMPONENT
`
`. IUnknown
`
`
`
`
`lXMC_xxxUDSPl
`
`‘
`
`STREAM
`
`
`
`
`
`Page 25 of 107
`Page 25 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 23 of 68
`
`US 6,513,058 B2
`
`FIG. 21
`
`CDriverObject
`
`
`
`. lUnknown
`
`
`
`IC|assFactory .
`
`
`
`Standard OLE 2.0 Interfac
`
`Standard OLE 2.0 Interface
`
`
`
`
`SPI Core Interfaces """""""""""" '-
`
`XMCSPI Core Interface #3
`
`O 8
`
`XMCSPI Core Interface #n
`
`SPI Extended Interfaces ----------- --
`
`IXMC_DrvCore_
`
`Staticstate
`
`|XMC_DrvCore_
`Dynamicstate O
`
`|XMC_DrvCore_
`SPI_3
`
`IXMC_DrvCore
`SPI_n
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IXMC_DrvExt_
`streammgmt .
`
`Add, Remove, Enable,
`
`
`
`XMCSPI Extended Interface #2
`
`o 8
`
`XMCSPI Extended Interface #n
`
`Page 26 of 107
`Page 26 of 107
`
`IXMC_DrvExt_
`Sp|_2
`
`IXMC_DrvExt_
`3p|_n
`
`
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 24 of 68
`
`US 6,513,058 B2
`
`F|G_
`
`|XMC_xxxAP|
`
`lUnknown
`
`lUnknown
`
`DRIVER
`ADMIN.
`
`lXMC_xxxSP|
`
`DWVER
`
`' lUnknown
`
`lXMC_xxxUDSP|. I MONITOR
`
`STREAM
`
`DBG
`
`j F
`
`ILE
`
`D VICE
`
`D VICE
`
`DRIVER
`(WinNT)
`
`DRIVER
`(Win95)
`
`SERIAL I/O
`
`Page 27 of 107
`Page 27 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 25 of 68
`
`US 6,513,058 B2
`
`FIG.
`
`IXMC_xxxSPI .
`
`IXMC_xxxAP| .
`
`
`
`0 IUnknown
`
`DRIVER
`ADMIN.
`
`
`
`' IUnknown
`
`DRIVER
`
`
`
`0 |Unknown
`
`CStreamDisp
`
`CRegistryMgr
`
`DBG
`
`MONITOR
`
`CDbgMonlOHAL
`
`CTextFiIeIOHAL
`
`_ F
`
`ILE
`
`CPCBuslOHAL
`
`CSeria|IOHAL
`
`DEVICE
`
`DEVICE
`
`DRIVER
`(WmNT)
`
`DRIVER
`(Win95)
`
`SERIAL V0
`
`Page 28 of 107
`Page 28 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 26 of 68
`
`US 6,513,058 B2
`
`IXMC_xxxAPI
`
`IUnknown
`
`ADMIN.
`
`
`
`IUnknown
`
`IXMC_xxxUDSPI o
`
`....I- "-
`9
`
`........................
`
`CStreamDisp
`
`CRegistryMgr
`
`0
`
`DBG
`
`- MONITOR
`
`
`
`CIOHAL
`
`CDbgMon|OHAL @
`
`CIOHAL
`
`CTextFiIeIOHAL 0
`
`-F
`
`ILE
`
`CPCBUSIOHAL
`
`CSeriaI|OHAL
`
`0
`
`0
`
`0
`
`DEVICE
`
`DRIVER
`
`(WInNT)
`
`DRIVER E
`
`DEVICE
`
`(Win95)
`
`SERIAL V0
`
`Page 29 of 107
`Page 29 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 27 of 68
`
`US 6,513,058 B2
`
`‘ |Unknown
`
`FIG. 25
`
`lXMC_xxxAP| .
`
`
`
`
`
`DRIVER
`
`ADMIN.
`
`0 |Unknown
`
`FIG. 26
`
`
`
`Page 30 of 107
`Page 30 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 28 of 68
`
`US 6,513,058 B2
`
`F|G_
`
`0 lUnknown
`
`lXMC_xxxAP|
`
`DRWER
`ADMIN.
`
`0 lUnknown
`
`
`
`CPCBuslOHAL
`
`CSerial|OHAL
`
`Page 31 of 107
`Page 31 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 29 of 68
`
`US 6,513,058 B2
`
`' |Unknown
`
`DFWER
`
`|XMC_xxxSP| .
`0 0 lUnknown
`
`
`
`DBG
`
`MONITOR
`
`FILE
`
`DEVICE
`
`DEVICE
`
`DRIVER
`(WinNT)
`
`DRIVER
`(Win95)
`
`(9
`
`.9
`
`FIARDWARE DEVICES
`
`SERIALI/O
`
`@
`
`Page 32 of 107
`Page 32 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 30 of 68
`
`US 6,513,058 B2
`
`0 lUnknown
`
`DRWER
`
`|XMC_xxxSP|
`0 ° lUnknown
`
`
`
`DBG
`
`MONITOR
`
`DEVICE
`
`DEVICE
`
`DRIVER
`(WinNT)
`
`6
`
`DRIVER
`(Win95)
`
`.9
`
`FIARDWARE DEVICES
`
`SERIALI/O
`
`I3
`
`Page 33 of 107
`Page 33 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 31 of 68
`
`US 6,513,058 B2
`
`F|G_
`
`0 |Unknown
`
`DRWER
`
`lXMC__xxxSP| .
`0 0 |Unknown
`
`DEVICE
`
`DEVICE
`
`DRIVER
`(WinNT)
`
`DRIVER
`(Win95)
`
`@
`
`3
`
`HARDWARE DEVICES
`
`SERIAL I/O
`
`£3
`
`Page 34 of 107
`Page 34 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 32 of 68
`
`US 6,513,058 B2
`
`F|G_
`
`|Unknown
`
`0 |Unknown
`
`lXMC__xxxSPl
`lXMC_xxxUDSPl 0.............-- ~
`
`.................................
`
`Q
`
`CStreamDisp
`
`DBG
`
` 9
`
`9
`
`3
`
`DEVICE
`
`DEVICE
`
`DRIVER
`(WinNT)
`
`DRIVER
`(Win95)
`
`.9
`
`3
`
`"HARDWARE DEVICES
`
`SERIAL I/O
`
`E
`
`
`
`Page 35 of 107
`Page 35 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 33 of 68
`
`US 6,513,058 B2
`
`FIG. 33
`
`|C|assFactory .
`
`Standard OLE 2.0 lnterfac
`
`|i
`
`Standard OLE 2.0 Interface
`
`SPI - UnDocumented """"""""""" '-
`
`|XMC_Stream .
`
`Read, Write, Enable, Stat,
`
`|XMC__Streamlnit
`
`Initialize, Open, Close, Setup,
`
`FIG. 34
`
`. |Unknown
`
`MOTION
`
`COMPONENT
`
` I XMC__xxxAP|
`
`
`|Unknown
`
`|XMC_xxxSP|
`
`
`
`. I Unknown
`
`DRIVER
`
`
`|XMC__xxxSP|
`
`Page 36 of 107
`Page 36 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 34 of 68
`
`US 6,513,058 B2
`
`FIG. 35
`
`
`
`o |Unknown
`
` MOTION
`COMPONENT
`
`|XMC_xxxAP|
`
`
`
`o._ 'n n,‘ n. 'u u._ n,_ 2.. n._ '0
`
`0....
`
`
`
`CSimpleDriver
`
`
`
`. |Unknown
`
`|XMC_xxxSP|
`
`DR|\/ER
`
`Page 37 of 107
`Page 37 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 35 of 68
`
`US 6,513,058 B2
`
`FIG. 36
`
`. lUnknown
` |XMC_xxxAPl
`
`MOTION
`
`COMPONENT
`
`
`
`|XMC_xxxSPl
`
`DRIVER
`
`
`
`
`
`
`
`
`Page 38 of 107
`Page 38 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 36 of 68
`
`US 6,513,058 B2
`
`FIG. 37
`
`lUnknown
` |XMC__xxxAPI
`MOTION
`COMPONENT
`
`
`
`lXMC_xxxSPl
`
`DRIVER
`
`Page 39 of 107
`Page 39 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 37 of 68
`
`US 6,513,058 B2
`
`FIG. 38
`
`. |Unknown
` lXMC__xxxAP|
`COMPONENT
`
`MOTION
`
`
`
` DRIVER
`
`
`
`|XMC_xxxSPl
`
`Page 40 of 107
`Page 40 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 38 of 68
`
`US 6,513,058 B2
`
`FIG. 39
`
`
`
` 0 IUnknown
`
`Standard OLE 2.0 Interfac
`
`|C|assFactory .
`
`Standard OLE 2.0 Interface
`
`
`
`
`
`
`
`Stub Specific Interfaces """"""'-
`
`RegisterDriver, UnRegisterDriver
`
`SPI Extended Interfaces -------------
`
`
`
`XMCSPI Extended Interface #1
`
`XMCSPI Extended Interface #2
`
`o 8
`
`XMCSPI Extended Interface #n
`
`Page 41 of 107
`Page 41 of 107
`
`
`IXMC_DrvStub .
`
`
`
`IXMC_DrvExt_
`Sp|_1
`IXMC__DrvExt_
`Sp|_2
`
`lXMC_DrvExt_
`3p|_n
`
`
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 39 of 68
`
`US 6,513,058 B2
`
`lUnknown
`
`
`DRIVER
`
`ADMWLCPL
`
`
`MOTION
`|XMC_xxxAP| 0
`COMPONEN
`
`pDrVEFum
`
`
`
`
`0 lUnknown
`
`
`
`
` lUnknown
`
`
`DRIVER
`|XMC_ o
`UDxxxSPl
`
`lXMC_xxxAPl 0
`
`DRIVER
`
`ADMIN.
`
`lUnknown
`
`STREAM
`
`
`
`|XMC_
`xxxSP|
`
`Page 42 of 107
`Page 42 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 40 of 68
`
`US 6,513,058 B2
`
`FIG. 41
`
`0 IUnknown
`
`
`
`
`
`
`lXMC_xxxAP| I
`COMPONEN
`
`
` .I"‘
`
`
`
`pDr%um
`
`O IUnknown
`
`
`
`|XMC_xxxAPI 0
`
`:1
`
`..-
`
`--'
`
`a
`
`.n-'
`
`,-
`
`ll‘
`
`I
`
`.-t‘
`
`.-
`
`_..u
`
`.u-
`
`.-0
`
`.-
`
`at‘
`
`t‘'
`
`
`
`DRIVER
`
`ADMIN. CPL
`
`MOTION
`
`
`
`CDriverAminDis
`
`
`
`
`CModu|eMr
`
`
`
`CDriverInfoMa
`
`
`
`
`CSimpleDriver #1
`
`CSimpIeDriver #n
`
`
`
`
`
`.,_.. In
`
`‘I..
`
`
`
` CSimleStream #n 3
`
`
`
`
`’ IUnknown
`‘ IUnknown
`
`UDXXXSPI
`
`l
`
`DRIVER
`
`o STREAM
`
`
`
`xxxSPI
`
`Page 43 of 107
`Page 43 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 41 of 68
`
`US 6,513,058 B2
`
`FIG. 42
`
`
`
`0 lUnknown
`
`IXMC_XXXAPI O
`COMPONEN
`
`MOTION
`
`ADMIN. CPL 0
`
`,-
`
`_..uI
`
`.-
`
`-
`
`' ' I '-
`
`,.u
`
`n‘‘
`
`,-nI'
`
`.m-
`
`o-'
`
`uo-'
`
`n-‘
`
`.-
`
`.u-'
`
`uh‘
`
`
`
`CModu|eMr
`
`
`
`CSimpIeDriver #1
`
`CSimp|eDriver #n
`
`
`
` 0 lUnknown
`
`|XMC_ -
`xxxSP|
`
`DRIVER
`
`
`
`Page 44 of 107
`Page 44 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 42 of 68
`
`US 6,513,058 B2
`
`FIG. 43
`
`CSimp|eDriver #1 we
`
`CSimp|eDriver #n
`
`|XMC_xxxSP| .
`
`" DRNER
`
`Page 45 of 107
`Page 45 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 43 of 68
`
`US 6,513,058 B2
`
`DRIVER
`ADM|N_ CPL
`
`DriverCLS|D,
`0 \pszStreamFileName
`
`
`
`
`
`CSim|eStream #1 5
`Cimplestream #n :
`
`
`
`Page 46 of 107
`Page 46 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 44 of 68
`
`US 6,513,058 B2
`
`lUnknown
`
`.
`DRIVER
`ADMIN. CPL |dDf'V, pDrv|nfo
`
`
`
`
`
`CSimp|eDriver#n
`
`0 |Unknown
`
`
`
`lXMC__xxxSP| 0
`
`DRIVER
`
`Page 47 of 107
`Page 47 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 45 of 68
`
`US 6,513,058 B2
`
`FIG. 46
`
`
`
`DRIVER
`
`ADMIN. CPL
`
`Q \idDrv, idStrm, pStrm|nfo
`
`
`
`0 lUnknown
`
`
`
`
`
`lUnknown
`
`|XMC_UDXXXSP| .
`
`STREAM
`
`
`
`Page 48 of 107
`Page 48 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 46 of 68
`
`US 6,513,058 B2
`
`FIG. 47
`
`0 lUnknown
`
`MOHON
`COMPONEN
`
`|XMC_o
`><><><AP'
`
`lUnknown
`
`DRIVER
`
`ADMIN.
`
`....................- -'
`
`
`
`
`
`
`CDriverAdminDis
`
`CModuleMr
`
`
`CSimp|eDriver#1'
`
`
`
`CSimp|eDriver #n
`
`lUnknown
`
`Page 49 of 107
`Page 49 of 107
`
`
`
`DRIVER
`
`|XMC_xxxSPI a
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 47 of 68
`
`US 6,513,058 B2
`
`FIG. 48
`
`_ CSimleStream #1 *
`
`CSimpleStream #n 5
`
`0 |Unknown
`
`Page 50 of 107
`Page 50 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 48 of 68
`
`US 6,513,058 B2
`
`0 |Unknown
`
`
`MOTION
`
`COMPONEN
`
`,.
`
`_..u
`
`:1‘
`
`u
`
`I I ‘ ' ' '-
`
`_..-
`
`n-'
`
`.--'
`
`,-
`
`_...-
`
`,.--
`
`CDriverAminDis
`
`CModu|eMr
`
`
`
`
`
`
`______________
`
`
`
`CSimleStream #1 5
`
`
`CSimpleDriver #1
`CSimp|eDriver #
`
`
`
`
`
`
` n...‘ '. H--
`
`CSim |eStream #n 5
`
`
`
`
`0 lUnknown
`
`3 |Unknown
`
`DRIVER
`
`|><MC_ 0
`
`XXXSPI
`
`|XMC_ .
`
`UDXXXSPI
`
`STREAM
`
`'
`
`Page 51 of 107
`Page 51 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 49 of 68
`
`US 6,513,058 B2
`
`FIG. 50
`
`. lUnknown
`
`
`
`Standard OLE 2.0 lnterfac
`
`'C'a55F3Ct0W 0
`
`Standard OLE 2.0 Interface
`
`‘Dispatch 0
`
`Standard OLE 2.0 Interface
`
`'X'V'C_EnUmD"V 0
`
`Standard |EnumX OLE 2.0 lnterfac
`
`
`
`API Interfaces ------------------------ --
`
`'XMC_
`DrvAdmin
`
`.
`|XMC__
`DrvAdminDg
`
`Register, UnRegister, Setup,
`
`EnableLogging,lsLoggingOn,...
`
`Page 52 of 107
`Page 52 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 50 of 68
`
`US 6,513,058 B2
`
`
`
`
`
`
`
`DRIVER
`
`ADMIN. CPL
`
`0 |Unknown
`
`
`
`
`
`
`DRIVER
`
`ADMIN.
`
`IXMC_xxxAP| 0
`
`DPERATING SYSTEM
`
`Page 53 of 107
`Page 53 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 51 of 68
`
`US 6,513,058 B2
`
`
`
`I Drive-rAd inDl-
`
`H
`
`I
`
`....................... .. .
`
`Page 54 of 107
`Page 54 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 52 of 68
`
`US 6,513,058 B2
`
`
`
`
`ADMIN. CPL
`lXMC_xxxAP! o
`
`----In--1:1: jlljlljlljlliiljlljllinljlijlljlljIljlljllilliuljilj
`BPERATING SYSTEM
`
`DFWER
`ADMIN.
`
`
`
`Page 55 of 107
`Page 55 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 53 of 68
`
`US 6,513,058 B2
`
`FIG. 54
`
`0 IUnknown
`
`
`
` ADMIN. CPL
`|XMC_xxxAP| o
`DRWER
`ADMIN.
`
`
`
`Page 56 of 107
`Page 56 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 54 of 68
`
`US 6,513,058 B2
`
`o
`
`‘o‘nN u
`
`N '.
`
`'.‘[:ES§:i§E:i;i§;i§E:i;%]
`
`Illl
`
`. - . - I ‘ "
`
`ADMIN. CPL IXMC__xxxAPI 0
`
`. u - - - --
`
`. . . . . . - I I "
`
`.-o--
`
`. . . u - --
`
`_ . . . . - - -'
`
`.-~.-
`
`..nv-
`
`lUnknown
`
`
`
`DRIVER
`
`ADMIN.
`
`Page 57 of 107
`Page 57 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 55 of 68
`
`US 6,513,058 B2
`
`Page 58 of 107
`Page 58 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 56 of 68
`
`US 6,513,058 B2
`
`FIG‘
`
`lUnknown
`
`MOTION
`ICOM xxx
`IXMC >o<SZAPI COMPONENT
`‘
`
`|Unknown
`
`DRIVER
`
`ADMIN.
`
`
`
`Page 59 of 107
`Page 59 of 107
`
`
`
`
`
`|COM_xxx .
`
`ILNG_>o<x .
`|XMC_xxxSPl .
`
`LANGUAGE
`
`DRIVER
`
`|COM_xxx
`|XMC_xxxU DSPI .
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 57 of 68
`
`US 6,513,058 B2
`
`0 |Unknown
`
`0 |Unknown
`
`
`
`MONON
`lCOM_xxx .
`IXMC xxxAP| . COMPONENT
`“
`
`FlG'
`
`DRIVER
`
`ADMIN.
`
` LANGUAGE
`
`
`DRIVER
`--
`,.--
`
`
`
`
`
`I
`- CDriverObject
`SPI
`I CLangrvExtDisI CLang oreExtDIsp
`
`DATABASE = ——-Nl
`
`
`
`. . _ . . . . . _ . . . - . - . - . — . -.
`
`
`
`' Resonse
`
`
`
`
`
`
`O
`
`o
`
`CSP||nf0
`
` O
`
`Page 60 of 107
`Page 60 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 58 of 68
`
`US 6,513,058 B2
`
`FIG. 60
`
`0 lUnknown
`
`DRIVER
`
`ADMIN.
`
`SP!
`DATABASE
`
`690
`LanrvExtDisp
`ang oreExtDis
`rvExtDisp
`oreExtDisp
`
`6
`
`6'» A@
`CStreamMgr DriverlnfoMgr
`
`-nu
`
`4u
`
`u
`
`CCommandMgr
`
`CmdDatabase
`5. CSP|lnfo
`°
`O
`°
`
`0.
`
`*
`
`9
`
`CDriVe””f°
`
`Page 61 of 107
`Page 61 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 59 of 68
`
`US 6,513,058 B2
`
`FIG. 61
`
`0 lUnknown
`
`DRIVER
`
`ADMIN.
`
`
`
`. . . _ .- . . . . __ - - u . .. Inn. -I... . . . _ H
`
`lUnknown
`
`LANGUAGE
`
`DRIVER
`
`..._
`
` CLang rvExtDisp
`
`rvExtDisp A
`
`
`
`
`
`CSimpIeStream
`
`CDriverInfo
`
`
`
`°
`CSimpIeStream
`
`2
`
`
`
`Page 62 of 107
`Page 62 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 60 of 68
`
`US 6,513,058 B2
`
`FIG. 62
`
`0 |Unknown
`
`DRIVER
`
`ADMIN.
`
`
`
`LANGUAGE
`
`
`---- .. - -- -n. - - . . __ . . , _ _. In,"H.
`
`DRIVER
`
`' ' ' ' - --
`
`
`
`9
`
`
`
`
`9
`
`
`
`
`vExtDIsp
`
`oreExtDisp
`
`
`
`0
`
` CDriverInfo
`
`CSimpIeStream
`
`I OO
`
`CSimpIeStream
`
`
`Page 63 of 107
`Page 63 of 107
`
`' r
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 61 of 68
`
`US 6,513,058 B2
`
`
`
`FIG. 63
`
`0 lUnknown
`
`DRIVER
`
`ADMIN.
`
`0 lUnknown
`
`LANGUAGE
`
`DRIVER
`
`
`
`
`
`CDriverInfo
`
`CSimpIeStream
`
`0 O O
`
`.1-
`
`IXMC_xxxU[7SP| .
`
`Page 64 of 107
`Page 64 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 62 of 68
`
`US 6,513,058 B2
`
`FIG. 64
`
`0 lUnknown
`
`ICOM_xxx .
`lXMC_xxxAPl o COMPONENT
`
`0 lUnknown
`
`
`LANGUAGE
`DRIVER
`
`
`
`oreExtDisp
`
`
`
`CStreamMgr
`
`
`
`,6 CReist Mr
`Criver|nfoMgr
`
`CDriver|nfo
`
`CSimp|eStream
`
`0 0 °
`
`CSimp|eStream
`
`
`
`§_CCmdDatabase
`SP|lnfo
`O
`
`
`
`CSPHnfo
`
`Oo
`
`
`
`|COM_xxx .
`IXMC_xxxUDSP| .
`
`0 lUnknown
`
`STREAM
`
`Page 65 of 107
`Page 65 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 63 of 68
`
`US 6,513,058 B2
`
`lUnknown
`
`MOTION
`|COM_xxx
`
`COMPONENT
`IXMC_xxxAPI o
`
`
`
`F|G_
`
`0 IUnknown
`
`LANGUAGE
`
`|COM_xxx .
`|LNG_xxx .
`
`DRIVER
`---- .. . _‘_ ---- n. . . . , _ H n.. """ .. ' - - - . . ,_ ll- ' ' - - .. """ -. ..,_
`lXMC_xxxSP_!___ ......
`
`rvExtDisp
`
`9 CDriverObject 0
`CLanDrvExtDisp' Lang oreExtDisp
`
`
`I oreExtDisp
`
`
`
`
`
`Page 66 of 107
`Page 66 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 64 of 68
`
`US 6,513,058 B2
`
`FIG. 66
`
`CDriverO bject
`
`
`
`lUnknown
`
`
`
`
`
`IC|assFactory .
`
`
`
`Standard OLE 2.0 Interfac
`
`Standard OLE 2.0 Interface
`
`COM Interfaces
`
`------------------- --
`
`
`
`|COM_Base2 g
`
`Initiaiize, Unlnitialize,
`
`ICOM_Persist2
`
`Get|D, GetModuIeType,
`
`ICOM_
`PersistRegDB
`
`
`
`Load, Save, Clear,
`
`|sDirty
`
`Language Driver Interfaces ------- --
`
`ILNG_
`.
`
`DrvCore_Init
`
`Create, Destroy, Setup, Stat,
`
`”—NG_D"VEXt_
`StreamMgmt
`
`AddStream, Removestream,
`
`SPI Core Interfaces ------------------ '-
`
`SEE FIGURE 21
`
`SPI Extended Interfaces """"""" "
`
`SEE FIGURE 21
`
`Page 67 of 107
`Page 67 of 107
`
`
`
`tH64|.aP&U
`
`Jan. 28, 2003
`
`Sheet 65 of 68
`
`US 6,513,058 B2
`
`E
`
`GE
`
`!-5mm_P
`
`._n=2_1oZ_
`
`
`ombnasmw
`
`35¢:.35:
`
`
`33.:o_.u::um
`
`
`
`
`M.M1«.wa>.m:o_>mam:c_E8u.1.
`MMM55:._oomuni
`MM
`
` .83w:o_>mEo.:.__E8uL65:JoomuofM
`
`n_mo>>aME0.20.5u31$:
`
`Dm_O>>DM+00201.3H:_..\..,.:M
`
`ago;u3.:
`
`
`
`«EH95
`
`395M“3%
`
`MM!.5u32M
`
`masonuE?
`
`3%uwe...
`
`92.8n3.:
`
`
`
`
`
`moMn_>._.Emaamcanmomw
`
`
`
`
`
`mug»SunMu:aEEo0,MM
`
`MME£@M
`
`E©M
`
`E@
`
`
`
`no.3»:onsonmmmmo8as_u:uEEoo_
`
`
`
`
`
`
`
`
`
`m:m.Sm.img:95:mzcacou8Bflmqmsm.u.m$ugonfiwqc_+.was..m.—o2.
`
`
`
`
`
`
`
`
`
`
`
`
`.\0¢E::Socmmucmco25M3.on.«ATM..umcu.m».8n._msam“mutem£.__MoMu:mmu»«.mMcmS..mst:25H,.m22M_M,&...>M.om=.EmMm.
`
`
`
`
`
`
`
`.:LMiMaE4.i:M
`
`,,
`
`
`
`MAm:m>>U_mcvm.u»>v._u.._
`
`
`
`
`
`.M:M.m@a.ow>_m_-oI.%a,._..__M,_..6
`
`
`
`Mmmmflm..AEOmsv
`
`MMMmwmuv28
`
`
`
`AwC..mCVWENZMMV
`
`
`
`
`
`_W.0Bmm._h_m:m5um:._toaE_rucm.MdE:6.cmmE_@.nmhmmmEu9:m>mmumV8mt$:_Em.r:>>o50>£L=sM>_..EooonmuEo_m=D_2:momaww:..DDO..rM
`
`N13+
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`,«LMMM.‘‘‘‘MMM1.M.m_E.8.88m.m&.o.cGE:6.mi
`
`.._x2....AAvR<Qm=.:.>tQO0AA;
`
`
`
`
`
`
`Eu.2:E2;Emumsu=.Sq\ouMM:ecBM.mPo§BSOSEmu2:.3mcimwamaEu)9:EEmhzumgmcu.uc.§rm3umioaegmtmgmcu_mox9.mKc:
`
`
`
`_M_.I..3.c..Esflmco.A.Um.askoum~m:.§.uouSex:2»8mg»mx<M=.25
`
`
`
`
`
`
`
`winQEE.53!:9..3:mnzaomfl:.5.nuEuIxxxSo:SEShootoQ
`
`
`
`
`
`zmbum<532.:>1000:.:mMoM\Em£:233%m5$.23“.5&3“N502
`
`Page 68 of 107
`Page 68 of 107
`
`
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 66 of 68
`
`US 6,513,058 B2
`
`General Communication Map
`
`62
`
`39-""°
`
`'"deX
`
`61
`
`61a
`
`\Communication Map
`61b
`61c
`61d 61e
`
`I f
`
`t’
`
`\1'-qafgerla Ion
`(lmpl. by HW)
`
` IMIIIIIEII
`M
`
`
`
` l
`
`E
`l
`2
`l
`I
`READ 0xo001 ox0oool16,1
`
`‘
`
`
`
`Mapping Logic Table
`
`64
`
`\Logic Table
`
`Data Read
`
`A =
`
`Data Mask
`
`B = Data Code
`
`RESULT
`
`(DR)
`
`DM & DR
`
`(DM)
`
`A " DC
`
`(DC)
`
`(R)
`
`true
`
`AND
`
`true
`
`XOR
`
`true
`
`EQUALS
`
`false
`
`»
`
`(failure)
`
`false
`
`AND
`
`true
`
`XOR
`
`true
`
`EQUALS
`
`true
`
`(success)
`
`true
`
`AND
`
`true
`
`XOR
`
`false
`
`EQUALS
`
`true
`
`(success)
`
`false
`
`AND
`
`true
`
`XOR
`
`false
`
`EQUALS
`
`false
`
`(failure)
`
`
`
`
`
`
`
`Page 69 of 107
`Page 69 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 67 of 68
`
`US 6,513,058 B2
`
`FIG; 70 AT6400-AUX1 Communication Map
`
`62
`'
`wnformatlon
`“Communication Map
`(.mp._byHW)
`6b
`61c
`61d 61e
`61a
`Target
`
`
`0 “‘°’-
`
`
`61
`
`
`2 READ i0xO042§0xO000§16§4
`
` —l-—-
`
`0
`
`01-5>OJ[0-\
`
`
`345 _
`
`
`
`
`
`
`A
`
`_ H-
`
`60
`3e’V‘°§'“deX
`
`
`
`Page 70 of 107
`Page 70 of 107
`
`
`
`U.S. Patent
`
`Jan. 28, 2003
`
`Sheet 68 of 68
`
`US 6,513,058 B2
`
`DMC1700 Communication Map
`
`61
`
`
`
`1
`
`62
`-
`\'nf°rmat'°n
`\Communication Map
`60
`(.mp,byHW)
`61b
`61a
`3e""°§'“deX
`61c
`61d 61e
`Target
`e3\0
`60,, n 0 READ 0x0020 Ox0020‘ 8 $1
`
`
`1 READ Ox001O 0x0010 H
`
`
`
`
`sod - 2 READ 0x0010 Ox001O 8 ,1
`609
`3 READ 0x00FF§ OxO000§ 8 go
`601
`4 Iilfiflll
`1
`60g
`*~—E«—>5 READ §0X0000 oxoooo: 8 o
`1
`~ —>6
`WRITE §0x0000! oxoooo 8 '0
`
`
`
`Page 71 of 107
`Page 71 of 107
`
`§ 1
`
`1 1
`
`1 1 1
`
`
`
`
`We
`READ '0xO08010x0O00
`
`8
`
`WRITE 0x0O05§OxOOOO§ 8 i
`WRITE 0xO0F0¥0xOOO0§ 8 §
`
`
`
`
`
`
`
`>7
`
`8 9
`
`10
`
`11
`
`12
`
`;_,E H13
`
`14
`
`W915
`
`
`
`US 6,513,058 B2
`
`1
`DISTRIBUTION OF MOTION CONTROL
`COMMANDS OVER A NETWORK
`
`RELATED APPLICATIONS
`
`This application is a continuation of U.S. patent applica-
`tion Ser. No. 09/205,627 filed Dec. 3, 1998 now U.S. Pat.
`No. 6,209,037, which claims priority of U.S. Provisional
`Application Serial No. 60/067,466 filed Dec. 4, 1997, and is
`a contin11ation-in-part of US. application Ser. No. 09/191,
`981 filed Nov. 13, 1998, which is a continuation of U.S.
`application Ser. No. 08/656,421 filed May 30, 1996, now
`U.S. Pat. No. 5,867,385, which is a continuation-in-part of
`U.S. application Ser. No. 08/454,736 filed May 30, 1995,
`now U.S. Pat. No. 5,691,897.
`
`10
`
`15
`
`TECHNICAL FIEID
`
`The present invention relates to motion control systems
`and, more particularly, to interface software that facilitates
`the creation of hardware independent motion control soft-
`ware.
`
`BACKGROUND OF THE INVENTION
`
`The purpose of a motion control device is to move an
`object in a desired manner. The basic components of a
`motion control device are a controller and a mechanical
`system. The mechanical system translates signals generated
`by the controller into movement of an object.
`While the mechanical system commonly comprises a
`drive and an electrical motor, a number of other systems,
`such as hydraulic or vibrational systems, can be used to
`cause movement of an object based on a control signal.
`Additionally, it is possible for a motion control device to
`comprise a plurality of drives and motors to allow multi-axis
`control of the movement of the object.
`The present invention is of particular importance in the
`context of a mechanical system including at least one drive
`and electrical motor having a rotating shaft connected in
`some way to the object to be moved, and that application
`will be described in detail herein. But the principles of the
`present invention are generally applicable to any mechanical
`system that generates movement based on a control signal.
`The scope of the present invention should thus be deter-
`mined based on the claims appended hereto and not the
`following detailed description.
`In a mechanical system comprising a controller, a drive,
`and an electrical motor, the motor is physically connected to
`the object to be moved such that rotation of the motor shaft
`is translated into movement of the object. The drive is an
`electronic power amplifier adapted to provide power to a
`motor to rotate the motor shaft in a controlled manner. Based
`on control commands, the controller controls the drive in a
`predictable manner such that the object is moved in the
`desired manner.
`
`These basic components are normally placed into a larger
`system to accomplish a specific task. For example, o