Quality Data Collection System

Coolearth Quality Data Collection Sys...

Coolearth Quality Data Collection System - High LEvel Architecture

High Level Description

Specify a system which permits a customer technician to lay out a series of screens to collect status, field measurements, and commentary from quality analysts on the production floor or in the lab.   Collections can be by shift, warehouse, lot, production line (or any other keyset).  These are then stored in database tables from which reports can be generated.   Collection is performed on a handheld (telnet or windows CE), or on a windows workstation.

Screen/Dialog Design

A maintenance tool will be constructed that is used to describe each screen and the fields they will contain.   The field has a name and a screen legend (which can be internationalized) and a technical component comprised of the control, and its constraints.    Controls determine the screen interaction and data type and the constraints set up how the field will work and how validation will be done.   Constraints can be hard constants, or numbers which can be looked up in a spec.   The spec allows, for example, a limit setting to vary depending on the product type, the warehouse, or the species of the product.

Once the design is set up, these are made into configuration files which are then downloaded into the handhelds where they will operate.   The database tables are set up and provisioned to work with the screen design.

The handhelds communicate with a server via web service protocols.   A service on the backend processes the interactions with the handheld screens and saves the data in the database as needed.

Navigation

There will also be a way of building high level menus so that an operator can get down to their data collection screens.   Another optional system is the ability to specify a workflow.    In a workflow scenario, the system will know what fields need to be filled in by an operator in a particular role.   If serveral people are in the same role, they can each work on parts of the data collection.   Once a screen is filled in, that (and the id of the operator and the time) is also recorded, so the the remaining parts of the workflow can be assigned to the next operator.

Individual screens are each attached to a master key.  The keys are typically some business entity, like a Lot/Warehouse/Tank, or a Warehouse/Shift, or a Warehouse/Shift/Measurement (for random or periodic measurements), or the Lot/Item.   These typically are stored as a single row in the database where all of the screens of the same key use the same table (this can be overridden to make different tables if desired--screens of a given master key would then have any number of discrete tables as desired).

Mobile and Client Applications

There are currently three different clients for the client side of the application:

·         A .net WPF client running in a workstation application we call the Studio.

·         A Windows Compact Framework application that works on several versions of Windows CE.

·         A VT100 compatible version for older text based handhelds, dedicated, and fork lift mounted hardware.  The client connects via telnet or SSH to the server.

The client programs communicate to the central server via the .net WCF framework (web services) to get their configuration and screen layouts as well as handling the dialog between the user and the backend software.

Server

The server runs as a windows service and communicates with the database and interactions with the clients.   It will automatically build the configuration files for the clients and update them when the configurations change and will provision the database (creates tables or add fields) as needed.

ERP/WMS Integration

The system can be integrated in with various types of business objects within your ERP or warehouse management system.    Users, Warehouses, Cases and Pallets, Shifts, Lots, and other entities can be used as keys or fields (and can be looked up in the ERP database).  These can be used for validation (only a valid object can be used) or for simple lookups to display values from these entities on the screen, such as looking up a case and seeing it's weight, or looking up a lot and seeing it's production date.   Simple lookups can also be used as values for field constraints.

Barcode Integration

Our client architecture allows devices, tanks, tubs, lines, printers, scales (durable pieces which are parts of the factory or are continuously recycled and don’t leave the factory like pallets and cases do) with permanent barcodes which are encoded with a noun-type and a unique identifier.  These barcodes can be printed on durable tags (such as stainless steel or plastic) and permanently mounted on these items.    The scanners will automatically see these nouns and put the data into the correct fields on the screen automatically.   A handful of nouns, can also have associated action barcodes which can cause a value to be set or read on a device, like reading the value from a telemetry system, like a scale reading or a temperature reading.   Some actions can also be triggered to make an ad-hoc measurement that will automatically be entered into the reporting database.   Transient inventory entities can be tagged this way as well (lots, pallets, cases) for specialized reports which you might want to scan but you would not want to send these types of barcodes to your end-customers.

A handful of action barcodes aren’t tied to a noun, but perform a special action on the dialog you’re in (often in lieu of a similar keyboard action), like incrementing a tally, scrolling up or down on the screen.

Another barcode integration can be set up we call a verb tag.   A verb tag barcode will cause a handheld to automatically switch to the dialog which is indicated by the code.   These can be used to build barcode based work menus.  These are especially useful for forklift operators who wear heavy gloves and can’t use a keyboard but can still operate the trigger on the handheld (or a separate scanner for a fork-truck computer).   It can also be useful to quickly get to menus that tend to be tied to a place or a device (like taking a reading from something).

A barcode which is not specially tagged with a noun, verb, or action prefix will be sent to the server for disambiguation.  The server will try to determine what kind of business entity it is by trying to look it up.   If there’s a conflict (say that’s a valid case and pallet #), it will ask you to decide which it is.  If it can’t, the client will simply drop that into the current field.  

The system will also break up packed barcodes such as the EAN/UCC-128 style barcode and map the internal field identifiers onto a noun.   This can be used to enter several things with one scan.  These maps can be user assigned.  There are also a few of the unassigned identifiers which can be used for nouns outside of the EAN/UCC-128 scheme.

We can also perform similar integrations with various RFID devices.

Security

Users must log in with a password (or a special barcode or RFID token) to use the system.   Each user is given a set of privileges which denote which screens they can see and modify.   Similarly, users are assigned to roles in the workflow system to denote how work will be given to them automatically.   Supervisors are given special privileges to permit them to set up the system and to assign privileges to others.

Studio

Besides providing one of the client environments for the system (under windows), the Studio also provides the tools to manage and set up the system.   This is where the user builds screens, defines workflows, assigns roles, make maps for barcodes, and reviews the collected data.

Studio is a tool that permits the users to work on several different things at once as needed and can also export data to Excel for further analysis.

It has its own security/access controls.

Reporting

The system only has simple reporting and the ability to export data to Excel.   It is intended that this system work with a backend reporting system such as Crystal or Microsoft Reporting Services to generate initial paperwork – most QC departments will want to emulate their existing manual reporting with a set of similar preprinted reports and then may evolve into a fully online system with online reports or screens.

We will look through the reporting use cases and determine if some standard reports are appropriate.

Once this data has been collected it will be possible to do more long term analysis, doing more statistical work and trend  analysis.   We may include data collection tools to summarize this data and/or graph it.  

Similarly, some results or trends might trigger alarms which might need to be reported via email or even a pager.

 


 

Potential Screen/Dialog Design Entities

Fields

A quick set of example controls.   We will be reviewing several use cases for this system to flesh out all of the control types and options which will be needed.

Control Types

·         Inspection Types

o    Check (pass, fail, and not yet set) – allows an QC operator to judge the status of an item.

o    Temperature – record a temperature

o    Meter – record a meter reading

o    Count – record a count

o    Tally

·         Data Entry

o    Enter a string field

o    Display a value

o    Select an item from an enumeration

o    Enter a true/false

Control Options

·         Optional/Mandatory Comment

·         Noun – set the noun type for the field (barcodes of this type will then drop into this field automatically)

·         Validate – the noun will be validated by the server to ensure that the value is relevant.

Field Constraints

·         Min/Max against constant

·         Min/Max against spec

·         Min/Max against another field

·         Min/Max against table lookup

·         Constrain against SQL query

·         Is Key (or part of key) for a table lookup

·         Hard Limit – don’t permit value higher or lower to be entered

·         Soft Limit – permit value but flag it as out of range (turn red)

·         Soft Limit fail with Mandatory Comment

·         Comment Mandatory on check fail

Master Keys

List of potential key types (many other are likely) – the goal is to permit keys to be built dynamically as needed.

·         Lot

·         Lot/Tank  (Lot/Warehouse/Tank)

·         Warehouse/Shift

·         Warehouse/Shift/Random Sample

·         Warehouse/Measurement (time)

Specs

Specs are a set of numbers which can be used to determine constraints for field entries.   These permit the values to vary by some relevant attribute of what is being measured.

·         By Customer – different customers will have different quality standards

·         By Species, Item, or Product – different QC standards for each possible type

 

Pictures

A lot of modern scanners can be equipped with camera instead of laser based barcode units.   Also, many of these cameras can be used as a simple camera (1-2 megapixel).

We want to add the capability for an adequately equipped scanner, to be able to capture pictures at will.   Any comment field will permit pictures to be attached to it, as will any screen.   If you operate the camera at any point it will capture the picture and let you tag it with a comment.  

 


 

Example Screenshots