Skip to content

Teasdale Validation Mode

What This Mode Does

Teasdale mode performs the most comprehensive validation in the GateKeeper system. It reads a DataMatrix barcode, a UCC-128 barcode, and an RFID tag from each case using a single hybrid scanner (Zebra DS9908R). It then verifies the GTIN, lot number, and pack date against production data imported from a JSON file, and confirms that the DataMatrix barcode matches the RFID tag EPC exactly.

Sites Using This Mode

  • Teasdale Carrollton (Line 7 and Line 9)

Required Hardware

  • Zebra DS9908R hybrid barcode/RFID scanner (USB connection)
  • LattePanda Delta 3 controller (serial USB, for reject signal and stack lights)
  • Production data from JSON file import (DCOM system)

How It Works: Step by Step

  1. The DCOM system drops a JSON file in the import directory.
  2. The TeasdaleImporter reads the JSON and extracts production data (GTIN, lot, pack date, cases per pallet).
  3. Label printing is triggered via BarTender.
  4. An operator scans a case using the DS9908R scanner.
  5. The DS9908R reads all three components in one scan:
  6. DataMatrix barcode (contains SGTIN-96 identifier)
  7. UCC-128 barcode (contains GS1 data: GTIN, lot, pack date)
  8. RFID tag (contains EPC that should match the DataMatrix)
  9. The system checks:
  10. DataMatrix value matches RFID EPC exactly
  11. UCC-128 GTIN matches expected GTIN
  12. UCC-128 lot number matches expected lot
  13. UCC-128 pack date matches expected date (AI 13, 15, or 17)
  14. Only PASS results count toward the pallet case count.
  15. When a pallet is complete, export files are created.

Pallet Tracking

Teasdale mode tracks cases in pallets:

  • The UI shows "Pallet X of Y | Case Z of N" (e.g., "Pallet 1 of 3 | Case 13 of 35")
  • Only cases that PASS validation count toward the pallet total
  • When all cases in a pallet are validated, a "Pallet Complete" dialog appears
  • The system auto-advances to the next pallet
  • A "Complete Partial Pallet" button allows early pallet completion
  • When all pallets are finished, the job is complete and the system returns to idle

What Makes a PASS

All of the following must be true: - Production data is loaded from JSON import - DataMatrix barcode found - UCC-128 barcode found - RFID tag read - DataMatrix value matches RFID EPC exactly - UCC-128 GTIN matches expected GTIN - UCC-128 lot number matches expected lot - UCC-128 date matches expected date

What Makes a FAIL

Error Message What It Means What to Check
Missing expected production data No JSON file imported yet Has DCOM system dropped a file? Is import directory accessible?
Missing: DataMatrix barcode Scanner did not read the 2D barcode Label quality, scanner alignment, try re-scanning
Missing: UCC-128 barcode Scanner did not read the linear barcode Label quality, barcode print quality
Missing: RFID tag Scanner did not read the RFID tag Tag applied to case? Tag damaged? Scanner RFID enabled?
Missing: DataMatrix barcode, UCC-128 barcode, RFID tag Multiple components missing (comma-separated list) Multiple scan issues -- check scanner operation
DataMatrix '{X}' does not match RFID '{Y}' The 2D barcode and RFID tag do not match Wrong tag on case? Tag from different case?
Invalid UCC-128 format: {error} UCC-128 barcode could not be parsed as GS1 Barcode print quality issue, damaged label
Invalid GS1 barcode format in UCC-128 Barcode parsed but is missing required GTIN Label printed incorrectly
GTIN mismatch: expected '{X}', found '{Y}' Barcode GTIN does not match production data Wrong product? Using old labels?
Lot number mismatch: expected '{X}', found '{Y}' Lot number does not match Old labels from previous lot? Midnight rollover occurred?
No date found in barcode (requires Pack Date AI 13, Best Before AI 15, or Expiration AI 17) UCC-128 has no date encoded Label printing issue
Pack date mismatch: expected '{X}', found '{Y}' Pack date (AI 13) does not match Old labels? Wrong date printed?
Best before date mismatch: expected '{X}', found '{Y}' Best before date (AI 15) does not match Old labels? Wrong date printed?
Expiration date mismatch: expected '{X}', found '{Y}' Expiration date (AI 17) does not match Old labels? Wrong date printed?

Common Failure Reasons and What to Check

Symptom Likely Cause What to Do
"Missing expected production data" No JSON file received Verify DCOM system is running, check import directory
Scanner reads barcodes but not RFID RFID module disabled or misconfigured Check scanner RFID settings via 123Scan
Lot mismatch after midnight Midnight rollover incremented expected lot Use new labels printed after rollover
GTIN mismatch for all cases Wrong production data loaded, or wrong product on line Verify JSON file matches current product
DataMatrix/RFID mismatch Tag from adjacent case picked up, or tag not matching label Re-scan, verify label and tag match

Midnight Rollover

For shifts that cross midnight, the system can automatically update lot numbers and dates:

  1. A warning dialog appears a few minutes before midnight (configurable).
  2. The operator acknowledges the warning.
  3. When the current pallet completes, remaining pallets are rolled over with updated lot and dates.
  4. Cases labeled with the OLD lot number will FAIL validation after rollover. Operators must use newly printed labels.

Pause/Resume Feature

The Teasdale mode supports pausing and resuming a job:

  • Job state (pallet progress, validated cases) is saved to a state file.
  • If the application restarts, it can automatically resume where it left off.
  • If AutoStartValidation is enabled, the job resumes on startup. Otherwise a "Resume Job" button appears.

Troubleshooting Steps

  1. Check the diagnostics panel for DS9908R scanner connection status.
  2. Look at the log file for entries with [TEASDALE] prefix for validation issues.
  3. Check [TEASDALE-IMPORTER] log entries for file import issues.
  4. Check [DS9908] log entries for scanner hardware issues.
  5. Verify the import directory is accessible and contains files.
  6. Check BarTender is running if labels are not printing (see BarTender Printing).

Log Search Reference

Log Prefix What It Shows
[TEASDALE] Validation results, GTIN/lot/date checks
[TEASDALE-IMPORTER] JSON file import status and errors
[DS9908] Scanner connection, barcode/RFID events
[MOJIX-EXPORT] Export submission status

When to Escalate

  • DS9908R scanner not discovered via USB (shows "No scanners discovered")
  • JSON import files consistently fail to parse
  • Pallet tracking counts are incorrect (cases skipped or doubled)
  • Export files accumulating in the error/ folder
  • Midnight rollover not triggering or rolling over incorrectly