找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
VAR
i : INT;
dWt, dWtMax : REAL;
ffC, ACr : REAL;
DecarbRate : REAL;
A, B, Discr, Ninert : REAL;
SQRT1 : REAL;
TempK : REAL;
CH2CM : REAL := 1.0; (* 16.6667 /hour or 1.0 cm/min *)
TLimit : REAL;
TMax : REAL;
END_VAR
IF GlobalDB.STIR AND GlobalDB.Wt[GlobalDB.Ti] < 1.0 AND GlobalDB.Wt[GlobalDB.Al] < 1.0 AND GlobalDB.Wt[GlobalDB.Si] < 1.0 AND GlobalDB.Wt[GlobalDB.Nb] <= (0.007 * GlobalDB.WtBath) AND GlobalDB.WtNow > 1.0 THEN
IF GlobalDB.Beta < 0.0001 THEN
GlobalDB.EffBeta := 0.38 - 0.004*GlobalDB.Pct[GlobalDB.Cr]- 0.006*GlobalDB.Pct[GlobalDB.Mn] - 0.01*GlobalDB.Pct[11] + 0.0026*GlobalDB.Pct[GlobalDB.Ni];
ELSE
GlobalDB.EffBeta := GlobalDB.Beta;
END_IF;
dWt := GlobalDB.dO2 / GlobalDB.Oxo[GlobalDB.C];
(* calc max delta carbon based on kinetics *)
ffC := 0.0; ACr := 0.0;
FOR i := 1 TO GlobalDB.NumElem DO
ffC := ffC + GlobalDB.EiCAll[GlobalDB.Base,i] * GlobalDB.Pct[i] + GlobalDB.RiC[i] * SQR(GlobalDB.Pct[i]);
ACr := ACr + GlobalDB.EiCrAll[GlobalDB.Base,i] * GlobalDB.Pct[i] + GlobalDB.RiCr[i] * SQR(GlobalDB.Pct[i]);
END_FOR;
ffC := EXPD(ffC);
ACr := GlobalDB.Pct[GlobalDB.Cr] * EXPD(ACr);
(* adjust beta for temp *)
TempK := (GlobalDB.TempBath) + 273.15;
GlobalDB.K := EXP(-29804.0 / TempK + 19.235);
(* Quadratic formula *)
IF GlobalDB.dAr + GlobalDB.dN2 = 0.0 OR GlobalDB.Pct[GlobalDB.C] = 0.0 THEN
DecarbRate := 0.0;
ELSE
Ninert := (GlobalDB.dAr + GlobalDB.dN2)/GlobalDB.MoleInert/GlobalDB.DT1;
A := GlobalDB.SysPress*(ACr**(2.0/3.0))*GlobalDB.WtBath/(1200.0*GlobalDB.K*ffC);
B := GlobalDB.WtBath/1200.0;
Discr := SQR(GlobalDB.EffBeta*B*GlobalDB.Pct[GlobalDB.C]-GlobalDB.EffBeta*A-Ninert)+4*B*GlobalDB.EffBeta*GlobalDB.Pct[GlobalDB.C]*Ninert;
IF Discr <= 0.0 THEN Discr := 0.0; END_IF;
//SQRT1(IN:=Discr);
Discr := SQRT(Discr);
IF B > 0.0 THEN
DecarbRate := -(Ninert+GlobalDB.EffBeta*A-GlobalDB.EffBeta*B*GlobalDB.Pct[GlobalDB.C]-Discr)/(2*B);
ELSE
DecarbRate := 0.0;
END_IF;
END_IF;
IF DecarbRate > GlobalDB.EffBeta * (GlobalDB.Pct[GlobalDB.C]) THEN DecarbRate := GlobalDB.EffBeta * (GlobalDB.Pct[GlobalDB.C]); END_IF;
(* end Quadratic Method *)
dWtMax := DecarbRate * GlobalDB.WtBath / 100.0 * GlobalDB.DT1;
IF dWtMax > dWt THEN
GlobalDB.O2Deficit := (dWtMax-dWt)*GlobalDB.Oxo[GlobalDB.C]/GlobalDB.DT1/CH2CM;
ELSE
GlobalDB.O2Deficit := 0.0;
END_IF;
IF dWt > dWtMax THEN dWt := dWtMax; END_IF;
IF dWt > GlobalDB.Wt[GlobalDB.C] THEN dWt := GlobalDB.Wt[GlobalDB.C]; END_IF;
END_FUNCTION_BLOCK
DATA_BLOCK CarbonDB Carbon
BEGIN
END_DATA_BLOCK
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城