#include"TcPch.h"
#pragma hdrstop
#include"IoHeater.h"
#include"DEVICE.h"
#include"debug.h"
IoHeater::IoHeater(const char* className,const char* name,const char* module):BaseDevice(className, name, module){
}
//AUTOIO_BEGIN
IoHeater* _initHeaterSUB_0(){
	static IoHeater staticHeaterSUB("IoHeater","HeaterSUB",MODULE_NAME);
	IoHeater::poHeaterSUB=&staticHeaterSUB;
	IoHeater* dev=&staticHeaterSUB;
	strcpy(dev->id,"HeaterSUB");
	strcpy(dev->display,"SUB");
	strcpy(dev->schematicId,"HeaterSUB");
	strcpy(dev->unit,"");
	strcpy(dev->installzone,"Zone1");
	dev->diCascadePVSBrk.create("diCascadePVSBrk");
	dev->diHeaterPVSBrk.create("diHeaterPVSBrk");
	dev->diEnableOutput.create("diEnableOutput");
	dev->doEnableIn.create("doEnableIn");
	dev->doAutoManual.create("doAutoManual");
	return dev;
}
IoHeater* _initHeaterSUB_1(IoHeater *dev){
	dev->doMainPVSelect.create("doMainPVSelect");
	dev->doCascadeMode.create("doCascadeMode");
	dev->aiCascadePVSBrk.create("aiCascadePVSBrk",&AI->SUB_OT_SBrkOut,"AI.SUB_OT_SBrkOut",TRUE);
	dev->aiHeaterPVSBrk.create("aiHeaterPVSBrk",&AI->SUB_HeaterTC_SBrkOut,"AI.SUB_HeaterTC_SBrkOut",TRUE);
	dev->aiEnableOutput.create("aiEnableOutput",&AI->SUB_Enable_State,"AI.SUB_Enable_State",TRUE);
	dev->aoEnableIn.create("aoEnableIn",&AO->SUB_Enable_Out,"AO.SUB_Enable_Out",FALSE);
	dev->aoAutoManual.create("aoAutoManual",&AO->SUB_Control_Mode,"AO.SUB_Control_Mode",FALSE);
	dev->aoMainPVSelect.create("aoMainPVSelect");
	dev->aiMainPVSelect.create("aiMainPVSelect");
	dev->aoCascadeMode.create("aoCascadeMode");
	return dev;
}
IoHeater* _initHeaterSUB_2(IoHeater *dev){
	dev->aiCascadePV.create("aiCascadePV");
	dev->aiHeaterPV.create("aiHeaterPV",&AI->SUB_HeaterTC,"AI.SUB_HeaterTC",TRUE);
	dev->aiWorkingOutput.create("aiWorkingOutput",&AI->SUB_Working_output,"AI.SUB_Working_output",TRUE);
	dev->aiOverTemp.create("aiOverTemp",&AI->SUB_OT,"AI.SUB_OT",TRUE);
	dev->aiManualOP.create("aiManualOP");
	dev->aiOffset.create("aiOffset");
	dev->aiWorkingSp.create("aiWorkingSp",&AI->SUB_WorkingSP,"AI.SUB_WorkingSP",TRUE);
	dev->aiCascadeControlModeSetPoint.create("aiCascadeControlModeSetPoint",&AI->SUB_SP,"AI.SUB_SP",TRUE);
	dev->aoCascadeControlModeSetPoint.create("aoCascadeControlModeSetPoint",&AO->SUB_SP,"AO.SUB_SP",FALSE);
	dev->aoHeaterControlModeSetPoint.create("aoHeaterControlModeSetPoint");
	return dev;
}
IoHeater* _initHeaterSUB_3(IoHeater *dev){
	dev->aiHeaterControlModeSetPoint.create("aiHeaterControlModeSetPoint");
	dev->aoUpRate.create("aoUpRate",&AO->SUB_Up_Rate,"AO.SUB_Up_Rate",FALSE);
	dev->aiUpRate.create("aiUpRate",&AI->SUB_Up_Rate,"AI.SUB_Up_Rate",TRUE);
	dev->aoDownRate.create("aoDownRate",&AO->SUB_Down_Rate,"AO.SUB_Down_Rate",FALSE);
	dev->aiDownRate.create("aiDownRate",&AI->SUB_Down_Rate,"AI.SUB_Down_Rate",TRUE);
	dev->aoOffset.create("aoOffset",&AO->SUB_Offset,"AO.SUB_Offset",FALSE);
	dev->aoCascadePID_P.create("aoCascadePID_P");
	dev->aoCascadePID_I.create("aoCascadePID_I");
	dev->aoCascadePID_D.create("aoCascadePID_D");
	dev->aoHeaterPID_P.create("aoHeaterPID_P",&AO->SUB_PID_P,"AO.SUB_PID_P",FALSE);
	return dev;
}
IoHeater* _initHeaterSUB_4(IoHeater *dev){
	dev->aoHeaterPID_I.create("aoHeaterPID_I",&AO->SUB_PID_I,"AO.SUB_PID_I",FALSE);
	dev->aoHeaterPID_D.create("aoHeaterPID_D",&AO->SUB_PID_D,"AO.SUB_PID_D",FALSE);
	dev->aiHeaterPID_P.create("aiHeaterPID_P",&AI->SUB_PID_P,"AI.SUB_PID_P",TRUE);
	dev->aiHeaterPID_I.create("aiHeaterPID_I",&AI->SUB_PID_I,"AI.SUB_PID_I",TRUE);
	dev->aiHeaterPID_D.create("aiHeaterPID_D",&AI->SUB_PID_D,"AI.SUB_PID_D",TRUE);
	strcpy(dev->aioType,"float");
	strcpy(dev->scRoot,"PM1.Heater");
	return dev;
}
IoHeater* _initHeaterU_0(){
	static IoHeater staticHeaterU("IoHeater","HeaterU",MODULE_NAME);
	IoHeater::poHeaterU=&staticHeaterU;
	IoHeater* dev=&staticHeaterU;
	strcpy(dev->id,"HeaterU");
	strcpy(dev->display,"U");
	strcpy(dev->schematicId,"HeaterU");
	strcpy(dev->unit,"");
	strcpy(dev->installzone,"Zone2");
	dev->diCascadePVSBrk.create("diCascadePVSBrk");
	dev->diHeaterPVSBrk.create("diHeaterPVSBrk");
	dev->diEnableOutput.create("diEnableOutput");
	dev->doEnableIn.create("doEnableIn");
	dev->doAutoManual.create("doAutoManual");
	return dev;
}
IoHeater* _initHeaterU_1(IoHeater *dev){
	dev->doMainPVSelect.create("doMainPVSelect");
	dev->doCascadeMode.create("doCascadeMode");
	dev->aiCascadePVSBrk.create("aiCascadePVSBrk",&AI->U_OT_SBrkOut,"AI.U_OT_SBrkOut",TRUE);
	dev->aiHeaterPVSBrk.create("aiHeaterPVSBrk",&AI->U_HeaterTC_SBrkOut,"AI.U_HeaterTC_SBrkOut",TRUE);
	dev->aiCascadeTCSBrk.create("aiCascadeTCSBrk",&AI->U_CascadeTC_SBrkOut,"AI.U_CascadeTC_SBrkOut",TRUE);
	dev->aiEnableOutput.create("aiEnableOutput",&AI->U_Enable_State,"AI.U_Enable_State",TRUE);
	dev->aoEnableIn.create("aoEnableIn",&AO->U_Enable_Out,"AO.U_Enable_Out",FALSE);
	dev->aoAutoManual.create("aoAutoManual",&AO->U_Control_Mode,"AO.U_Control_Mode",FALSE);
	dev->aoMainPVSelect.create("aoMainPVSelect",&AO->U_Main_TC_Select,"AO.U_Main_TC_Select",FALSE);
	dev->aiMainPVSelect.create("aiMainPVSelect",&AI->U_Main_TC_Select,"AI.U_Main_TC_Select",TRUE);
	return dev;
}
IoHeater* _initHeaterU_2(IoHeater *dev){
	dev->aoCascadeMode.create("aoCascadeMode",&AO->U_Cascade_Mode_Selection,"AO.U_Cascade_Mode_Selection",FALSE);
	dev->aiCascadeMode.create("aiCascadeMode",&AI->U_Cascade_Mode_Selection,"AI.U_Cascade_Mode_Selection",TRUE);
	dev->aiCascadePV.create("aiCascadePV",&AI->U_CascadeTC,"AI.U_CascadeTC",TRUE);
	dev->aiHeaterPV.create("aiHeaterPV",&AI->U_HeaterTC,"AI.U_HeaterTC",TRUE);
	dev->aiWorkingOutput.create("aiWorkingOutput",&AI->U_Working_output,"AI.U_Working_output",TRUE);
	dev->aiOverTemp.create("aiOverTemp",&AI->U_OT,"AI.U_OT",TRUE);
	dev->aiManualOP.create("aiManualOP");
	dev->aiOffset.create("aiOffset",&AI->U_Open_Offset,"AI.U_Open_Offset",TRUE);
	dev->aiWorkingSp.create("aiWorkingSp",&AI->U_WorkingSP,"AI.U_WorkingSP",TRUE);
	dev->aiCascadeControlModeSetPoint.create("aiCascadeControlModeSetPoint",&AI->U_SP,"AI.U_SP",TRUE);
	return dev;
}
IoHeater* _initHeaterU_3(IoHeater *dev){
	dev->aoCascadeControlModeSetPoint.create("aoCascadeControlModeSetPoint",&AO->U_SP,"AO.U_SP",FALSE);
	dev->aoHeaterControlModeSetPoint.create("aoHeaterControlModeSetPoint",&AO->U_Secondary_SP,"AO.U_Secondary_SP",FALSE);
	dev->aiHeaterControlModeSetPoint.create("aiHeaterControlModeSetPoint",&AI->U_Secondary_SP,"AI.U_Secondary_SP",TRUE);
	dev->aoUpRate.create("aoUpRate",&AO->U_Up_Rate,"AO.U_Up_Rate",FALSE);
	dev->aiUpRate.create("aiUpRate",&AI->U_Up_Rate,"AI.U_Up_Rate",TRUE);
	dev->aoDownRate.create("aoDownRate",&AO->U_Down_Rate,"AO.U_Down_Rate",FALSE);
	dev->aiDownRate.create("aiDownRate",&AI->U_Down_Rate,"AI.U_Down_Rate",TRUE);
	dev->aoOffset.create("aoOffset",&AO->U_Offset,"AO.U_Offset",FALSE);
	dev->aoCascadePID_P.create("aoCascadePID_P",&AO->U_Primary_PID_P,"AO.U_Primary_PID_P",FALSE);
	dev->aoCascadePID_I.create("aoCascadePID_I",&AO->U_Primary_PID_I,"AO.U_Primary_PID_I",FALSE);
	return dev;
}
IoHeater* _initHeaterU_4(IoHeater *dev){
	dev->aoCascadePID_D.create("aoCascadePID_D",&AO->U_Primary_PID_D,"AO.U_Primary_PID_D",FALSE);
	dev->aoHeaterPID_P.create("aoHeaterPID_P",&AO->U_PID_P,"AO.U_PID_P",FALSE);
	dev->aoHeaterPID_I.create("aoHeaterPID_I",&AO->U_PID_I,"AO.U_PID_I",FALSE);
	dev->aoHeaterPID_D.create("aoHeaterPID_D",&AO->U_PID_D,"AO.U_PID_D",FALSE);
	dev->aiCascadePID_P.create("aiCascadePID_P",&AI->U_Primary_PID_P,"AI.U_Primary_PID_P",TRUE);
	dev->aiCascadePID_I.create("aiCascadePID_I",&AI->U_Primary_PID_I,"AI.U_Primary_PID_I",TRUE);
	dev->aiCascadePID_D.create("aiCascadePID_D",&AI->U_Primary_PID_D,"AI.U_Primary_PID_D",TRUE);
	dev->aiHeaterPID_P.create("aiHeaterPID_P",&AI->U_PID_P,"AI.U_PID_P",TRUE);
	dev->aiHeaterPID_I.create("aiHeaterPID_I",&AI->U_PID_I,"AI.U_PID_I",TRUE);
	dev->aiHeaterPID_D.create("aiHeaterPID_D",&AI->U_PID_D,"AI.U_PID_D",TRUE);
	return dev;
}
IoHeater* _initHeaterU_5(IoHeater *dev){
	strcpy(dev->aioType,"float");
	strcpy(dev->scRoot,"PM1.Heater");
	return dev;
}
IoHeater* _initHeaterCU_0(){
	static IoHeater staticHeaterCU("IoHeater","HeaterCU",MODULE_NAME);
	IoHeater::poHeaterCU=&staticHeaterCU;
	IoHeater* dev=&staticHeaterCU;
	strcpy(dev->id,"HeaterCU");
	strcpy(dev->display,"CU");
	strcpy(dev->schematicId,"HeaterCU");
	strcpy(dev->unit,"");
	strcpy(dev->installzone,"Zone3");
	dev->diCascadePVSBrk.create("diCascadePVSBrk");
	dev->diHeaterPVSBrk.create("diHeaterPVSBrk");
	dev->diEnableOutput.create("diEnableOutput");
	dev->doEnableIn.create("doEnableIn");
	dev->doAutoManual.create("doAutoManual");
	return dev;
}
IoHeater* _initHeaterCU_1(IoHeater *dev){
	dev->doMainPVSelect.create("doMainPVSelect");
	dev->doCascadeMode.create("doCascadeMode");
	dev->aiCascadeTCSBrk.create("aiCascadeTCSBrk",&AI->CU_CascadeTC_SBrkOut,"AI.CU_CascadeTC_SBrkOut",TRUE);
	dev->aiCascadePVSBrk.create("aiCascadePVSBrk",&AI->CU_OT_SBrkOut,"AI.CU_OT_SBrkOut",TRUE);
	dev->aiHeaterPVSBrk.create("aiHeaterPVSBrk",&AI->CU_HeaterTC_SBrkOut,"AI.CU_HeaterTC_SBrkOut",TRUE);
	dev->aiEnableOutput.create("aiEnableOutput",&AI->CU_Enable_State,"AI.CU_Enable_State",TRUE);
	dev->aoEnableIn.create("aoEnableIn",&AO->CU_Enable_Out,"AO.CU_Enable_Out",FALSE);
	dev->aoAutoManual.create("aoAutoManual",&AO->CU_Control_Mode,"AO.CU_Control_Mode",FALSE);
	dev->aoMainPVSelect.create("aoMainPVSelect",&AO->CU_Main_TC_Select,"AO.CU_Main_TC_Select",FALSE);
	dev->aiMainPVSelect.create("aiMainPVSelect",&AI->CU_Main_TC_Select,"AI.CU_Main_TC_Select",TRUE);
	return dev;
}
IoHeater* _initHeaterCU_2(IoHeater *dev){
	dev->aoCascadeMode.create("aoCascadeMode",&AO->CU_Cascade_Mode_Selection,"AO.CU_Cascade_Mode_Selection",FALSE);
	dev->aiCascadeMode.create("aiCascadeMode",&AI->CU_Cascade_Mode_Selection,"AI.CU_Cascade_Mode_Selection",TRUE);
	dev->aiCascadePV.create("aiCascadePV",&AI->CU_CascadeTC,"AI.CU_CascadeTC",TRUE);
	dev->aiHeaterPV.create("aiHeaterPV",&AI->CU_HeaterTC,"AI.CU_HeaterTC",TRUE);
	dev->aiWorkingOutput.create("aiWorkingOutput",&AI->CU_Working_output,"AI.CU_Working_output",TRUE);
	dev->aiOverTemp.create("aiOverTemp",&AI->CU_OT,"AI.CU_OT",TRUE);
	dev->aiManualOP.create("aiManualOP");
	dev->aiOffset.create("aiOffset",&AI->CU_Open_Offset,"AI.CU_Open_Offset",TRUE);
	dev->aiWorkingSp.create("aiWorkingSp",&AI->CU_WorkingSP,"AI.CU_WorkingSP",TRUE);
	dev->aiCascadeControlModeSetPoint.create("aiCascadeControlModeSetPoint",&AI->CU_SP,"AI.CU_SP",TRUE);
	return dev;
}
IoHeater* _initHeaterCU_3(IoHeater *dev){
	dev->aoCascadeControlModeSetPoint.create("aoCascadeControlModeSetPoint",&AO->CU_SP,"AO.CU_SP",FALSE);
	dev->aoHeaterControlModeSetPoint.create("aoHeaterControlModeSetPoint",&AO->CU_Secondary_SP,"AO.CU_Secondary_SP",FALSE);
	dev->aiHeaterControlModeSetPoint.create("aiHeaterControlModeSetPoint",&AI->CU_Secondary_SP,"AI.CU_Secondary_SP",TRUE);
	dev->aoUpRate.create("aoUpRate",&AO->CU_Up_Rate,"AO.CU_Up_Rate",FALSE);
	dev->aiUpRate.create("aiUpRate",&AI->CU_Up_Rate,"AI.CU_Up_Rate",TRUE);
	dev->aoDownRate.create("aoDownRate",&AO->CU_Down_Rate,"AO.CU_Down_Rate",FALSE);
	dev->aiDownRate.create("aiDownRate",&AI->CU_Down_Rate,"AI.CU_Down_Rate",TRUE);
	dev->aoOffset.create("aoOffset",&AO->CU_Offset,"AO.CU_Offset",FALSE);
	dev->aoCascadePID_P.create("aoCascadePID_P",&AO->CU_Primary_PID_P,"AO.CU_Primary_PID_P",FALSE);
	dev->aoCascadePID_I.create("aoCascadePID_I",&AO->CU_Primary_PID_I,"AO.CU_Primary_PID_I",FALSE);
	return dev;
}
IoHeater* _initHeaterCU_4(IoHeater *dev){
	dev->aoCascadePID_D.create("aoCascadePID_D",&AO->CU_Primary_PID_D,"AO.CU_Primary_PID_D",FALSE);
	dev->aoHeaterPID_P.create("aoHeaterPID_P",&AO->CU_PID_P,"AO.CU_PID_P",FALSE);
	dev->aoHeaterPID_I.create("aoHeaterPID_I",&AO->CU_PID_I,"AO.CU_PID_I",FALSE);
	dev->aoHeaterPID_D.create("aoHeaterPID_D",&AO->CU_PID_D,"AO.CU_PID_D",FALSE);
	dev->aiCascadePID_P.create("aiCascadePID_P",&AI->CU_Primary_PID_P,"AI.CU_Primary_PID_P",TRUE);
	dev->aiCascadePID_I.create("aiCascadePID_I",&AI->CU_Primary_PID_I,"AI.CU_Primary_PID_I",TRUE);
	dev->aiCascadePID_D.create("aiCascadePID_D",&AI->CU_Primary_PID_D,"AI.CU_Primary_PID_D",TRUE);
	dev->aiHeaterPID_P.create("aiHeaterPID_P",&AI->CU_PID_P,"AI.CU_PID_P",TRUE);
	dev->aiHeaterPID_I.create("aiHeaterPID_I",&AI->CU_PID_I,"AI.CU_PID_I",TRUE);
	dev->aiHeaterPID_D.create("aiHeaterPID_D",&AI->CU_PID_D,"AI.CU_PID_D",TRUE);
	return dev;
}
IoHeater* _initHeaterCU_5(IoHeater *dev){
	strcpy(dev->aioType,"float");
	strcpy(dev->scRoot,"PM1.Heater");
	return dev;
}
IoHeater* _initHeaterC_0(){
	static IoHeater staticHeaterC("IoHeater","HeaterC",MODULE_NAME);
	IoHeater::poHeaterC=&staticHeaterC;
	IoHeater* dev=&staticHeaterC;
	strcpy(dev->id,"HeaterC");
	strcpy(dev->display,"C");
	strcpy(dev->schematicId,"HeaterC");
	strcpy(dev->unit,"");
	strcpy(dev->installzone,"Zone4");
	dev->diCascadePVSBrk.create("diCascadePVSBrk");
	dev->diHeaterPVSBrk.create("diHeaterPVSBrk");
	dev->diEnableOutput.create("diEnableOutput");
	dev->doEnableIn.create("doEnableIn");
	dev->doAutoManual.create("doAutoManual");
	return dev;
}
IoHeater* _initHeaterC_1(IoHeater *dev){
	dev->doMainPVSelect.create("doMainPVSelect");
	dev->doCascadeMode.create("doCascadeMode");
	dev->aiCascadeTCSBrk.create("aiCascadeTCSBrk",&AI->C_CascadeTC_SBrkOut,"AI.C_CascadeTC_SBrkOut",TRUE);
	dev->aiCascadePVSBrk.create("aiCascadePVSBrk",&AI->C_OT_SBrkOut,"AI.C_OT_SBrkOut",TRUE);
	dev->aiHeaterPVSBrk.create("aiHeaterPVSBrk",&AI->C_HeaterTC_SBrkOut,"AI.C_HeaterTC_SBrkOut",TRUE);
	dev->aiEnableOutput.create("aiEnableOutput",&AI->C_Enable_State,"AI.C_Enable_State",TRUE);
	dev->aoEnableIn.create("aoEnableIn",&AO->C_Enable_Out,"AO.C_Enable_Out",FALSE);
	dev->aoAutoManual.create("aoAutoManual",&AO->C_Control_Mode,"AO.C_Control_Mode",FALSE);
	dev->aoMainPVSelect.create("aoMainPVSelect",&AO->C_Main_TC_Select,"AO.C_Main_TC_Select",FALSE);
	dev->aiMainPVSelect.create("aiMainPVSelect",&AI->C_Main_TC_Select,"AI.C_Main_TC_Select",TRUE);
	return dev;
}
IoHeater* _initHeaterC_2(IoHeater *dev){
	dev->aoCascadeMode.create("aoCascadeMode",&AO->C_Cascade_Mode_Selection,"AO.C_Cascade_Mode_Selection",FALSE);
	dev->aiCascadeMode.create("aiCascadeMode",&AI->C_Cascade_Mode_Selection,"AI.C_Cascade_Mode_Selection",TRUE);
	dev->aiCascadePV.create("aiCascadePV",&AI->C_CascadeTC,"AI.C_CascadeTC",TRUE);
	dev->aiHeaterPV.create("aiHeaterPV",&AI->C_HeaterTC,"AI.C_HeaterTC",TRUE);
	dev->aiWorkingOutput.create("aiWorkingOutput",&AI->C_Working_output,"AI.C_Working_output",TRUE);
	dev->aiOverTemp.create("aiOverTemp",&AI->C_OT,"AI.C_OT",TRUE);
	dev->aiManualOP.create("aiManualOP");
	dev->aiCascadeControlModeSetPoint.create("aiCascadeControlModeSetPoint",&AI->C_SP,"AI.C_SP",TRUE);
	dev->aiOffset.create("aiOffset",&AI->C_Open_Offset,"AI.C_Open_Offset",TRUE);
	dev->aiWorkingSp.create("aiWorkingSp",&AI->C_WorkingSP,"AI.C_WorkingSP",TRUE);
	return dev;
}
IoHeater* _initHeaterC_3(IoHeater *dev){
	dev->aoCascadeControlModeSetPoint.create("aoCascadeControlModeSetPoint",&AO->C_SP,"AO.C_SP",FALSE);
	dev->aoHeaterControlModeSetPoint.create("aoHeaterControlModeSetPoint",&AO->C_Secondary_SP,"AO.C_Secondary_SP",FALSE);
	dev->aiHeaterControlModeSetPoint.create("aiHeaterControlModeSetPoint",&AI->C_Secondary_SP,"AI.C_Secondary_SP",TRUE);
	dev->aoUpRate.create("aoUpRate",&AO->C_Up_Rate,"AO.C_Up_Rate",FALSE);
	dev->aiUpRate.create("aiUpRate",&AI->C_Up_Rate,"AI.C_Up_Rate",TRUE);
	dev->aoDownRate.create("aoDownRate",&AO->C_Down_Rate,"AO.C_Down_Rate",FALSE);
	dev->aiDownRate.create("aiDownRate",&AI->C_Down_Rate,"AI.C_Down_Rate",TRUE);
	dev->aoOffset.create("aoOffset",&AO->C_Offset,"AO.C_Offset",FALSE);
	dev->aoCascadePID_P.create("aoCascadePID_P",&AO->C_Primary_PID_P,"AO.C_Primary_PID_P",FALSE);
	dev->aoCascadePID_I.create("aoCascadePID_I",&AO->C_Primary_PID_I,"AO.C_Primary_PID_I",FALSE);
	return dev;
}
IoHeater* _initHeaterC_4(IoHeater *dev){
	dev->aoCascadePID_D.create("aoCascadePID_D",&AO->C_Primary_PID_D,"AO.C_Primary_PID_D",FALSE);
	dev->aoHeaterPID_P.create("aoHeaterPID_P",&AO->C_PID_P,"AO.C_PID_P",FALSE);
	dev->aoHeaterPID_I.create("aoHeaterPID_I",&AO->C_PID_I,"AO.C_PID_I",FALSE);
	dev->aoHeaterPID_D.create("aoHeaterPID_D",&AO->C_PID_D,"AO.C_PID_D",FALSE);
	dev->aiCascadePID_P.create("aiCascadePID_P",&AI->C_Primary_PID_P,"AI.C_Primary_PID_P",TRUE);
	dev->aiCascadePID_I.create("aiCascadePID_I",&AI->C_Primary_PID_I,"AI.C_Primary_PID_I",TRUE);
	dev->aiCascadePID_D.create("aiCascadePID_D",&AI->C_Primary_PID_D,"AI.C_Primary_PID_D",TRUE);
	dev->aiHeaterPID_P.create("aiHeaterPID_P",&AI->C_PID_P,"AI.C_PID_P",TRUE);
	dev->aiHeaterPID_I.create("aiHeaterPID_I",&AI->C_PID_I,"AI.C_PID_I",TRUE);
	dev->aiHeaterPID_D.create("aiHeaterPID_D",&AI->C_PID_D,"AI.C_PID_D",TRUE);
	return dev;
}
IoHeater* _initHeaterC_5(IoHeater *dev){
	strcpy(dev->aioType,"float");
	strcpy(dev->scRoot,"PM1.Heater");
	return dev;
}
IoHeater* _initHeaterCL_0(){
	static IoHeater staticHeaterCL("IoHeater","HeaterCL",MODULE_NAME);
	IoHeater::poHeaterCL=&staticHeaterCL;
	IoHeater* dev=&staticHeaterCL;
	strcpy(dev->id,"HeaterCL");
	strcpy(dev->display,"CL");
	strcpy(dev->schematicId,"HeaterCL");
	strcpy(dev->unit,"");
	strcpy(dev->installzone,"Zone5");
	dev->diCascadePVSBrk.create("diCascadePVSBrk");
	dev->diHeaterPVSBrk.create("diHeaterPVSBrk");
	dev->diEnableOutput.create("diEnableOutput");
	dev->doEnableIn.create("doEnableIn");
	dev->doAutoManual.create("doAutoManual");
	return dev;
}
IoHeater* _initHeaterCL_1(IoHeater *dev){
	dev->doMainPVSelect.create("doMainPVSelect");
	dev->doCascadeMode.create("doCascadeMode");
	dev->aiCascadeTCSBrk.create("aiCascadeTCSBrk",&AI->CL_CascadeTC_SBrkOut,"AI.CL_CascadeTC_SBrkOut",TRUE);
	dev->aiCascadePVSBrk.create("aiCascadePVSBrk",&AI->CL_OT_SBrkOut,"AI.CL_OT_SBrkOut",TRUE);
	dev->aiHeaterPVSBrk.create("aiHeaterPVSBrk",&AI->CL_HeaterTC_SBrkOut,"AI.CL_HeaterTC_SBrkOut",TRUE);
	dev->aiEnableOutput.create("aiEnableOutput",&AI->CL_Enable_State,"AI.CL_Enable_State",TRUE);
	dev->aiCascadeControlModeSetPoint.create("aiCascadeControlModeSetPoint",&AI->CL_SP,"AI.CL_SP",TRUE);
	dev->aoEnableIn.create("aoEnableIn",&AO->CL_Enable_Out,"AO.CL_Enable_Out",FALSE);
	dev->aoAutoManual.create("aoAutoManual",&AO->CL_Control_Mode,"AO.CL_Control_Mode",FALSE);
	dev->aoMainPVSelect.create("aoMainPVSelect",&AO->CL_Main_TC_Select,"AO.CL_Main_TC_Select",FALSE);
	return dev;
}
IoHeater* _initHeaterCL_2(IoHeater *dev){
	dev->aiMainPVSelect.create("aiMainPVSelect",&AI->CL_Main_TC_Select,"AI.CL_Main_TC_Select",TRUE);
	dev->aoCascadeMode.create("aoCascadeMode",&AO->CL_Cascade_Mode_Selection,"AO.CL_Cascade_Mode_Selection",FALSE);
	dev->aiCascadeMode.create("aiCascadeMode",&AI->CL_Cascade_Mode_Selection,"AI.CL_Cascade_Mode_Selection",TRUE);
	dev->aiWorkingSp.create("aiWorkingSp",&AI->CL_WorkingSP,"AI.CL_WorkingSP",TRUE);
	dev->aiCascadePV.create("aiCascadePV",&AI->CL_CascadeTC,"AI.CL_CascadeTC",TRUE);
	dev->aiHeaterPV.create("aiHeaterPV",&AI->CL_HeaterTC,"AI.CL_HeaterTC",TRUE);
	dev->aiWorkingOutput.create("aiWorkingOutput",&AI->CL_Working_output,"AI.CL_Working_output",TRUE);
	dev->aiOverTemp.create("aiOverTemp",&AI->CL_OT,"AI.CL_OT",TRUE);
	dev->aiManualOP.create("aiManualOP");
	dev->aiOffset.create("aiOffset",&AI->CL_Open_Offset,"AI.CL_Open_Offset",TRUE);
	return dev;
}
IoHeater* _initHeaterCL_3(IoHeater *dev){
	dev->aoCascadeControlModeSetPoint.create("aoCascadeControlModeSetPoint",&AO->CL_SP,"AO.CL_SP",FALSE);
	dev->aoHeaterControlModeSetPoint.create("aoHeaterControlModeSetPoint",&AO->CL_Secondary_SP,"AO.CL_Secondary_SP",FALSE);
	dev->aiHeaterControlModeSetPoint.create("aiHeaterControlModeSetPoint",&AI->CL_Secondary_SP,"AI.CL_Secondary_SP",TRUE);
	dev->aoUpRate.create("aoUpRate",&AO->CL_Up_Rate,"AO.CL_Up_Rate",FALSE);
	dev->aiUpRate.create("aiUpRate",&AI->CL_Up_Rate,"AI.CL_Up_Rate",TRUE);
	dev->aoDownRate.create("aoDownRate",&AO->CL_Down_Rate,"AO.CL_Down_Rate",FALSE);
	dev->aiDownRate.create("aiDownRate",&AI->CL_Down_Rate,"AI.CL_Down_Rate",TRUE);
	dev->aoOffset.create("aoOffset",&AO->CL_Offset,"AO.CL_Offset",FALSE);
	dev->aoCascadePID_P.create("aoCascadePID_P",&AO->CL_Primary_PID_P,"AO.CL_Primary_PID_P",FALSE);
	dev->aoCascadePID_I.create("aoCascadePID_I",&AO->CL_Primary_PID_I,"AO.CL_Primary_PID_I",FALSE);
	return dev;
}
IoHeater* _initHeaterCL_4(IoHeater *dev){
	dev->aoCascadePID_D.create("aoCascadePID_D",&AO->CL_Primary_PID_D,"AO.CL_Primary_PID_D",FALSE);
	dev->aoHeaterPID_P.create("aoHeaterPID_P",&AO->CL_PID_P,"AO.CL_PID_P",FALSE);
	dev->aoHeaterPID_I.create("aoHeaterPID_I",&AO->CL_PID_I,"AO.CL_PID_I",FALSE);
	dev->aoHeaterPID_D.create("aoHeaterPID_D",&AO->CL_PID_D,"AO.CL_PID_D",FALSE);
	dev->aiCascadePID_P.create("aiCascadePID_P",&AI->CL_Primary_PID_P,"AI.CL_Primary_PID_P",TRUE);
	dev->aiCascadePID_I.create("aiCascadePID_I",&AI->CL_Primary_PID_I,"AI.CL_Primary_PID_I",TRUE);
	dev->aiCascadePID_D.create("aiCascadePID_D",&AI->CL_Primary_PID_D,"AI.CL_Primary_PID_D",TRUE);
	dev->aiHeaterPID_P.create("aiHeaterPID_P",&AI->CL_PID_P,"AI.CL_PID_P",TRUE);
	dev->aiHeaterPID_I.create("aiHeaterPID_I",&AI->CL_PID_I,"AI.CL_PID_I",TRUE);
	dev->aiHeaterPID_D.create("aiHeaterPID_D",&AI->CL_PID_D,"AI.CL_PID_D",TRUE);
	return dev;
}
IoHeater* _initHeaterCL_5(IoHeater *dev){
	strcpy(dev->aioType,"float");
	strcpy(dev->scRoot,"PM1.Heater");
	return dev;
}
IoHeater* _initHeaterL_0(){
	static IoHeater staticHeaterL("IoHeater","HeaterL",MODULE_NAME);
	IoHeater::poHeaterL=&staticHeaterL;
	IoHeater* dev=&staticHeaterL;
	strcpy(dev->id,"HeaterL");
	strcpy(dev->display,"L");
	strcpy(dev->schematicId,"HeaterL");
	strcpy(dev->unit,"");
	strcpy(dev->installzone,"Zone6");
	dev->diCascadePVSBrk.create("diCascadePVSBrk");
	dev->diHeaterPVSBrk.create("diHeaterPVSBrk");
	dev->diEnableOutput.create("diEnableOutput");
	dev->doEnableIn.create("doEnableIn");
	dev->doAutoManual.create("doAutoManual");
	return dev;
}
IoHeater* _initHeaterL_1(IoHeater *dev){
	dev->doMainPVSelect.create("doMainPVSelect");
	dev->doCascadeMode.create("doCascadeMode");
	dev->aiCascadePVSBrk.create("aiCascadePVSBrk",&AI->L_OT_SBrkOut,"AI.L_OT_SBrkOut",TRUE);
	dev->aiCascadeTCSBrk.create("aiCascadeTCSBrk",&AI->L_CascadeTC_SBrkOut,"AI.L_CascadeTC_SBrkOut",TRUE);
	dev->aiHeaterPVSBrk.create("aiHeaterPVSBrk",&AI->L_HeaterTC_SBrkOut,"AI.L_HeaterTC_SBrkOut",TRUE);
	dev->aiEnableOutput.create("aiEnableOutput",&AI->L_Enable_State,"AI.L_Enable_State",TRUE);
	dev->aoEnableIn.create("aoEnableIn",&AO->L_Enable_Out,"AO.L_Enable_Out",FALSE);
	dev->aoAutoManual.create("aoAutoManual",&AO->L_Control_Mode,"AO.L_Control_Mode",FALSE);
	dev->aoMainPVSelect.create("aoMainPVSelect",&AO->L_Main_TC_Select,"AO.L_Main_TC_Select",FALSE);
	dev->aiMainPVSelect.create("aiMainPVSelect",&AI->L_Main_TC_Select,"AI.L_Main_TC_Select",TRUE);
	return dev;
}
IoHeater* _initHeaterL_2(IoHeater *dev){
	dev->aoCascadeMode.create("aoCascadeMode",&AO->L_Cascade_Mode_Selection,"AO.L_Cascade_Mode_Selection",FALSE);
	dev->aiCascadeMode.create("aiCascadeMode",&AI->L_Cascade_Mode_Selection,"AI.L_Cascade_Mode_Selection",TRUE);
	dev->aiCascadeControlModeSetPoint.create("aiCascadeControlModeSetPoint",&AI->L_SP,"AI.L_SP",TRUE);
	dev->aiCascadePV.create("aiCascadePV",&AI->L_CascadeTC,"AI.L_CascadeTC",TRUE);
	dev->aiHeaterPV.create("aiHeaterPV",&AI->L_HeaterTC,"AI.L_HeaterTC",TRUE);
	dev->aiWorkingOutput.create("aiWorkingOutput",&AI->L_Working_output,"AI.L_Working_output",TRUE);
	dev->aiOverTemp.create("aiOverTemp",&AI->L_OT,"AI.L_OT",TRUE);
	dev->aiManualOP.create("aiManualOP");
	dev->aiOffset.create("aiOffset",&AI->L_Open_Offset,"AI.L_Open_Offset",TRUE);
	dev->aiWorkingSp.create("aiWorkingSp",&AI->L_WorkingSP,"AI.L_WorkingSP",TRUE);
	return dev;
}
IoHeater* _initHeaterL_3(IoHeater *dev){
	dev->aoCascadeControlModeSetPoint.create("aoCascadeControlModeSetPoint",&AO->L_SP,"AO.L_SP",FALSE);
	dev->aoHeaterControlModeSetPoint.create("aoHeaterControlModeSetPoint",&AO->L_Secondary_SP,"AO.L_Secondary_SP",FALSE);
	dev->aiHeaterControlModeSetPoint.create("aiHeaterControlModeSetPoint",&AI->L_Secondary_SP,"AI.L_Secondary_SP",TRUE);
	dev->aoUpRate.create("aoUpRate",&AO->L_Up_Rate,"AO.L_Up_Rate",FALSE);
	dev->aiUpRate.create("aiUpRate",&AI->L_Up_Rate,"AI.L_Up_Rate",TRUE);
	dev->aoDownRate.create("aoDownRate",&AO->L_Down_Rate,"AO.L_Down_Rate",FALSE);
	dev->aiDownRate.create("aiDownRate",&AI->L_Down_Rate,"AI.L_Down_Rate",TRUE);
	dev->aoOffset.create("aoOffset",&AO->L_Offset,"AO.L_Offset",FALSE);
	dev->aoCascadePID_P.create("aoCascadePID_P",&AO->L_Primary_PID_P,"AO.L_Primary_PID_P",FALSE);
	dev->aoCascadePID_I.create("aoCascadePID_I",&AO->L_Primary_PID_I,"AO.L_Primary_PID_I",FALSE);
	return dev;
}
IoHeater* _initHeaterL_4(IoHeater *dev){
	dev->aoCascadePID_D.create("aoCascadePID_D",&AO->L_Primary_PID_D,"AO.L_Primary_PID_D",FALSE);
	dev->aoHeaterPID_P.create("aoHeaterPID_P",&AO->L_PID_P,"AO.L_PID_P",FALSE);
	dev->aoHeaterPID_I.create("aoHeaterPID_I",&AO->L_PID_I,"AO.L_PID_I",FALSE);
	dev->aoHeaterPID_D.create("aoHeaterPID_D",&AO->L_PID_D,"AO.L_PID_D",FALSE);
	dev->aiCascadePID_P.create("aiCascadePID_P",&AI->L_Primary_PID_P,"AI.L_Primary_PID_P",TRUE);
	dev->aiCascadePID_I.create("aiCascadePID_I",&AI->L_Primary_PID_I,"AI.L_Primary_PID_I",TRUE);
	dev->aiCascadePID_D.create("aiCascadePID_D",&AI->L_Primary_PID_D,"AI.L_Primary_PID_D",TRUE);
	dev->aiHeaterPID_P.create("aiHeaterPID_P",&AI->L_PID_P,"AI.L_PID_P",TRUE);
	dev->aiHeaterPID_I.create("aiHeaterPID_I",&AI->L_PID_I,"AI.L_PID_I",TRUE);
	dev->aiHeaterPID_D.create("aiHeaterPID_D",&AI->L_PID_D,"AI.L_PID_D",TRUE);
	return dev;
}
IoHeater* _initHeaterL_5(IoHeater *dev){
	strcpy(dev->aioType,"float");
	strcpy(dev->scRoot,"PM1.Heater");
	return dev;
}
IoHeater* _initHeaterSL_0(){
	static IoHeater staticHeaterSL("IoHeater","HeaterSL",MODULE_NAME);
	IoHeater::poHeaterSL=&staticHeaterSL;
	IoHeater* dev=&staticHeaterSL;
	strcpy(dev->id,"HeaterSL");
	strcpy(dev->display,"SL");
	strcpy(dev->schematicId,"HeaterSL");
	strcpy(dev->unit,"");
	strcpy(dev->installzone,"Zone7");
	dev->diCascadePVSBrk.create("diCascadePVSBrk");
	dev->diHeaterPVSBrk.create("diHeaterPVSBrk");
	dev->diEnableOutput.create("diEnableOutput");
	dev->doEnableIn.create("doEnableIn");
	dev->doAutoManual.create("doAutoManual");
	return dev;
}
IoHeater* _initHeaterSL_1(IoHeater *dev){
	dev->doMainPVSelect.create("doMainPVSelect");
	dev->doCascadeMode.create("doCascadeMode");
	dev->aiCascadeTCSBrk.create("aiCascadeTCSBrk",&AI->SL_CascadeTC_SBrkOut,"AI.SL_CascadeTC_SBrkOut",TRUE);
	dev->aiCascadePVSBrk.create("aiCascadePVSBrk",&AI->SL_OT_SBrkOut,"AI.SL_OT_SBrkOut",TRUE);
	dev->aiHeaterPVSBrk.create("aiHeaterPVSBrk",&AI->SL_HeaterTC_SBrkOut,"AI.SL_HeaterTC_SBrkOut",TRUE);
	dev->aiEnableOutput.create("aiEnableOutput",&AI->SL_Enable_State,"AI.SL_Enable_State",TRUE);
	dev->aoEnableIn.create("aoEnableIn",&AO->SL_Enable_Out,"AO.SL_Enable_Out",FALSE);
	dev->aoAutoManual.create("aoAutoManual",&AO->SL_Control_Mode,"AO.SL_Control_Mode",FALSE);
	dev->aoMainPVSelect.create("aoMainPVSelect",&AO->SL_Main_TC_Select,"AO.SL_Main_TC_Select",FALSE);
	dev->aiMainPVSelect.create("aiMainPVSelect",&AI->SL_Main_TC_Select,"AI.SL_Main_TC_Select",TRUE);
	return dev;
}
IoHeater* _initHeaterSL_2(IoHeater *dev){
	dev->aoCascadeMode.create("aoCascadeMode",&AO->SL_Cascade_Mode_Selection,"AO.SL_Cascade_Mode_Selection",FALSE);
	dev->aiCascadeMode.create("aiCascadeMode",&AI->SL_Cascade_Mode_Selection,"AI.SL_Cascade_Mode_Selection",TRUE);
	dev->aiCascadeControlModeSetPoint.create("aiCascadeControlModeSetPoint",&AI->SL_SP,"AI.SL_SP",TRUE);
	dev->aiCascadePV.create("aiCascadePV",&AI->SL_CascadeTC,"AI.SL_CascadeTC",TRUE);
	dev->aiHeaterPV.create("aiHeaterPV",&AI->SL_HeaterTC,"AI.SL_HeaterTC",TRUE);
	dev->aiOverTemp.create("aiOverTemp",&AI->SL_OT,"AI.SL_OT",TRUE);
	dev->aiWorkingOutput.create("aiWorkingOutput",&AI->SL_Working_output,"AI.SL_Working_output",TRUE);
	dev->aiManualOP.create("aiManualOP");
	dev->aiOffset.create("aiOffset",&AI->SL_Open_Offset,"AI.SL_Open_Offset",TRUE);
	dev->aiWorkingSp.create("aiWorkingSp",&AI->SL_WorkingSP,"AI.SL_WorkingSP",TRUE);
	return dev;
}
IoHeater* _initHeaterSL_3(IoHeater *dev){
	dev->aoCascadeControlModeSetPoint.create("aoCascadeControlModeSetPoint",&AO->SL_SP,"AO.SL_SP",FALSE);
	dev->aoHeaterControlModeSetPoint.create("aoHeaterControlModeSetPoint",&AO->SL_Secondary_SP,"AO.SL_Secondary_SP",FALSE);
	dev->aiHeaterControlModeSetPoint.create("aiHeaterControlModeSetPoint",&AI->SL_Secondary_SP,"AI.SL_Secondary_SP",TRUE);
	dev->aiUpRate.create("aiUpRate",&AI->SL_Up_Rate,"AI.SL_Up_Rate",TRUE);
	dev->aoUpRate.create("aoUpRate",&AO->SL_Up_Rate,"AO.SL_Up_Rate",FALSE);
	dev->aoDownRate.create("aoDownRate",&AO->SL_Down_Rate,"AO.SL_Down_Rate",FALSE);
	dev->aiDownRate.create("aiDownRate",&AI->SL_Down_Rate,"AI.SL_Down_Rate",TRUE);
	dev->aoOffset.create("aoOffset",&AO->SL_Offset,"AO.SL_Offset",FALSE);
	dev->aoCascadePID_P.create("aoCascadePID_P",&AO->SL_Primary_PID_P,"AO.SL_Primary_PID_P",FALSE);
	dev->aoCascadePID_I.create("aoCascadePID_I",&AO->SL_Primary_PID_I,"AO.SL_Primary_PID_I",FALSE);
	return dev;
}
IoHeater* _initHeaterSL_4(IoHeater *dev){
	dev->aoCascadePID_D.create("aoCascadePID_D",&AO->SL_Primary_PID_D,"AO.SL_Primary_PID_D",FALSE);
	dev->aoHeaterPID_P.create("aoHeaterPID_P",&AO->SL_PID_P,"AO.SL_PID_P",FALSE);
	dev->aoHeaterPID_I.create("aoHeaterPID_I",&AO->SL_PID_I,"AO.SL_PID_I",FALSE);
	dev->aoHeaterPID_D.create("aoHeaterPID_D",&AO->SL_PID_D,"AO.SL_PID_D",FALSE);
	dev->aiCascadePID_P.create("aiCascadePID_P",&AI->SL_Primary_PID_P,"AI.SL_Primary_PID_P",TRUE);
	dev->aiCascadePID_I.create("aiCascadePID_I",&AI->SL_Primary_PID_I,"AI.SL_Primary_PID_I",TRUE);
	dev->aiCascadePID_D.create("aiCascadePID_D",&AI->SL_Primary_PID_D,"AI.SL_Primary_PID_D",TRUE);
	dev->aiHeaterPID_P.create("aiHeaterPID_P",&AI->SL_PID_P,"AI.SL_PID_P",TRUE);
	dev->aiHeaterPID_I.create("aiHeaterPID_I",&AI->SL_PID_I,"AI.SL_PID_I",TRUE);
	dev->aiHeaterPID_D.create("aiHeaterPID_D",&AI->SL_PID_D,"AI.SL_PID_D",TRUE);
	return dev;
}
IoHeater* _initHeaterSL_5(IoHeater *dev){
	strcpy(dev->aioType,"float");
	strcpy(dev->scRoot,"PM1.Heater");
	return dev;
}
void initIoHeater(){
	IoHeater* dev;
	dev=_initHeaterSUB_0();
	_initHeaterSUB_1(dev);
	_initHeaterSUB_2(dev);
	_initHeaterSUB_3(dev);
	_initHeaterSUB_4(dev);
	dev=_initHeaterU_0();
	_initHeaterU_1(dev);
	_initHeaterU_2(dev);
	_initHeaterU_3(dev);
	_initHeaterU_4(dev);
	_initHeaterU_5(dev);
	dev=_initHeaterCU_0();
	_initHeaterCU_1(dev);
	_initHeaterCU_2(dev);
	_initHeaterCU_3(dev);
	_initHeaterCU_4(dev);
	_initHeaterCU_5(dev);
	dev=_initHeaterC_0();
	_initHeaterC_1(dev);
	_initHeaterC_2(dev);
	_initHeaterC_3(dev);
	_initHeaterC_4(dev);
	_initHeaterC_5(dev);
	dev=_initHeaterCL_0();
	_initHeaterCL_1(dev);
	_initHeaterCL_2(dev);
	_initHeaterCL_3(dev);
	_initHeaterCL_4(dev);
	_initHeaterCL_5(dev);
	dev=_initHeaterL_0();
	_initHeaterL_1(dev);
	_initHeaterL_2(dev);
	_initHeaterL_3(dev);
	_initHeaterL_4(dev);
	_initHeaterL_5(dev);
	dev=_initHeaterSL_0();
	_initHeaterSL_1(dev);
	_initHeaterSL_2(dev);
	_initHeaterSL_3(dev);
	_initHeaterSL_4(dev);
	_initHeaterSL_5(dev);
}
IoHeater* IoHeater::poHeaterSUB=NULL;
IoHeater* IoHeater::poHeaterU=NULL;
IoHeater* IoHeater::poHeaterCU=NULL;
IoHeater* IoHeater::poHeaterC=NULL;
IoHeater* IoHeater::poHeaterCL=NULL;
IoHeater* IoHeater::poHeaterL=NULL;
IoHeater* IoHeater::poHeaterSL=NULL;
//AUTOIO_END
