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.jsonon 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¶
- Matthews system sends production data (GTIN, expiration offset) to port 60251.
- Application switches to CargillRfid mode and starts validation.
- Case passes through the RFID antenna. Tag is read and cached (17-second expiration).
- Case reaches the camera. The application triggers the camera (Poll mode) or camera pushes data.
- Application validates GTIN, lot, expiration (1-day tolerance), and RFID tag match.
- 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.
Related Documentation¶
- Cargill Sidney -- First deployment site (detailed troubleshooting)
- CargillRfid Validation Mode
- Cognex DataMan Cameras
- Zebra FX9600 RFID Reader
- Arduino Portenta Controller