Intuitive, Versatile, And Extendable Integrated Development Environment For Machine Vision Applications
Matrox Design Assistant® X is an integrated development environment (IDE) for Microsoft® Windows® where vision applications are created by constructing an intuitive flowchart instead of writing traditional program code. In addition to building a flowchart, the IDE enables users to design a graphical web-based operator interface for the application.
Matrox Design Assistant X can operate independent of hardware, allowing users to choose any computer with CoaXPress®, GigE Vision®, or USB3 Vision® cameras and get the processing power needed. Image capture from CoaXPress cameras requires the use of a Matrox Rapixo CXP frame grabber. Matrox Design Assistant X works with multiple cameras all within the same project, or per project running concurrently and independently from one another, platform permitting. This field-proven software is also a perfect match for a Matrox Imaging vision controller or smart camera. Matrox Design Assistant X offers the freedom to choose the ideal platform for any vision project.
- Solve machine vision applications efficiently by constructing flowcharts instead of writing program code
- Choose the best platform for the job within a hardware-independent environment that supports Matrox Imaging smart cameras and vision controllers and third-party PCs with CoaXPress, GigE Vision, or USB3 Vision cameras
- Tackle machine vision applications with utmost confidence using field-proven tools for analyzing, locating, measuring, reading, and verifying
- Use a single program for creating both the application logic and operator interface
- Work with multiple cameras all within the same project or per project running concurrently and independently from one another, platform permitting
- Interface to Matrox AltiZ and third-party 3D sensors to process and analyze their depth map
- Rely on a common underlying vision library for the same results with a Matrox Imaging smart camera, vision system, or third-party computer
- Maximize productivity with instant feedback on image analysis and processing operations
- Receive immediate, pertinent assistance through an integrated contextual guide
- Communicate actions and results to other automation and enterprise equipment via discrete Matrox I/Os, RS-232, and Ethernet (TCP/IP, CC-Link IE Field Basic, EtherNet/IP™2, Modbus®, PROFINET®, and native robot interfaces)
- Test communication with a programmable logic controller (PLC) using the built-in PLC interface emulator
- Maintain control and independence through the ability to create custom flowchart steps
- Protect against inappropriate changes with the Project Change Validator tool
Flowchart and operator interface design are done within the Matrox Design Assistant X IDE hosted on a computer running 64-bit Windows. A flowchart is put together using a step-by-step approach, where each step is taken from an existing toolbox and is configured interactively. The toolbox includes steps for image analysis and processing, communication, flow-control, and I/O. Outputs from one step—which can be images and/or alphanumeric results—are easily linked to the appropriate inputs of any other step. Decision-making is performed using a conditional step, where the logical expression is described interactively. Results from image analysis and processing steps are immediately displayed to permit the quick tuning of parameters. A contextual guide provides assistance for every step in the flowchart. Flowchart legibility is maintained by grouping steps into sub-flowcharts.
In addition to flowchart design, Matrox Design Assistant X enables the creation of a custom, web-based operator interface to the application through an integrated HTML visual editor. Users alter an existing template using a choice of annotations (graphics and text), inputs (edit boxes, control buttons, and image markers), and outputs (original or derived results, and status indicators). A filmstrip view is also available to keep track of and navigate to previously analyzed images. The operator interface can be further customized using a third-party HTML editor.
Why a flowchart?
The flowchart is a universally accessible, recognized, and understood method of describing the sequence of operations in a process. Manufacturing engineers and technicians in particular have all been exposed to the intuitive, logical, and visual nature of the flowchart.
Users have the ability to extend the capabilities of Matrox Design Assistant X by way of the included Custom Step software development kit (SDK). The SDK, in combination with Microsoft Visual Studio® 2017, enables the creation of custom flowchart steps using the C# programming language. These steps can implement proprietary image analysis and processing, as well as proprietary communication protocols. The SDK comes with numerous project samples to accelerate development.
- Capture images from one or more CoaXPress cameras by way of Matrox Rapixo CXP frame grabbers
- Interface to Matrox AltiZ and additional third-party 3D sensors to process and analyze their depth map
- Image classification coarse segmentation that leverages deep learning to detect defects in highly textured materials
- CC-Link IE Field Basic communication to connect directly to Mitsubishi Electric® PLCs
- PLC interface emulator to test communication with a PLC without needing one
- Extract profiles from a point cloud or depth map for individual analysis
Once development is complete, the project—with flowchart and operator interface—is deployed either locally or remotely. Local deployment is to the same computer or Matrox Imaging vision controller as was used for development. Remote deployment is to a different computer, including Matrox Imaging vision controllers, or a Matrox Imaging smart camera.
Matrox Design Assistant X includes a series of project templates and video tutorials to help new developers get up and running quickly.
These templates serve as either functional applications or application frameworks intended as a foundation for a target application. Templates also permit dynamic modifications, allowing users to tweak functionality at run-time and immediately see the outcome of any adjustments. The project templates address typical application areas, with examples for:
- Barcode and 2D code reading
- Robot guidance (Pick-and-Place)
- Dot-matrix text reading (SureDotOCR®)
- Color checking
More information on templates can be found on the Quick Start page of Matrox Design Assistant X software.
Customizable Developer Interface
The Matrox Design Assistant X user interface can be tailored by each developer. The workspace can be rearranged, even across multiple monitors, to suit individual preferences and further enhance productivity.
Operator Interface Viewable Anywhere
The web-based operator interface, or Operator View, can be accessed locally or remotely through a HTML-5-capable web browser such as Google Chrome™ and Chromium, Mozilla Firefox®, and Microsoft Internet Explorer® and new Edge. Local viewing is done on the same computer or Matrox Imaging vision controller as was used for development. Local viewing is also available with a Matrox Imaging smart camera through a simple touch screen connected to its video output and USB interface, which eliminates the need for an additional computer. Remote viewing is done from any computer, including dedicated Human Machine Interface (HMI) or touch-panel PCs.
A stand-alone HMI application can be created using Microsoft Visual Studio to run on the local or a remote computer as an alternative to the web-based operator interface.
Access to specific Operator Views can be made to require user authentication (i.e., username and password) so only authorized personnel can modify key parameters of a running project. A project can be locked to a specific Matrox Imaging smart camera or vision controller when deployed, preventing it from running on an unauthorized platform. A project can also be encrypted during deployment to a platform, insuring that the project cannot be read or changed by unauthorized users. Projects locked to a platform are automatically encrypted.
Image Analysis and Processing
Central to Matrox Design Assistant X are flowchart steps for calibrating, enhancing, and transforming images; locating objects; extracting and measuring features; reading character strings; and decoding and verifying identification marks. These steps are designed to provide optimum performance and reliability.
Matrox Design Assistant X includes Matrox Profiler, a separate utility to post-analyze the execution of a vision project for performance bottlenecks and timing issues. It presents the flowchart steps executed over time on a navigable timeline. Matrox Profiler permits searching for and selecting specific steps and their execution times for analysis. It computes statistics on execution times and presents these on a per-step basis.
Matrox Capture Assistant
Matrox Capture Assistant is another separate utility included with Matrox Design Assistant X to verify the connection to one or more GigE Vision or USB3 Vision cameras and testing video acquisition. It can obtain GigE Vision and USB3 Vision device information, collect and present acquisition statistics, and provide access to acquisition (GenICam™) properties. The gathering and display of statistics can be performed when acquiring within or outside of Matrox Capture Assistant. Matrox Capture Assistant also allows the adjustment of GigE Vision driver settings and provides the means to troubleshoot connectivity issues.
Matrox Capture Assistant GigE Vision and USB3 Vision configuration and test tool
Project Change Validator
Project Change Validator is a utility employing a client-server architecture for ensuring that changes made to a deployed project are not detrimental to the functioning of that project. It provides the ability to record reference images—along with the associated inspection settings and results, for a given project.
This archived reference data is then used to validate changes made to the project. Changes are validated by running the modified project with the reference data and comparing the projects’ operation against this data. Validation is performed by the server—typically running on a separate computer—which is reachable over a network.
The Matrox Design Assistant X portal provides access to the validation data for management as well as the validation results. Validation requests are made on demand from the Matrox Design Assistant X portal, an automation controller, or an HMI panel.
PLC Interface Emulation
While developing a project in Matrox Design Assistant X, the PLC interface emulator is to be used to test communication in instances when a physical one is not connected. Values can be changed and viewed dynamically to test the communication between the project and the PLC. The PLC interface emulator supports CC-Link IE Field Basic, EtherNet/IP2, MODBUS over TCP/IP, and PROFINET protocols for communication; these can be activated and controlled from the portal pages.
Connect to Devices and Networks
Matrox Design Assistant X can capture images from any CoaXPress, GigE Vision, or USB3 Vision compliant camera. Image capture from CoaXPress cameras requires the use of a Matrox Rapixo CXP frame grabber. The software can communicate over Ethernet networks using the TCP/IP as well as the CC-Link IE Field Basic, EtherNet/IP2, Modbus over TCP/IP, and PROFINET protocols, enabling interaction with programmable logic/automation controllers. Its QuickComm facility provides ready-to-go communication with these controllers. Matrox Design Assistant X supports direct communication with select robot controllers for 2D vision-guided robotic applications. Supported robot-controller makes and models currently include the ABB IRC5; DENSO RC8; Epson RC420+ and RC520+; Fanuc LRMate200iC and LRMate200iD; KUKA KR C2; and Stäubli CS8, CS8C HP, and CS9 controllers.
Matrox Design Assistant X can be configured to interact with automation devices through a computer’s COM ports. Matrox Design Assistant X can also directly interact with the I/Os built into a Matrox Imaging vision controller, smart camera, and I/O card as well as the I/O available on a GigE Vision or USB3 Vision camera.