Configuration and programming
Automation engineers familiar with PLC type scripting often choose systems that can be easily configured via a graphical user interface (GUI) and can be deployed without requiring in-depth programming know-how. Using this method, individual tools can simply be positioned on the image using the computer mouse and can then be configured in a way that they exactly find the features that need to be recognised. These users therefore mostly select intelligent cameras or compact vision systems.
The following section covers different configuration possibilities for compact vision systems and smart cameras.
Some vision systems provide screen, keyboard and mouse inputs that enable the vision system to be programmed in-situ. This means that no PC is required for control and set-up of the unit. However, any programming and set-up that needs to be done must be performed locally.
Web browser based configuration
By using a web browser as an interface to configure and control a vision system, any computer can be used for network connection to the system. The advantage of this solution is that no special software is required and the computer only needs to be set up for network operation. This way no version conflicts might arise in the case of several systems needing to be configured from the same computer. The network also allows remote access to the system inside the company network. Set-up therefore does not need to take place right at the machine.
Programming using a remote application
In this scenario a dedicated programming application is installed on a standard PC or laptop which then connects to the vision system (normally a smart camera). Programming is performed using this comfortable and powerful application with a point and click GUI (Graphical User Interface) and when complete, the configuration is saved on the system to run autonomously.
Programming with scripting
All vision systems should have the above described basic functionality. However, for the more advanced applications, where the result of a measurement has an influence on the sequence of following inspections, or in cases where decision making is more complex, the ability to create sequences of instructions called scripting is required. Scripting functionality offered by different products can differ considerably. Basically two types of scripts are available.
In-line scripts are executed synchronously with the inspection process one time for each object, whereas background scripts run asynchronously to the inspection task.
The power of scripting lies in its ability to allow more complex solutions to be achieved with little effort. Background scripts are useful, for example, for implementing higher-level communication and data exchange with other controllers. Since communication can take place permanently in the background, the user is not bound to the time sequence of the actual program.
Another use case for background scripts is a more complex sequence control of the inspection program, such as combined image acquisition and subsequent computational imaging. Scenarios such as multiple image acquisition with different exposure times or different illumination types, with subsequent image processing, can be easily implemented.
Foreground scripts can often be used for a variety of applications. New overall results can be calculated by accessing variables and results from other individual tools. Typical examples are finding and elemination of outliers in measured values, sorting of data series, calculation of total areas and error groups, generation and formatting of result texts for communication purposes or data conversions into other units.
A system with flexible scripting capability enables an inspection to be programmed without the need for in-depth programming skills.