Skip to content

Cargill Oil - Gainesville

Configuration Disclaimer: The configuration values shown here are based on repository reference files. Production configurations may differ. Always verify against the actual appsettings.json on the production machine.

Quick Reference

Field Value
Site Cargill Oil -- Gainesville, GA
Validation Mode CargillRfid
Version cargilloil-v1.1
Config File appsettings-cargill-gainesville.json
Controller Arduino Portenta H7 (TCP)
Status Active — v1.9 upgrade pending Cargill approval

Hardware Inventory

Device Type Connection Address
Camera Cognex DataMan TCP 10.9.2.207:23
RFID Reader Zebra FX9600 TCP 10.9.2.206:5084
Controller Arduino Portenta H7 TCP 10.9.2.205:502
Data Source Matthews TCP TCP listener Port 60251
App Listener Camera Push (Poll mode) TCP 10.9.2.204:3000

Arduino Pin Map

Pin Function
0 DeviceTrigger (photo-eye input) / Stack Light Red (output)
1 Stack Light Green
2 Horn (StackLightAlarm)
3 Stack Light Yellow
4 RejectSignal
5 MachineStop
6 SystemReady

RFID Reader Configuration

Setting Value
Model FX9600
Antenna Count 1
Power Level 21.0 dBm
Tag Expiration 17 seconds

Export Configuration

Export Enabled Endpoint
AIS Yes http://10.4.212.84:8085/bartenderapi/v1/createresource
Mojix No (Phase 2) --
MWE No (Phase 2) --

Normal Operating State

When everything is working correctly at Gainesville:

  • Screen: GateKeeper application shows "CargillRfid" validation mode. All three hardware devices (Camera, RFID, Arduino) show connected.
  • Stack lights: CargillRfid profile -- lights OFF when idle, Green ON during active validation.
  • Data flow: Matthews sends production data to port 60251. Cases pass RFID antenna, then camera.
  • Exports: Pass results exported to AIS.

Note on camera mode: The reference config shows CameraDataMode: "Poll". In Poll mode, the application triggers the camera via the Arduino rather than the camera pushing data. Verify the actual mode on the production machine.

Validation Flow

  1. Matthews system sends production data (GTIN, expiration offset) to port 60251.
  2. Application switches to CargillRfid mode and starts validation.
  3. Case passes through the RFID antenna. Tag is read and cached (17-second expiration).
  4. Case reaches the camera. The application triggers the camera (Poll mode) or camera pushes data.
  5. Application validates GTIN, lot, expiration (1-day tolerance), and RFID tag match.
  6. PASS: Green inverse flash, result exported to AIS. FAIL: Red flash + horn (50ms), reject signal fires.

Common Issues

Same Issues as Sidney

Gainesville shares the same cargilloil-v1.1 software and similar hardware layout as Sidney. See the Cargill Sidney guide for detailed troubleshooting of: - RFID tags not being read - Camera not sending data - AIS export failures - Camera log noise

Network Address Differences

All hardware at Gainesville is on the 10.9.2.x subnet (vs 10.9.3.x at Sidney): - Camera: 10.9.2.207 - RFID: 10.9.2.206 - Arduino: 10.9.2.205 - App listener: 10.9.2.204

If devices are unreachable, verify the subnet and IP assignments with the on-site network team.

Pending Upgrade: v1.9

Gainesville is scheduled to upgrade from cargilloil-v1.1 to v1.9, pending Cargill approval. The v1.9 upgrade includes:

  • Stale TCP buffer drain (v1.8): Fixes the startup validation failure where the first case always fails. This was a known issue at Gainesville — restarting the application did NOT fix it because cases were continuously flowing and refilling the buffer.
  • Camera trigger gating (v1.7): Prevents the camera from flashing when validation is OFF. Requires comm script v1.2 deployment on the camera.
  • JSON noise filtering (v1.9): Filters comm script JSON responses from the camera data stream.

Sidney and St. Clair have been running v1.9 successfully since 2026-02-12.

Known Quirks

  • Startup validation failures: This site experienced a known issue where the first validation after starting always fails. Root cause: photoeye wired to camera hardware trigger causes stale NOREAD data to accumulate in the TCP buffer while idle. Fixed in v1.8/v1.9 — upgrade pending.
  • Same migration as Sidney: Gainesville was also migrated from Chipotle mode to CargillRfid mode. All notes from the Sidney guide apply.
  • Poll mode in reference config: The reference config shows CameraDataMode: "Poll" rather than "Push". Verify which mode is actually configured on the production machine, as this affects how the camera communicates.
  • AIS-only export: Same as Sidney -- Mojix and MWE disabled pending firewall access. Enable via config change when ready.
  • FailuresBeforeStop is 1: A single failure stops the line.
  • Deploys after Sidney: This site deploys after Sidney is confirmed stable. Sidney is now running v1.9 successfully.