Positioning software speeds machine vision
Graphical PC-based motion-control software helps developers integrate machine-vision systems easier and faster.
By Andrew Wilson,Editor
In many automated machine-vision systems, positioning systems move objects or camera stages inx-, y-, and z-axes. Often PC-based, these systems include motion tables that are controlled by stepper motors or servomotors or combinations of linear drives and positioning systems. To program this hardware, systems integrators often turn to input/output (I/O) controllers, data-acquisition boards, and motion-control boards and their associated software.
Similarly, a number of off-the-shelf cameras, frame grabbers, and software packages are also implemented to add image-processing functionality and graphical user interfaces to PC-based systems. In the past, however, disparate motion-control and machine-vision software could not be easily integrated, which resulted in increased software-development time and cost. As a result, system integration required intimate knowledge of each software package and custom programming of interfaces for multiple software packages.
OLE for controlTo reduce programming time in manufacturing, automation, and process-control applications, hardware and software vendors have adopted object linking and embedding (OLE) for process control (OPC), a standard specification developed by Microsoft Corp. (Redmond, WA) that allows objects to be created within one application and easily linked or embedded in another application. Managed by the independent OPC Foundation (www.opcfoundation.org), the standard reduces the integration time required to build such applications as combined machine-vision and industrial-control applications.By using OPC servers and clients, system-development-and-integration costs are decreased because drivers to industrial automation devices are written only once. In industrial-automation systems, where imaging, motion control, human- machine interface, and off-the-shelf database and networking programs must be integrated rapidly and easily, vendors are providing toolkits to help implement OPC concepts. Available from companies such as Axeda Systems (Mansfield, MA), Iconics (Foxborough, MA), ifak system (Magdeburg, Germany), and Intellution (Foxborough, MA), these tools are based on Microsoft's Distributed Common Object Model (DCOM), which allows developers an easy way to develop OPC-compatible server and clients (see table).
Typical of these tools are the OpcServerX and the OpcClientX from Metadynamics (Mequon, WI). Both ActiveX implementations of the OPC data access specification, OpcServerX and OpcClientX, can be used to build both server and clients in Visual Basic. Using these tools, developers can avoid native C++ development and .COM expertise, resulting in simplified and faster development cycles of OPC-based software.
Motion controlRecognizing the benefits of OLE-based systems, many motion-control and machine-vision vendors are offering packages that allow developers to program their software using a single application-programming interface (API). In this way, Windows programmers are freed from understanding the intricacies and dependencies of motion-control or machine-vision hardware and their communication protocols, control codes, and syntax. Allowing systems developers to concentrate more on their applications lets them develop combined motion and vision systems more rapidly.FIGURE 1. XMC software from ROY-G-BIV provides a unified motion-control software-programming interface to commercial motion controllers. Based on Microsoft's .COM component object model, XMC can be integrated into other industrial software products to provide motion-control support.
For developers, several packages are available for motion-control, machine-vision, and combined motion- and vision-control applications. For example, the XMC tool from ROY-G-BIV (Bingen, WA) provides a unified motion-control software-programming interface to various commercial motion controllers (see Fig. 1). Currently supported motion-control hardware includes the AT6400, a two- to four-axis stepper card from the Compumotor Division of Parker Hannifin (Rohnert Park, CA) and the DMC1700 one- to eight-axis stepper/servo card from Galil Motion Control (Rocklin, CA).
Based on Microsoft's component object model (COM) and compliant with Microsoft's DNA for Manufacturing Initiative, XMC can be integrated into other industrial software products to provide seamless motion-control support and expose the critical motion-system data of any machine to other factory-automation systems. As a hardware-independent, COM-based software architecture, the visual interface of the XMC Motion Administrator allows developers to configure system axes, motor parameters, and motion-controller specific settings. This interface requires no hardware programming or communications of controller-specific command codes to initialize the motion hardware.
Studio from Entivity (Ann Arbor, MI) is also an automation and control software platform for plant-floor applications. With OPC 2.0 client and server and integrated DCOM support, the software provides a graphical display of the I/O system and, in some cases, an instant configuration capability that automatically identifies every device on the I/O network. Using the Studio package, developers can implement a graphical I/O system display to test inputs, force outputs, and verify wiring, all independent of the application control logic (see Fig. 2). In addition to supporting bus-motion cards from companies such as AcroLoop (Chaska, MN), Douloi Automation (Santa Clara, CA), and Motion Engineering (Santa Barbara, CA), the software also supports Ethernet, DeviceNet, and Profibus cards form Schneider Electric (Palatine, IL).
Motion and visionIncorporating OPC-based functionality into software products allows ease of interoperability between motion-control and machine-vision-based packages. Consequently, many motion-control companies are adopting third-party machine-vision packages into their products, providing systems developers with easy-to-use motion-control and vision-based packages.For example, Adept Technology (Livermore, CA) and MetaControls (Morrisville, NC) plan to develop a plug-and-play interface between their IEEE-1394-based products, specifically between Adept's SmartAMP and SmartModule products and MetaControls' FireBlox products. The companies already sell machine-vision systems using Adept's HexSight robot-guidance machine-vision software and MetaControls FireView machine-vision camera for the IEEE-1394 (FireWire) interface.
FIGURE 3. Aerotech has developed two software toolkits, AeroVision and Nview (shown here), to integrate with its Unidex 500 PCI motion controller and Automation 3200 software-only controller. Both toolkits integrate the Matrox Inspector 3.1 software for vision prototyping so that Aerotech users can focus on the application instead of the programming. New applications can be built and added to an existing human-machine interface without losing the previous coding.
"A large number of our customers integrate our motion products with machine vision for robotic guidance, fiberoptic-component alignment, seam tracking, finding objects for laser welding, and quality-control inspection of parts and automated part alignment," says product manager Tom Markel of Aerotech (Pittsburgh, PA). Aerotech developed two software toolkits—AeroVision and Nview—to integrate with its Unidex 500 PCI motion controller and Automation 3200 software-only controller (see Fig. 3).
Because both toolkits integrated the Matrox Imaging Library (MIL), Matrox Inspector 3.1 software from Matrox (Dorval, QC, Canada) was used for vision prototyping. With Inspector, Aerotech customers can focus on the application instead of the programming. Adds Markel, "With ActiveMIL Builder, a new application can be built and added to an existing man-machine interface so that previous coding would not be lost."
As motion-control and machine-vision software vendors combine their expertise, vendors such as National Instruments (NI; Austin, TX) are developing expertise on both fronts with software packages for machine vision and motion control. Because NI's LabVIEW package provides built-in OPC clients capable of communicating with any OPC server, developers can access OPC servers in LabVIEW or Measurement Studio using DataSocket, a technology for sharing measurement and process data. This approach can be used to browse and connect to any OPC server on local or networked machines. DataSocket's API for integrating industrial automation servers with LabVIEW or Measurement Studio allows other programming environments such as Microsoft Visual Basic and Visual C++ to be used.
To integrate motion control and machine vision, developers can use NI's Motion Control Module for Measurement Studio and Vision Development Module. The Motion Control Module operates with all NI's FlexMotion controllers and allows developers to configure a set of axes and execute a sequence of moves (see Fig. 4). Criteria for transitioning from one move in the sequence to the next can then be specified, allowing moves to be blended or permitting dwell times between moves. Using NI's Virtual Instruments in both the Motion Control Module and LabVIEW's Measurement Studio package then allows data from the motion controller to trigger machine-vision functions or vice-versa.
As machine-vision and motion-control software developers provide greater interoperability in their products, the integration of the two technologies will become easier. Not only will this save system-integration time and speed product time to market, it also will eliminate proprietary software-based solutions that are tied to a specific manufacturer's hardware. When this happens, software and hardware vendors will become more open about which hardware and third-part software they support, further easing the system integration process.
Company InformationAcroloopChaska, MN 55318www.acroloop.comAdept TechnologyLivermore, CA 94550www.adept.comAerotechPittsburgh, PA 15238www.aerotech.comDouloi AutomationSanta Clara, CA 95051www.douloi.comEntivityAnn Arbor, MI 48108www.entivity.comGalil Motion ControlRocklin, CA 95765www.galilmc.comMatroxDorval, QC, Canada H9P 2T4www.matrox.com/imagingMetaControlsMorrisville, NC 27560www.metacontrols.comMicrosoft Corp.Redmond, WA 98052www.microsoft.comMotion EngineeringSanta Barbara, CA 93117www.motioneng.comNational InstrumentsAustin, TX 78759www.ni.comParker HannifinRohnert Park, CA 94928www.compumotor.comROY-G-BIVBingen, WA 98605www.roygbiv.comSchneider ElectricPalatine, IL 60067www.schneider-electric.com