Zebra Futures Lab¶
Configuration Disclaimer: The configuration values shown here are based on repository reference files. Production configurations may differ. Always verify against the actual
appsettings.jsonon the production machine.Important: The repository config file for this site is a placeholder with TODO values. The actual production config is located at
c:\temp\zfl\appsettings.jsonon the site machine.
Quick Reference¶
| Field | Value |
|---|---|
| Site | Zebra Technologies -- Futures Lab |
| Validation Mode | Zfl |
| Version | zfl-v0.113 |
| Config File | appsettings-zebra-futureslab.json (placeholder) |
| Controller | Mock (Portenta H7 failed on-site) |
Hardware Inventory¶
| Device | Type | Connection | Address |
|---|---|---|---|
| Camera | Zebra FS40 | TCP (Hardware trigger) | Verify in production |
| Controller | Mock | N/A | Portenta H7 failed -- bypassed |
| Status Light | ELO Status Light Kit | USB HID | Built-in display LEDs |
| Data Source | ZflImporter | TCP listener | Port 6101 |
Note: The Portenta H7 controller failed on-site and has been permanently bypassed using a Mock controller configuration. This means no Arduino-based stack lights or reject signals are available -- visual feedback comes from the ELO Status Light Kit only.
Normal Operating State¶
When everything is working correctly at the Futures Lab:
- Screen: GateKeeper application shows "Zfl" validation mode. The EPC queue panel shows the current queue of expected EPCs.
- Status light: The ELO status light changes color based on validation results (green for pass, red for fail).
- Data flow: ZPL label data arrives via TCP on port 6101. The FS40 camera reads barcodes triggered by a photo-eye hardwired directly to the camera.
- No exports: No Mojix, MWE, or AIS exports are configured for this lab site.
Validation Flow¶
- A ZPL label is sent to port 6101. The ZflImporter parses the EPC from the ZPL data and adds it to the EPC queue (FIFO, max 12 entries).
- Validation auto-starts when the first ZPL is received.
- A case passes through the photo-eye, which triggers the FS40 camera directly (hardware trigger -- photo-eye is wired to the FS40 external trigger input).
- The camera reads the barcode and pushes the data to the application.
- The application compares the scanned barcode against the next EPC in the queue.
- PASS: ELO light turns green, EPC is dequeued. FAIL: ELO light turns red.
- After 5 seconds, the result display reverts to the queue view.
Common Issues¶
No EPC in Queue¶
What you see: The EPC queue panel shows empty. Validation is waiting for data.
What to check:
- Is ZPL data being sent to port 6101?
- Check that the port is listening: run netstat -an | findstr 6101 on the site machine.
- Check the Windows firewall for an inbound rule allowing TCP port 6101.
- Verify the ZPL sender is targeting the correct IP and port.
FS40 Camera Not Reading¶
What you see: EPCs are in the queue but no barcode data arrives from the camera.
What to check: - The FS40 uses hardware trigger mode -- the photo-eye must be wired directly to the camera's external trigger input. - Verify the photo-eye is working (LED indicator on the sensor, if available). - Check the camera's TCP connection in the Diagnostics panel. - The camera may be sending "HB" (heartbeat) messages -- these are normal and filtered out automatically.
EPC Queue Backing Up¶
What you see: Multiple EPCs accumulate in the queue without being consumed.
What to check: - The camera is likely not reading barcodes (see above). - The photo-eye may not be triggering the camera. - If the queue is stale, use the Clear Queue button in the UI to discard all pending EPCs and start fresh.
ELO Status Light Not Changing¶
What you see: The status light stays the same color regardless of pass/fail.
What to check:
- EnableEloStatusLight must be true in appsettings.
- Check that the ELO device is connected via USB and recognized by Windows (USB HID device).
- Try unplugging and re-plugging the ELO device.
Heartbeat Messages in Logs¶
What you see: Logs show frequent "HB" messages from the camera.
This is normal. The FS40 sends periodic heartbeat ("HB") messages. The application automatically filters these out. They are not errors.
Known Quirks¶
- Placeholder config file: The repository config file has TODO values for camera IP/port. The real config lives at
c:\temp\zfl\appsettings.jsonon the site machine. - Mock controller: The Arduino Portenta H7 failed on-site and was never replaced. A Mock controller is used instead. This means there are no physical stack lights or reject signals -- only the ELO status light provides visual feedback.
- Lab/demo site: This is not a production manufacturing site. It is a demonstration lab at Zebra Technologies. Uptime requirements are less strict than production sites.
- FS40 heartbeat filtering: The camera sends "HB" messages which the application ignores. This is expected behavior.
- 5-second result display: After a validation result, the display shows the result for 5 seconds before reverting to the queue view.
- Max 12 EPCs in queue: The queue has a maximum of 12 entries. If it fills up, the oldest entries are pushed out (FIFO).