Skip to content

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.json on 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

  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

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: MaxConsecutiveFailuresBeforeStop is 1 (vs 5 at other sites). Combined with FailuresBeforeStop: 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.