A machine vision system is any computer system, smart camera, vision sensor or even any other component that has the capability to record and process digital images or video streams and extracts information from them. In an industrial production this usually refers to the factory floor or industrial market.

Digital images or video streams represent data in a general sense, comprising multiple spatial dimensions (e.g. 1D scanner lines, 2D camera images, 3D point clouds, image sequences, etc.) acquired with the help of any kind of light. The term “light” in this companion specification refers to visible light, infrared, ultraviolet, x-ray, radar, ultrasonic, virtual imaging, etc. it is used as a catch-all term for all current and future imaging techniques used to gather data in a machine vision context.

The output of a machine vision system can be raw or pre-processed images or any image-based measurements, inspection results, process control data, robot guidance data, etc., depending on the specific vision task.

Machine vision systems therefore cover a broad range of applications that can vary from small single task systems in an embedded board or smart camera, to a very complicated multi-computer, multi-camera setup that can be reconfigured to analyze different aspects of a product line.

Applications include identification (like data matrix code, bar code or character recognition), pose determination (e.g., for robot guidance), assembly checks, gauging up to very high accuracy, surface inspection, color identification, among others.

Therefore, a machine vision system is a collection of different components and other machines that work together to achieve a particular vision task.

Figure 49 shows an example of a machine vision system in the context of this companion specification composed of multiple hardware and software components.

These underlying components of the system and their relationships present themselves to the “outside world” in various ways, e.g., the PLC can use various interfaces like digital I/O, Fieldbus, or other vendor specific protocol definitions. The objects and relationships described in this specification may express these interfaces and offer a global view on the system.

This companion specification provides a way to model a machine vision system by using building blocks that express all the configurations that a component like a PLC can have. It envisions things not as rigid objects but as a collection of capabilities and aspects. A physical PLC will then not be model a single object but as a group of objects like a computing device + physical interfaces for its I/Os, serial and ethernet ports. This approach allows to be more granular and compact with the amount of information that can be expressed about a physical object. This abstraction may reflect the structure and relationships between all the components of the machine vision system or may present a view without too much detail.