靳文哲,張聽雨
(開封儀表有限公司,河南 開封 475002)
容積式流量計(jì)鑄造殼體強(qiáng)度設(shè)計(jì)計(jì)算軟件開發(fā)
靳文哲,張聽雨
(開封儀表有限公司,河南 開封 475002)
針對容積式流量計(jì)鑄造殼體設(shè)計(jì)計(jì)算過程具有繁瑣性和規(guī)范化程序性的特點(diǎn),利用C語言在解決面向過程問題的優(yōu)勢,將該類儀表殼體的設(shè)計(jì)計(jì)算過程編寫成計(jì)算軟件,使工程技術(shù)人員能夠從龐雜的數(shù)學(xué)數(shù)值計(jì)算中解放出來,將主要精力專注于工程實(shí)際參數(shù)的最優(yōu)化選擇和計(jì)算結(jié)果的推敲驗(yàn)證等高級決策運(yùn)算中去,使計(jì)算機(jī)的高速計(jì)算與工程技術(shù)人員豐富的邏輯選擇判斷能力和實(shí)踐經(jīng)驗(yàn)得以完美結(jié)合,從而最大程度地使用現(xiàn)代科技方法提高容積式流量儀表的設(shè)計(jì)效率。
容積式流量計(jì);設(shè)計(jì)計(jì)算;C語言應(yīng)用;提高計(jì)算效率
根據(jù)GB 150—1998《鋼制壓力容器》和JB 2194—1977《水管鍋爐受壓元件強(qiáng)度計(jì)算》等標(biāo)準(zhǔn)可知,容積式流量計(jì)鑄造殼體的設(shè)計(jì)計(jì)算過程比較繁瑣,其中包含著根據(jù)已知工況條件而進(jìn)行的大量數(shù)值計(jì)算和參數(shù)選擇,甚至有時還要將計(jì)算結(jié)果反代入設(shè)計(jì)計(jì)算過程進(jìn)行校核,這些龐雜的數(shù)值計(jì)算具有重復(fù)性、程序性和復(fù)雜性,之前往往依靠工程技術(shù)人員通過人工重復(fù)計(jì)算去完成,既繁重又耗費(fèi)時間;因此,應(yīng)運(yùn)用計(jì)算機(jī)編程來高效地解決該問題。
本文以旋轉(zhuǎn)活塞流量計(jì)主殼體設(shè)計(jì)為例,旋轉(zhuǎn)活塞流量計(jì)主殼體二維工程圖如圖1所示,旋轉(zhuǎn)活塞流量計(jì)主殼體三維仿真組圖如圖2所示。該殼體的設(shè)計(jì)計(jì)算可參照J(rèn)B 2194—1977《水管鍋爐受壓元件強(qiáng)度計(jì)算》、GB 5676—1985《一般工程用鑄造碳鋼》、GB 150—1998《鋼制壓力容器》和GB 6654—1996《壓力容器器用鋼板》等國家或行業(yè)標(biāo)準(zhǔn)中介紹的方法進(jìn)行。
其軟件開發(fā)程序清單如下:
/* Note:Your choice is C IDE */[1]
#include "stdio.h"
#include "math.h"
void main()
{
float P,D,q,C,S,SZ,V,p,Dc,K,q2,q3,q4,q5,q6,k2,k1,k,x,y,z,mfzbh1,mfzbh2,mfzbh3,mfzbh4,jg3,v,/*以下為密封罩計(jì)算所用變量*/jszj,jgtzxs,gcyl,sjwdxdxyyl,hfxs,ds,dp/*以下為螺栓計(jì)算使用變量*/,T,qy,Q,qb,PL,DL;
int i,j;
for(i=1;i>0;i++)
{
printf("1.壓力容器殼體壁厚計(jì)算 根據(jù)JB 2194—1977《水管鍋爐受壓元件強(qiáng)度計(jì)算》的公式: ")[2];
/*提示計(jì)算開始*/
printf("S=(9.8*a*D)/(2000*[σ]+9.8*a) +C ");
/*在屏幕上顯示出所用公式*/
printf("(注:S代表殼體計(jì)算壁厚 P代表公稱壓力,單位,MPa [σ]代表材料許用應(yīng)力,單位,MPa D代表殼體內(nèi)徑,單位,mm C代表附加壁厚) 以下依次輸入上述公式中的參數(shù): ");
圖1 旋轉(zhuǎn)活塞流量計(jì)主殼體二維工程圖
圖2 旋轉(zhuǎn)活塞流量計(jì)主殼體三維仿真組圖
/*在屏幕上顯示出公式中各個參數(shù)所代表的意義*/
printf("公稱壓力a:");
scanf("%f",&P);
printf("殼體內(nèi)徑D:");
scanf("%f",&D);
printf("材料許用應(yīng)力 [σ]:");
scanf("%f",&q);
printf("附加壁厚C:");
scanf("%f",&C);
/*逐步提示要輸入的參數(shù)*/
S=(9.8*P*D)/(2000*q+9.8*P)+C;
/*實(shí)際計(jì)算語句*/
printf("計(jì)算壁厚是:%f ",S);
/*在屏幕上顯示計(jì)算結(jié)果*/
SZ=4*S;
printf("考慮綜合因素所得到的最終工程實(shí)際壁厚是:%f(參考) (可根據(jù)具體情況來取,一般為計(jì)算壁厚的3~4倍) ",SZ);
/*顯示最終經(jīng)過經(jīng)驗(yàn)分析而確定的結(jié)果*/
printf("2.蓋壁厚計(jì)算 ");
printf("按GB 150—1998《鋼制壓力容器》中7.4.2.1 圓形平蓋厚度計(jì)算公式: Δp=Dc*( (KP[σ]tΦ)1/2) (公式2) ");
printf("首先計(jì)算結(jié)構(gòu)特征系數(shù)K值: ");
printf("請依次輸入殼體內(nèi)徑和平蓋危險徑向截面上各開孔寬度之總和Σb: ");
/*提示要計(jì)算的量,計(jì)算依據(jù)和計(jì)算方法,原樣輸出*/
scanf("%f%f",&Dc,&q6);
v=(Dc-q6)/Dc;
printf("則削弱系數(shù)%f ",v);
printf("請選擇K值:");
scanf("%f",&K);
k2=K/v;
printf("公式中的K值是:%f ",k2);
/*計(jì)算確定K值*/
printf("請輸入公稱壓力P、焊縫系數(shù)Φ和設(shè)計(jì)溫度下的材料許用應(yīng)力[σ]t: ");
scanf("%f%f%f",&P,&q3,&q2);
p=Dc*sqrt((k2*P)/(q3*q2));
printf("計(jì)算壁厚是:%f ",p);
/*輸入已知量和以前計(jì)算結(jié)果從而計(jì)算出壁厚*/
printf("3.密封罩壁厚計(jì)算: 3.1 按GB 150—1998《鋼制壓力容器》中的式5-1:");
printf("請分別輸入設(shè)計(jì)壓力P,圓桶內(nèi)直徑Di,設(shè)計(jì)溫度下的許用應(yīng)力和焊縫系數(shù):");
/*提示要計(jì)算的量,計(jì)算依據(jù)和計(jì)算方法,原樣輸出*/
scanf("%f%f%f%f",&mfzbh1,&mfzbh2,&mfzbh3,&mfzbh4);
jg3=10*mfzbh1*mfzbh2/(2*mfzbh3*mfzbh4-mfzbh1);
printf("密封罩計(jì)算壁厚為:%f ",jg3);
/*輸出計(jì)算結(jié)果*/
printf("3.2筒體底部壁厚的計(jì)算: ");
printf("按GB 150—1998《鋼制壓力容器》中7.4.2平蓋計(jì)算中的7.4.2.1圓形平蓋厚度的式7-29 ");
printf("δp=Dc?{KPc/([б]ε?Φ)}1/2 ");
printf("其中,Dc為計(jì)算直徑,K為結(jié)構(gòu)特征系數(shù) ");
printf("請確定并輸入計(jì)算直徑Dc,結(jié)構(gòu)特征系數(shù)K、工作壓力P、設(shè)計(jì)溫度下的許用應(yīng)力[б]和焊縫系數(shù)Φ:");
/*提示計(jì)算依據(jù)與方法,原樣輸出*/
scanf("%f%f%f%f%f",&jszj,&jgtzxs,&gcyl,&sjwdxdxyyl,&hfxs);
ds=jgtzxs*gcyl/(sjwdxdxyyl*hfxs);
dp=jszj*sqrt(ds);
printf("密封罩計(jì)算壁厚為:%f ",dp);
printf("最終壁厚為:%f (參考)",4*dp);
/*輸出計(jì)算結(jié)果*/
printf("4.螺栓強(qiáng)度計(jì)算: ");
printf("4.1 傳感器的殼體與前后蓋用螺栓連接,組成壓力容器。螺栓承受軸向載荷,載荷作用于螺栓組中心,這時各個螺栓所受載荷相同, ");
printf("請輸入工作壓力P和螺栓組分布中心圓直徑D:");
/*提示計(jì)算依據(jù)與方法,原樣輸出*/
scanf("%f%f",&PL,&DL);
T=PL*3.14*DL*DL/8;
Q=1.3*2.5*T;
printf("計(jì)算得螺栓組所受拉伸載荷為:%f ",Q);
printf("根據(jù)GB 3098.1《緊固件機(jī)械性能螺栓、螺釘和螺柱》表7, 按選定螺栓性能等級8.8查取螺栓公稱直徑和Q保,請輸入Q保: ");
/*提示輸入必要參數(shù)*/
scanf("%f",&qb);
printf("計(jì)算得所需螺栓個數(shù)為:%f ",Q/(qb-6));
printf("一般的,實(shí)際所需螺栓數(shù)為計(jì)算的3~4倍,故實(shí)際約需%f個螺栓 ",3*Q/(qb-6));
printf("第%d次計(jì)算循環(huán)已全部完成! ",i);
/*顯示當(dāng)前計(jì)算循環(huán)次數(shù)*/
}
}[3]
程序清單輸入Borland C、Turbo C、WinTC或其他C語言編譯軟件(本文使用安陽工學(xué)院設(shè)計(jì)開發(fā)的《C與C++程序設(shè)計(jì)學(xué)習(xí)與試驗(yàn)系統(tǒng)2012.5》軟件),運(yùn)行后其程序執(zhí)行狀態(tài)如圖3~圖4所示。
工作時,設(shè)計(jì)者應(yīng)用該程序,只需根據(jù)提示輸入要求的設(shè)計(jì)參數(shù),便可快捷無誤地計(jì)算出設(shè)計(jì)結(jié)果,實(shí)現(xiàn)了參數(shù)化過程設(shè)計(jì)。另外,由于各類編程語言具有一定的通融性,本文也為Visual Basic、C++和Java等其他語言編程解決此類問題提供了思路。
圖3 等待輸入各參數(shù)(程序開始執(zhí)行)
圖4 第1次全部計(jì)算完成(進(jìn)入下一個計(jì)算循環(huán))
應(yīng)用計(jì)算機(jī)程序?qū)?fù)雜的設(shè)計(jì)計(jì)算過程編寫為軟件,可大大減輕設(shè)計(jì)人員的計(jì)算負(fù)擔(dān),提高容積式流量儀表的設(shè)計(jì)效率。此為流量儀表設(shè)計(jì)引入了新方法,也用實(shí)例展示了計(jì)算軟件給傳統(tǒng)工程設(shè)計(jì)計(jì)算注入的新思想、新活力。
[1] 譚浩強(qiáng).C程序設(shè)計(jì)[M].2版.北京:清華大學(xué)出版社,1999.
[2] 成大先. 機(jī)械設(shè)計(jì)手冊:第1卷[M]. 5版. 北京:化學(xué)工業(yè)出版社,2008.
[3] 孫國鈞,趙社戌. 材料力學(xué)[M]. 上海:上海交通大學(xué)出版社,2006.
責(zé)任編輯鄭練
DevelopmentofCalculationSoftwarefortheStrengthDesigntotheCastingCaseofthePositiveDisplacementFlowMeter
JIN Wenzhe, ZHANG Tingyu
(Kaifeng Instrument Co., Ltd., Kaifeng 475002, China)
Aimed at the design calculation process to the casting case of the positive displacement flow meter with over-elaboration and standardization procedures, made use of the advantages of language C on the resolution of the problem of oriented process, compiled the design calculation process to this kind of the meter case into calculation software. The engineers and technicians can be liberated from the numerous and jumbled mathematical numerical value calculation,and put their primary energy to devote themselves to the optimizing option of the engineering actual parameters and the elaborate inspection and verification of the calculation results and so on, as high grade strategic decision calculation to enable to realize a perfect combination of the high speed calculation of the computer and the abundant logic selection and decision ability and the practical experiences of the engineers and technicians, thereby, it can realize furthest usage of modern science and technology method to raise the design efficiency of the positive displacement flow meter。
positive displacement flow meter, design calculation, application of language C, raising of calculation efficiency
TH 12
:B
靳文哲(1970-),男,工程師,主要從事流量儀表的設(shè)計(jì)開發(fā)制造及其相關(guān)服務(wù)工作等方面的研究。
2014-06-10