Cargill Oil - Fullerton¶
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 -- Fullerton, CA |
| Validation Mode | CargillRfid |
| Version | cargilloil-v1.1 |
| Config File | appsettings-cargill-fullerton.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.81.207:23 |
| RFID Reader | Zebra FX9600 | TCP | 10.9.81.206:5084 |
| Controller | Arduino Portenta H7 | TCP | 10.9.81.205:502 |
| Data Source | Matthews TCP | TCP listener | Port 60251 |
| App Listener | Camera Push (Poll mode) | TCP | 10.9.81.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 Fullerton:
- 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¶
Fullerton 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 Fullerton is on the 10.9.81.x subnet: - Camera: 10.9.81.207 - RFID: 10.9.81.206 - Arduino: 10.9.81.205 - App listener: 10.9.81.204
If devices are unreachable, verify the subnet and IP assignments with the on-site network team.
MaxConsecutiveFailuresBeforeStop is 1¶
Fullerton's reference config has MaxConsecutiveFailuresBeforeStop: 1, which is the strictest setting. A single consecutive failure will stop the line. This is deliberate for quality control but may cause frequent stops if there are intermittent hardware issues.
Pending Upgrade: v1.9¶
Fullerton 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. At Fullerton, restarting the application temporarily fixed this (clean buffer, no cases flowing immediately), but the issue returned when cases were queued.
- 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 in the TCP buffer. Restarting the app worked as a temporary fix at Fullerton (unlike Gainesville). Permanently fixed in v1.8/v1.9 — upgrade pending.
- Same migration as Sidney: Fullerton was also migrated from Chipotle mode to CargillRfid mode. All notes from the Sidney guide apply.
- Poll mode in reference config: Same as Gainesville -- the reference config shows Poll mode. Verify the actual mode on the production machine.
- AIS-only export: Mojix and MWE disabled pending firewall access. Enable via config change when ready.
- Strictest failure threshold:
MaxConsecutiveFailuresBeforeStopis 1 (vs 5 at other sites). Combined withFailuresBeforeStop: 1, this site will stop the line on the first failure. - Deploys after Sidney: Deploys after Sidney is confirmed stable, alongside Gainesville. Sidney is now running v1.9 successfully.
Related Documentation¶
- Cargill Sidney -- First deployment site (detailed troubleshooting)
- Cargill Gainesville -- Sister deployment site
- CargillRfid Validation Mode
- Cognex DataMan Cameras
- Zebra FX9600 RFID Reader
- Arduino Portenta Controller