Hormel Barron (Teguar Hardware)¶
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 | Hormel -- Barron, WI |
| Validation Mode | AV50 |
| Version | teguar-v0.118 |
| Config File | appsettings-hormel-barron.json |
| Controller | Mock (all outputs via camera I/O) |
| Hardware Platform | Teguar (no Arduino controller) |
Hardware Inventory¶
| Device | Type | Connection | Address | I/O Purpose |
|---|---|---|---|---|
| Front Camera | Cognex DataMan | TCP | 192.168.100.200:23 | Stack lights (G=pin 0, R=pin 1, Y=pin 2) |
| Side Camera | Cognex DataMan | TCP | 192.168.100.201:23 | Control signals (CaseDetected=pin 0, Reject=pin 1, Stop=pin 2) |
| Controller | Mock | N/A | N/A | No physical controller |
| Camera Listener | Push mode | TCP | 0.0.0.0:3000 | -- |
This site does NOT have an Arduino controller. Stack lights and reject/stop signals are controlled through the digital I/O outputs on the Cognex cameras themselves.
Camera I/O Configuration¶
Front Camera -- Controls stack lights:
| Pin | Function | Config Setting |
|-----|----------|---------------|
| 0 | Green light | CognexStackLightGreenPin |
| 1 | Red light | CognexStackLightRedPin |
| 2 | Yellow light | CognexStackLightYellowPin |
Side Camera -- Controls reject/stop signals:
| Pin | Function | Config Setting |
|-----|----------|---------------|
| 0 | CaseDetected | CognexOutputCaseDetectedPin |
| 1 | Reject | CognexOutputRejectPin |
| 2 | Stop | CognexOutputStopPin |
Camera Configuration¶
| Camera | Role | Min. Barcodes | Trigger Mode |
|---|---|---|---|
| Teguar-Front-Camera | Front | 1 | Hardware (photo-eye) |
| Teguar-Side-Camera | Side | 1 | Hardware (photo-eye) |
Key Settings¶
| Setting | Value |
|---|---|
| Auto-start validation | Yes |
| Camera mode | Both (Front + Side) |
| Stack Light Profile | AV50 |
| Failures before stop | 3 |
| Multi-cam post-validation lockout | 1000ms |
| Horn on fail | No |
| EnableCognexStackLight | true |
| EnableCognexOutputController | true |
Normal Operating State¶
When everything is working correctly at Barron:
- Screen: GateKeeper application shows "AV50" validation mode. Both cameras show connected. The controller shows "Mock" (this is normal -- there is no Arduino).
- Stack lights: Controlled via the Front Camera's digital outputs. Green ON during active validation.
- Auto-start: Validation starts automatically on application launch.
- Data flow: Photo-eye triggers both cameras. Cameras read barcodes and push data to port 3000. Stack light and reject signals are sent back through camera I/O pins.
Validation Flow¶
- Application launches and auto-starts validation in AV50 mode.
- A case passes through the photo-eye, triggering both cameras.
- Cameras push barcode data to the application on port 3000.
- AV50 validator checks that each camera has read at least 1 valid barcode.
- PASS: Application sends commands to Front Camera to turn on Green light output (pin 0). FAIL: Application sends commands to Front Camera for Red light (pin 1), and to Side Camera for Reject signal (pin 1).
- A 1000ms lockout prevents the next case from being processed too quickly.
Common Issues¶
Stack Lights Not Responding¶
What you see: Lights don't change when validations occur.
What to check:
- EnableCognexStackLight must be true in appsettings.
- CognexStackLightCamera must be set to the Front Camera's device name (e.g., "Teguar-Front-Camera").
- Check that the Front Camera is connected (Diagnostics panel).
- Important: The camera comm-script inverts the output state. This means: sending 1 to the camera causes it to output 0 (LOW), which turns the relay ON. Sending 0 causes it to output 1 (HIGH), which turns the relay OFF. This inversion is handled automatically by the software -- you should not need to worry about it unless reconfiguring the camera scripts.
Reject Signal Not Working¶
What you see: Cases fail validation but are not physically rejected.
What to check:
- EnableCognexOutputController must be true in appsettings.
- CognexOutputCamera must be set to the Side Camera's device name (e.g., "Teguar-Side-Camera").
- Check that the Side Camera is connected.
- The reject signal is on the Side Camera's pin 1. Check wiring from the camera's digital output to the reject mechanism.
Stale Barcode Data¶
What you see: Old barcode data from a previous case appears in the current validation.
What to check: - This was a known issue fixed in teguar-v0.118. The camera TCP buffer could contain old barcode data mixed with JSON command echoes. - The application automatically filters JSON echoes from barcode data. - The reinforcement timer (which periodically re-sends stack light state) is automatically disabled when using Cognex stack lights to prevent buffer pollution. - If the problem persists, restart the application.
Diagnostics Panel Shows "Mock" Controller¶
What you see: The controller status shows "Mock" instead of a real device.
This is normal for Barron. There is no physical Arduino controller at this site. All I/O is handled through the camera digital outputs. The Mock controller is a placeholder that allows the application to run without a physical controller.
Known Quirks¶
- No Arduino controller: This is the only site that uses camera I/O for stack lights and reject signals instead of an Arduino. The Mock controller in the config is intentional.
- Inverted relay logic: The camera comm-scripts invert the digital output state. The application's
CognexStackLightAdapterandCognexOutputControlleraccount for this inversion. If the camera scripts are ever re-uploaded, they MUST include thestate > 0 ? 0 : 1inversion logic. See docs/COGNEX_COMM_SCRIPTS.md. - Reinforcement timer disabled: The periodic stack light reinforcement timer is automatically disabled when using Cognex stack lights. This prevents the timer commands from polluting the camera's TCP buffer and causing stale barcode reads.
- Teguar hardware platform: The "Teguar" name refers to the hardware PC platform used at this site (Teguar brand industrial PC), not a different software version. The software is the same GateKeeper Conveyor application.
- Diagnostics panel includes Cognex output testing: The Diagnostics panel has a UI for testing Cognex digital outputs, which is useful for verifying the stack light and reject wiring without running full validation.
Related Documentation¶
- Hormel Austin -- Sister AV50 site (standard Arduino)
- Hormel Beloit -- Sister AV50 site (high-speed)
- AV50 Validation Mode
- Cognex DataMan Cameras