Checker® 4G Communications and Programming Guide
Checker® 4G Communications and Programming Guide
Checker® 4G Communications and Programming Guide
Communications and
Programming Guide
5/6/2014
Version 4.0
Legal Notices
The software described in this document is furnished under license, and may be used or copied
only in accordance with the terms of such license and with the inclusion of the copyright notice
shown on this page. Neither the software, this document, nor any copies thereof may be
provided to, or otherwise made available to, anyone other than the licensee. Title to, and
ownership of, this software remains with Cognex Corporation or its licensor. Cognex
Corporation assumes no responsibility for the use or reliability of its software on equipment that
is not supplied by Cognex Corporation. Cognex Corporation makes no warranties, either express
or implied, regarding the described software, its merchantability, non-infringement or its fitness
for any particular purpose.
The information in this document is subject to change without notice and should not be
construed as a commitment by Cognex Corporation. Cognex Corporation is not responsible for
any errors that may be present in either this document or the associated software.
No part of this document may be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, nor transferred to any other media or language
without the written permission of Cognex Corporation.
Portions of the hardware and software provided by Cognex may be covered by one or more of
the U.S. and foreign patents listed below as well as pending U.S. and foreign patents. Such
pending U.S. and foreign patents issued after the date of this document are listed on Cognex
web site at http://www.cognex.com/patents.
VisionPro
5481712, 5495537, 5548326, 5583954, 5602937, 5640200, 5751853, 5768443, 5825913, 5850466, 5872870, 5901241, 5943441, 5978080, 5978521, 5987172,
6005978, 6039254, 6064388, 6075881, 6137893, 6141033, 6167150, 6215915, 6240208, 6324299, 6381366, 6381375, 6411734, 6421458, 6459820, 6490375,
6516092, 6563324, 6658145, 6687402, 6690842, 6697535, 6718074, 6748110, 6771808, 6804416, 6836567, 6850646, 6856698, 6920241, 6959112, 6963338,
6973207, 6975764, 6985625, 6993177, 6993192, 7006712, 7016539, 7043081, 7058225, 7065262, 7088862, 7164796, 7190834, 7242801, 7251366, 7313761,
EP0713593, JP3522280, JP3927239
DataMan
5742037, 5943441, 6215915, 6236769, 6282328, 6381375, 6408109, 6457032, 6690842, 6941026, 7175090, 7181066, 7412106, 7427028, 7549582, 7604174,
7614563, 7617984, US-2005-0087601-A1, US-2006-0131418-A1, US-2006-0131419-A1, US-2006-0133757-A1, US-2007-0090193-A1, US-2007-0091332-A1,
US-2007-0152064-A1, US-2007-0170259-A1, US-2008-0004822-A1, US-2008-0011855-A1, US-2008-0142604-A1, US-2008-0143838-A1, US-2008-0158365-A1,
US-2009-0090781-A1, US-2009-0108073, US-2009-0121027-A1, US-2009-0166424-A1, US-2009-0294541-A1, WO06065619A1, EP1687752
CVL
5495537, 5548326, 5583954, 5602937, 5640200, 5717785, 5751853, 5768443, 5825483, 5825913, 5850466, 5859923, 5872870, 5901241, 5943441, 5949905,
5978080, 5987172, 5995648, 6002793, 6005978, 6064388, 6067379, 6075881, 6137893, 6141033, 6157732, 6167150, 6215915, 6240208, 6240218, 6324299,
6381366, 6381375, 6408109, 6411734, 6421458, 6457032, 6459820, 6490375, 6516092, 6563324, 6658145, 6687402, 6690842, 6718074, 6748110, 6751361,
6771808, 6798925, 6804416, 6836567, 6850646, 6856698, 6920241, 6959112, 6975764, 6985625, 6993177, 6993192, 7006712, 7016539, 7043081, 7058225,
7065262, 7088862, 7164796, 7190834, 7242801, 7251366, EP0713593, JP3522280, JP3927239
VGR
5495537, 5602937, 5640200, 5768443, 5825483, 5850466, 5859923, 5949905, 5978080, 5995648, 6002793, 6005978, 6075881, 6137893, 6141033, 6157732,
6167150, 6215915, 6324299, 6381375, 6408109, 6411734, 6421458, 6457032, 6459820, 6490375, 6516092, 6563324, 6658145, 6690842, 6748110, 6751361,
6771808, 6804416, 6836567, 6850646, 6856698, 6959112, 6975764, 6985625, 6993192, 7006712, 7016539, 7043081, 7058225, 7065262, 7088862, 7164796,
7190834, 7242801, 7251366
OMNIVIEW
6215915, 6381375, 6408109, 6421458, 6457032, 6459820, 6594623, 6804416, 6959112, 7383536
SMD 4
5995648, 5850466, 6751361, 6690842, 6563324, 6490375, 5949905, 5978080, 6137893, 6167150, 6075881, 6748110, 5859923, 6411734, 6324299, 6516092,
7190834, 6658145, 6836567, 6850646, 6975764, 6985625, 6993192, 7006712, 7043081, 7058225, 7065262, 7088862, 7164796, 7251366, 6856698, 6002793,
6005978, 6771808, 6804416, 7016539, 6959112, 5602937, 7242801, 5640200, 5495537, 5768443, 5825483, 6421458, 6459820, 6215915, 6381375, 6457032,
6157732, 6408109, 6141033, 6026176, 6442291, 6151406, 6396942, 6614926, 5371690, 5845007, 5943441, 6963338, 5805722, 5909504, 5933523, 5964844,
5974169, 5987172, 6078700, 6252986, 6278796, 6307210, 6408429, 6424734, 6526165, 6571006, 6639624, 6681039, 6748104, 6813377, 6853751, 6898333,
6950548, 6993177, 7139421, 5757956
Wire Bonder
5495537, 5532739, 5581632, 5602937, 5640199, 5640200, 5642158, 5676302, 5754679, 5757956, 5768443, 5825483, 5835622, 5850466, 5859923, 5861909,
5949905, 5978080, 5991436, 5995648, 6002793, 6005978, 6035066, 6061467, 6075881, 6137893, 6141033, 6157732, 6167150, 6215915, 6289492, 6324299,
6381375, 6408109, 6411734, 6421458, 6457032, 6459820, 6490375, 6516092, 6563324, 6658145, 6690842, 6748110, 6751361, 6771808, 6804416, 6836567,
6850646, 6856698, 6959112, 6975764, 6985625, 6993192, 7006712, 7016539, 7043081, 7058225, 7065262, 7088862, 7164796, 7171036, 7190834, 7242801,
7251366
Other product and company names mentioned herein are the trademarks, or registered
trademarks, of their respective owners.
Networking............................................................................................................................9
EtherNet/IP ......................................................................................................................... 13
Implicit Messaging................................................................................................................. 16
I/O Adapter............................................................................................................................ 18
I/O Scanner............................................................................................................................ 18
Inputs ....................................................................................................................................... 21
Services..................................................................................................................................... 22
Assembly Object....................................................................................................................... 28
Examples............................................................................................................................ 40
PROFINET ............................................................................................................................ 42
Modules ...................................................................................................................................... 49
Input Module......................................................................................................................... 55
Output Module...................................................................................................................... 55
Operation .................................................................................................................................... 56
Inspection/Result Sequence..................................................................................................... 59
Generic FFP.......................................................................................................................... 77
Operation .................................................................................................................................... 81
Definitions ................................................................................................................................... 84
Network configuration
Port usage
Networking
You can connect your Checker 4G sensor via a simple Ethernet connection. The Checker 4G
sensor can be on the same subnet as your PC or it can be on a different subnet.
If your Checker 4G sensor is on the same subnet as your machine, it supports the following
Ethernet network assignments:
DHCP client
Static IP
No IP address
Checker 4G sensors are by default configured to use DHCP. You can, however, assign a static IP
address to them, too.
If no Link Local Addressing occurs, the Checker 4G sensor waits for a DHCP server to assign an
address.
If the DHCP server cannot find a valid IP address, the Checker 4G sensor functions normally in
run mode. The sensor continues to listen for an address assignment. During this time, however,
no configuration is possible.
2. In the window that pops up, you can configure the IP settings according to your needs.
2. In the Add Checker dialog box, click Add Checker By IP, then enter the IP address of the
Checker 4G sensor.
3. Click OK, then close the Add Checker dialog box. The Checker should now appear in
the Checkers list.
If your Checker is configured in a way that its IP address is assigned by a DHCP server, but is
connected to a network where there is no DHCP server, then the Checker does not appear in the
Connection list. Click Add. You will see your Checker sensor in the window that appears. Here
you can further configure your device, if necessary.
If your Checker is configured in a way that its IP address is set to be static, but you connect it to
a network where there is a DHCP server but the IP range is different, your Checker does not
appear in the Connection list. Click Add. You will see your Checker sensor in the window that
appears. Here you can further configure your device, if necessary.
By default, industrial network protocols are disabled on Checker. To enable a protocol, connect
to Checker, select Checker->Configure Checker…, then click Protocol Settings and enable the
desired protocol.
EtherNet/IP
EtherNet/IP is a communication system suitable for use in industrial environments. EtherNet/IP
allows industrial devices to exchange time-critical application information. These devices include
simple I/O devices such as sensors/actuators, as well as complex control devices such as robots,
programmable logic controllers, welders, and process controllers.
To understand Ethernet/IP you must understand the Common Industrial Protocol (CIP).
Ethernet/IP can best be described as both an extension and wrapper of the Common Industrial
Protocol (CIP). It operates over standard IEEE 802.3 Ethernet using the TCP/IP protocol suite.
The Ethernet/IP implementation used by In-Sight sits directly above the Ethernet stack and uses
ordinary sockets functionality. There are no non-standard additions that attempt to improve
determinism.
On Ethernet CIP straddles both UDP and TCP. CIP “explicit” messaging uses TCP to pass non-time
critical point-to-point messages and commands from one device to another. CIP “implicit”
messaging uses UDP for time-critical control and I/O.
CIP is based on an object model. These objects encapsulate a device’s data and functionality (at
least those portions you wish to expose to the outside world). The model provides a common
way to access this data and functionality.
For an illustration of the EtherNet/IP simplified object model, see the following figure.
TCP/IP Suite IP
The encapsulation layer is a wrapper which allows native CIP to pass across standard IEEE 802.3
Ethernet using the TCP/IP protocol suite. It also provides extensions to CIP routing functionality
to deal with the unique aspects of Ethernet.
Two new CIP objects have been added to support EtherNet/IP; the TCP/IP Interface Object and
the Ethernet Link Object. The Interface object provides the mechanism to configure a device’s
TCP/IP network interface (IP address, network mask, and so on). The link object maintains link-
specific configuration, status and diagnostic information for an Ethernet 802.3 communications
interface.
I/O data Implicit Real-time I/O data Real-time data from remote
I/O device (such as sensor,
switch, or motor control)
Implicit Messaging
Often referred to as “I/O”, this type of communication is typically used for real-time data
exchange, where speed and low latency are important. Implicit messages include very little
information about their meaning, so the transmission is more efficient, but less flexible than
explicit. The interpretation of the transmitted data is fast.
With Implicit Messaging you establish an association (a “CIP connection”) between two devices.
After the connection is established, a device will produce the Implicit Messages according to a
predetermined trigger mechanism. Triggers can be Cyclic (most common), Change of State (CoS)
or application-specific. Both devices know and agree on the data formats they will use (that is,
the format is “implied”). For EtherNet/IP, Implicit Messaging uses UDP and can be multicast or
unicast.
Implicit messaging are based on the assemblies. For detailed information on Assembly Objects,
see Section Assembly Object.
For an illustration of a typical I/O connection sequence of messages, see the following figure.
Device Classifications
There are several device classifications, based on general behavior and types of EtherNet/IP
communications that they support. Most devices fit into one of the following classifications.
However, certain cases require a device to be multi-classified. For example, In-Sight is primarily
classified as an I/O Adapter. It also has I/O Scanner capability which is used to connect to its I/O
module.
All EtherNet/IP devices are required to have minimal explicit server capability, to respond to
device identification and configuration requests.
For an illustration of a matrix of communication types and device classifications, see the
following figure.
I/O Adapter
An I/O adapter receives implicit communication connection requests from an I/O scanner then
produces its I/O data at the requested rate. An I/O adapter is also an explicit message server. An
I/O adapter can be a simple digital input device, or something more complex such as a modular
pneumatic valve system.
I/O Scanner
An I/O scanner initiates implicit communications with I/O adapters. A scanner is typically the
most complex type of EtherNet/IP device, as it must deal with issues such as configuration of
which connections to make, and how to configure the adapter device. Scanners also typically
support initiating explicit messages. A programmable controller (PLC) is an example of an I/O
scanner.
Make sure you have the Rockwell Software tool on your machine.
Set up the Rockwell Software tool so that it recognizes your Checker sensor.
Install the Checker Electronic Data Sheet (EDS) for the Checker sensor.
2. Make sure you select the Add on Profile installation and the Samples installation. Add
on Profile is only used with Rockwell ControlLogix or CompactLogix PLCs.
3. Install the Rockwell Add on Profiles by navigating to the following directory: C:Program
Files\Cognex\Checker Vision Sensors x.x\EthernetIP\Rockwell AOP
4. If you have previously not installed the Rockwell AOP, now run MPSetup.exe from this
directory.
5. From the Start menu, go to Programs Rockwell Software RSLinx Tools EDS
Hardware Install Tool.
NOTE
If you have an existing EDS file, uninstall it first then install the latest version of the EDS.
7. Run Checker. If a window pops up notifying you that a firmware upgrade or downgrade
is necessary, act accordingly. Otherwise, continue with the next step.
8. By default the Checker 4G has the EtherNet/IP protocol disabled. To enable the
protocol, perform the following steps:
c. In the Checker Configuration window that pops up, click Protocol Settings and select
EtherNet/IP.
d. Click OK.
For these settings to take effect, the sensor automatically reboots.
If your Checker 4G sensor is visible, but the icon is a question mark, repeat the EDS Installation.
10. Open one of your jobs and integrate your Checker 4G sensor into your program using
the Add on Profile.
Alternatively, you can add the Checker 4G sensor as a Module on your network.
Inputs
Inputs act as “virtual” inputs. When the value of an Input changes from 0 1 the action
associated with the event will be executed. When the action completes the corresponding
InputAck bit will change from 1 0 to signal completion. The acknowledge bit will change back
to 0 when the corresponding Input bit is set back to 0.
Services
The Checker object supports the following Common CIP services:
Acquire Service
The Acquire Service will cause an acquisition to be triggered (if the acquisition system is ready to
acquire an image). If the acquisition could not be triggered, then the Missed Acquisition bit will
be set until the next successful acquisition.
Acquisition Sequence
Checker can be triggered to acquire images implicitly via the Assembly object.
On startup the TriggerEnable attribute will be false. It must be set to true to enable triggering.
When the device is ready to accept triggers, the Trigger Ready bit will be set to true.
While the TriggerEnable attribute is true and the Trigger Ready bit is true, each time the Checker
object sees the Trigger attribute change from 0 to 1, it will initiate an image acquisition. When
setting this via the assembly objects, the attribute should be held in the new state until that
same state value is seen in the Trigger Ack bit (this is a necessary handshake to guarantee that
the change is seen by the Checker object).
During an acquisition, the Trigger Ready bit will be cleared and the Acquiring bit will be set to
true. When the acquisition is completed, the Acquiring bit will be cleared and the Trigger Ready
bit will again be set true once the acquisition system is ready to begin a new image acquisition.
To force a reset of the trigger mechanism set the TriggerEnable attribute to false, until the
Trigger Ready is not set to 0. Then, TriggerEnable can be set to true to re-enable acquisition.
Triggering is only available when Checker is in External Trigger Mode. See the following figure
for a typical acquisition sequence when results buffering is turned off.
NOTE
The state of the Any Fail, All Pass, Part Detect, Output 0 - 7 lines depends on the results of the
inspection. The states shown are just examples.
Results Buffer Enable = false will disable Results Avail Ack and Results Buffer Overrun. Results
Avail will stay true after the first set of results. Use Inspection Complete Toggle to gate the
results from the IO buffers into PLC memory.
Missed Ack will go true if Trigger Enable = true and Trigger Ready == false and a leading edge of
Trigger occurs. Missed Ack will stay true until a successful acquisition occurs (Trigger Ready ==
true and leading edge of Trigger).
If Set Offline is true or the Checker application goes to Setup mode, then Online will go false and
Offline Reason 1 will go true.
Trigger Enable should only go true if Online is true first. Trigger Enable = true if one of the signals
required for Trigger Ready goes true.
Trigger Ready will be true if Online = true, Trigger Enable = true, Acquiring = false and <acquire
buffer available>.
Trigger can go true any time Trigger Ready is true. Trigger should go false once Trigger Ack goes
true. The leading edge of Trigger going true will cause Trigger Ready to go false and will cause
Acquiring to go true.
The Input 0 line can be in any state during the sequence. The value at the leading edge of the
Acquiring signal is the value that will be used.
Trigger Ack goes true when Trigger goes true. Trigger Ack goes false when Trigger goes false.
Acquiring will go true if Trigger Ready == true and after the leading edge of the Trigger signal.
Acquiring means that the camera is taking the picture and moving the image to an acquire
buffer. The trailing edge of Acquiring is the gating signal for the Acquisition ID and will cause
Inspecting to go true.
The [Trigger] Acquisition ID must be stable valid when the Acquiring signal goes false. This
number will be used to match up the acquired image with the inspection output by using the
same number for the [Inspection] Results ID.
Inspecting will go true immediately after Acquiring goes false as it is the next process in the
pipeline. The trailing edge of Inspecting is the gating signal for Results ID and all of the results
data. Inspection Complete Toggle and Results Avail are also activated by the falling edge of
Inspecting.
Results ID must be valid and stable prior to the trailing edge of Results Available. The Inspection
Complete Toggle will transition and Results Available will go true on the trailing edge of
Inspecting. The Results ID value must be the same as the [Trigger] Acquisition ID value for the
matching camera image.
Any Fail must be valid and stable prior to the trailing edge of Results Available. The Inspection
Complete Toggle will transition and Results Available go true on the trailing edge of Inspecting.
All Pass must be valid and stable prior to the trailing edge of Results Available. The Inspection
Complete Toggle will transition and Results Available go true on the trailing edge of Inspecting.
Part Detect must be valid and stable prior to the trailing edge of Results Available. Inspection
Complete Toggle will transition and Results Available will go true on the trailing edge of
Inspecting.
Output 0 - 7 must be valid and stable prior to the trailing edge of Results Available. Inspection
Complete Toggle will transition and Results Available will go true on the trailing edge of
Inspecting.
Inspection Complete Toggle changes at the same time as the trailing edge of Inspecting. The
Results ID is incremented every time Results Available becomes true (that is, when Inspection
Complete Toggle changes status).
[Inspection] Results Avail immediately follows the trailing edge of Inspecting and must only go
true once the results data is solidly stable valid.
NOTE
For Results Buffer Enable = false, after the first result, the Results Available signal will always be
true. Use Inspection Complete Toggle as the enable signal to copy new result data from the IO
result buffers to PLC memory.
Missed acquisition means that a trigger was issued at a point in time when the Checker was not
able to act on it. This allows the PLC to skip over its normal processing logic and re-issue a new
trigger. For an acquisition that is faster than the inspection sequence, see the following figure.
The states of the Any Fail, Any Pass, Part Detect, and Output 0 to 7 lines depend on the results
of the inspection. The states shown are just examples.
Use cases for having separate Acquiring and Inspection indicators are, for example, to improve
speed, or robotics. While Acquiring the robot must remain still. However, during Inspection the
robot is allowed to move.
The BufferResultsEnable attribute determines how inspection results are handled by the
Checker object. If the BufferResultsEnable attribute is set to false, then the inspection results
are immediately placed into the InspectionResults attribute and Results Available is set to true.
If the BufferResultsEnable attribute is set to true the new results are queued. When using
internal triggering, the next trigger will overwrite the results. When using external triggering,
the next external trigger will overwrite the result even if it is not used by the application.
The states of the Any Fail, Any Pass, Part Detect, and Output 0 to 7 lines depend on the results
of the inspection. The states shown are just examples.
In general, if inspections are occurring faster than results can be sent out, the primary difference
between buffering or not buffering determines which results get discarded. If buffering is not
enabled the most recent results are kept and the earlier result (which was not read by the PLC
fast enough) is lost. Essentially the most recent result will simply overwrite the earlier result. If
buffering is enabled (and the queue becomes full) the most recent results are discarded until
room becomes available in the results queue.
As shown in the following figure, first the results corresponding to the A Acq go to the results
buffer and to the output lines. This is followed by the results of B going to the result buffer, but
still the results of A remain in the output lines. After the PLC read the results of A, it disappears
from both the buffer and the output lines.
Assembly Object
Assembly objects use implicit messaging. In the abstract they are just blocks of data which are
transmitted as the raw payload of implicit messaging packets. These implicit messaging packets
are produced (transmitted) repeatedly at a predefined chosen rate (10ms, 200ms, and so on).
Assemblies are generally combinations of selected attributes (data items) from different CIP
objects within a device. The device vendor defines assemblies according to their needs. They
combine data together in useful groupings according to the requirements of the application.
The designation of Input & Output assembly can be confusing. Checker is an I/O adapter class
device. The convention for adapters is that Input Assemblies produce (transmit) data for
another device (i.e. Checker PLC) and Output Assemblies consume (receive) data from
another device (i.e. PLC Checker). Essentially Checker acts as an I/O module for another
device.
Checkers have a single input assembly and single output assembly. These assemblies combine
selected attributes (data) of the Checker object into groupings that minimize network
bandwidth and still allow for efficient control and processing. The data in these assemblies can
also be accessed individually from the Checker object. However, using the assembly objects is
much more efficient. This is the reason that they are the primary means of runtime
communication between a Checker and a PLC.
Input Assembly
The Input Assembly Instance provides status information, process state, and inspection results.
The following table shows the Input Assembly (data sent from the Checker), where Reserved1
means reserved for future use.
If the Observer bit is set to 1, the EIP controller cannot change the status of the Checker and can
only observe its state. The Observer bit can only be set via the PC application (Checker ->
Configure Checker -> Protocol Settings). For more information, see Appendix A – Protocol
Settings, modifying the Observer bit.
Instance Byte Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Offline Reason
11
0 – Online Missed Acq Trigger Ack
Acquiring Trigger
0 Online
Ready
1 – Setup
2-7 – Reserved
Inspection
General Job Load Results Complete
1 Job Load Failed Observer Inspecting
Fault Complete Results Buffer Toggle
Available Overrun
Retrain
2 Reserved1 Reserved1 Reserved1 Retrain Failed Any Fail All Pass Part Detect
Completed
3 Output 7 Output 6 Output 5 Output 4 Output 3 Output 2 Output 1 Output 0
2. Select Properties.
Output Assembly
The Output assembly instance contains control signals, software event signals, and any user
data required for the trigger and inspection. The following table shows the Output Assembly
Instance (data sent to the Checker), where Reserved1 means reserved for future use. Setting the
Lights Off bit to 1 turns off the external illumination regardless of the job setting. Setting the SM
Volatile bit to 0 selects the static results data that does not change for a job. Setting it to 1
selects the volatile data that varies from part to part. This data is returned in the Sensor Meter
table values.
5 Reserved1 SM Volatile
6 Pad byte
7 Pad byte
The following table summarizes the static data elements returned in the Sensor Meter table
values.
Notation:
Sensor Sensor
Setpoint Setpoint Sensor Angle Angle Sensor Sensor
1 2 Angle Range 1 Range 2 Width Height
bits 8 8 16 16 16 16 16
Part Finder X N/A N/A N/A N/A X X
Pattern
Presence X N/A N/A X X X X
Brightness
Presence X N/A N/A N/A N/A X X
Contrast
Presence X N/A N/A N/A N/A X X
Edge
Presence X X X X X X X
Contour
Presence X N/A N/A X X X X
Color
Presence X X N/A N/A N/A X X
Measurement
Width X X X N/A N/A X X
Measurement
Height X X X N/A N/A X X
Measurement
Diameter X X N/A N/A N/A X X
Pattern
Position N/A N/A N/A X X X X
Area (Blob)
Position N/A N/A N/A N/A N/A X X
Edge Position N/A N/A X X X X X
The following table summarizes the volatile data elements returned in the Sensor Meter table
values.
Notation:
bits 16
8 8 16 16 16 16 16 16
Part Finder X X X X X X X X N/A
Pattern
Presence X X X X N/A N/A N/A N/A N/A
Brightness
Presence X X X X N/A N/A N/A N/A N/A
Contrast
Presence X X X X N/A N/A N/A N/A N/A
Edge
Presence X X X X N/A N/A N/A N/A N/A
Measurement
Height X X X X X X X X N/A
Measurement
Diameter X X X X X X X X N/A
Pattern
Position N/A X X X X X X X X
Area (Blob)
Position N/A X X X X X X X N/A
NOTE
The following values are valid for the Pass / Found field:
Checker Implementation
Ethernet Factory Protocol Subsystem
The Ethernet Factory Protocol (EFP) subsystem is a grouping of implementations of all “factory
floor” Ethernet industrial protocols that have been implemented for the Checker products.
Currently this includes EtherNet/IP and PROFINET.
This subsystem has been abstracted into a common interface. The interface provides a common
method of initialization, event trafficking, and data flow.
The interface is abstracted in both directions. It abstracts the details of the EFP sub-system from
the core Checker architecture. It also abstracts the details of the Checker core architecture from
the protocols in the EFP subsystem.
In general only one protocol may be in operation at a given time. Central to the EFP sub-system
is the Checker Object. The Checker Object models all data and functionality available in the
Checker (at least everything the end user is allowed to view or touch via the Ethernet factory
protocols). The Checker Object ensures that the Checker device has common data and behavior
regardless of which factory protocol is in use.
Core Architecture
Initialization
Events
Data
EFP subsystem abstraction
EFP Interface
Core architecture abstraction
Checker Object
EtherNet/IP Future
Protocol PROFINET Protocol
Protocol
1. Open RSLogix5000 and load your project (or select File->New… to create a new one).
2. From the I/O Configuration node, select the Ethernet node under the project Ethernet
Module, right-click on the icon and select New Module from the menu:
3. From the Select Module dialog, choose the Allen-Bradley Generic Ethernet Module.
4. After the selection is made, the configuration dialog for the Generic Ethernet Module
will be displayed. Configure the following:
Set the Comm Format to “Data – INT”. This tells the module to treat the data as an array
of 16-bit integers.
Input Assembly: Set instance to 11. Set the size to the amount of Input Assembly data
you want the PLC to receive. The size should be minimum 5 words (5*16 = 80bit). In
case you would like to receive data from sensors as well you have to increase the size by
16 bytes (8*16-bit units = 8 words) per sensor. You can receive data from maximum 26
sensors (214 bit, as shown on the figure below).
Output Assembly: Set instance to 21. Set the size to 3 integers. This size is sufficient to
send all required “Control” data/command to the Checker.
5. The final step is configuring the connection rate. The rate at which data is
transmitted/received is defined as the Requested Packet Interval (RPI). The RPI defines
how frequently the data is transmitted/received over the connection. To optimize
network performance this rate should be set no lower than absolutely required by a
given application. In no case should it be set to lower than ½ the median scan rate of the
PLC ladder program. Setting it lower wastes bandwidth and does not improve
processing performance.
6. After adding the generic module to ControlLogix, the I/O tree should appear as follows.
7. When the Generic Module is added to the I/O tree RSLogix 5000 creates tags that map
to the Checker sensor Input and Output Data (that is, the Input and Output Assembly
Objects in the Checker sensor). These tags can be found under the “Controller Tags”
node of the project tree.
NOTE
The base name of these tags is the name you gave to the Generic Module that you added to the
I/O Configuration earlier.
The tags are organized in three groups: Config “Checker_1:C”, Input “Checker_1:I”, and Output
“Checker_1:O”. You can ignore the Config tags (not used). The Input tags represent all the data
being received (from the Checker). The Ouput tags represent all the data being sent (to the
Checker).
These tags are the data table representation of the Checker Assembly Object contents. The PLC
ladder is written to access these tag values. By monitoring or changing these tag values the PLC
ladder is actually monitoring and changing the Checker Assembly Object contents.
NOTE
There is a time delay between the Checker and these PLC tag values (based on the configured
RPI). All PLC ladder must be written to take that time delay into account.
To access individual data items within an Assembly Object you must manually select the correct
tag offset and data subtype (if necessary) within the tag array that the Generic profile provided.
This can be awkward and error prone since it requires you to manually reference the vendor
documentation which defines the Assembly Objects.
NOTE
The start of the Input tags “Checker_1:I.Data*0+” maps directly to the start of the Checker Input
Assembly. Likewise, the start of the Output tags “Checker_1:O.Data*0+” maps directly to the
start of the Checker Output Assembly.
Examples
Output Assembly Trigger Enable: Bit 0 of word 0 of the Output Assembly. From the Output tag
array for the Checker select bit 0 of word 0.
PROFINET
PROFINET is an application-level protocol used in industrial automation applications. This
protocol uses standard Ethernet hardware and software to exchange I/O data, alarms, and
diagnostics.
Checker supports PROFINET I/O. This is one of the 2 “views” contained in the PROFINET
communication standard. PROFINET I/O performs cyclic data transfers to exchange data with
Programmable Logic Controllers (PLCs) over Ethernet. The second “view” in the standard,
PROFINET CBA (Component Based Automation), is not supported.
A deliberate effort has been made to make the Checker PROFINET communication model closely
match the Cognex In-Sight family. Customers with In-Sight experience should find working with
Checker familiar and comfortable.
Enabling PROFINET involves the following main steps:
Make sure you have the Siemens Step 7 programming software (SIMATIC) installed.
Set up the Siemens Software tool so that it recognizes your Checker device.
3. In the Checker Configuration window that pops up, click Protocol Settings and select
PROFINET.
4. Click OK.
Setting up PROFINET
Perform the following steps to set up PROFINET:
3. If you already have a project, select Cancel to skip past the New Project wizard.
Otherwise, let the wizard guide you through creating a new project.
4. Once the Manager has opened the project, double-click the Hardware icon to open the
HW Config dialog screen. From the main menu, select OptionsInstall GSD File….
5. Browse to the location where the GSD file was installed (or the location where you
saved the GSD file if it was downloaded from the web).
6. Select the GSD file you wish to install and follow the displayed instructions to complete
the installation.
NOTE
There may be more than one GSD file in the list. If you are unsure which to install,
choose the one with the most recent date.
7. Add your Checker sensor to your project. This makes the Checker available in the
Hardware Catalog. Launch the SIMATIC Hardware Config tool.
9. The catalog is displayed. Expand the PROFINET IO tree to the “Cognex Checkers” node.
10. With the left mouse button, drag the Checker sensor over and drop it on the PROFINET
IO network symbol in the left pane.
The HW Config tool automatically maps the Checker I/O modules into the memory
space.
12. Give the sensor a name. This must match the name of your actual Checker sensor. The
name must be unique and conform to DNS naming conventions. Refer to the SIMATIC
Software help for details.
13. If your Checker sensor is configured to use its own static IP, uncheck the Assign IP
address via IO controller box. Otherwise if you wish the PLC to assign an IP address,
select the Ethernet button and configure the appropriate address.
14. In the IO Cycle tab, select the appropriate cyclic update rate for your
application.
15. By default, the SIMATIC software maps the User Data & Result Data Modules to offset
256. This is outside of the default process image area size of 128. That is, by default,
data in these modules are inaccessible by some SFCs such as BLKMOV. As a solution,
either remap the modules to lower offsets within the process image area or expand the
process image area to include these modules.
If you choose to expand the process image area, make the size large enough for the
module size plus the default 256 offset.
NOTE
Expanding the process image can have a performance impact on the PLC scan cycle time. If your
scan time is critical, use the minimal acceptable module sizes and manually remap them down
lower in the process image.
Modules
The PROFINET implementation on Checker consists of the following I/O modules:
7. Input
Checker® 4G Communications and Programming Guide
5/6/2014 | Version 4.0
P a g e | 49
PROFINET
8. Output
Slot number: 1
clear the Job Load Failed or Job Load Complete bit as well.
Slot number: 2
0 Online If the Checker is online, its value is 1 and the Checker reacts
to commands. Otherwise its value is 0. See also Set Offline.
If this is 1, the sensor is Offline. If this is 0, the sensor is
1 Offline Reason 1
Online. Setup Mode.
8 Retrain Failed If this is 1, the retrain operation for the sensor failed.
Slot number: 3
Slot number: 4
Slot number: 5
Slot number: 6
Input Module
Slot number: 7
0 – 23 Inputs 0 through 23 These bits are used as Inputs in the Ladder Logic of the
Checker GUI.
Output Module
Slot number: 8
All Pass
All Fail
Coil
0 – 23 Outputs 0 through 23 External Trigger
For the Sensor Meter information, see the Static and Volatile Data Summary section.
NOTE
The order of the sensor meter values available through PROFINET is determined by the order of
the sensors you set in the Sensor Meter table.
Operation
Acquisition Sequence
Checker can be triggered to acquire images implicitly via the Assembly object.
On startup the TriggerEnable attribute will be false. It must be set to true to enable triggering.
When the device is ready to accept triggers, the Trigger Ready bit in the AcqStatusRegister will
be set to true.
While the TriggerEnable attribute is true and Trigger Ready bit is true, each time the Checker
object sees the Trigger attribute change from 0 to 1, it will initiate an image acquisition. When
setting this via the assembly objects, the attribute should be held in the new state until that
same state value is seen in the Trigger Ack bit of the AcqStatusRegister (this is a necessary
handshake to guarantee that the change is seen by the Checker object).
During an acquisition, the Trigger Ready bit in the AcqStatusRegister will be cleared and the
Acquiring bit will be set to true. When the acquisition is completed, the Acquiring bit will be
cleared and the Trigger Ready bit will again be set true once the acquisition system is ready to
begin a new image acquisition.
To force a reset of the trigger mechanism set the TriggerEnable attribute to false, until the
AcqStatusRegister is 0. Then, TriggerEnable can be set to true to re-enable acquisition.
Triggering is only available when Checker is in External Trigger Mode. See the following figure
for a typical acquisition sequence where results buffering is disabled.
NOTE
The state of the Any Fail, All Pass, Part Detect, Output 0 - 7 lines depends on the results of the
inspection. The states shown are just examples.
Results Buffer Enable = false will disable Results Avail Ack and Results Buffer Overrun. Results
Avail will stay true after the first set of results. Use Inspection Complete Toggle to gate the
results from the IO buffers into PLC memory.
Missed Ack will go true if Trigger Enable = true and Trigger Ready == false and a leading edge of
Trigger occurs. Missed Ack will stay true until a successful acquisition occurs (Trigger Ready ==
true and leading edge of Trigger).
If Set Offline is true or the Checker application goes to Setup mode, then Online will go false and
Offline Reason 1 will go true.
Trigger Enable should only go true if Online is true first. Trigger Enable = true if one of the signals
required for Trigger Ready goes true.
Trigger Ready will be true if Online = true, Trigger Enable = true, Acquiring = false and <acquire
buffer available>.
Trigger can go true any time Trigger Ready is true. Trigger should go false once Trigger Ack goes
true. The leading edge of Trigger going true will cause Trigger Ready to go false and will cause
Acquiring to go true.
The Input 0 line can be in any state during the sequence. The value at the leading edge of the
Acquiring signal is the value that will be used.
Trigger Ack goes true when Trigger goes true. Trigger Ack goes false when Trigger goes false.
Acquiring will go true if Trigger Ready == true and after the leading edge of the Trigger signal.
Acquiring means that the camera is taking the picture and moving the image to an acquire
buffer. The trailing edge of Acquiring is the gating signal for the Acquisition ID and will cause
Inspecting to go true.
The [Trigger] Acquisition ID must be stable valid when the Acquiring signal goes false. This
number will be used to match up the acquired image with the inspection output by using the
same number for the [Inspection] Results ID.
Inspecting will go true immediately after Acquiring goes false as it is the next process in the
pipeline. The trailing edge of Inspecting is the gating signal for Results ID and all of the results
data. Inspection Complete Toggle and Results Avail are also activated by the falling edge of
Inspecting.
Results ID must be valid and stable prior to the trailing edge of Results Available. The Inspection
Complete Toggle will transition and Results Available will go true on the trailing edge of
Inspecting. The Results ID value must be the same as the [Trigger] Acquisition ID value for the
matching camera image.
Any Fail must be valid and stable prior to the trailing edge of Results Available. The Inspection
Complete Toggle will transition and Results Available go true on the trailing edge of Inspecting.
All Pass must be valid and stable prior to the trailing edge of Results Available. The Inspection
Complete Toggle will transition and Results Available go true on the trailing edge of Inspecting.
Part Detect must be valid and stable prior to the trailing edge of Results Available. Inspection
Complete Toggle will transition and Results Available will go true on the trailing edge of
Inspecting.
Output 0 - 7 must be valid and stable prior to the trailing edge of Results Available. Inspection
Complete Toggle will transition and Results Available will go true on the trailing edge of
Inspecting.
Inspection Complete Toggle changes at the same time as the trailing edge of Inspecting. The
Results ID is incremented every time Results Available becomes true (that is, when Inspection
Complete Toggle changes status).
[Inspection] Results Avail immediately follows the trailing edge of Inspecting and must only go
true once the results data is solidly stable valid.
NOTE
For Results Buffer Enable = false, after the first result, the Results Available signal will always be
true. Use Inspection Complete Toggle as the enable signal to copy new result data from the IO
result buffers to PLC memory.
Inspection/Result Sequence
After an image is acquired it is inspected. While being inspected, the Inspection bit of the Result
Status Module is set. When the inspection is complete, the Inspection bit is cleared and the
Inspection Complete bit is toggled.
The Results Buffer Enable bit determines how inspection results are handled by the sensor. If
the Results Buffer Enable bit is set to false, then the inspection results are immediately placed
into the Results Module and Results Available is set to true.
If the Results Buffer Enable bit is set to true the new results are queued. The earlier inspection
results remain in the Results Module until they are acknowledged by the client by setting the
Results Ack bit to true. After the Results Available bit is cleared, the client should set the Results
Ack bit back to false to allow the next queued results to be placed in to the Results Module. This
is a necessary handshake to ensure the results are received by the Checker client (PLC).
Behavior of InspectionStatusRegister
Results Buffering
There is an option to enable a queue for inspection results. If enabled this allows a finite number
of inspection result data to queue up until the client (PLC) has time to read them. This is useful
to smooth out data flow if the client (PLC) slows down for short periods of time or if there are
surges of read activity.
Also, if result buffering is enabled the device will allow overlapped acquisition and inspection
operations. Depending on the application this can be used to achieve faster over all trigger
rates. See Acquisition Sequence description above for further detail.
In general, if writes (new results) are occurring faster than results can be sent out, the primary
difference between buffering or not buffering determines which results get discarded. If
buffering is not enabled the most recent results are kept and the earlier result (which was not
read by the PLC fast enough) is lost. Essentially the more recent result will simply over write the
earlier result. If buffering is enabled (and the queue becomes full) the most recent results are
discarded until room becomes available in the results queue.
As shown in the following figure, first the results corresponding to the A Acq go to the results
buffer and to the output lines. This is followed by the results of B going to the result buffer, but
still the results of A remain in the output lines. After the PLC read the results of A, it disappears
from both the buffer and the output lines.
Siemens Examples
This section gives some examples of using the Checker with a Siemens S7-300 PLC. It is assumed
that you are familiar with the S7-300 and the SIMATIC programming software.
Symbol Table
Although not required, defining symbols for the Checker I/O module elements can be extremely
helpful. It makes the code much easier to read and reduces mistakes. This sample table shows
symbols defined for a typical instance of a Checker sensor. Note that Checker I/O modules may
be at different addresses in your project. Make sure to adjust your symbol definitions based on
the specific offsets of the I/O modules.
Variable Tables
Each example program contains at least one variable table you can use to monitor and change
the values of variables present in the example programs during program execution.
For example, to open the variable table for the Example_job_change program, open the blocks
of the program and double-click on VAT_1 (the variable table file). See the following screenshot
of the blocks.
NOTE
To run PROFINET programs, Checker must be in run mode with PROFINET enabled. When
running the “Triggering without Buffering” and “Triggering with Buffering” program examples,
make sure External Trigger Mode is turned on.
5. Look for the Siemens folder and select the “Example_Tr_Non_Buf.zip” file.
The Siemens software extracts the sample archive and makes it available.
In case you have problems opening the Siemens S7 PLC project because of language
settings, perform the following steps:
5. Go to the project that you received, open the language file and overwrite its
content.
To run the sample program after opening it, download it to the PLC and then turn the value of
F_Trigger to 1.
Reduced to the basics, the process of external triggering without using a buffer consists of the
following:
4. Check for any Missed Acquisition (you should not be detecting any).
Install and run the “Example_Tr_Buf” sample program by selecting the “Example_tr_buf.zip”
file the same way as described in section Triggering without Buffering.
Reduced to the basics, the process of external triggering using a buffer consists of the following:
2. Turn on buffering.
5. If Results Available (sent by the Checker) is high, it means that there are
some results not read out by the PLC. Set ResultAvailableAck to read.
If ResultAvailable is low, set resultAvailableAck back to low so that the PLC becomes
ready to read out the next result once it becomes available.
6. Check for any Missed Acquisition (you should not be detecting any).
Reduced to the basics, the process of changing a job consists of the following:
2. Load the current F_JobNumber to the Checker then increase this value by one
for the next job change process.
4. After the PLC received information from the Checker about the job change, set the
correct DIAG bits. The reason behind this is that the Checker and the PLC set back
the corresponding bits so fast that you would not be able to verify the result with
your eyes. DIAG bits keep their values until the next job change starts.
5. After the PLC received information from the Checker about the job change, set the
correct DIAG bits. If JobLoad_Complete or JobLoad_Failed is high, JobChange is
finished too.
6. After the job change finished, set back Q1.1 to 0, and the PLC will be ready for the
next job change.
Using UDT
In the provided examples, the starting values for I/O addresses have been preconfigured, which
you can verify in the HW Config view. See the following screenshot of the HW Config view.
If you want to use different hardware configurations (for example, you might want to modify
the existing hardware configuration by adding a new Checker), you must set the proper
I_Addr_Start and Q_Addr_Start values in the DB1 block.
You might also want to use Checker4G7 instead of Checker4G1. In this case, you will have to
exchange Checker4G1 with Checker4G7 in the HW Config view by first deleting Checker4G1 and
then adding Checker4G7. If you first add the new Checker and then delete the old one, the
starting memory addresses of the new Checker in the hardware configuration will not
correspond to those in the DB1 block.
1. Trigger Enable: Set the Trigger Enable signal to true (if it is false), to enable the
Triggering on the Checker side.
NOTE: The Local F_Enable bit is used to start or stop the Function.
2. Triggering
The scope of Trigger Ready is extended so it is high only if Checker is ready for a new
acquisition (that is, there is no ongoing Acquisition, Job Change or Retrain). Based on
this, it is enough to check the state of Trigger Ready to know that the Checker is ready and
the local Q_Trigger and Q_JobChange to exclude the possibility of doubled signals.
Reset the Trigger and simultaneously initiate a Job Change when the PLC has the proper
signal feedback from the Checker to the Trigger (Trigger Ack high and Trigger Ready
high).
4. Handle Job Load Complete or Failed: Wait for the Job Change to finish.
NOTE: In Step 2 one of the conditions is Q_JobChange false and the PLC sets it back to
false only if the Checker sends back a response for the Job change (Complete or
Failed).
The Inspection Complete Toggle bit change indicates that there is a new result
available. The PLC needs to detect both the rising and the falling edges. Every time when
the Inspection Complete Toggle changes, every result-related data (Part Detect, All
Pass, Any Fail, V0..V23 etc.) is updated to the latest. In this rung, the PLC checks only the
All Pass and the Any Fail bit states and based on that increases a counter value or
moves the Result ID to a local variable.
Example Notes
Be aware that in some cases you cannot effectively modify the values of certain variables
because the PLC overwrites their values periodically with a short cycle time.
For example, you cannot modify elsewhere the trigger output (Q3.0) present in the following
network:
For another example, you cannot modify elsewhere the results available acknowledgement
(Q4.1) present in the following network:
The following examples demonstrate the same as above using UDT database:
Generic FFP
Generic FFP is a simple UDP/IP based protocol developed to allow Checker to communicate with
PLCs without EtherNet/IP or PROFINET support.
The basic communication scheme of Generic FFP is the same as of EtherNet/IP or PROFINET:
lines are represented as bits in a byte array and peers interpret and react on changes as
necessary.
3. In the Checker Configuration window that pops up, click Protocol Settings and select
Generic FFP.
4. Click OK.
The 24 virtual inputs can be selected in the ladder logic program. These inputs are set by a PLC
and transmitted to the Checker in the output assembly.
When a sensor is created, it is automatically added to a sensor meter table. Each sensor
automatically has its values added to a table of results. The first entry contains the part finder
value. If the part finder is not present, these entries are set to one (1).
Checker® 4G Communications and Programming Guide
5/6/2014 | Version 4.0
P a g e | 78
Generic FFP
The Sensor Meter table, available from the Set Up Outputs step, displays all sensors that have
been added to the Checker job.
You can order the sensors by clicking a cell and dragging it to another cell. Cells do not need to
be contiguously populated. Sensors that are not to be transmitted can be unchecked. They are
displayed disabled.
Retraining Patterns
It is now possible to retrain a part finder or pattern sensor from a PLC. The PLC sets a bit in the
output assembly and all retrainable sensors are retrained when this bit is set.
Upon completion of the retrain, a bit in the input assembly is set to indicate that the retrain
action has occurred.
The Retrain Ack bit in the input assembly is set when a retrain is completed. Once the Retrain
Ack bit is acknowledged by the PLC, the PLC can clear the Retrain bit in the output assembly.
Once the Retrain bit has been cleared by the PLC, the Retrain Ack bit is cleared by the Checker.
NOTE: pattern retraining is available for PROFINET and EtherNet/IP protocols as well.
Strobe Control
You can configure Checker to use an external strobe. When configured for external strobe, you
lose one of the output lines reducing the number of outputs from 2 (Encoder mode) to 1 or from
4 to 3 (Job Change mode).
The external strobe, when enabled, uses Output 0 to trigger the strobe. This output is no longer
available in the Set Up Outputs section. The Pulse Width value is the duration that the strobe is
on. This value is an input to Checker and used to control the exposure/gain settings for the
illumination slider. This value is not used by Checker for the duration of the output. The
duration of the output is controlled by the illumination slider. Changing the illumination slider
changes the exposure of the duration of the acquisition. While the Checker is acquiring, output
D0 is enabled. This allows external light controllers in addition to external strobe controllers to
be used.
Operation
The PLC (or PC) sends a plain binary UDP message to the Checker IP address to the 7733 port.
The message should be a filled output assembly. Checker receives the data and replies by
sending an input assembly immediately. There is no communication between two output
assembly UDP packets; therefore, the period time is set dynamically by the master (PLC or PC).
Loop
Receive 266 bytes from the same socket. (It is recommended that you set up a timeout
for receiving because UDP packets could be lost somewhere between the sender and
the receiver.)
Wait according to your needs (this pause will set the period time).
Loop end
Input Assembly
The following table shows the Input Assembly (data sent from the Checker), where Reserved1
means reserved for future use. If the Observer bit is set to 1, the Generic FFP controller cannot
change the status of the Checker and can only observe its state. You can set the Observer bit
only in the PC application (Checker -> Configure Checker -> Protocol Settings). For more
information, see Appendix A – Protocol Settings, modifying the Observer bit.
Instance Byte Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Offline Reason
11
0 – Online Missed Acq Trigger Ack
Acquiring Trigger
0 Online
Ready
1 – Setup
2-7 – Reserved
Inspection
General Job Load Results Complete
1 Job Load Failed Observer Inspecting
Fault Complete Results Buffer Toggle
Available Overrun
Retrain
2 Reserved1 Reserved1 Reserved1 Retrain Failed Any Fail All Pass Part Detect
Completed
3 Output 7 Output 6 Output 5 Output 4 Output 3 Output 2 Output 1 Output 0
Output 15 Output 14 Output 13 Output 12 Output 11 Output 10 Output 9 Output 8
4
For information on the values returned in the Sensor Meter table, see the Static and Volatile
Data Summary section.
Output Assembly
The following table shows the Output Assembly Instance (data sent to the Checker), where
Reserved1 means reserved for future use. Setting the Lights Off bit to 1 turns off the external
illumination regardless of the job setting. Setting the SM Volatile bit to 0 selects the static
results data that does not change for a job. Setting it to 1 selects the volatile data that varies
from part to part. This data is returned in the Sensor Meter table values.
Instance Byte Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
21
Results Buffer Results
0 Set Offline Lights Off Retrain Job Change Available Ack Trigger Trigger Enable
Enable
5 Reserved1 SM Volatile
6 Pad byte
7 Pad byte
Definitions
Input commands
Checker accepts the following three input commands which can interfere with each other:
1. Trigger
This command initiates the acquisition and the inspection that follows it.
2. Job Change
It changes the Checker’s current running job to a chosen one. The user can choose any
jobs from the job slots.
3. Retrain
It retrains the appropriate sensors on the last acquired image.
4. Trigger & Job Change & Retrain => 1. Trigger, 2. Job Change (Retrain is dropped)
Important Note: Two discrete signals sent by the PLC in the same time are not handled as
multiple commands but as overlapping ones (see below) where the signal processing sequence
is non-deterministic and one of the commands will be dropped!
Command overlap
In the case of command overlap, the following cases can occur:
In all the cases the new command(s) will be simply declined and the error result will be
propagated to the parties in interest, if any.
These error results can be: Missed Acquisition, Job Load Failed, Retrain Failed.
Port Usage
The following table lists the ports Checker uses for communication. If you are using a firewall,
you must leave these ports open.
Protocol Port
If you select the same industrial protocol for the Protocol AND the Controller Protocol as well
then the Observer bit will be 0 for the set industrial protocol and 1 for Generic FFP. If you
explicitly set Generic FFP as the Controller protocol then the Observer bit will be 0 for it, making
it the controller. See the table below for the available variations: