wrps-demo-kit/03-plc/as-built/generated_debug.cpp
Clio Liu 55279ca78f docs(plc): as-built copy, versions, and a getting-started guide
Adds what the folder was missing for someone picking it up cold.

as-built/  the STruC++ output copied out of the live container - the C++
           the PLC is actually executing, plus program.st and the Modbus
           buffer config. The running image was made with docker commit
           and exists in no registry, so this is the only other copy of
           the compiled form.

           Verified while copying: the deployed program.st matches
           build/wrps.st generated from src/. Identical POU structure,
           ZERO differences in non-declaration lines. src/ is genuinely
           canonical and the running PLC agrees with it.

VERSIONS.md         every version read from the running system, not from
                    documentation: runtime v4.1.10, STruC++ 0.6.2, Editor
                    4.2.11, Debian 12, g++ 12.2, pymodbus 3.11.2, CI
                    Server R1.03. Plus which plugins are enabled -
                    ethercat is on for no reason - and a v3-vs-v4 table,
                    since most OpenPLC guidance online is for v3 and the
                    %MW HR1024 change silently produces wrong data.

GETTING-STARTED.md  three questions answered in a page: how to modify the
                    program, how to stand up a new PLC container from
                    scratch, how to move this one. Includes the compose
                    file, the Editor steps that are not generated and are
                    always missed, and a symptom-to-document table.
2026-09-02 16:48:30 +10:00

522 lines
38 KiB
C++

// SPDX-License-Identifier: GPL-3.0-or-later
// Generated by STruC++ debug-table-gen - Do not edit by hand.
//
// Per-project debugger pointer tables consumed by
// strucpp::debug::handle_*() in debug_dispatch.hpp.
#include "generated.hpp"
#include "debug_table.hpp"
// The sketch/runtime must define this global with external linkage:
// strucpp::Configuration_CONFIG0 g_config;
// The debug table below reaches into it via compile-time
// address-of expressions — so it must be a real object, not a
// static-local or a pointer.
extern ::strucpp::Configuration_CONFIG0 g_config;
namespace strucpp { namespace debug {
const Entry debug_arr_0[177] STRUCPP_DEBUG_FLASH = {
{ (void*)&CFG_AREA_M2.value, TAG_REAL, 0 }, // CFG_AREA_M2
{ (void*)&CFG_SPILL_M.value, TAG_REAL, 0 }, // CFG_SPILL_M
{ (void*)&CFG_LSHH_M.value, TAG_REAL, 0 }, // CFG_LSHH_M
{ (void*)&CFG_MIN_HZ.value, TAG_REAL, 0 }, // CFG_MIN_HZ
{ (void*)&CFG_MAX_HZ.value, TAG_REAL, 0 }, // CFG_MAX_HZ
{ (void*)&DEF_MODE.value, TAG_INT, 0 }, // DEF_MODE
{ (void*)&DEF_SP_LEVEL.value, TAG_INT, 0 }, // DEF_SP_LEVEL
{ (void*)&DEF_START_DUTY.value, TAG_INT, 0 }, // DEF_START_DUTY
{ (void*)&DEF_START_P2.value, TAG_INT, 0 }, // DEF_START_P2
{ (void*)&DEF_START_P3.value, TAG_INT, 0 }, // DEF_START_P3
{ (void*)&DEF_STOP_ALL.value, TAG_INT, 0 }, // DEF_STOP_ALL
{ (void*)&DEF_HIGH_ALARM.value, TAG_INT, 0 }, // DEF_HIGH_ALARM
{ (void*)&DEF_MIN_SPEED.value, TAG_INT, 0 }, // DEF_MIN_SPEED
{ (void*)&DEF_SERVICE_HRS.value, TAG_INT, 0 }, // DEF_SERVICE_HRS
{ (void*)&CFG_NO_TIME.value, TAG_INT, 0 }, // CFG_NO_TIME
{ (void*)&IW_LIT101.value, TAG_INT, 0 }, // IW_LIT101
{ (void*)&IW_FIT201.value, TAG_INT, 0 }, // IW_FIT201
{ (void*)&IW_FIT301.value, TAG_INT, 0 }, // IW_FIT301
{ (void*)&IW_PIT302.value, TAG_INT, 0 }, // IW_PIT302
{ (void*)&IW_PIT311.value, TAG_INT, 0 }, // IW_PIT311
{ (void*)&IW_PIT321.value, TAG_INT, 0 }, // IW_PIT321
{ (void*)&IW_PIT331.value, TAG_INT, 0 }, // IW_PIT331
{ (void*)&IW_VE314.value, TAG_INT, 0 }, // IW_VE314
{ (void*)&IW_VE324.value, TAG_INT, 0 }, // IW_VE324
{ (void*)&IW_VE334.value, TAG_INT, 0 }, // IW_VE334
{ (void*)&IX_LSHH102.value, TAG_BOOL, 0 }, // IX_LSHH102
{ (void*)&IX_LSLL103.value, TAG_BOOL, 0 }, // IX_LSLL103
{ (void*)&IX_LSH104.value, TAG_BOOL, 0 }, // IX_LSH104
{ (void*)&IX_TE312.value, TAG_BOOL, 0 }, // IX_TE312
{ (void*)&IX_TE322.value, TAG_BOOL, 0 }, // IX_TE322
{ (void*)&IX_TE332.value, TAG_BOOL, 0 }, // IX_TE332
{ (void*)&IX_MSE313.value, TAG_BOOL, 0 }, // IX_MSE313
{ (void*)&IX_MSE323.value, TAG_BOOL, 0 }, // IX_MSE323
{ (void*)&IX_MSE333.value, TAG_BOOL, 0 }, // IX_MSE333
{ (void*)&IX_XA502.value, TAG_BOOL, 0 }, // IX_XA502
{ (void*)&QX_RUNCMD1.value, TAG_BOOL, 0 }, // QX_RUNCMD1
{ (void*)&QX_RUNCMD2.value, TAG_BOOL, 0 }, // QX_RUNCMD2
{ (void*)&QX_RUNCMD3.value, TAG_BOOL, 0 }, // QX_RUNCMD3
{ (void*)&QX_RUNNING1.value, TAG_BOOL, 0 }, // QX_RUNNING1
{ (void*)&QX_RUNNING2.value, TAG_BOOL, 0 }, // QX_RUNNING2
{ (void*)&QX_RUNNING3.value, TAG_BOOL, 0 }, // QX_RUNNING3
{ (void*)&QX_AVAIL1.value, TAG_BOOL, 0 }, // QX_AVAIL1
{ (void*)&QX_AVAIL2.value, TAG_BOOL, 0 }, // QX_AVAIL2
{ (void*)&QX_AVAIL3.value, TAG_BOOL, 0 }, // QX_AVAIL3
{ (void*)&QX_INAUTO.value, TAG_BOOL, 0 }, // QX_INAUTO
{ (void*)&QX_HIGHLEVEL.value, TAG_BOOL, 0 }, // QX_HIGHLEVEL
{ (void*)&QX_SPILLACTIVE.value, TAG_BOOL, 0 }, // QX_SPILLACTIVE
{ (void*)&QX_TRIPPED1.value, TAG_BOOL, 0 }, // QX_TRIPPED1
{ (void*)&QX_TRIPPED2.value, TAG_BOOL, 0 }, // QX_TRIPPED2
{ (void*)&QX_TRIPPED3.value, TAG_BOOL, 0 }, // QX_TRIPPED3
{ (void*)&QW_LEVEL.value, TAG_INT, 0 }, // QW_LEVEL
{ (void*)&QW_INFLOW.value, TAG_INT, 0 }, // QW_INFLOW
{ (void*)&QW_DISCHARGE.value, TAG_INT, 0 }, // QW_DISCHARGE
{ (void*)&QW_PUMPSRUNNING.value, TAG_INT, 0 }, // QW_PUMPSRUNNING
{ (void*)&QW_SPEED.value, TAG_INT, 0 }, // QW_SPEED
{ (void*)&QW_TIMETOSPILL.value, TAG_INT, 0 }, // QW_TIMETOSPILL
{ (void*)&QW_TIMETOLSHH.value, TAG_INT, 0 }, // QW_TIMETOLSHH
{ (void*)&QW_NETACCUM.value, TAG_INT, 0 }, // QW_NETACCUM
{ (void*)&QW_RUNHOURS1.value, TAG_INT, 0 }, // QW_RUNHOURS1
{ (void*)&QW_RUNHOURS2.value, TAG_INT, 0 }, // QW_RUNHOURS2
{ (void*)&QW_RUNHOURS3.value, TAG_INT, 0 }, // QW_RUNHOURS3
{ (void*)&QW_VOLTOSPILL.value, TAG_INT, 0 }, // QW_VOLTOSPILL
{ (void*)&QW_STATIONSTATE.value, TAG_INT, 0 }, // QW_STATIONSTATE
{ (void*)&QW_PUMPSTATE1.value, TAG_INT, 0 }, // QW_PUMPSTATE1
{ (void*)&QW_PUMPSTATE2.value, TAG_INT, 0 }, // QW_PUMPSTATE2
{ (void*)&QW_PUMPSTATE3.value, TAG_INT, 0 }, // QW_PUMPSTATE3
{ (void*)&QW_DUTYPUMP.value, TAG_INT, 0 }, // QW_DUTYPUMP
{ (void*)&QW_ALARMWORD.value, TAG_INT, 0 }, // QW_ALARMWORD
{ (void*)&QW_CMDACK.value, TAG_INT, 0 }, // QW_CMDACK
{ (void*)&MW_MODE.value, TAG_INT, 0 }, // MW_MODE
{ (void*)&MW_CMDWORD.value, TAG_INT, 0 }, // MW_CMDWORD
{ (void*)&MW_CMDPARAM.value, TAG_INT, 0 }, // MW_CMDPARAM
{ (void*)&MW_SPLEVEL.value, TAG_INT, 0 }, // MW_SPLEVEL
{ (void*)&MW_STARTDUTY.value, TAG_INT, 0 }, // MW_STARTDUTY
{ (void*)&MW_STARTP2.value, TAG_INT, 0 }, // MW_STARTP2
{ (void*)&MW_STARTP3.value, TAG_INT, 0 }, // MW_STARTP3
{ (void*)&MW_STOPALL.value, TAG_INT, 0 }, // MW_STOPALL
{ (void*)&MW_HIGHALARM.value, TAG_INT, 0 }, // MW_HIGHALARM
{ (void*)&MW_MINSPEED.value, TAG_INT, 0 }, // MW_MINSPEED
{ (void*)&MW_SERVICEHRS.value, TAG_INT, 0 }, // MW_SERVICEHRS
{ (void*)&MW_SIMINFLOW.value, TAG_INT, 0 }, // MW_SIMINFLOW
{ (void*)&MW_SIMMODE.value, TAG_INT, 0 }, // MW_SIMMODE
{ (void*)&MW_SIMRESET.value, TAG_INT, 0 }, // MW_SIMRESET
{ (void*)&MW_SIMTIMESCALE.value, TAG_INT, 0 }, // MW_SIMTIMESCALE
{ (void*)&G_LEVELRAW_MM.value, TAG_INT, 0 }, // G_LEVELRAW_MM
{ (void*)&G_LEVEL_MM.value, TAG_INT, 0 }, // G_LEVEL_MM
{ (void*)&G_LEVEL_M.value, TAG_REAL, 0 }, // G_LEVEL_M
{ (void*)&G_INFLOW_LPS.value, TAG_REAL, 0 }, // G_INFLOW_LPS
{ (void*)&G_DISCH_LPS.value, TAG_REAL, 0 }, // G_DISCH_LPS
{ (void*)&G_MANIFOLDP_KPA.value, TAG_REAL, 0 }, // G_MANIFOLDP_KPA
{ (void*)&G_PUMPP_KPA.value[1], TAG_REAL, 0 }, // G_PUMPP_KPA[1]
{ (void*)&G_PUMPP_KPA.value[2], TAG_REAL, 0 }, // G_PUMPP_KPA[2]
{ (void*)&G_PUMPP_KPA.value[3], TAG_REAL, 0 }, // G_PUMPP_KPA[3]
{ (void*)&G_VIB_MMS.value[1], TAG_REAL, 0 }, // G_VIB_MMS[1]
{ (void*)&G_VIB_MMS.value[2], TAG_REAL, 0 }, // G_VIB_MMS[2]
{ (void*)&G_VIB_MMS.value[3], TAG_REAL, 0 }, // G_VIB_MMS[3]
{ (void*)&G_LSHH.value, TAG_BOOL, 0 }, // G_LSHH
{ (void*)&G_LSLL_WET.value, TAG_BOOL, 0 }, // G_LSLL_WET
{ (void*)&G_SPILLDETECTED.value, TAG_BOOL, 0 }, // G_SPILLDETECTED
{ (void*)&G_THERMALOK.value[1], TAG_BOOL, 0 }, // G_THERMALOK[1]
{ (void*)&G_THERMALOK.value[2], TAG_BOOL, 0 }, // G_THERMALOK[2]
{ (void*)&G_THERMALOK.value[3], TAG_BOOL, 0 }, // G_THERMALOK[3]
{ (void*)&G_SEALLEAK.value[1], TAG_BOOL, 0 }, // G_SEALLEAK[1]
{ (void*)&G_SEALLEAK.value[2], TAG_BOOL, 0 }, // G_SEALLEAK[2]
{ (void*)&G_SEALLEAK.value[3], TAG_BOOL, 0 }, // G_SEALLEAK[3]
{ (void*)&G_MAINSOK.value, TAG_BOOL, 0 }, // G_MAINSOK
{ (void*)&G_CMD_MODE.value, TAG_INT, 0 }, // G_CMD_MODE
{ (void*)&G_CMD_WORD.value, TAG_INT, 0 }, // G_CMD_WORD
{ (void*)&G_CMD_PARAM.value, TAG_INT, 0 }, // G_CMD_PARAM
{ (void*)&G_SP_LEVEL.value, TAG_INT, 0 }, // G_SP_LEVEL
{ (void*)&G_SP_STARTDUTY.value, TAG_INT, 0 }, // G_SP_STARTDUTY
{ (void*)&G_SP_STARTP2.value, TAG_INT, 0 }, // G_SP_STARTP2
{ (void*)&G_SP_STARTP3.value, TAG_INT, 0 }, // G_SP_STARTP3
{ (void*)&G_SP_STOPALL.value, TAG_INT, 0 }, // G_SP_STOPALL
{ (void*)&G_SP_HIGHALARM.value, TAG_INT, 0 }, // G_SP_HIGHALARM
{ (void*)&G_SP_MINSPEED.value, TAG_INT, 0 }, // G_SP_MINSPEED
{ (void*)&G_SP_SERVICEHRS.value, TAG_INT, 0 }, // G_SP_SERVICEHRS
{ (void*)&G_O_RUNCMD.value[1], TAG_BOOL, 0 }, // G_O_RUNCMD[1]
{ (void*)&G_O_RUNCMD.value[2], TAG_BOOL, 0 }, // G_O_RUNCMD[2]
{ (void*)&G_O_RUNCMD.value[3], TAG_BOOL, 0 }, // G_O_RUNCMD[3]
{ (void*)&G_O_RUNNING.value[1], TAG_BOOL, 0 }, // G_O_RUNNING[1]
{ (void*)&G_O_RUNNING.value[2], TAG_BOOL, 0 }, // G_O_RUNNING[2]
{ (void*)&G_O_RUNNING.value[3], TAG_BOOL, 0 }, // G_O_RUNNING[3]
{ (void*)&G_O_AVAILABLE.value[1], TAG_BOOL, 0 }, // G_O_AVAILABLE[1]
{ (void*)&G_O_AVAILABLE.value[2], TAG_BOOL, 0 }, // G_O_AVAILABLE[2]
{ (void*)&G_O_AVAILABLE.value[3], TAG_BOOL, 0 }, // G_O_AVAILABLE[3]
{ (void*)&G_O_TRIPPED.value[1], TAG_BOOL, 0 }, // G_O_TRIPPED[1]
{ (void*)&G_O_TRIPPED.value[2], TAG_BOOL, 0 }, // G_O_TRIPPED[2]
{ (void*)&G_O_TRIPPED.value[3], TAG_BOOL, 0 }, // G_O_TRIPPED[3]
{ (void*)&G_O_INAUTO.value, TAG_BOOL, 0 }, // G_O_INAUTO
{ (void*)&G_O_HIGHLEVEL.value, TAG_BOOL, 0 }, // G_O_HIGHLEVEL
{ (void*)&G_O_SPILLACTIVE.value, TAG_BOOL, 0 }, // G_O_SPILLACTIVE
{ (void*)&G_O_LEVEL_MM.value, TAG_INT, 0 }, // G_O_LEVEL_MM
{ (void*)&G_O_INFLOW_X10.value, TAG_INT, 0 }, // G_O_INFLOW_X10
{ (void*)&G_O_DISCH_X10.value, TAG_INT, 0 }, // G_O_DISCH_X10
{ (void*)&G_O_PUMPSRUN.value, TAG_INT, 0 }, // G_O_PUMPSRUN
{ (void*)&G_O_SPEED_X10.value, TAG_INT, 0 }, // G_O_SPEED_X10
{ (void*)&G_O_TIMETOSPILL.value, TAG_INT, 0 }, // G_O_TIMETOSPILL
{ (void*)&G_O_TIMETOLSHH.value, TAG_INT, 0 }, // G_O_TIMETOLSHH
{ (void*)&G_O_NETACCUM.value, TAG_INT, 0 }, // G_O_NETACCUM
{ (void*)&G_O_RUNHOURS.value[1], TAG_INT, 0 }, // G_O_RUNHOURS[1]
{ (void*)&G_O_RUNHOURS.value[2], TAG_INT, 0 }, // G_O_RUNHOURS[2]
{ (void*)&G_O_RUNHOURS.value[3], TAG_INT, 0 }, // G_O_RUNHOURS[3]
{ (void*)&G_O_VOLTOSPILL.value, TAG_INT, 0 }, // G_O_VOLTOSPILL
{ (void*)&G_O_STATIONSTATE.value, TAG_INT, 0 }, // G_O_STATIONSTATE
{ (void*)&G_O_PUMPSTATE.value[1], TAG_INT, 0 }, // G_O_PUMPSTATE[1]
{ (void*)&G_O_PUMPSTATE.value[2], TAG_INT, 0 }, // G_O_PUMPSTATE[2]
{ (void*)&G_O_PUMPSTATE.value[3], TAG_INT, 0 }, // G_O_PUMPSTATE[3]
{ (void*)&G_O_DUTYPUMP.value, TAG_INT, 0 }, // G_O_DUTYPUMP
{ (void*)&G_O_ALARMWORD.value, TAG_INT, 0 }, // G_O_ALARMWORD
{ (void*)&G_O_CMDACK.value, TAG_INT, 0 }, // G_O_CMDACK
{ (void*)&G_SIMACTIVE.value, TAG_BOOL, 0 }, // G_SIMACTIVE
{ (void*)&G_SIM_CLEARRESET.value, TAG_BOOL, 0 }, // G_SIM_CLEARRESET
{ (void*)&G_SIMCMD_INFLOW.value, TAG_INT, 0 }, // G_SIMCMD_INFLOW
{ (void*)&G_SIMCMD_MODE.value, TAG_INT, 0 }, // G_SIMCMD_MODE
{ (void*)&G_SIMCMD_RESET.value, TAG_INT, 0 }, // G_SIMCMD_RESET
{ (void*)&G_SIMCMD_TIMESCALE.value, TAG_INT, 0 }, // G_SIMCMD_TIMESCALE
{ (void*)&G_SIM_LEVEL_MM.value, TAG_INT, 0 }, // G_SIM_LEVEL_MM
{ (void*)&G_SIM_INFLOW_X10.value, TAG_INT, 0 }, // G_SIM_INFLOW_X10
{ (void*)&G_SIM_DISCH_X10.value, TAG_INT, 0 }, // G_SIM_DISCH_X10
{ (void*)&G_SIM_MANIFOLDP.value, TAG_INT, 0 }, // G_SIM_MANIFOLDP
{ (void*)&G_SIM_PUMPP.value[1], TAG_INT, 0 }, // G_SIM_PUMPP[1]
{ (void*)&G_SIM_PUMPP.value[2], TAG_INT, 0 }, // G_SIM_PUMPP[2]
{ (void*)&G_SIM_PUMPP.value[3], TAG_INT, 0 }, // G_SIM_PUMPP[3]
{ (void*)&G_SIM_VIB_X10.value[1], TAG_INT, 0 }, // G_SIM_VIB_X10[1]
{ (void*)&G_SIM_VIB_X10.value[2], TAG_INT, 0 }, // G_SIM_VIB_X10[2]
{ (void*)&G_SIM_VIB_X10.value[3], TAG_INT, 0 }, // G_SIM_VIB_X10[3]
{ (void*)&G_SIM_LSHH.value, TAG_BOOL, 0 }, // G_SIM_LSHH
{ (void*)&G_SIM_LSLL_WET.value, TAG_BOOL, 0 }, // G_SIM_LSLL_WET
{ (void*)&G_SIM_SPILL.value, TAG_BOOL, 0 }, // G_SIM_SPILL
{ (void*)&G_SIM_THERMALOK.value[1], TAG_BOOL, 0 }, // G_SIM_THERMALOK[1]
{ (void*)&G_SIM_THERMALOK.value[2], TAG_BOOL, 0 }, // G_SIM_THERMALOK[2]
{ (void*)&G_SIM_THERMALOK.value[3], TAG_BOOL, 0 }, // G_SIM_THERMALOK[3]
{ (void*)&G_SIM_SEALLEAK.value[1], TAG_BOOL, 0 }, // G_SIM_SEALLEAK[1]
{ (void*)&G_SIM_SEALLEAK.value[2], TAG_BOOL, 0 }, // G_SIM_SEALLEAK[2]
{ (void*)&G_SIM_SEALLEAK.value[3], TAG_BOOL, 0 }, // G_SIM_SEALLEAK[3]
{ (void*)&G_SIM_MAINSOK.value, TAG_BOOL, 0 }, // G_SIM_MAINSOK
};
const Entry debug_arr_1[46] STRUCPP_DEBUG_FLASH = {
{ (void*)&g_config.INST_SIM.SCAN_S, TAG_REAL, 0 }, // INST_SIM.SCAN_S
{ (void*)&g_config.INST_SIM.AREA_M2, TAG_REAL, 0 }, // INST_SIM.AREA_M2
{ (void*)&g_config.INST_SIM.SPILL_M, TAG_REAL, 0 }, // INST_SIM.SPILL_M
{ (void*)&g_config.INST_SIM.LSHH_M, TAG_REAL, 0 }, // INST_SIM.LSHH_M
{ (void*)&g_config.INST_SIM.LSLL_M, TAG_REAL, 0 }, // INST_SIM.LSLL_M
{ (void*)&g_config.INST_SIM.START_DLY_S, TAG_REAL, 0 }, // INST_SIM.START_DLY_S
{ (void*)&g_config.INST_SIM.HZ_LO, TAG_REAL, 0 }, // INST_SIM.HZ_LO
{ (void*)&g_config.INST_SIM.HZ_HI, TAG_REAL, 0 }, // INST_SIM.HZ_HI
{ (void*)&g_config.INST_SIM.Q_LO, TAG_REAL, 0 }, // INST_SIM.Q_LO
{ (void*)&g_config.INST_SIM.Q_HI, TAG_REAL, 0 }, // INST_SIM.Q_HI
{ (void*)&g_config.INST_SIM.P_IDLE, TAG_REAL, 0 }, // INST_SIM.P_IDLE
{ (void*)&g_config.INST_SIM.P_BASE, TAG_REAL, 0 }, // INST_SIM.P_BASE
{ (void*)&g_config.INST_SIM.P_PER_LPS, TAG_REAL, 0 }, // INST_SIM.P_PER_LPS
{ (void*)&g_config.INST_SIM.VIB_IDLE, TAG_REAL, 0 }, // INST_SIM.VIB_IDLE
{ (void*)&g_config.INST_SIM.VIB_BASE, TAG_REAL, 0 }, // INST_SIM.VIB_BASE
{ (void*)&g_config.INST_SIM.VIB_PER_LPS, TAG_REAL, 0 }, // INST_SIM.VIB_PER_LPS
{ (void*)&g_config.INST_SIM.INIT, TAG_BOOL, 0 }, // INST_SIM.INIT
{ (void*)&g_config.INST_SIM.VOLUME_M3, TAG_REAL, 0 }, // INST_SIM.VOLUME_M3
{ (void*)&g_config.INST_SIM.LEVEL_M, TAG_REAL, 0 }, // INST_SIM.LEVEL_M
{ (void*)&g_config.INST_SIM.INFLOW_LPS, TAG_REAL, 0 }, // INST_SIM.INFLOW_LPS
{ (void*)&g_config.INST_SIM.SUMFLOW_LPS, TAG_REAL, 0 }, // INST_SIM.SUMFLOW_LPS
{ (void*)&g_config.INST_SIM.SIMCLOCK_S, TAG_REAL, 0 }, // INST_SIM.SIMCLOCK_S
{ (void*)&g_config.INST_SIM.STARTDLY_S[1], TAG_REAL, 0 }, // INST_SIM.STARTDLY_S[1]
{ (void*)&g_config.INST_SIM.STARTDLY_S[2], TAG_REAL, 0 }, // INST_SIM.STARTDLY_S[2]
{ (void*)&g_config.INST_SIM.STARTDLY_S[3], TAG_REAL, 0 }, // INST_SIM.STARTDLY_S[3]
{ (void*)&g_config.INST_SIM.DELIVERING[1], TAG_BOOL, 0 }, // INST_SIM.DELIVERING[1]
{ (void*)&g_config.INST_SIM.DELIVERING[2], TAG_BOOL, 0 }, // INST_SIM.DELIVERING[2]
{ (void*)&g_config.INST_SIM.DELIVERING[3], TAG_BOOL, 0 }, // INST_SIM.DELIVERING[3]
{ (void*)&g_config.INST_SIM.FLOW_LPS[1], TAG_REAL, 0 }, // INST_SIM.FLOW_LPS[1]
{ (void*)&g_config.INST_SIM.FLOW_LPS[2], TAG_REAL, 0 }, // INST_SIM.FLOW_LPS[2]
{ (void*)&g_config.INST_SIM.FLOW_LPS[3], TAG_REAL, 0 }, // INST_SIM.FLOW_LPS[3]
{ (void*)&g_config.INST_SIM.PRESS_KPA[1], TAG_REAL, 0 }, // INST_SIM.PRESS_KPA[1]
{ (void*)&g_config.INST_SIM.PRESS_KPA[2], TAG_REAL, 0 }, // INST_SIM.PRESS_KPA[2]
{ (void*)&g_config.INST_SIM.PRESS_KPA[3], TAG_REAL, 0 }, // INST_SIM.PRESS_KPA[3]
{ (void*)&g_config.INST_SIM.VIB_MMS[1], TAG_REAL, 0 }, // INST_SIM.VIB_MMS[1]
{ (void*)&g_config.INST_SIM.VIB_MMS[2], TAG_REAL, 0 }, // INST_SIM.VIB_MMS[2]
{ (void*)&g_config.INST_SIM.VIB_MMS[3], TAG_REAL, 0 }, // INST_SIM.VIB_MMS[3]
{ (void*)&g_config.INST_SIM.TIMESCALE, TAG_REAL, 0 }, // INST_SIM.TIMESCALE
{ (void*)&g_config.INST_SIM.DT_S, TAG_REAL, 0 }, // INST_SIM.DT_S
{ (void*)&g_config.INST_SIM.SPEED_HZ, TAG_REAL, 0 }, // INST_SIM.SPEED_HZ
{ (void*)&g_config.INST_SIM.UNITQ_LPS, TAG_REAL, 0 }, // INST_SIM.UNITQ_LPS
{ (void*)&g_config.INST_SIM.DERATE, TAG_REAL, 0 }, // INST_SIM.DERATE
{ (void*)&g_config.INST_SIM.NDELIVERING, TAG_INT, 0 }, // INST_SIM.NDELIVERING
{ (void*)&g_config.INST_SIM.I, TAG_INT, 0 }, // INST_SIM.I
{ (void*)&g_config.INST_SIM.RND, TAG_DINT, 0 }, // INST_SIM.RND
{ (void*)&g_config.INST_SIM.NOISE, TAG_REAL, 0 }, // INST_SIM.NOISE
};
const Entry debug_arr_2[1] STRUCPP_DEBUG_FLASH = {
{ (void*)&g_config.INST_MUX.SEEDED, TAG_BOOL, 0 }, // INST_MUX.SEEDED
};
const Entry debug_arr_3[251] STRUCPP_DEBUG_FLASH = {
{ (void*)&g_config.INST_CTL.SPILL_MM, TAG_INT, 0 }, // INST_CTL.SPILL_MM
{ (void*)&g_config.INST_CTL.LEVEL_MAX_MM, TAG_INT, 0 }, // INST_CTL.LEVEL_MAX_MM
{ (void*)&g_config.INST_CTL.HARD_MIN_HZ, TAG_REAL, 0 }, // INST_CTL.HARD_MIN_HZ
{ (void*)&g_config.INST_CTL.HARD_MAX_HZ, TAG_REAL, 0 }, // INST_CTL.HARD_MAX_HZ
{ (void*)&g_config.INST_CTL.PUMP1.RUNREQUEST, TAG_BOOL, 0 }, // INST_CTL.PUMP1.RUNREQUEST
{ (void*)&g_config.INST_CTL.PUMP1.SPEEDREF, TAG_REAL, 0 }, // INST_CTL.PUMP1.SPEEDREF
{ (void*)&g_config.INST_CTL.PUMP1.THERMALOK, TAG_BOOL, 0 }, // INST_CTL.PUMP1.THERMALOK
{ (void*)&g_config.INST_CTL.PUMP1.SEALLEAK, TAG_BOOL, 0 }, // INST_CTL.PUMP1.SEALLEAK
{ (void*)&g_config.INST_CTL.PUMP1.VIBRATION, TAG_REAL, 0 }, // INST_CTL.PUMP1.VIBRATION
{ (void*)&g_config.INST_CTL.PUMP1.DISCHPRESSURE, TAG_REAL, 0 }, // INST_CTL.PUMP1.DISCHPRESSURE
{ (void*)&g_config.INST_CTL.PUMP1.RESETTRIP, TAG_BOOL, 0 }, // INST_CTL.PUMP1.RESETTRIP
{ (void*)&g_config.INST_CTL.PUMP1.LOCKOUT, TAG_BOOL, 0 }, // INST_CTL.PUMP1.LOCKOUT
{ (void*)&g_config.INST_CTL.PUMP1.MINOFFBYPASS, TAG_BOOL, 0 }, // INST_CTL.PUMP1.MINOFFBYPASS
{ (void*)&g_config.INST_CTL.PUMP1.SERVICEINTERVAL, TAG_REAL, 0 }, // INST_CTL.PUMP1.SERVICEINTERVAL
{ (void*)&g_config.INST_CTL.PUMP1.RESETHOURS, TAG_BOOL, 0 }, // INST_CTL.PUMP1.RESETHOURS
{ (void*)&g_config.INST_CTL.PUMP1.RUNCMD, TAG_BOOL, 0 }, // INST_CTL.PUMP1.RUNCMD
{ (void*)&g_config.INST_CTL.PUMP1.RUNNING, TAG_BOOL, 0 }, // INST_CTL.PUMP1.RUNNING
{ (void*)&g_config.INST_CTL.PUMP1.AVAILABLE, TAG_BOOL, 0 }, // INST_CTL.PUMP1.AVAILABLE
{ (void*)&g_config.INST_CTL.PUMP1.TRIPPED, TAG_BOOL, 0 }, // INST_CTL.PUMP1.TRIPPED
{ (void*)&g_config.INST_CTL.PUMP1.STATE, TAG_INT, 0 }, // INST_CTL.PUMP1.STATE
{ (void*)&g_config.INST_CTL.PUMP1.RUNHOURS, TAG_REAL, 0 }, // INST_CTL.PUMP1.RUNHOURS
{ (void*)&g_config.INST_CTL.PUMP1.SERVICEDUE, TAG_BOOL, 0 }, // INST_CTL.PUMP1.SERVICEDUE
{ (void*)&g_config.INST_CTL.PUMP1.VIBALARM, TAG_BOOL, 0 }, // INST_CTL.PUMP1.VIBALARM
{ (void*)&g_config.INST_CTL.PUMP1.SEALALARM, TAG_BOOL, 0 }, // INST_CTL.PUMP1.SEALALARM
{ (void*)&g_config.INST_CTL.PUMP1.SCAN_S, TAG_REAL, 0 }, // INST_CTL.PUMP1.SCAN_S
{ (void*)&g_config.INST_CTL.PUMP1.VIB_ALARM, TAG_REAL, 0 }, // INST_CTL.PUMP1.VIB_ALARM
{ (void*)&g_config.INST_CTL.PUMP1.VIB_TRIP, TAG_REAL, 0 }, // INST_CTL.PUMP1.VIB_TRIP
{ (void*)&g_config.INST_CTL.PUMP1.NOFLOW_KPA, TAG_REAL, 0 }, // INST_CTL.PUMP1.NOFLOW_KPA
{ (void*)&g_config.INST_CTL.PUMP1.MINRUNTMR.IN, TAG_BOOL, 0 }, // INST_CTL.PUMP1.MINRUNTMR.IN
{ (void*)&g_config.INST_CTL.PUMP1.MINRUNTMR.PT, TAG_TIME, 0 }, // INST_CTL.PUMP1.MINRUNTMR.PT
{ (void*)&g_config.INST_CTL.PUMP1.MINRUNTMR.Q, TAG_BOOL, 0 }, // INST_CTL.PUMP1.MINRUNTMR.Q
{ (void*)&g_config.INST_CTL.PUMP1.MINRUNTMR.ET, TAG_TIME, 0 }, // INST_CTL.PUMP1.MINRUNTMR.ET
{ (void*)&g_config.INST_CTL.PUMP1.MINOFFTMR.IN, TAG_BOOL, 0 }, // INST_CTL.PUMP1.MINOFFTMR.IN
{ (void*)&g_config.INST_CTL.PUMP1.MINOFFTMR.PT, TAG_TIME, 0 }, // INST_CTL.PUMP1.MINOFFTMR.PT
{ (void*)&g_config.INST_CTL.PUMP1.MINOFFTMR.Q, TAG_BOOL, 0 }, // INST_CTL.PUMP1.MINOFFTMR.Q
{ (void*)&g_config.INST_CTL.PUMP1.MINOFFTMR.ET, TAG_TIME, 0 }, // INST_CTL.PUMP1.MINOFFTMR.ET
{ (void*)&g_config.INST_CTL.PUMP1.NOFLOWTMR.IN, TAG_BOOL, 0 }, // INST_CTL.PUMP1.NOFLOWTMR.IN
{ (void*)&g_config.INST_CTL.PUMP1.NOFLOWTMR.PT, TAG_TIME, 0 }, // INST_CTL.PUMP1.NOFLOWTMR.PT
{ (void*)&g_config.INST_CTL.PUMP1.NOFLOWTMR.Q, TAG_BOOL, 0 }, // INST_CTL.PUMP1.NOFLOWTMR.Q
{ (void*)&g_config.INST_CTL.PUMP1.NOFLOWTMR.ET, TAG_TIME, 0 }, // INST_CTL.PUMP1.NOFLOWTMR.ET
{ (void*)&g_config.INST_CTL.PUMP1.HASRUN, TAG_BOOL, 0 }, // INST_CTL.PUMP1.HASRUN
{ (void*)&g_config.INST_CTL.PUMP1.STARTOK, TAG_BOOL, 0 }, // INST_CTL.PUMP1.STARTOK
{ (void*)&g_config.INST_CTL.PUMP2.RUNREQUEST, TAG_BOOL, 0 }, // INST_CTL.PUMP2.RUNREQUEST
{ (void*)&g_config.INST_CTL.PUMP2.SPEEDREF, TAG_REAL, 0 }, // INST_CTL.PUMP2.SPEEDREF
{ (void*)&g_config.INST_CTL.PUMP2.THERMALOK, TAG_BOOL, 0 }, // INST_CTL.PUMP2.THERMALOK
{ (void*)&g_config.INST_CTL.PUMP2.SEALLEAK, TAG_BOOL, 0 }, // INST_CTL.PUMP2.SEALLEAK
{ (void*)&g_config.INST_CTL.PUMP2.VIBRATION, TAG_REAL, 0 }, // INST_CTL.PUMP2.VIBRATION
{ (void*)&g_config.INST_CTL.PUMP2.DISCHPRESSURE, TAG_REAL, 0 }, // INST_CTL.PUMP2.DISCHPRESSURE
{ (void*)&g_config.INST_CTL.PUMP2.RESETTRIP, TAG_BOOL, 0 }, // INST_CTL.PUMP2.RESETTRIP
{ (void*)&g_config.INST_CTL.PUMP2.LOCKOUT, TAG_BOOL, 0 }, // INST_CTL.PUMP2.LOCKOUT
{ (void*)&g_config.INST_CTL.PUMP2.MINOFFBYPASS, TAG_BOOL, 0 }, // INST_CTL.PUMP2.MINOFFBYPASS
{ (void*)&g_config.INST_CTL.PUMP2.SERVICEINTERVAL, TAG_REAL, 0 }, // INST_CTL.PUMP2.SERVICEINTERVAL
{ (void*)&g_config.INST_CTL.PUMP2.RESETHOURS, TAG_BOOL, 0 }, // INST_CTL.PUMP2.RESETHOURS
{ (void*)&g_config.INST_CTL.PUMP2.RUNCMD, TAG_BOOL, 0 }, // INST_CTL.PUMP2.RUNCMD
{ (void*)&g_config.INST_CTL.PUMP2.RUNNING, TAG_BOOL, 0 }, // INST_CTL.PUMP2.RUNNING
{ (void*)&g_config.INST_CTL.PUMP2.AVAILABLE, TAG_BOOL, 0 }, // INST_CTL.PUMP2.AVAILABLE
{ (void*)&g_config.INST_CTL.PUMP2.TRIPPED, TAG_BOOL, 0 }, // INST_CTL.PUMP2.TRIPPED
{ (void*)&g_config.INST_CTL.PUMP2.STATE, TAG_INT, 0 }, // INST_CTL.PUMP2.STATE
{ (void*)&g_config.INST_CTL.PUMP2.RUNHOURS, TAG_REAL, 0 }, // INST_CTL.PUMP2.RUNHOURS
{ (void*)&g_config.INST_CTL.PUMP2.SERVICEDUE, TAG_BOOL, 0 }, // INST_CTL.PUMP2.SERVICEDUE
{ (void*)&g_config.INST_CTL.PUMP2.VIBALARM, TAG_BOOL, 0 }, // INST_CTL.PUMP2.VIBALARM
{ (void*)&g_config.INST_CTL.PUMP2.SEALALARM, TAG_BOOL, 0 }, // INST_CTL.PUMP2.SEALALARM
{ (void*)&g_config.INST_CTL.PUMP2.SCAN_S, TAG_REAL, 0 }, // INST_CTL.PUMP2.SCAN_S
{ (void*)&g_config.INST_CTL.PUMP2.VIB_ALARM, TAG_REAL, 0 }, // INST_CTL.PUMP2.VIB_ALARM
{ (void*)&g_config.INST_CTL.PUMP2.VIB_TRIP, TAG_REAL, 0 }, // INST_CTL.PUMP2.VIB_TRIP
{ (void*)&g_config.INST_CTL.PUMP2.NOFLOW_KPA, TAG_REAL, 0 }, // INST_CTL.PUMP2.NOFLOW_KPA
{ (void*)&g_config.INST_CTL.PUMP2.MINRUNTMR.IN, TAG_BOOL, 0 }, // INST_CTL.PUMP2.MINRUNTMR.IN
{ (void*)&g_config.INST_CTL.PUMP2.MINRUNTMR.PT, TAG_TIME, 0 }, // INST_CTL.PUMP2.MINRUNTMR.PT
{ (void*)&g_config.INST_CTL.PUMP2.MINRUNTMR.Q, TAG_BOOL, 0 }, // INST_CTL.PUMP2.MINRUNTMR.Q
{ (void*)&g_config.INST_CTL.PUMP2.MINRUNTMR.ET, TAG_TIME, 0 }, // INST_CTL.PUMP2.MINRUNTMR.ET
{ (void*)&g_config.INST_CTL.PUMP2.MINOFFTMR.IN, TAG_BOOL, 0 }, // INST_CTL.PUMP2.MINOFFTMR.IN
{ (void*)&g_config.INST_CTL.PUMP2.MINOFFTMR.PT, TAG_TIME, 0 }, // INST_CTL.PUMP2.MINOFFTMR.PT
{ (void*)&g_config.INST_CTL.PUMP2.MINOFFTMR.Q, TAG_BOOL, 0 }, // INST_CTL.PUMP2.MINOFFTMR.Q
{ (void*)&g_config.INST_CTL.PUMP2.MINOFFTMR.ET, TAG_TIME, 0 }, // INST_CTL.PUMP2.MINOFFTMR.ET
{ (void*)&g_config.INST_CTL.PUMP2.NOFLOWTMR.IN, TAG_BOOL, 0 }, // INST_CTL.PUMP2.NOFLOWTMR.IN
{ (void*)&g_config.INST_CTL.PUMP2.NOFLOWTMR.PT, TAG_TIME, 0 }, // INST_CTL.PUMP2.NOFLOWTMR.PT
{ (void*)&g_config.INST_CTL.PUMP2.NOFLOWTMR.Q, TAG_BOOL, 0 }, // INST_CTL.PUMP2.NOFLOWTMR.Q
{ (void*)&g_config.INST_CTL.PUMP2.NOFLOWTMR.ET, TAG_TIME, 0 }, // INST_CTL.PUMP2.NOFLOWTMR.ET
{ (void*)&g_config.INST_CTL.PUMP2.HASRUN, TAG_BOOL, 0 }, // INST_CTL.PUMP2.HASRUN
{ (void*)&g_config.INST_CTL.PUMP2.STARTOK, TAG_BOOL, 0 }, // INST_CTL.PUMP2.STARTOK
{ (void*)&g_config.INST_CTL.PUMP3.RUNREQUEST, TAG_BOOL, 0 }, // INST_CTL.PUMP3.RUNREQUEST
{ (void*)&g_config.INST_CTL.PUMP3.SPEEDREF, TAG_REAL, 0 }, // INST_CTL.PUMP3.SPEEDREF
{ (void*)&g_config.INST_CTL.PUMP3.THERMALOK, TAG_BOOL, 0 }, // INST_CTL.PUMP3.THERMALOK
{ (void*)&g_config.INST_CTL.PUMP3.SEALLEAK, TAG_BOOL, 0 }, // INST_CTL.PUMP3.SEALLEAK
{ (void*)&g_config.INST_CTL.PUMP3.VIBRATION, TAG_REAL, 0 }, // INST_CTL.PUMP3.VIBRATION
{ (void*)&g_config.INST_CTL.PUMP3.DISCHPRESSURE, TAG_REAL, 0 }, // INST_CTL.PUMP3.DISCHPRESSURE
{ (void*)&g_config.INST_CTL.PUMP3.RESETTRIP, TAG_BOOL, 0 }, // INST_CTL.PUMP3.RESETTRIP
{ (void*)&g_config.INST_CTL.PUMP3.LOCKOUT, TAG_BOOL, 0 }, // INST_CTL.PUMP3.LOCKOUT
{ (void*)&g_config.INST_CTL.PUMP3.MINOFFBYPASS, TAG_BOOL, 0 }, // INST_CTL.PUMP3.MINOFFBYPASS
{ (void*)&g_config.INST_CTL.PUMP3.SERVICEINTERVAL, TAG_REAL, 0 }, // INST_CTL.PUMP3.SERVICEINTERVAL
{ (void*)&g_config.INST_CTL.PUMP3.RESETHOURS, TAG_BOOL, 0 }, // INST_CTL.PUMP3.RESETHOURS
{ (void*)&g_config.INST_CTL.PUMP3.RUNCMD, TAG_BOOL, 0 }, // INST_CTL.PUMP3.RUNCMD
{ (void*)&g_config.INST_CTL.PUMP3.RUNNING, TAG_BOOL, 0 }, // INST_CTL.PUMP3.RUNNING
{ (void*)&g_config.INST_CTL.PUMP3.AVAILABLE, TAG_BOOL, 0 }, // INST_CTL.PUMP3.AVAILABLE
{ (void*)&g_config.INST_CTL.PUMP3.TRIPPED, TAG_BOOL, 0 }, // INST_CTL.PUMP3.TRIPPED
{ (void*)&g_config.INST_CTL.PUMP3.STATE, TAG_INT, 0 }, // INST_CTL.PUMP3.STATE
{ (void*)&g_config.INST_CTL.PUMP3.RUNHOURS, TAG_REAL, 0 }, // INST_CTL.PUMP3.RUNHOURS
{ (void*)&g_config.INST_CTL.PUMP3.SERVICEDUE, TAG_BOOL, 0 }, // INST_CTL.PUMP3.SERVICEDUE
{ (void*)&g_config.INST_CTL.PUMP3.VIBALARM, TAG_BOOL, 0 }, // INST_CTL.PUMP3.VIBALARM
{ (void*)&g_config.INST_CTL.PUMP3.SEALALARM, TAG_BOOL, 0 }, // INST_CTL.PUMP3.SEALALARM
{ (void*)&g_config.INST_CTL.PUMP3.SCAN_S, TAG_REAL, 0 }, // INST_CTL.PUMP3.SCAN_S
{ (void*)&g_config.INST_CTL.PUMP3.VIB_ALARM, TAG_REAL, 0 }, // INST_CTL.PUMP3.VIB_ALARM
{ (void*)&g_config.INST_CTL.PUMP3.VIB_TRIP, TAG_REAL, 0 }, // INST_CTL.PUMP3.VIB_TRIP
{ (void*)&g_config.INST_CTL.PUMP3.NOFLOW_KPA, TAG_REAL, 0 }, // INST_CTL.PUMP3.NOFLOW_KPA
{ (void*)&g_config.INST_CTL.PUMP3.MINRUNTMR.IN, TAG_BOOL, 0 }, // INST_CTL.PUMP3.MINRUNTMR.IN
{ (void*)&g_config.INST_CTL.PUMP3.MINRUNTMR.PT, TAG_TIME, 0 }, // INST_CTL.PUMP3.MINRUNTMR.PT
{ (void*)&g_config.INST_CTL.PUMP3.MINRUNTMR.Q, TAG_BOOL, 0 }, // INST_CTL.PUMP3.MINRUNTMR.Q
{ (void*)&g_config.INST_CTL.PUMP3.MINRUNTMR.ET, TAG_TIME, 0 }, // INST_CTL.PUMP3.MINRUNTMR.ET
{ (void*)&g_config.INST_CTL.PUMP3.MINOFFTMR.IN, TAG_BOOL, 0 }, // INST_CTL.PUMP3.MINOFFTMR.IN
{ (void*)&g_config.INST_CTL.PUMP3.MINOFFTMR.PT, TAG_TIME, 0 }, // INST_CTL.PUMP3.MINOFFTMR.PT
{ (void*)&g_config.INST_CTL.PUMP3.MINOFFTMR.Q, TAG_BOOL, 0 }, // INST_CTL.PUMP3.MINOFFTMR.Q
{ (void*)&g_config.INST_CTL.PUMP3.MINOFFTMR.ET, TAG_TIME, 0 }, // INST_CTL.PUMP3.MINOFFTMR.ET
{ (void*)&g_config.INST_CTL.PUMP3.NOFLOWTMR.IN, TAG_BOOL, 0 }, // INST_CTL.PUMP3.NOFLOWTMR.IN
{ (void*)&g_config.INST_CTL.PUMP3.NOFLOWTMR.PT, TAG_TIME, 0 }, // INST_CTL.PUMP3.NOFLOWTMR.PT
{ (void*)&g_config.INST_CTL.PUMP3.NOFLOWTMR.Q, TAG_BOOL, 0 }, // INST_CTL.PUMP3.NOFLOWTMR.Q
{ (void*)&g_config.INST_CTL.PUMP3.NOFLOWTMR.ET, TAG_TIME, 0 }, // INST_CTL.PUMP3.NOFLOWTMR.ET
{ (void*)&g_config.INST_CTL.PUMP3.HASRUN, TAG_BOOL, 0 }, // INST_CTL.PUMP3.HASRUN
{ (void*)&g_config.INST_CTL.PUMP3.STARTOK, TAG_BOOL, 0 }, // INST_CTL.PUMP3.STARTOK
{ (void*)&g_config.INST_CTL.DUTY.AVAILABLE[1], TAG_BOOL, 0 }, // INST_CTL.DUTY.AVAILABLE[1]
{ (void*)&g_config.INST_CTL.DUTY.AVAILABLE[2], TAG_BOOL, 0 }, // INST_CTL.DUTY.AVAILABLE[2]
{ (void*)&g_config.INST_CTL.DUTY.AVAILABLE[3], TAG_BOOL, 0 }, // INST_CTL.DUTY.AVAILABLE[3]
{ (void*)&g_config.INST_CTL.DUTY.RUNHOURS[1], TAG_REAL, 0 }, // INST_CTL.DUTY.RUNHOURS[1]
{ (void*)&g_config.INST_CTL.DUTY.RUNHOURS[2], TAG_REAL, 0 }, // INST_CTL.DUTY.RUNHOURS[2]
{ (void*)&g_config.INST_CTL.DUTY.RUNHOURS[3], TAG_REAL, 0 }, // INST_CTL.DUTY.RUNHOURS[3]
{ (void*)&g_config.INST_CTL.DUTY.SERVICEDUE[1], TAG_BOOL, 0 }, // INST_CTL.DUTY.SERVICEDUE[1]
{ (void*)&g_config.INST_CTL.DUTY.SERVICEDUE[2], TAG_BOOL, 0 }, // INST_CTL.DUTY.SERVICEDUE[2]
{ (void*)&g_config.INST_CTL.DUTY.SERVICEDUE[3], TAG_BOOL, 0 }, // INST_CTL.DUTY.SERVICEDUE[3]
{ (void*)&g_config.INST_CTL.DUTY.RUNNINGNOW[1], TAG_BOOL, 0 }, // INST_CTL.DUTY.RUNNINGNOW[1]
{ (void*)&g_config.INST_CTL.DUTY.RUNNINGNOW[2], TAG_BOOL, 0 }, // INST_CTL.DUTY.RUNNINGNOW[2]
{ (void*)&g_config.INST_CTL.DUTY.RUNNINGNOW[3], TAG_BOOL, 0 }, // INST_CTL.DUTY.RUNNINGNOW[3]
{ (void*)&g_config.INST_CTL.DUTY.PUMPSREQUIRED, TAG_INT, 0 }, // INST_CTL.DUTY.PUMPSREQUIRED
{ (void*)&g_config.INST_CTL.DUTY.RUNREQUEST[1], TAG_BOOL, 0 }, // INST_CTL.DUTY.RUNREQUEST[1]
{ (void*)&g_config.INST_CTL.DUTY.RUNREQUEST[2], TAG_BOOL, 0 }, // INST_CTL.DUTY.RUNREQUEST[2]
{ (void*)&g_config.INST_CTL.DUTY.RUNREQUEST[3], TAG_BOOL, 0 }, // INST_CTL.DUTY.RUNREQUEST[3]
{ (void*)&g_config.INST_CTL.DUTY.DUTYPUMP, TAG_INT, 0 }, // INST_CTL.DUTY.DUTYPUMP
{ (void*)&g_config.INST_CTL.DUTY.SERVICE_PENALTY, TAG_REAL, 0 }, // INST_CTL.DUTY.SERVICE_PENALTY
{ (void*)&g_config.INST_CTL.DUTY.RANK[1], TAG_INT, 0 }, // INST_CTL.DUTY.RANK[1]
{ (void*)&g_config.INST_CTL.DUTY.RANK[2], TAG_INT, 0 }, // INST_CTL.DUTY.RANK[2]
{ (void*)&g_config.INST_CTL.DUTY.RANK[3], TAG_INT, 0 }, // INST_CTL.DUTY.RANK[3]
{ (void*)&g_config.INST_CTL.DUTY.USED[1], TAG_BOOL, 0 }, // INST_CTL.DUTY.USED[1]
{ (void*)&g_config.INST_CTL.DUTY.USED[2], TAG_BOOL, 0 }, // INST_CTL.DUTY.USED[2]
{ (void*)&g_config.INST_CTL.DUTY.USED[3], TAG_BOOL, 0 }, // INST_CTL.DUTY.USED[3]
{ (void*)&g_config.INST_CTL.DUTY.SEL[1], TAG_BOOL, 0 }, // INST_CTL.DUTY.SEL[1]
{ (void*)&g_config.INST_CTL.DUTY.SEL[2], TAG_BOOL, 0 }, // INST_CTL.DUTY.SEL[2]
{ (void*)&g_config.INST_CTL.DUTY.SEL[3], TAG_BOOL, 0 }, // INST_CTL.DUTY.SEL[3]
{ (void*)&g_config.INST_CTL.DUTY.I, TAG_INT, 0 }, // INST_CTL.DUTY.I
{ (void*)&g_config.INST_CTL.DUTY.K, TAG_INT, 0 }, // INST_CTL.DUTY.K
{ (void*)&g_config.INST_CTL.DUTY.BEST, TAG_INT, 0 }, // INST_CTL.DUTY.BEST
{ (void*)&g_config.INST_CTL.DUTY.BESTKEY, TAG_REAL, 0 }, // INST_CTL.DUTY.BESTKEY
{ (void*)&g_config.INST_CTL.DUTY.KEY, TAG_REAL, 0 }, // INST_CTL.DUTY.KEY
{ (void*)&g_config.INST_CTL.DUTY.NRANKED, TAG_INT, 0 }, // INST_CTL.DUTY.NRANKED
{ (void*)&g_config.INST_CTL.DUTY.SLOTS, TAG_INT, 0 }, // INST_CTL.DUTY.SLOTS
{ (void*)&g_config.INST_CTL.DUTY.CNT, TAG_INT, 0 }, // INST_CTL.DUTY.CNT
{ (void*)&g_config.INST_CTL.LVLCTL.LEVEL, TAG_REAL, 0 }, // INST_CTL.LVLCTL.LEVEL
{ (void*)&g_config.INST_CTL.LVLCTL.SETPOINT, TAG_REAL, 0 }, // INST_CTL.LVLCTL.SETPOINT
{ (void*)&g_config.INST_CTL.LVLCTL.ENABLE, TAG_BOOL, 0 }, // INST_CTL.LVLCTL.ENABLE
{ (void*)&g_config.INST_CTL.LVLCTL.MINSPEED, TAG_REAL, 0 }, // INST_CTL.LVLCTL.MINSPEED
{ (void*)&g_config.INST_CTL.LVLCTL.MAXSPEED, TAG_REAL, 0 }, // INST_CTL.LVLCTL.MAXSPEED
{ (void*)&g_config.INST_CTL.LVLCTL.SPEED, TAG_REAL, 0 }, // INST_CTL.LVLCTL.SPEED
{ (void*)&g_config.INST_CTL.LVLCTL.SCAN_S, TAG_REAL, 0 }, // INST_CTL.LVLCTL.SCAN_S
{ (void*)&g_config.INST_CTL.LVLCTL.KP, TAG_REAL, 0 }, // INST_CTL.LVLCTL.KP
{ (void*)&g_config.INST_CTL.LVLCTL.TI, TAG_REAL, 0 }, // INST_CTL.LVLCTL.TI
{ (void*)&g_config.INST_CTL.LVLCTL.INTEG, TAG_REAL, 0 }, // INST_CTL.LVLCTL.INTEG
{ (void*)&g_config.INST_CTL.LVLCTL.ERR, TAG_REAL, 0 }, // INST_CTL.LVLCTL.ERR
{ (void*)&g_config.INST_CTL.LVLCTL.RAW, TAG_REAL, 0 }, // INST_CTL.LVLCTL.RAW
{ (void*)&g_config.INST_CTL.LVLCTL.INTEGRATE, TAG_BOOL, 0 }, // INST_CTL.LVLCTL.INTEGRATE
{ (void*)&g_config.INST_CTL.HEAD.LEVEL, TAG_REAL, 0 }, // INST_CTL.HEAD.LEVEL
{ (void*)&g_config.INST_CTL.HEAD.INFLOW, TAG_REAL, 0 }, // INST_CTL.HEAD.INFLOW
{ (void*)&g_config.INST_CTL.HEAD.TOTALDISCHARGE, TAG_REAL, 0 }, // INST_CTL.HEAD.TOTALDISCHARGE
{ (void*)&g_config.INST_CTL.HEAD.INFLOWFILT, TAG_REAL, 0 }, // INST_CTL.HEAD.INFLOWFILT
{ (void*)&g_config.INST_CTL.HEAD.NETINFLOW, TAG_REAL, 0 }, // INST_CTL.HEAD.NETINFLOW
{ (void*)&g_config.INST_CTL.HEAD.VOLTOSPILL, TAG_REAL, 0 }, // INST_CTL.HEAD.VOLTOSPILL
{ (void*)&g_config.INST_CTL.HEAD.VOLTOLSHH, TAG_REAL, 0 }, // INST_CTL.HEAD.VOLTOLSHH
{ (void*)&g_config.INST_CTL.HEAD.TIMETOSPILL, TAG_INT, 0 }, // INST_CTL.HEAD.TIMETOSPILL
{ (void*)&g_config.INST_CTL.HEAD.TIMETOLSHH, TAG_INT, 0 }, // INST_CTL.HEAD.TIMETOLSHH
{ (void*)&g_config.INST_CTL.HEAD.SCAN_S, TAG_REAL, 0 }, // INST_CTL.HEAD.SCAN_S
{ (void*)&g_config.INST_CTL.HEAD.TAU_S, TAG_REAL, 0 }, // INST_CTL.HEAD.TAU_S
{ (void*)&g_config.INST_CTL.HEAD.AREA_M2, TAG_REAL, 0 }, // INST_CTL.HEAD.AREA_M2
{ (void*)&g_config.INST_CTL.HEAD.SPILL_M, TAG_REAL, 0 }, // INST_CTL.HEAD.SPILL_M
{ (void*)&g_config.INST_CTL.HEAD.LSHH_M, TAG_REAL, 0 }, // INST_CTL.HEAD.LSHH_M
{ (void*)&g_config.INST_CTL.HEAD.MIN_NET, TAG_REAL, 0 }, // INST_CTL.HEAD.MIN_NET
{ (void*)&g_config.INST_CTL.HEAD.NO_TIME, TAG_INT, 0 }, // INST_CTL.HEAD.NO_TIME
{ (void*)&g_config.INST_CTL.HEAD.MAX_TIME, TAG_REAL, 0 }, // INST_CTL.HEAD.MAX_TIME
{ (void*)&g_config.INST_CTL.HEAD.PRIMED, TAG_BOOL, 0 }, // INST_CTL.HEAD.PRIMED
{ (void*)&g_config.INST_CTL.HEAD.T, TAG_REAL, 0 }, // INST_CTL.HEAD.T
{ (void*)&g_config.INST_CTL.V_MODE, TAG_INT, 0 }, // INST_CTL.V_MODE
{ (void*)&g_config.INST_CTL.V_SPLEVEL, TAG_INT, 0 }, // INST_CTL.V_SPLEVEL
{ (void*)&g_config.INST_CTL.V_STARTDUTY, TAG_INT, 0 }, // INST_CTL.V_STARTDUTY
{ (void*)&g_config.INST_CTL.V_STARTP2, TAG_INT, 0 }, // INST_CTL.V_STARTP2
{ (void*)&g_config.INST_CTL.V_STARTP3, TAG_INT, 0 }, // INST_CTL.V_STARTP3
{ (void*)&g_config.INST_CTL.V_STOPALL, TAG_INT, 0 }, // INST_CTL.V_STOPALL
{ (void*)&g_config.INST_CTL.V_HIGHALARM, TAG_INT, 0 }, // INST_CTL.V_HIGHALARM
{ (void*)&g_config.INST_CTL.V_MINSPEED, TAG_INT, 0 }, // INST_CTL.V_MINSPEED
{ (void*)&g_config.INST_CTL.V_SERVICEHRS, TAG_INT, 0 }, // INST_CTL.V_SERVICEHRS
{ (void*)&g_config.INST_CTL.SPREJECTED, TAG_BOOL, 0 }, // INST_CTL.SPREJECTED
{ (void*)&g_config.INST_CTL.SPOK, TAG_BOOL, 0 }, // INST_CTL.SPOK
{ (void*)&g_config.INST_CTL.CMDBUSY, TAG_BOOL, 0 }, // INST_CTL.CMDBUSY
{ (void*)&g_config.INST_CTL.RESETTRIP[1], TAG_BOOL, 0 }, // INST_CTL.RESETTRIP[1]
{ (void*)&g_config.INST_CTL.RESETTRIP[2], TAG_BOOL, 0 }, // INST_CTL.RESETTRIP[2]
{ (void*)&g_config.INST_CTL.RESETTRIP[3], TAG_BOOL, 0 }, // INST_CTL.RESETTRIP[3]
{ (void*)&g_config.INST_CTL.RESETHOURS[1], TAG_BOOL, 0 }, // INST_CTL.RESETHOURS[1]
{ (void*)&g_config.INST_CTL.RESETHOURS[2], TAG_BOOL, 0 }, // INST_CTL.RESETHOURS[2]
{ (void*)&g_config.INST_CTL.RESETHOURS[3], TAG_BOOL, 0 }, // INST_CTL.RESETHOURS[3]
{ (void*)&g_config.INST_CTL.LOCKOUT[1], TAG_BOOL, 0 }, // INST_CTL.LOCKOUT[1]
{ (void*)&g_config.INST_CTL.LOCKOUT[2], TAG_BOOL, 0 }, // INST_CTL.LOCKOUT[2]
{ (void*)&g_config.INST_CTL.LOCKOUT[3], TAG_BOOL, 0 }, // INST_CTL.LOCKOUT[3]
{ (void*)&g_config.INST_CTL.ACKALARMS, TAG_BOOL, 0 }, // INST_CTL.ACKALARMS
{ (void*)&g_config.INST_CTL.P, TAG_INT, 0 }, // INST_CTL.P
{ (void*)&g_config.INST_CTL.PUMPSREQUIRED, TAG_INT, 0 }, // INST_CTL.PUMPSREQUIRED
{ (void*)&g_config.INST_CTL.PUMPSALLOWED, TAG_INT, 0 }, // INST_CTL.PUMPSALLOWED
{ (void*)&g_config.INST_CTL.STAGGERTMR.IN, TAG_BOOL, 0 }, // INST_CTL.STAGGERTMR.IN
{ (void*)&g_config.INST_CTL.STAGGERTMR.PT, TAG_TIME, 0 }, // INST_CTL.STAGGERTMR.PT
{ (void*)&g_config.INST_CTL.STAGGERTMR.Q, TAG_BOOL, 0 }, // INST_CTL.STAGGERTMR.Q
{ (void*)&g_config.INST_CTL.STAGGERTMR.ET, TAG_TIME, 0 }, // INST_CTL.STAGGERTMR.ET
{ (void*)&g_config.INST_CTL.STAGGERARM, TAG_BOOL, 0 }, // INST_CTL.STAGGERARM
{ (void*)&g_config.INST_CTL.DRYRUN, TAG_BOOL, 0 }, // INST_CTL.DRYRUN
{ (void*)&g_config.INST_CTL.DRYLOCKOUT, TAG_BOOL, 0 }, // INST_CTL.DRYLOCKOUT
{ (void*)&g_config.INST_CTL.LEVELRANGEFAULT, TAG_BOOL, 0 }, // INST_CTL.LEVELRANGEFAULT
{ (void*)&g_config.INST_CTL.LEVELFROZEN, TAG_BOOL, 0 }, // INST_CTL.LEVELFROZEN
{ (void*)&g_config.INST_CTL.LEVELFAULT, TAG_BOOL, 0 }, // INST_CTL.LEVELFAULT
{ (void*)&g_config.INST_CTL.LEVELREF, TAG_INT, 0 }, // INST_CTL.LEVELREF
{ (void*)&g_config.INST_CTL.LEVELMOVED, TAG_BOOL, 0 }, // INST_CTL.LEVELMOVED
{ (void*)&g_config.INST_CTL.FROZENTMR.IN, TAG_BOOL, 0 }, // INST_CTL.FROZENTMR.IN
{ (void*)&g_config.INST_CTL.FROZENTMR.PT, TAG_TIME, 0 }, // INST_CTL.FROZENTMR.PT
{ (void*)&g_config.INST_CTL.FROZENTMR.Q, TAG_BOOL, 0 }, // INST_CTL.FROZENTMR.Q
{ (void*)&g_config.INST_CTL.FROZENTMR.ET, TAG_TIME, 0 }, // INST_CTL.FROZENTMR.ET
{ (void*)&g_config.INST_CTL.ANYRUNNING, TAG_BOOL, 0 }, // INST_CTL.ANYRUNNING
{ (void*)&g_config.INST_CTL.AVAIL[1], TAG_BOOL, 0 }, // INST_CTL.AVAIL[1]
{ (void*)&g_config.INST_CTL.AVAIL[2], TAG_BOOL, 0 }, // INST_CTL.AVAIL[2]
{ (void*)&g_config.INST_CTL.AVAIL[3], TAG_BOOL, 0 }, // INST_CTL.AVAIL[3]
{ (void*)&g_config.INST_CTL.HOURS[1], TAG_REAL, 0 }, // INST_CTL.HOURS[1]
{ (void*)&g_config.INST_CTL.HOURS[2], TAG_REAL, 0 }, // INST_CTL.HOURS[2]
{ (void*)&g_config.INST_CTL.HOURS[3], TAG_REAL, 0 }, // INST_CTL.HOURS[3]
{ (void*)&g_config.INST_CTL.SVCDUE[1], TAG_BOOL, 0 }, // INST_CTL.SVCDUE[1]
{ (void*)&g_config.INST_CTL.SVCDUE[2], TAG_BOOL, 0 }, // INST_CTL.SVCDUE[2]
{ (void*)&g_config.INST_CTL.SVCDUE[3], TAG_BOOL, 0 }, // INST_CTL.SVCDUE[3]
{ (void*)&g_config.INST_CTL.RUNNOW[1], TAG_BOOL, 0 }, // INST_CTL.RUNNOW[1]
{ (void*)&g_config.INST_CTL.RUNNOW[2], TAG_BOOL, 0 }, // INST_CTL.RUNNOW[2]
{ (void*)&g_config.INST_CTL.RUNNOW[3], TAG_BOOL, 0 }, // INST_CTL.RUNNOW[3]
{ (void*)&g_config.INST_CTL.REQ[1], TAG_BOOL, 0 }, // INST_CTL.REQ[1]
{ (void*)&g_config.INST_CTL.REQ[2], TAG_BOOL, 0 }, // INST_CTL.REQ[2]
{ (void*)&g_config.INST_CTL.REQ[3], TAG_BOOL, 0 }, // INST_CTL.REQ[3]
{ (void*)&g_config.INST_CTL.SPEED, TAG_REAL, 0 }, // INST_CTL.SPEED
{ (void*)&g_config.INST_CTL.MINSPEEDHZ, TAG_REAL, 0 }, // INST_CTL.MINSPEEDHZ
{ (void*)&g_config.INST_CTL.SPLEVEL_M, TAG_REAL, 0 }, // INST_CTL.SPLEVEL_M
{ (void*)&g_config.INST_CTL.HIGHLEVEL, TAG_BOOL, 0 }, // INST_CTL.HIGHLEVEL
{ (void*)&g_config.INST_CTL.PUMPSRUN, TAG_INT, 0 }, // INST_CTL.PUMPSRUN
{ (void*)&g_config.INST_CTL.ALARM, TAG_DINT, 0 }, // INST_CTL.ALARM
{ (void*)&g_config.INST_CTL.I, TAG_INT, 0 }, // INST_CTL.I
{ (void*)&g_config.INST_CTL.R, TAG_REAL, 0 }, // INST_CTL.R
{ (void*)&g_config.INST_CTL.PRIMED, TAG_BOOL, 0 }, // INST_CTL.PRIMED
};
const Entry* const debug_arrays[4] STRUCPP_DEBUG_FLASH = {
debug_arr_0,
debug_arr_1,
debug_arr_2,
debug_arr_3,
};
const uint16_t debug_array_counts[4] STRUCPP_DEBUG_FLASH = {
177,
46,
1,
251,
};
const uint8_t debug_array_count = 4;
} } // namespace strucpp::debug