void PL_SoftStSp::BuildDataDefn(DataDefnBlk & DDB) { DDB.Byte("Mode", "", DC_, "", &iMode, this, isParm, DDBPmpStartMode); DDB.Byte("FwdRevMode", "", DC_, "", &iFwdRev, this, isParm, DDBFwdRevMode ); switch (iMode) { case 0: DDB.CheckBoxBtn("Enable", "Run", DC_, "", &bOn, this, isParm, DDBOnOff); DDB.CheckBoxBtn("Invert", "", DC_, "", &bStartInv,this, isParm, DDBOnOff); break; case 1: case 2: DDB.CheckBoxBtn("Permissive", "", DC_, "", &bOn, this, isParm, DDBOnOff); DDB.CheckBoxBtn("Start", "", DC_, "", &bStart, this, isParm, DDBOnOff); DDB.CheckBoxBtn("Stop", "", DC_, "", &bStop, this, isParm, DDBOnOff); DDB.CheckBoxBtn("StartInvert","", DC_, "", &bStartInv,this, isParm, DDBOnOff); DDB.CheckBoxBtn("StopInvert", "", DC_, "", &bStopInv, this, isParm, DDBOnOff); break; } if (iFwdRev==PLSS_FwdRevLogic) DDB.CheckBoxBtn("Reverse", "", DC_, "", &bRunRev, this, isParm, DDBOnOff); DDB.CheckBoxBtn("Running", "", DC_, "", &bRunning, this, 0, DDBOnOff); DDB.CheckBoxBtn("Tripped", "", DC_, "", &bTripped, this, isParm, DDBOnOff); DDB.Double("StartTime", "StrtTime", DC_Time, "s", &dStartTime, this, isParm); DDB.Double("StopTime", "StopTime", DC_Time, "s", &dStopTime, this, isParm); DDB.Double("LocalY", "Manual", DC_Frac, "%", &m_dManualSpeed, this, isParm|NAN_OK); DDB.Double("Required", "Reqd", DC_Frac, "%", &m_dSpeedReqd, this, isParm); DDB.Double("Actual", "Actual", DC_Frac, "%", &m_dSpeed, this, isResult|0); DDB.Double("", "Regulated", DC_Frac, "%", &m_dSpeedReg, this, isResult); DDB.Double("MapLo", "", DC_Frac, "%", &dMapLo, this, isParm); DDB.Double("MapHi", "", DC_Frac, "%", &dMapHi, this, isParm); DDB.Double("MapSpeed", "", DC_Frac, "%", &m_dMapSpeed, this, isResult|0); DDB.Bool ("LoSpeed", "", DC_, "", &bLoSpeed, this, isResult); DDB.Bool ("HiSpeed", "", DC_, "", &bHiSpeed, this, isResult); DDB.Float ("LoSpeedLimit", "", DC_Frac, "%", &dLoSpeedLimit,this, isParm|InitHidden); DDB.Float ("HiSpeedLimit", "", DC_Frac, "%", &dHiSpeedLimit,this, isParm|InitHidden); DDB.CheckBoxBtn("AutoReStart", "", DC_, "", &m_bAutoRestart, this, isParm, DDBOnOff); DDB.Byte("FailMode", "", DC_, "", &iFailMode, this, isParm, DDBPmpFailMode); DDB.CheckBoxBtn("RunMemory", "", DC_, "", &bRunMemory, this, InitHidden, DDBOnOff); //if (m_pPwr) // m_pPwr->BuildDataDefn(DDB); };
void FlashTank::BuildDataDefn(DataDefnBlk &DDB) { DDB.BeginStruct(this); DDB.Double ("Pressure", "P", DC_P, "kPag", xidPMean, this, 0); DDB.Double ("Temperature", "T", DC_T, "C", xidTemp, this, 0); DDB.Double ("Density", "Rho", DC_Rho, "kg/m^3", xidRho, this, 0); DDB.Double ("Level", "Lvl", DC_Frac, "%", xidLevel, this, 0); DDB.Text ("Datum"); DDB.Double ("Datum", "Z", DC_L , "m", &dDatum, this, isResult|0 | DYNMODE); DDB.Double ("Datum_Rqd", "Z_Rqd",DC_L , "m", &dDatum_Rqd, this, isParmStopped | DYNMODE|NAN_OK); DDB.Text (" "); DDB.Double ("POffset", "", DC_DP, "kPa", &POffset, this, 0); DDB.Text (""); DDB.CheckBoxBtn("Closed", "", DC_ , "", xidClosed, this, isParmStopped|(!gs_Environment.OK() ? noView|noFile|noSnap|noScenario:0) , DDBYesNo); DDB.CheckBoxBtn("Networked", "", DC_ , "", xidNetPressDamp, this, isParmStopped|(!gs_Environment.OK() || !Contents.Closed() ? noView|noFile|noSnap|noScenario:0) , DDBYesNo); VLE.Add_OnOff(DDB); VLE.BuildDataDefn(DDB, NULL, NULL, DDB_RqdPage, 0); if (SolveMode()==DYNMODE) { DDB.Object(&Contents, this, NULL, NULL, DDB_RqdPage); DDB.Object(&PresetImg, this, NULL, NULL, DDB_RqdPage); } DDB.Page("IOs"); Strng Commnt, Nm; for (int i=0; i<NoFlwIOs(); i++) { Nm.Set("IO_%02i", i); DDB.Double(Nm(), "", DC_Qm , "kg/s", xidIO_Qm0+i, this, 0); #ifndef UsingZTagObj DDB.VolatileTags(Nm(), Nm()); #endif Commnt.Set("%s", Nd_Rmt(i)->FullObjTag()); DDB.TagComment(Commnt()); } DDB.Double("IO_Sigma", "", DC_Qm , "kg/s", xidIO_QmSigma, this, 0); DDB.EndStruct(); };
void PL_FwdRev::BuildDataDefn(DataDefnBlk & DDB) { DDB.Byte("Mode", "", DC_, "", &iMode, this, isParm, DDBPmpStartMode); switch (iMode) { case 0: DDB.CheckBoxBtn("Enable", "Run", DC_, "", &bOn, this, isParm, DDBOnOff); DDB.CheckBoxBtn("Invert", "", DC_, "", &bStartInv,this, isParm, DDBOnOff); break; case 1: case 2: DDB.CheckBoxBtn("Permissive", "", DC_, "", &bOn, this, isParm, DDBOnOff); DDB.CheckBoxBtn("Start", "", DC_, "", &bStart, this, isParm, DDBOnOff); DDB.CheckBoxBtn("Stop", "", DC_, "", &bStop, this, isParm, DDBOnOff); DDB.CheckBoxBtn("StartInvert","", DC_, "", &bStartInv,this, isParm, DDBOnOff); DDB.CheckBoxBtn("StopInvert", "", DC_, "", &bStopInv, this, isParm, DDBOnOff); break; } DDB.CheckBoxBtn("Running", "", DC_, "", &bRunning, this, 0, DDBOnOff); DDB.CheckBoxBtn("Tripped", "", DC_, "", &bTripped, this, isParm, DDBOnOff); //DDB.Add_OnOff("State", &bOn, False, this); //DDB.Add_YesNo("Forward", &bFwd, False, this); DDB.CheckBoxBtn("Forward", "", DC_, "", &bFwd, this, isParm, DDBYesNo); DDB.Double("LocalY", "Manual", DC_Frac, "%", &m_dManualSpeed, this, isParm|NAN_OK); DDB.Double("Speed", "Reqd", DC_Frac, "%", &m_dSpeedReqd, this, isParm); DDB.Double("", "Actual", DC_Frac, "%", &m_dSpeed, this, 0); DDB.Double("", "Regulated", DC_Frac, "%", &m_dSpeedReg, this, isResult); DDB.Bool ("LoSpeed", "", DC_, "", &bLoSpeed, this, isResult); DDB.Bool ("HiSpeed", "", DC_, "", &bHiSpeed, this, isResult); DDB.Float ("LoSpeedLimit", "", DC_Frac, "%", &dLoSpeedLimit,this, isParm|InitHidden); DDB.Float ("HiSpeedLimit", "", DC_Frac, "%", &dHiSpeedLimit,this, isParm|InitHidden); DDB.CheckBoxBtn("AutoReStart", "", DC_, "", &m_bAutoRestart, this, isParm, DDBOnOff); DDB.Byte("FailMode", "", DC_, "", &iFailMode, this, isParm, DDBPmpFailMode); DDB.CheckBoxBtn("RunMemory", "", DC_, "", &bRunMemory, this, InitHidden, DDBOnOff); //if (m_pPwr) // m_pPwr->BuildDataDefn(DDB); }
void CIsolator::BuildDataDefn(DataDefnBlk & DDB) { DDB.BeginStruct(this, "CIsolator", NULL, DDB_NoPage); DDB.Text(""); DDB.Long ("TermCfg", "", DC_, "", xidTSCfg, this, isParm, DDBCTTypes); DDB.CheckBoxBtn("On", "", DC_, "", &m_bOn, this, isParm); DDB.Double ("HeatLoad", "", DC_Pwr, "W", xidHtLoad, this, isResult); DDB.Text(""); m_tsPwrIn.BuildDataDefn(DDB, 1, true); m_tsPwrOut.BuildDataDefn(DDB, 2, true); DDB.EndStruct(); }
void CSzSSA::BuildDataDefn(DataDefnBlk & DDB) { // DDB.CheckBox("SetSAM", "", DC_, "", &m_bSetSAM, this, m_bSAMCalcd ? 0 : isParm); if (DDB.BeginStruct(this, "SSA", 0)) { DDB.Byte ("", "Method", DC_, "", &m_iMethod, this, 0/*isParm*/, DDBMeth); DDB.Visibility(NSHM_All ,m_iMethod==SSA_Independent); if (!DDB.ForFileSnpScn()) DDB.CheckBoxBtn("SetData", "", DC_, "", xidSSAAllowSet, this, isParm); DDB.Long ("", "Solids", DC_, "", &m_iSolids, this, (m_bHasPSD || !DataSettable()) ? 0 : isParm, SDB.DDBSolSpListDash()); DDB.Visibility(); DDB.Double ("SeedSurfAreaM", "SAM", DC_SurfAreaM, "m^2/g", xidSSAPartSAM, this, (m_bHasPSD || !DataSettable()) ? 0 : isParm); DDB.Double ("SeedSurfAreaL", "SAL", DC_SurfAreaL, "m^2/L", xidSSAPartSAL, this, noFile); DDB.Double ("#/s", "", DC_, "", xidSSAPartNoperSec, this, noFile|InitHidden); DDB.Double ("#/L", "", DC_, "", xidSSAPartNoperVol, this, noFile|InitHidden); DDB.Double ("PartDiam", "D", DC_L, "um", xidSSAPartDiam, this, ((m_bHasPSD || !DataSettable()) ? 0 : isParm)|noFile); DDB.Double ("SolidsQm", "", DC_Qm, "kg/s", xidSSAPartSolidsQm, this, noFile|InitHidden); } DDB.EndStruct(); }
void CActuator::BuildDataDefn(DataDefnBlk & DDB) { DDB.BeginStruct(this, "CActuator", NULL, DDB_NoPage); DDB.Text(""); DDB.CheckBoxBtn("On", "", DC_, "", &bOn, this, isParmStopped, DDBYesNo); DDB.CheckBoxBtn("ShowCnv", "", DC_, "", &bWithCnvComment,this, isParmStopped, DDBYesNo); DDB.Visibility(); DDB.Long("", "Ac_Cnt", DC_, "", idmCount, this, isParmStopped/*|AffectsStruct*/); DDB.Text(""); if (m_DataBlk.GetSize()>0) { DDB.Button("Check_tags", "", DC_, "", idmCheckBtn, this, isParmStopped); DDB.Text(""); DDB.String("State", "", DC_, "", &m_StateLine[0], this, noSnap|noFile); DDB.Text("Error:"); DDB.String("Msg_1", "", DC_, "", &m_StateLine[1], this, noSnap|noFile); DDB.String("Msg_2", "", DC_, "", &m_StateLine[2], this, noSnap|noFile); DDB.Text(""); } DDB.Text("----------------------------------------"); static DDBValueLst DDBFail[]={ {Fail_None, "None" }, {Fail_Hold, "Hold" }, {Fail_Hold|Fail_Noise, "Hold,Noise" }, {Fail_MinVal, "MinVal" }, {Fail_MaxVal, "MaxVal" }, {Fail_LoVal, "LoVal" }, {Fail_HiVal, "HiVal" }, {Fail_MinVal|Fail_Ramp, "MinVal,Ramp" }, {Fail_MaxVal|Fail_Ramp, "MaxVal,Ramp" }, {Fail_LoVal|Fail_Ramp, "LoVal,Ramp" }, {Fail_HiVal|Fail_Ramp, "HiVal,Ramp" }, {Fail_MinVal|Fail_Noise, "MinVal,Noise" }, {Fail_MaxVal|Fail_Noise, "MaxVal,Noise" }, {Fail_LoVal|Fail_Noise, "LoVal,Noise" }, {Fail_HiVal|Fail_Noise, "HiVal,Noise" }, {Fail_MinVal|Fail_Ramp|Fail_Noise, "MinVal,Ramp,Noise"}, {Fail_MaxVal|Fail_Ramp|Fail_Noise, "MaxVal,Ramp,Noise"}, {Fail_LoVal|Fail_Ramp|Fail_Noise, "LoVal,Ramp,Noise" }, {Fail_HiVal|Fail_Ramp|Fail_Noise, "HiVal,Ramp,Noise" }, {0}}; static DDBValueLst DDBXForms[]={ {XF_None, "None" }, {XF_Linear, "Linear" }, //{XF_Sqr, "Sqr" }, //{XF_Sqrt, "Sqrt" }, {0}}; static DDBValueLst DDBFilters[]={ {Flt_None, "None" }, {Flt_FirstOrder, "FirstOrder" }, {0}}; static DDBValueLst DDBRawXLates[]={ {XL_None, "None" }, {XL_AtoD, "AtoD" }, {XL_Linear, "Linear" }, //{XL_PulseEncode "PulseWidth" }, {0}}; char Buff[128]; Strng Tag; if (DDB.BeginArray(this, "Cfg", "Ac_Cfg", m_DataBlk.GetSize())) { for (int i=0; i<m_DataBlk.GetSize(); i++) { if (1)// i>0 && (i % 2)==1) { sprintf(Buff, "%d", i); DDB.Page(Buff, DDB_OptPage); } DDB.BeginElement(this, i); CActuatorBlk * T = m_DataBlk[i]; Strng CnvTxt; if (bWithCnvComment && XRefsValid() && T->m_bValid) GetValidCnvTxt(T->m_OutputVar, CnvTxt); DDB.String("ID", "", DC_, "", idmCfgTags+(i*NoOfCfgTags)+1, this, isParmStopped|isTag); DDB.String("OutputTag", "", DC_, "", idmCfgTags+(i*NoOfCfgTags)+2, this, isParmStopped|isTag); //DDB.Double("RequiredValue", "ReqdVal", DC_, "", &T->m_dReqdValue, this, isResult|noFileAtAll); DDB.Double("RequiredValue", "Rqd", DC_, "", &T->m_dReqdValue, this, isResult|noFileAtAll); if (CnvTxt.Len()) DDB.TagComment(CnvTxt()); // DDB.Byte ("Transform", "", DC_, "", &T->m_Xform.m_iType, this, isParm|SetOnChange, DDBXForms); // DDB.Visibility(NSHM_All, T->m_Xform.m_iType); // DDB.Float ("Xf.Factor", "", DC_, "", &T->m_Xform.m_dFactor, this, isParm); // DDB.Float ("Xf.Bias", "", DC_, "", &T->m_Xform.m_dBias, this, isParm); // // DDB.Visibility(); // // DDB.Byte ("Filter", "", DC_, "", &T->m_Flt.m_iType, this, isParm|SetOnChange, DDBFilters); // DDB.Visibility(NSHM_All, T->m_Flt.m_iType == Flt_FirstOrder); // DDB.Float ("Flt.TimeConst", "Flt.Tau", DC_Time, "s", &T->m_Flt.m_dTau, this, isParm); // DDB.Double("Flt.PrevValue", "", DC_, "", &T->m_Flt.m_dPrevValue, this, InitHidden); // DDB.Visibility(); // // DDB.Byte ("Fail.Mode", "", DC_, "", &T->m_Fail.m_iType, this, isParm|SetOnChange, DDBFail); // DDB.Float ("Fail.LoValue", "", DC_, "", &T->m_Fail.m_dLoValue, this, isParm); // DDB.Float ("Fail.HiValue", "", DC_, "", &T->m_Fail.m_dHiValue, this, isParm); // DDB.Float ("Fail.NoiseStdDev", "", DC_, "%", &T->m_Fail.m_dNoiseStdDevFrac, this, isParm); // DDB.Float ("Fail.SlewTime", "", DC_Time, "s", &T->m_Fail.m_dSlewTime, this, isParm); // // // DDB.Float ("MinValue", "MinV", DC_, "", &T->m_dMinValue, this, isParm); // DDB.Float ("MaxValue", "MaxV", DC_, "", &T->m_dMaxValue, this, isParm); // DDB.Double("Value", "", DC_, "", &T->m_dValue, this, isResult); // // DDB.Float ("LoLimit", "LL", DC_, "", &T->m_dLoLimit, this, isParm); // DDB.Float ("HiLimit", "HL", DC_, "", &T->m_dHiLimit, this, isParm); // flag ff=0; DDB.CheckBox ("LoInvert", "", DC_, "", &T->m_bLoInvert, this, isParm|SetOnChange); DDB.CheckBox ("HiInvert", "", DC_, "", &T->m_bHiInvert, this, isParm|SetOnChange); DDB.Bool ("", "Lo", DC_, "", &T->m_bLo, this, isResult); DDB.Bool ("", "Hi", DC_, "", &T->m_bHi, this, isResult); // DDB.Byte ("RawTransform", "", DC_, "", &T->m_RawXform.m_iType, this, isParm|SetOnChange, DDBRawXLates); // DDB.Visibility(NSHM_All, T->m_RawXform.m_iType>=XL_AtoD); // DDB.Float ("Raw.MinValue", "", DC_, "", &T->m_RawXform.m_dMinValue, this, isParm); // DDB.Float ("Raw.MaxValue", "", DC_, "", &T->m_RawXform.m_dMaxValue, this, isParm); // DDB.Visibility(); // //DDB.Double ("OutputValue", "Output", DC_, "", &T->m_dOutputValue, this, isResult); DDB.Double ("OutputValue", "Out", DC_, "", &T->m_dOutputValue, this, isResult); DDB.String ("PLCAddess", "", DC_, "", &T->m_sPLCAddress, this, isParmStopped|InitHidden); DDB.Long ("Priority", "", DC_, "", idmCfgTags+(i*NoOfCfgTags)+4, this, isParmStopped|InitHidden); DDB.Text("----------------------------------------"); } } DDB.EndArray(); DDB.EndStruct(); }
/*This provides access to the variables of the model and calls the BuildDataDefn for objects used by the model.*/ void BeltCnv::BuildDataDefn(DataDefnBlk & DDB) { DDB.BeginStruct(this); //DDB.Page ("Parms"); DDB.Text (""); DDB.Visibility(NM_Dynamic|SM_All|HM_All); BuildDataDefnElevation(DDB); DDB.Text(""); DDB.Double ("BeltSpeed", "", DC_Ldt, "m/s", xidBeltSpeed, this, isResult); DDB.Visibility(); DDB.Double ("Length", "L", DC_L, "m", xidBeltLength, this, isParm); DDB.Visibility(NM_Dynamic|SM_All|HM_All); DDB.Double ("MaxSpeed", "", DC_Ldt, "m/s", &m_MaxVelocity, this, isParm); DDB.Double ("MaxLoading", "MaxSpillLoad", DC_MpL, "kg/m", &m_MaxSpillLoading, this, isParm); DDB.Double ("MinLoading", "", DC_MpL, "kg/m", &m_MinLoading, this, isParm|InitHidden); DDB.Long ("MaxTurndown", "", DC_, "", &m_MaxTurnDown, this, isParm|InitHidden); DDB.Visibility(NM_Dynamic|SM_All|HM_All); DDB.Double ("", "MaxStallLoad", DC_M, "kg", &m_MaxStallLoading, this, isParm); DDB.CheckBox("", "StartIfStalled", DC_, "", &m_fStartIfStalled, this, isParm); DDB.Byte ("", "WasRunning", DC_, "", &m_fWasRunning, this, isResult|InitHidden); DDB.Double ("TotalMass", "", DC_M, "kg", xidTotalMass, this, isResult); DDB.Double ("AvgLoading", "", DC_MpL, "kg/m", xidAvgLoading, this, isResult); if (OrigPrjFileVerNo()<90 && DDB.ForFileSnpScn()) DDB.String ("SpillArea", "", DC_, "", &m_sAreaTag, this, isParmStopped); DDB.Double ("TotalSpilt", "", DC_M, "kg", xidTotSpilt, this, isParm); DDB.Double ("TotalVented", "", DC_M, "kg", xidTotVented, this, isParm); DDB.Page("BeltDrive", DDB_RqdPage); DDB.Text ("Power Draw"); DDB.Double ("NoLoadPower", "", DC_Pwr, "kW", &m_NLPower, this, isParm); DDB.Double ("FullLoadPower","", DC_Pwr, "kW", &m_FLPower, this, isParm); DDB.Double ("Power", "", DC_Pwr, "kW", &m_Power, this, isResult); DDB.Text(""); m_Pwr.BuildDataDefn(DDB); m_BeltSB.BuildDataDefn(DDB, this, "Speed", 1); DDB.Visibility(); DDB.Text(""); DDB.Long ("NoWtMtrs", "", DC_, "", xidNWtMtrs, this, isParm); static DDBValueLst DDB1[] = { {QPT_None, "None" }, {QPT_FixedPts, "Fixed Points"}, {QPT_AllSections, "All Section Pts"}, {QPT_MinSections, "Min Section Pts"}, {0}}; DDB.CheckBox("ShowProfile", "", DC_, "", xidShowProf, this, isParm|SetOnChange); DDB.Visibility(NM_Dynamic|SM_All|HM_All, m_fShowProfile); DDB.Long ("ProfDispType", "", DC_, "", xidProfDispType, this, isParm, DDB1); //DDB.Visibility(NM_Dynamic|SM_All|HM_All, m_fShowProfile && m_ProfDispType==QPT_FixedPts); //DDB.Long ("ProfilePts", "", DC_, "", xidProfPts, this, isParm); DDB.Visibility(NM_Dynamic|SM_All|HM_All); DDB.Long ("NSections", "", DC_, "", xidNSections, this, isResult); if (DDB.BeginStruct(this, "MinSect", 0, DDB_NoPage)) { DDB.Double ("Length", "", DC_Frac, "%", &m_Q.m_dMinFracSectLen, this, isParm); DDB.Visibility(NM_Dynamic|SM_All|HM_All, m_Q.m_dMinFracSectLen>0); DDB.Double ("LoadTol", "", DC_Frac, "%", &m_Q.m_dLoadTol, this, isParm); DDB.Double ("TempTol", "", DC_Frac, "%", &m_Q.m_dTempTol, this, isParm); DDB.Double ("MFracTol", "", DC_Frac, "%", &m_Q.m_dMFracTol, this, isParm); } DDB.EndStruct(); DDB.Text(""); BuildDataDefnShowIOs(DDB); if (m_WtMtrPos.GetSize()) { DDB.Page("WtMtrs", DDB_RqdPage); if (DDB.BeginArray(this, "WtMtr", "WtMtr", m_WtMtrPos.GetSize(), 0)) { for (int i=0; i<m_WtMtrPos.GetSize(); i++) if (DDB.BeginElement(this, i)) { DDB.Double("Pos", "", DC_L , "m", xidWtrMtrPos0+i, this, isParm); DDB.Double("Loading", "", DC_MpL, "kg/m", xidWtrMtrLd0+i, this, isResult|0); DDB.Double("Rate", "", DC_Qm, "kg/s", xidWtrMtrRate0+i, this, isResult|0); DDB.Text(""); } } DDB.EndArray(); } int FdLst[MaxIOList], PrLst[MaxIOList]; int nFd=0, nPr=0; for (int i=0; i<NoFlwIOs(); i++) if (IOId_Self(i)==idFeed) FdLst[nFd++]=i; else if (IOId_Self(i)==idProd) PrLst[nPr++]=i; int DoOld=((!DDB.ForFiling() && !DDB.ForSnapShot() && !DDB.ForScenario() && !DDB.ForView()) || (DDB.ForFiling() && DDB.DoingPutData())); Strng Nm; DDB.Page("Feeds", DDB_RqdPage); if (DDB.BeginArray(this, "Fd", "BltCnvFd", nFd, 0)) for (i=0; i<nFd; i++) if (DDB.BeginElement(this, Nd_Rmt(FdLst[i])->FullObjTag())) { DDB.Double ("Pos", "", DC_L , "m", xidFeedPos0+i, this, isParm); DDB.Visibility(NM_Dynamic|SM_All|HM_All); DDB.CheckBoxBtn("Limited", "", DC_, "", xidFeedLimited0+i, this, isParm); DDB.Visibility(NM_Dynamic|SM_All|HM_All, m_Q.FeedLimited(i)); DDB.Double ("Capacity", "", DC_Frac, "%", xidFeedCapFrac0+i, this, isParm); DDB.Visibility(); DDB.Double ("Qm", "", DC_Qm , "kg/s", xidFeedQm0+i, this, 0); DDB.Text(""); if (DoOld) { DDB.BeginElement(this, i); DDB.Double("Pos", "", DC_L , "m", xidFeedPos0+i, this, isParm); DDB.Double("Qm", "", DC_Qm , "kg/s", xidFeedQm0+i, this, 0); } } DDB.EndArray(); DDB.Page("Products", DDB_RqdPage); if (DDB.BeginArray(this, "Pr", "BltCnvPr", nPr, 0)) for (i=0; i<nPr; i++) if (DDB.BeginElement(this, Nd_Rmt(PrLst[i])->FullObjTag())) { DDB.Double("Pos", "", DC_L , "m", xidProdPos0+i, this, isParm); DDB.Double("Removal","", DC_Frac , "%", xidProdRemove0+i, this, isParm); DDB.Double("Qm", "", DC_Qm , "kg/s", xidProdQm0+i, this, 0); DDB.Double("Loss", "", DC_Qm , "kg/s", xidProdLoss0+i, this, 0); DDB.Text(""); if (DoOld) { DDB.BeginElement(this, i); //DDB.TagComment(Nd_Rmt(PrLst[i])->FullObjTag()); //DDB.BeginElement(this, Nd_Rmt(PrLst[i])->FullObjTag()); DDB.Double("Pos", "", DC_L , "m", xidProdPos0+i, this, isParm); DDB.Double("Removal","", DC_Frac , "%", xidProdRemove0+i, this, isParm); DDB.Double("Qm", "", DC_Qm , "kg/s", xidProdQm0+i, this, 0); DDB.Double("Loss", "", DC_Qm , "kg/s", xidProdLoss0+i, this, 0); } } DDB.EndArray(); if (m_fShowProfile) DDB.Object(&m_Q.Profile(), this); //BuildDataDefnAreaIOs(DDB); DDB.EndStruct(); };
/*This provides access to the variables of the model and calls the BuildDataDefn for objects used by the model.*/ void DuctUnit::BuildDataDefn(DataDefnBlk & DDB) { DDB.BeginStruct(this); DDB.Visibility(); BuildDataDefnElevation(DDB); DDB.Double ("Pressure", "P", DC_P, "kPag", xidPMean, this, noFile|noSnap); DDB.Double ("Temperature", "T", DC_T, "C", xidTemp, this, noFile|noSnap); DDB.Double ("Density", "Rho", DC_Rho, "kg/m^3", xidRho, this, noFile|noSnap); DDB.Double ("Level", "Lvl", DC_Frac, "%", xidLevel, this, noFile|noSnap); DDB.Double ("Mass_Accum", "QmAcc", DC_Qm, "kg/s", &m_QmAcc, this, noFile|noSnap); DDB.Double ("Vol_Accum", "QvAcc", DC_Qv, "L/s", &m_QvAcc, this, noFile|noSnap); //DDB.Text (""); //DDB.Visibility(NM_Probal|SM_All|HM_All|SSMODE); //DDB.Double ("FlashSplit", "", DC_Frac, "%", &FlashSplit, this, 0); //DDB.Double ("SS_Lvl", "", DC_Frac, "%", &SS_Lvl, this, isParm); DDB.Visibility(); DDB.Text (""); DDB.CheckBoxBtn("Closed", "", DC_ , "", xidClosed, this, isParmStopped|(!gs_Environment.HasGas() ? noView|noFile|noSnap|noScenario:0) , DDBYesNo); DDB.CheckBoxBtn("NetPressDamping", "", DC_ , "", xidNetPressDamp, this, isParmStopped|(!gs_Environment.HasGas() || !Contents.Closed() ? noView|noFile|noSnap|noScenario:0) , DDBYesNo); GSM.Add_OnOff(DDB); m_VLE.Add_OnOff(DDB); m_HX.Add_OnOff(DDB); m_RB.Add_OnOff(DDB); BuildDataDefnElevation(DDB); DDB.Text(""); DDB.Visibility(); DDB.Double ("RqdTOut", "", DC_T, "C", &dRqdTOut, this, isParm|SetOnChange|NAN_OK); DDB.Double ("RqddT", "", DC_dT, "C", &dRqddT, this, isParm|SetOnChange|NAN_OK); DDB.Visibility(NM_Dynamic|SM_All|HM_All, Valid(dRqddT)); DDB.Double ("RqdTOutMin", "", DC_T, "C", &dRqdTOutMin, this, isParm); DDB.Double ("RqdTOutMax", "", DC_T, "C", &dRqdTOutMax, this, isParm); DDB.Visibility(NM_Dynamic|SM_All|HM_All, Valid(dRqddT)||Valid(dRqdTOut)); DDB.Double ("TInLowest", "", DC_T, "C", &dTInLowest, this, isParm); DDB.Double ("TInHighest", "", DC_T, "C", &dTInHighest, this, isParm); DDB.Visibility(NM_Dynamic|SM_All|HM_All, !Valid(dRqddT)&&!Valid(dRqdTOut)); DDB.Double ("AmbientTemp", "", DC_T, "C", &dAmbientTemp, this, isParm); DDB.Double ("HeatLoss", "", DC_HCapF,"kJ/dC/s", &dHeatXferCoeff, this, isParm); DDB.Double ("StructMass", "", DC_M, "kg", &dStructMass, this, isParm); DDB.Double ("StructTemp", "", DC_T, "C", &dStructTemp, this, isParm); DDB.Double ("StructCp", "", DC_CpMs, "kJ/kg.C", &dStructCp, this, isParm); DDB.Visibility(); DDB.Double ("RqdH2OVapFrac", "", DC_Frac, "%", &dRqdH2OVapFrac, this, isParm); DDB.Double ("HeatLossRate", "", DC_Pwr, "kW", &dHeatLossRate, this, 0); DDB.Double ("QmSink", "", DC_Qm, "kg/s", &dQmSink, this, 0); DDB.Double ("QmSinkMeas", "", DC_Qm, "kg/s", &dQmSinkMeas, this, NAN_OK); DDB.Double ("QmSinkTau", "", DC_Time, "s", &dQmSinkTau, this, isParm); // QmSink=0.0; // QmSinkTau=3.0; DDB.Text(""); BuildDataDefnIOOptions(DDB); DDB.Text(""); DDB.Visibility(); BuildDataDefnShowIOs(DDB); m_HX.BuildDataDefn(DDB, NULL, NULL, DDB_RqdPage, 0); m_RB.BuildDataDefn(DDB); m_VLE.BuildDataDefn(DDB); GSM.BuildDataDefn(DDB); if (NetDynamicMethod()) { DDB.Object(&Contents, this, NULL, NULL, DDB_RqdPage); DDB.Object(&m_PresetImg, this, NULL, NULL, DDB_RqdPage); } //if (Contents.SpillExists()) // DDB.Object(&Contents.OverFlow(), this, NULL, NULL, DDB_RqdPage); //DDB.Object(&OverFlow, this, NULL, DDB_RqdPage); DDB.EndStruct(); };
void FilterPress::BuildDataDefn(DataDefnBlk & DDB) { DDB.BeginStruct(this); DDB.Visibility(SM_Buffered|HM_All); BuildDataDefnElevation(DDB); DDB.Visibility(); DDB.Text (""); static DDBValueLst DDB0[]={ {FSM_SolToFiltFrac, "SolidsToFiltrateFraction"}, {FSM_FiltSolConc, "FiltrateConcentration"}, {0}}; DDB.Text ("Requirements"); DDB.Byte ("Filtrate_Method", "Method", DC_, "", &iRqdFiltMethod, this, isParm|AffectsStruct, DDB0); DDB.Visibility(NSHM_All, (iRqdFiltMethod == FSM_SolToFiltFrac)); if (PrjFileVerNo()<48) DDB.Double ("", "RqdFiltSolids", DC_Frac, "%", &RqdSolidsToFiltrate,this, isParm); else DDB.Double ("Rqd_Solids_To_Filtrate", "RqdSolToFilt", DC_Frac, "%", &RqdSolidsToFiltrate,this, isParm);//SolidLoss DDB.Visibility(NSHM_All, (iRqdFiltMethod == FSM_FiltSolConc)); DDB.Double ("Rqd_FiltrateSolidsConc25","RqdFiltSolConc25",DC_Conc, "g/L", &RqdFiltSolConc, this, isParm); DDB.Visibility(); DDB.Double ("Solids_To_FiltrateUsed", "SolToFiltUsed", DC_Frac, "%", &SolidsToFiltUsed, this, isResult|InitHidden);//|noView); DDB.Double ("Rqd_Cake_Moisture", "RqdCakeMoist", DC_Frac, "%", &RqdCakeMoist, this, isParm); DDB.Double ("Rqd_Wash_Efficiency", "RqdWashEff", DC_Frac, "%", &RqdWashEff, this, isParm); DDB.Text ("Results"); DDB.Double ("Wash_Efficiency", "WashEff", DC_Frac, "%", &ActWashEff, this, isResult);//|noFile|noSnap); DDB.Double ("Cake_Solids", "CakeSolids", DC_Frac, "%", &ActCakeSolids, this, isResult);//|noFile|noSnap); DDB.Double ("Filtrate_Solids", "FiltSolids", DC_Frac, "%", &ActFiltSolids, this, isResult);//|noFile|noSnap); DDB.Double ("CakeSolidsConc@25", "CakeSolConc25", DC_Conc, "g/L", &ActCakeSolConc, this, isResult);//|noFile|noSnap); DDB.Double ("FiltrateSolidsConc@25", "FiltSolConc25", DC_Conc, "g/L", &ActFiltSolConc, this, isResult);//|noFile|noSnap); //DDB.Double ("FiltrateSolidsConc@T", "FiltSolConc@T", DC_Conc, "g/L", &ActFiltSolConcT, this, isResult);//|noFile|noSnap|InitHidden); //DDB.Byte ("", "ScanEffSpecie", DC_, "", &iScanEffSpecie, this, isParm, SDB.DDBLiqSpList()); //DDB.Double ("Scandrett_Wash_Eff", "ScandrettEff", DC_Frac, "%", &ActScandrettEff, this, isResult);//|noFile|noSnap); DDB.Byte ("", "WashComp", DC_, "", &iWashEffSpecie, this, isParm, SDB.DDBLiqSpList()); DDB.Double ("", "CompWashEff", DC_Frac, "%", &dSpWashEff, this, isResult);//|noFile|noSnap); DDB.Text (" "); DDB.CheckBox("TrackStatus", "", DC_, "", &bTrackStatus, this, isParm); DDB.Visibility(SM_Buffered|HM_All); DDB.Text (" "); DDB.CheckBoxBtn("", "Filtrate2Washing", DC_, "", &fFilt2Washings, this, isParm, DDBYesNo); DDB.CheckBoxBtn("", "CakeDisch", DC_, "", &fDischarge, this, isParm, DDBYesNo); DDB.Text (" "); DDB.Double ("", "Press_Drop", DC_DP, "kPa", &FilterDP, this, isResult|0); DDB.Double ("", "MembraneRes", DC_MembDP, "kPa.s/m", &MembDP, this, isParm); DDB.Double ("", "Viscosity", DC_Visc, "cP", &LiqVisc, this, isParm); DDB.Double ("", "SpecCakeResistance", DC_SpCakeRes, "m/kg", &SpCakeRes, this, isParm); DDB.Double ("", "Area", DC_Area, "m^2", &FiltArea, this, isParm); if (SolveSurgeMethod()) DDB.Object(&m_Cake, this, NULL, NULL, DDB_RqdPage); DDB.Visibility(); DDB.Text (""); BuildDataDefnShowIOs(DDB); //BuildDataDefnAreaIOs(DDB); DDB.EndStruct(); }
/*#F:This provides access to the variables of the model.*/ void X_Tie::BuildDataDefn(DataDefnBlk & DDB) { DDB.BeginStruct(this); DDB.Text (""); DDB.Double ("Pressure", "P", DC_P, "kPag", xidPMean, this, isResult|0); DDB.Visibility(NM_Dynamic|SM_All|HM_All); DDB.Double ("PressureEst", "PEst", DC_P, "kPag", xidPEstMean, this, isResult|0); DDB.Text (""); BuildDataDefnElevation(DDB); DDB.Visibility(NM_Probal|SM_All|HM_All); DDB.Text (""); long PBOpts= (m_VLE.Enabled() ? (PC_BasicPB & ~PC_SatP):PC_BasicPB); long DynOpts= (m_VLE.Enabled() ? (PC_BasicDyn & ~PC_SatP):PC_BasicDyn); m_PCtrl0.BuildDataDefn(DDB, this, NetProbalMethod(), PBOpts, DynOpts);//PC_Atmos|PC_Reqd); DDB.Visibility(); if (NetDynamicMethod()) { DDB.Text(""); DDB.CheckBoxBtn("NetworkIsolator", "", DC_, "", xidNetworkIsolator, this, isParmStopped|SetOnChange|AffectsStruct); } if (!m_NetworkIsolator) { m_BlkEval.Add_OnOff(DDB); if (PrjFileVerNo()<97 && (DDB.DoingPutData() && DDB.ForFileSnpScn() || 0)) { DDB.Text(""); m_RB.Add_OnOff(DDB); m_EHX.Add_OnOff(DDB); } DDB.Visibility(SM_Buffered|HM_All); m_Leak.Add_OnOff(DDB,0,100); DDB.Visibility(); GSM.Add_OnOff(DDB); DDB.CheckBox("ShowQFeed", "", DC_, "", &m_bShowQFeed, this, isParm|SetOnChange); DDB.CheckBox("ShowQProd", "", DC_, "", &m_bShowQProd, this, isParm|SetOnChange); } #if XREFTEST DDB.CheckBox("TagIOTest", "", DC_, "", &m_bTestTagIO, this, isParm|SetOnChange); #endif DDB.Text(""); BuildDataDefnShowIOs(DDB); BuildDataDefnIOOpts(DDB); if (m_NetworkIsolator) { DDB.Visibility(); DDB.Object(m_Accumulator, this, NULL, NULL, DDB_RqdPage); if (m_bShowQFeed) DDB.Object(&m_QFeed, this, NULL, NULL, DDB_RqdPage); m_QProd(); // ensure exists if (m_QProd.Exists()) { DDB.Visibility(NSHM_All, m_bShowQProd); DDB.Object(&m_QProd, this, NULL, NULL, DDB_RqdPage); DDB.Visibility(); } } else //if (1)//NetProbalMethod()) { DDB.Text(""); m_BlkEval.BuildDataDefn(DDB); GSM.BuildDataDefn(DDB); m_QFeed(); // ensure exists if (m_QFeed.Exists()) { DDB.Visibility(NSHM_All, m_bShowQFeed); DDB.Object(&m_QFeed, this, NULL, NULL, DDB_RqdPage); DDB.Visibility(); } m_QProd(); // ensure exists if (m_QProd.Exists()) { DDB.Visibility(NSHM_All, m_bShowQProd); DDB.Object(&m_QProd, this, NULL, NULL, DDB_RqdPage); DDB.Visibility(); } } //BuildDataDefnAreaIOs(DDB); DDB.EndStruct(); };