Seavision Presentation

download Seavision Presentation

of 14

Transcript of Seavision Presentation

  • 8/3/2019 Seavision Presentation

    1/14

    SEA Vision S.r.lVia Folla di Sopra 21, 27100 Pavia, Italy

    Tel +39,0382,529576 Fax +39,0382,527260 Modem +39,0382,520658

    OCVPresentation

    Version 3 February 2005 English

  • 8/3/2019 Seavision Presentation

    2/14

    Page 2

    SEA Vision s.r.l.

    1. OCV's functionsThe OCVmeasuring system is a multi-functional system, designed to execute different control tasks:

    control ofprinted data

    control ofbarcodes and 2D codes

    control ofcrimps on vials

    control ofheights of objects through 3D measures

    control of the presence ofcartons in caseMoreoverOCVcan

    manage the progressive codes on vignettes, creating archives that can be exported.

    host barcode readers, which are programmed through the OCVinterface.

    be connected to printers, which are programmed through the OCVinterface.

    1.1. Functional diagram

    TV1 TV2

    IMAGE

    ACQUISITION

    CARD

    MONITOR

    COMPUTERSOFTWARELIGHTING SYSTEM

    PRODUCTION

    PLC I/O CARD MOUSELINE

    LIGHTLIGHT

    CODE

    READER

    CODE

    READER

    PRINTER

    The hardware functional diagram is shown in the figure, that includes modules with different colours,

    based on their nature: blue for electronic components, purple for optical components, green for

    mechanical (end external devices), yellow for the software.

  • 8/3/2019 Seavision Presentation

    3/14

    OCV Presentation Page 3

    SEA Vision s.r.l.

    Each reading head (camera or external device) is independent from the others: they work in asynchronous

    way, as different virtual machines.

    The OCVmodules are:

    computer

    cameras and optical devices

    lighting systems (LEDs and lasers) image acquisition card

    monitor

    electronics for communication with the production line

    programming mouse (or any other pointing device)

    software

    1.2. Working principle

    For every single object that reaches the control station, the computer hardware acquires an image from the

    camera. The term acquisition indicates two operations: digitalisation, i.e. the conversion of the analogue

    video signal coming from the camera into a set of numbers and the subsequent storage of these numbersin suitable memory banks. The acquisition operation is synchronised with the production line, so that the

    object images are always acquired in the same position.

    Now OCVis ready to carry out checks in the image. At the end of the processing the result can be either

    communicated to the packing machine or sent to an internal software module that manages the reject of

    the defective objects (internal PLC).

    1.3. Print check

    OCVchecks the printed characters through four steps: segmentation, recognition, measure, extra checks.

    Segmentation

    The segmentation is the initial task to be performed on the image. Its purpose is the extraction of thecharacters from the image, i.e. the detection of their position, size, and rotation angle. At the end of the

    segmentation each printed character is represented by a binary bitmap. OCVcan segment the characters

    using different complex algorithms allowing it to extract the characters from the image in presence of:

    touching characters that are not separated by some space

    stretched characters that are deformed in horizontal and/or vertical

    rotated characters, appearing when the printed object may rotate moving from the printer to thecamera

    multi-components characters that are formed by two or more connected components

    characters with different contrast in the image

    not homogeneous illumination in the image other printings near the check area.

    Recognition

    Each segmented character is recognised. The result of the recognition is the identification of the printed

    character. In other words the recognition assigns to the printed character one of the models belonging to

    the pre-defined alphabet (font). This model is also said the best-match model. Of course OCV rejects

    printings containing wrong characters, which do not correspond to the expected ones.

    The recognition is a crucial task in the print verification because, in many cases, wrong characters cannot

    be detected only with the measure (explained below). In fact there are characters whose difference is too

    small (for example '1' and 'I') to be exploited to reject the wrong one: the ordinary character distortion is

    comparable to (or bigger than) such a difference, so that a threshold on the measure result cannot befound: either the wrong character passes (high threshold) or the good one is rejected (low threshold).

  • 8/3/2019 Seavision Presentation

    4/14

    Page 4

    SEA Vision s.r.l.

    Measure

    Once the character has been recognised as thegoodone (i.e. the printed character matches the expected

    one) OCV compares the printed character with its model, generating four values, representing thedistances between character and model. Two of the four distances measure the printed characters excess

    parts, compared with the model. The other two measure the missing parts. If even one value is over the

    allowed threshold the character is considered defective and therefore it is rejected.The figures show a printed character and its model. With reference to the model, the excess parts are

    picked out in yellow, the missing parts in blue.

    Printed character Model

    Extra checks

    Other controls can be activated in the print area.

    The distance between characters belonging to the same word must be less than a given value. The distance between words must be greater than a given value.

    The print area must be free of stains, spots or extra characters.

    The printed characters must show a minimum contrast, i.e. the difference between the character andits background must be greater than a given value.

    The picture shows an example of laser printed characters.

    The check result is evident from the colour of the rectangles that are drawn around the characters. Thegreen rectangles show in-tolerance characters, the red rectangles show defective characters. The red

    contour around the characters belongs to the best-match model, overlapped to the image to visualise thediscrepancy between the printing and the model.

  • 8/3/2019 Seavision Presentation

    5/14

    OCV Presentation Page 5

    SEA Vision s.r.l.

    1.4. Code check

    The code check is executed by extracting the string that is coded in the symbol. The extracted string is

    compared with the reference one. In case of mismatch the object is rejected.The following pictures show checks on characters and code at the same time in the same images.

    1.5. Crimp check

    The crimp check is based in the linear decomposition of the crimp profile. OCVmeasures the length andthe angle of each segment. The crimp is accepted if all values are inside the tolerance ranges. The

    measure is repeated on several images taken while the vial rotates around its vertical axis. The picture

    shows the profile of the cap (in red) and its segmentation (the end points of the segments are marked with

    blue dots).

  • 8/3/2019 Seavision Presentation

    6/14

    Page 6

    SEA Vision s.r.l.

    1.6. 3D measures

    The 3D measures are executed by analysing the image obtained with the projection of a laser line. The

    depth information is computed from the displacement of the line in the image. The picture shows the

    application of the 3D measurement to evaluate the amount of powder in aluminium pockets.

    1.7. Check of cartons in case

    The 2D array of cartons is checked through the evaluation of statistical parameters for each element of the

    array (carton). The picture shows a stack of cartons with missing objects. In this case the colour

    corresponding to the missing elements is different, leading to an easily detection of the defects.

    1.8. Progressive code management

    OCV manages the progressive codes in order to allow the tracking of each individual object in the packaging chain. The information is stored in hierachical way. For examples cartons are grouped in

    bundles, bundles in cases, cases in pallets. Each object is assigned an identification tag. Several functions

    are available to cope with the packaging exceptions. The picture is an example of the Italian vignette,

  • 8/3/2019 Seavision Presentation

    7/14

    OCV Presentation Page 7

    SEA Vision s.r.l.

    which contains two different codes: a 32 code identifying the product (above), and a 2/5 code containing

    a progressive number (below).

    1.9. Programmable measures

    The programmable measures are a powerful tool to define custom sequences of analysis operations,

    starting from the acquired images. For each measure the user can compose his own list of processing

    operations, which may be subjected to acceptance conditions. The object is considered good only if all

    operations are successfully terminated and all conditions are satisfied.

    The set of available operations allow to define:

    edge tools to extract relevant information from the image

    gauging tools to measure any kind of distances between relevant points

    blob tools to measure the geometrical features of the components

    colour tools to evaluate colours and colour differences

    window tools to move and resize (at run time) the areas of interests in the image

    generalised areas of interests, of any shape.The pictures below show an example of the processing sequence on an image taken from a vial. Thepurpose of the processing chain is the detection of the foreign material inside the vial.

    Acquired image threshold convex-hull new detection blob extraction

  • 8/3/2019 Seavision Presentation

    8/14

    Page 8

    SEA Vision s.r.l.

    1.10. Print quality verification

    When the packaging lines host programmable printers that create artworks (for example on lidding

    materials), there is the need of checking the print quality on the whole print area.To this end OCVoffers a specific tool: the print quality verifier (PQV). It works by comparing the print

    model (usually the same bitmaps used by the printers) against the image containing the printed artwork.

    Main feature ofPQVis the capability to adapt the model to the image (through non-linear deformations)so that small differences with the printings are tolerated. The evaluation of the discrepancy is made by

    means of four figures, taking into account both missing and extra points. Moreover a tool that detects the

    missing lines (not rare mistake of thermal transfer printers) can be operated.

    The first picture shows the acquired image, composed by two print operations: the first printer creates the

    symbol with the product strength (80 mg) using a coloured ribbon, while the second printer prints allother text in black. The second picture shows the graphic result of the PQVanalysis. The missing lines

    are detected, even if each single text character is slightly damaged. The area containing variable data (lotnumber and expiry date) are automatically masked: they are checked by the OCVfunctions.

    1.11. Shift registers

    The Shift Registers (SRs) are a powerful tool for managing the tracking of both external and internal

    signals. A SR is a queue of binary data. The length of the queue (i.e. the number of data contained in it)

    can range from a minimum to a maximum. The input bit comes from one (or more) I/O signals connectedto OCV. When the bit is extracted from the queue an output signal is set/reset according to the value ofthe bit. A new bit is inserted in the SR (its length increases by 1) when the specified input event happens.

    The oldest bit is extracted from the SR (its length decreases by 1) when the specified output event

    happens.

    Many SRs can be created and linked together (the output signal of a SR is an input of the next SR) to

    form a complex network. The picture shows a simple example where the SRs are used on a labelling

    machine to bring the results of three different controls to the device that rejects the defective bottles. The

    camera check results and the bar code reader results are tracked on the label web by means of the first two

    SRs. Once the bottle is labelled a third SR brings the information about the label up to the reject station,where it is combined with the label presence information coming by a couple of UV sensors.

  • 8/3/2019 Seavision Presentation

    9/14

    OCV Presentation Page 9

    SEA Vision s.r.l.

    2. OCVs main characteristics1. The program is developed underMS-WINDOWS 2000, so as to facilitate the article programming

    functions and for an immediate and intuitive use of the system. To this end, OCVhas been realized in

    such a way that the user can adopt only one monitor and a pointing device (mouse ortrackball).2. The cameras (up to four) do not need any manual adjustment: they are inserted in closed protective

    casings and are managed only by the software.3. OCVadjusts itself automatically to any brightness changes in the working environment.4. OCVchecks the printings made with different technologies: laser, hot-foil, thermal transfer, ink-

    jet.

    5. OCVchecks the barcodes and 2D codes that identify the objects.6. OCVchecks the vial crimps.7. OCVchecks the heights of objects through 3D measures.8. OCVchecks the presence ofcartons in case.9. OCVruns custom defined programmable measures for object gauging and inspection.10.OCVchecks the quality of the printings on the whole print area.11.OCVmanages the progressive codes on vignettes.

    12.OCVhosts barcode readers, which are programmed through the OCVinterface13.OCVcan be connected to printers, which are programmed through the OCVinterface.14.OCVis provided with a watchdog device for output signals that, in case of failure of the equipment,

    resets all outputs (and, in particular, the signal that allows the packaging machine to run) after a

    maximum delay of 0.5 second, stopping the movement of the packaging machine.

    15.OCV handles production batches and delivers a detailed production report for each batch. Thisreport includes information on the defects identified and on the packaging machine performance.

    16.OCVcan handle generic shift registers to manage signals generated by external devices.17.OCVcan offer its screen to external devices so as to display messages sent by these devices.18.OCV implements PLC functions internally, via the software, and does not need any additional

    devices for the possible handling of the object rejection functions.

    19.OCVaccepts a series ofremotecommands from a serial port or from the network. These commandscan be used to change the work article, to start a new production batch and send the information on

    the current batch.

    20.OCVcan be supported directly by the manufacturer via the Internet or a directmodem connection.This service allows the remote programming of the articles.

    21.OCVmeets the requirements of standard FDA 21 CFR, part 11:

    access to OCVis governed by a personal identification system

    all operations carried out by users and all events generated by OCVare stored in a Log-File, thatcan be queried using search filters

    OCVstores all the articles' previous versions.22.OCVis accompanied by validation documents:

    design, maintenance and quality plan

    functional specifications

  • 8/3/2019 Seavision Presentation

    10/14

    Page 10

    SEA Vision s.r.l.

    mechanical/electrical design specifications

    hardware/software design specifications

    factory test on the system

    acceptance test on the system.

    2.1. Programming principlesOCV is a multi-functional system that is capable of different control tasks. However there is a unifiedapproach to program each control. The programming is based on the article files: each file contains all

    data needed for a given set of controls. The selection of the article (through the list) sets OCVin all itsfunctions: image acquisition, checks to execute, shift registers, internal PLC.

    Every article is a container of measure objects: characters, codes, 3D-measures, etc. Therefore, for any

    check to program the user has to create the desired measure object and one window that specifies the

    region of the camera where the control is executed.

    The next step is to link the window to the measure object; this is done in the Windows dialogue page.

    Note that a single object can be linked to different windows, which performs the same tasks in differentplaces. Every window has also a rejection queue that stores the results of its check. The queue can be used

    to delay the extraction of the information. When the datum is extracted an output signal is set (or reset) to

    communicate the result either to an external device or to the internal PLC. The number of the output

    signal is chosen in the Windows dialogue page.The user makes the operations above described only once, when a new article (format) is created.

    However there is another crucial operation to perform at every new batch: the insertion of the variable

    data for all controls that need them: typically for print and code checks. OCVaccepts these data only in

    alphanumeric form, as textual strings that must be typed (or sent by external devices).

    3. Progressive numbers on vignettesOCVcan track the progressive numbers on vignette: it means that, for every batch, a file is created to

    collect the information on vignette progressive numbers. The information in the batch file is organised inhierarchical way. For example, if the vignettes are stuck on cartons that are grouped in bundles, which are

    inserted into cases, which, in turn, are stacked on pallets, the file contains this tree structure so that everyvignette is addressed by the numbers of its bundle, case, pallet.

    The vignette tracking is programmed by means of two dialogue pages to define the objects that are

    packed on the line and the collating operations that transform a set of objects into another object of higher

    level. Referring to the above example we should define four objects: carton, bundle, case, pallet and three

    operations: cartons to bundle, bundles to case, cases to pallet.

  • 8/3/2019 Seavision Presentation

    11/14

    OCV Presentation Page 11

    SEA Vision s.r.l.

    3.1. Packaging objects

    The objects are defined by two things: how the object is identified and how the object is constructed.

    The object can be either simple (the carton in the above example) or composed (bundle, case, pallet). If

    composed we have to tell OCVwhich (and how many) are the objects it is made of.

    The object ID can be

    progressive code: it is a number that must be read by the camera as a code of the specified type;

    code of one of its elements: it is a number that must be read by the camera as a code of the specifiedtype; it applies to composed objects only;

    progressive number on label: it is a number that must not be read.When the object ID is read some checks can be done. In case of failure OCVgenerates an alarm.

    No ID read: this check can be done only if the image acquisition is triggered

    Not Progressive ID: this check compares the read number with the previous one; the differencecannot grater than 1;

    Already Read ID: the read number must be unique; ID out of range: the read number must be in the range that is programmed in the Management

    dialogue page.

  • 8/3/2019 Seavision Presentation

    12/14

    Page 12

    SEA Vision s.r.l.

    3.2. Packaging operations

    The collation operations are one less than the packaging objects. In fact one of the object is always

    simple, the others are always composed, and each composed object require an operation (and a packaging

    machine) to build it. A packaging operation can be seen as a machine where the input objects are collated

    into other objects of bigger size: the objects enter the machine and are placed in a queue, where they arepicked up when collated and sent out.All operations are defined in terms ofevents. The input event triggers the insertion of one input object

    into the machine queue, while the output event triggers the collation (and extraction) operation.

    The input events can be

    Read ID of the input object: the code reading triggers the insertion in the queue;

    Object available: the object is inserted as soon as it is available from the previous machine.If a traffic light is installed, the code reading of the input object switches the green light on if no

    anomalies are detected and the red light is the reading is not accepted for any reason.The output events can be

    Read ID of the output object: the code reading triggers the extraction of the output object(corresponding to some input objects in the queue); in case of wrong reading the Re-align optionallows the queue to be aligned according to the last read code, the alignment being the deletion of

    some input objects from the queue; note that the output objects can be extracted with a different

    sequence from the input one; in fact the ID identifies the output object and therefore OCVknows

    which its components are;

    Complete object: the output object is extracted as soon as a sufficient number of input objectsentered the machine; for example, if the case is composed by 5 bundles, as soon as 5 bundles are

    available a new case is built;

    Operator's action: the output object is extracted when the operator manually executes the operationfrom the Management dialogue page; this option is used on objects composed by a variable number

    of sub-objects; Leading edge of a signal: the output object is extracted on the leading edge of the specified signal;

    Trailing edge of a signal: the output object is extracted on the trailing edge of the specified signal.

  • 8/3/2019 Seavision Presentation

    13/14

    OCV Presentation Page 13

    SEA Vision s.r.l.

    Any extraction operation can trigger the printing of a label. For example, if the cases must be identified

    with labels to stick on them, we can enable the printing when the case is built. Other printing options are

    the selection of the file containing the label description and the selection of the printer that is connected to

    OCV.The option Remove not Collated Objects enables the usage of a signal to empty the machine. All input

    objects are removed from the queue.

    3.3. Packaging Management

    The management dialogue page allows the operator (with the batch management permission) to execute

    two operations:

    the operator can empty the machine creating a new object (only if the output event is the operator'saction);

    the operator can change the acceptance range of the IDs identifying the objects; this interval is used tocheck the read ID, but only if this check is enable also in the Object page.

  • 8/3/2019 Seavision Presentation

    14/14

    Page 14

    SEA Vision s.r.l.

    3.4. Visualisation

    The data are displayed in a tree structure where each composed object can be expanded into its sub-

    objects. Each object has the creation date and time as attribute. The objects can be divided into two

    classes: those inside one machine and those outside the machines. In the example of the picture the pallet

    is the highest level object of the packaging line, so it is the output of the last machine and therefore it is

    always outside any machine. An intermediate object can stay either outside a machine or inside. For

    example a bundle can be exited by the machine that created it but not inserted in the next machine yet.

    Moreover there are the objects that, because of anomalies, stay outside the machine waiting to be packed

    again. For example, when a wrong bundle is unpacked, the cartons belonging to it are extracted from theline and the stay outside the machine until they are re-circulated again. The same consideration applies to

    the objects that are extracted from a machine before they are packed.

    Some actions on packaged objects are available from the menu: Unpack the selected object: it can be applied only to objects outside the machine; the object is

    destroyed and its component are available outside the machine;

    Recursively unpack the object and all its elements: the same as before, but the action is repeated toall levels up to the basic packaging objects;

    Extract the selected object from the machine: the object is brought out from the machine, withoutunpacking it;

    Extract the selected object from its pack: the object is extracted from its pack, that must be outsidethe machine; the incomplete object is marked in bold font;

    Insert the selected object into the selected pack: the pack and the object must be outside the

    machine; the pack must be incomplete.