Skip to content

Cargill Oil - Sidney

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 -- Sidney, OH
Validation Mode CargillRfid
Version v1.9
Config File appsettings-cargill-sidney.json
Controller Arduino Portenta H7 (TCP)
Status Active

Hardware Inventory

Device Type Connection Address
Camera Cognex DataMan TCP 10.9.3.207:23
RFID Reader Zebra FX9600 TCP 10.9.3.206:5084
Controller Arduino Portenta H7 TCP 10.9.3.205:502
Data Source Matthews TCP TCP listener Port 60251
App Listener Camera Push TCP 10.9.3.11:3000

Arduino Pin Map

Pin Function
0 DeviceTrigger (photo-eye input)
0 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) --

Note: Sidney currently uses AIS export only. Mojix and MWE will be enabled in Phase 2 once firewall access is resolved.

Normal Operating State

When everything is working correctly at Sidney:

  • Screen: GateKeeper application shows "CargillRfid" validation mode. Camera, RFID, and Arduino all show connected in the status bar.
  • Stack lights: CargillRfid profile -- lights are OFF when idle, Green ON during active validation.
  • Data flow: Matthews sends production data to port 60251. Cases pass RFID antenna first, then camera scans barcode.
  • Exports: Pass results are exported to AIS at the configured endpoint.

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 Cognex DataMan camera, which pushes barcode data to the application at 10.9.3.11:3000.
  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

RFID Tags Not Being Read

What you see: Every validation fails with "No matching RFID data."

What to check: - Can you ping the RFID reader at 10.9.3.206? - Check the Diagnostics panel for RFID reader status. - This was a known bug in cargilloil-v1.0 (RFID polling wasn't started for CargillRfid mode). It was fixed in v1.1. - If running an older version, verify you have cargilloil-v1.1 or later.

Camera Not Sending Data

What you see: RFID reads are fine but no barcode data arrives.

What to check: - Camera is in Push mode and should send data to 10.9.3.11:3000. - Check that the camera's TCP client output is configured to push to the correct IP and port. - Check the Windows firewall on the GateKeeper machine for an inbound rule allowing TCP port 3000.

AIS Export Failing

What you see: Validations pass but data isn't reaching the AIS endpoint.

What to check: - Check network connectivity to http://10.4.212.84:8085. - Look in the application logs for AIS-related HTTP errors. - Check the AIS export queue folder: C:\gatekeeper\conveyor\data\ for pending/failed exports.

Only First Case Validates, Then Nothing

What you see: The first case after starting validation passes or fails correctly, but all subsequent cases show no camera data arriving.

What to check: - This was a v1.8 bug caused by JSON noise from the comm script v1.2 polluting the camera data stream. Fixed in v1.9. - Verify the site is running v1.9 or later. - If still on v1.8, upgrade to v1.9.

Camera Generating Excessive Log Noise

What you see: Log files are very large, full of barcode parse warnings when validation is OFF.

What to check: - This was fixed in cargilloil-v1.1 with the IsProcessingEnabled flag. When validation is OFF, camera data is consumed but not parsed or logged. - If you see this issue, verify the version is cargilloil-v1.1 or later.

Version History at This Site

Version Date Notes
v1.9 2026-02-12 JSON noise filtering fix. Resolved v1.8 bug where only first case validated.
v1.8 2026-02-11 Pilot deployment. Included trigger gating + stale buffer drain. Bug discovered: only first case validated, then nothing. Replaced by v1.9.
cargilloil-v1.1 2026-02-06 Initial CargillRfid deployment. Fixed RFID polling not starting.
cargilloil-v1.0 2026-02-05 First deployment (migrated from Chipotle mode).

Known Quirks

  • Comm script v1.2 deployed: Sidney's Cognex camera has the v1.2 comm script which supports trigger gating (camera only flashes when validation is active). This comm script sends JSON responses through port 3000 — the v1.9 software filters these out automatically.
  • First deployment site for new versions: Sidney is the validation site for the Cargill Oil rollout. Gainesville and Fullerton deploy after Sidney is confirmed stable.
  • AIS-only export for now: Mojix and MWE are disabled pending firewall configuration. When ready, they can be enabled by changing EnableMojixExport or EnableMweExport to true in appsettings (config-only change, restart required).
  • Lower RFID power: Power level is 21.0 dBm (vs 27.0 at St. Clair). This is site-specific tuning.
  • FailuresBeforeStop is 1: A single failure stops the line. This is stricter than some other sites.