# Sweet Grass site guide Verified through production Configure Pages and native element Copy on 2026-10-21 (America/Edmonton). This was a read-only context survey: no page saves, pastes, register writes, alarm changes, device actions, or operational command tests. Bindings describe the configured UI, not proven PLC behavior. No credentials or camera/map endpoints are retained. ## Identity and coverage Production: https://www.atomhmi.com/site_sweetgrass/ Configure: https://www.atomhmi.com/site_sweetgrass/configure_pages Catalog remains 51 pages. PAGE-INVENTORY.md preserves the full list from October 20. October 21 refreshed the catalog and selected active pages, resolving both previous motor-tree inspection gaps. Combined historical coverage now includes every listed page tree, but this is not an audit of every element's behavior. ## Useful starting pages | Page | Slug | Roots / element count observed October 21 | | --- | --- | --- | | Overview | overview | Main Selection; 49 | | Center Receiving | center_receiving | Control Row; 228 | | South Receiving | south_receiving | Control Row; 83 | | Receiving Sequence | receiving_sequence | Control Row; 100 | | Crimping | crimping | Control Row; 103 | | Groater | groater | Control Row; 313 | | Shipping | shipping | Control Row; 103 | | dryer | dryer | Dryer Chart Div + Overview Row; 137 | | Power Main | power_main | Menu + Main Row + Table; 186 | | Power Dryer | power_dryer | Menu + Main Row + Table; 186 | | Motors | motors | Motors; 1,435 | | old Motors | old_motors | Motors; 1,246 | | Receiving PID Tuning | receiving_pid_tuning | no roots/elements | Use Overview for compact status cards; Center/South Receiving for routing and sequence controls; Groater for dropdown and equipment control; Shipping for four-state indicators and destination selection; dryer for chart-plus-controls; Power pages for chart/readouts/tables. Empty Receiving PID Tuning is not an established tuning interface. ## Motor tree gap resolved Motors and old Motors both loaded on October 21. Native Copy exported each whole root; active Motors has 103 direct children and old Motors has 83. These include menu/group structure, so do not interpret the counts as a proven motor count. Active groups include dryer-style m02_01 through m90 families and other groups named M001, M002, M016, M101, M202, M301, etc. Group names and prefixes differ; inspect each intended unit rather than applying one global rename. Representative active dryer motor m02_01: | Function | Configured binding | | --- | --- | | Auto/Manual | main:dryer_g_m02_01_in_autoMode; 1/0 | | Start | main:dryer_g_m02_01_in_manFwd; writes 1 | | Stop | main:dryer_g_m02_01_in_manStop; writes 1 | | Hertz display | main:dryer_g_m02_01_out_speedActHz | | Hertz write target | main:dryer_g_m02_01_in_manSpeedRef; direct value | | Time since start | main:dryer_g_m02_01_out_tss multiplied by 1000; non-editable HH:mm:ss | The editable Hertz field intentionally separates actual-speed display from manual demand target. A configured target on the non-editable time display does not authorize writing an output. For large trees, use the root's direct Copy control rather than resolving every descendant button. Reload a clean Configure Pages session before each large page; accumulated previews caused timeouts during this survey. See ATOMHMI-PLAYBOOK.md. ## Prior verified context retained The October 20 study in SITE-STUDY.md established: - Device IDs global (Global) and main (Main PC). - Main PC slave labels Codesys PLC, Groater PLC, Main PLC, SG Dryer, Shipping PLC, Terminal. - Page → device-qualified register → slave → PLC tag mapping. Register presence does not establish enabled/updating/logged state. - Overview's six-state indicator references main:dryer_g_m77_01_out_status. - Center Receiving Start targets main:recvSeqStart with value 1. - A Center Receiving ratio reads main:dryer_g_centRecBin21Ratio but writes main:dryer_g_centRecBin21RatioSel, writeValue=value. Limits checkbox was false despite populated 0/100. - Sample dryer status address: tag sg_dryer.g.m77_01.out_status; enabled On Change/one-second polling, logging disabled in that earlier inspected definition. These are dated prior observations, not a new register-table audit on October 21. The prior counts of 20,055 register definitions and 1,538 alarm definitions are historical, not freshly verified totals. ## Future work boundaries Use this guide and the earlier full catalog instead of repeating the general survey. Verify current Title/slug and the particular subtree before editing. Preserve roots, location anchors, read/write distinctions, state mappings, chart series/scales/navigator and time conversions. No PLC commands, setpoint writes, motor tests, alarm-latching changes or device actions were performed. History retention, alarm notification/latching and physical interlocks remain outside this survey. Old/test page names do not establish which content is current or safe to modify. ## Bin G Hi-Hi enable/disable investigation — October 21, 2026 User requested an Atom HMI enable/disable control for Sweet Grass Bin G Hi-Hi. Inspected production https://www.atomhmi.com/site_sweetgrass/ after reading repository instructions and cloud knowledge/site guide. No site changes or operational writes were made; target alarm path needs clarification. Verified in Main PC (main): - HMI alarm ALM-436 has description ALM-436, message "Bin G Full", calculation `|{register:main:Alm436}|`, enabled true, latching false, Warning importance, one-second update, zero on/off delays, notification groups Atom Notifications and Default Notifications. - Source register Alm436 is enabled, observed 0, Main PLC slave, Modbus slave 1, Coil 4427, Bit format, bit 0, Swapped checked; On Change/two-second update, logging disabled. - Separate Codesys register clean_g_binG_lvl_limits_hihi_alm_in_en has description Bin G level and address `{ "tag": "sg_cleaning.g.binG_lvl.limits.hihi.alm.in_en" }`. Enabled is unchecked; configured On Change/one-second update and logging disabled. No current value was available. This is a candidate alarm-enable input, not a verified control for ALM-436. - Separate clean_g_binG_lvl_limits_hihi_in_en, ...hihi_in_sp, ...hihi_out and ...hihi_alm_out definitions also exist with Enabled No. Do not conflate threshold enable with alarm enable or infer PLC write ownership from names. - clean_g_binG_lvl_out_eu is enabled and observed about 84.45–84.56; this readback does not establish the alarm path. - Main PC tables currently report 20,055 registers and 1,538 alarms. Searching Bin alarm messages found ALM-436 but no Bin G Hi-Hi message. - Navigation Bins opens page_bin_2 (editor Title Bin 2, slug bin_2), which displays Bin G among the bin gauges. The separately configured Bins page (slug bins) displays H/J/bagging/K/L/M/N and is not the navigation target. Asked whether the intended control is the Codesys level Hi-Hi alarm or the existing Main PLC Bin G Full alarm. Next: resolve the intended path and verified writable setting, add a supported native enable/disable control on the relevant operator page, preserve existing state, save/reload and verify configuration. Do not write Alm436 or an alarm output to simulate enable. No polling, thresholds, alarm definitions, notifications, latching, pages, or equipment commands changed during this investigation. ### Alarm history lookup — October 21, 2026 User requested checking whether any Bin G alarm previously occurred. Opened the alarm icon → Alarm History at https://www.atomhmi.com/site_sweetgrass/alarm_history. Requested Last 30 Days (September 22–October 21, 2026), then freshly reloaded and requested October 21, and finally Yesterday (October 20). Every attempt remained on Loading... without a history table, records, or an explicit empty-result message. No browser warning/error logs were captured. Occurrence, timestamps and retention therefore remain unverified; this is not evidence of no prior Bin G alarms. No acknowledgement, reset, alarm edits, register writes or page saves performed. User-confirmed update on October 21, 2026: Atom HMI was just updated and alarm logs moved to a new database; previous history is no longer available. This supersedes the earlier plan to retry for pre-migration records. Historical Bin G occurrences cannot be determined from the current database. The migration explains unavailable prior history, but the cause of the observed Loading... UI was not independently established. The intended Bin G enable/disable alarm path remains unresolved; determine it from current configuration or user/PLC confirmation.