沥青混合料马歇尔试验数据处理系统参考资料_第1页
沥青混合料马歇尔试验数据处理系统参考资料_第2页
沥青混合料马歇尔试验数据处理系统参考资料_第3页
免费预览已结束,剩余13页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沥青混合料配合比数据处理系统1.沥青混合料配合比选择简介沥青混合料配合比的设计主要是利用马歇尔的试验方法确定沥青混合料的材料品种及配合比、矿料级配、最佳沥青用量。其工艺流程图如下:沥青混合料配合比设计操作框图个数材料的选定和试验-+1 1矿料配合比计算沥青用量范围T丁I混合料类型制作五组马歇尔试件击实次数拌合温度记录数据马歇尔试验与标准对比密度稳定度空隙率流值饱和度制件温度决定沥青用量OAC10AC2这个软件设计不包括原材料的选定和试验;OAC歇尔试件的制作。仅仅是针对矿料级配的计算、马歇尔试验以后的步骤。矿料级配计算主要采用规划求解方法进行。通过马歇尔试验得出一组数据,然后对数据进行处理,最

2、终得出最佳油石比2.人工数据处理过程2.1矿料级配的计算:列15个方程,求解4个未知数,有不同的结果。沥青混合料级配设计计算表集料名称集料用量37.531.526.5191613.29.54.752.361.180.60.30.150.0750集料130%10091611.2000000000000集料222%10010010090582200000000集料310%100100100100100100871.21000000集料430%100100100100100100100946642322418140sa2%100100100100100100100100100100100100958

3、50集料56%1001001001001001001009686623413320级配要求最小100957966595243322518138530中值10097.584.57265.558.549.538.531.5241913950最大100100907872655645383025181370合成级配10098896961534736271914107.96.3602.2本数据处理系统是对马歇尔试验的数据用计算机进行处理,改变以往人工处理效率低,准确性差的特点。马歇尔试验得出数据汇总如下:3.54.04.55.05.5技术标准密度2.262.322.322.302.28稳定度912.11

4、1.910.59.8>7.5k n空隙率964.54.12.83-6流值2.22.52.93.34.220-40饱和度406066697970-85然后将每种试验项目作纵坐标,油石比作横坐标绘制如下表混合料密度与油石比的关系4.04.55.05.5油石比8 42-22 2 2 2 20 6 24 3 35322xomc/ar, 密 积体毛1 )根据上述的五个曲线图求取相应密度最大值时沥青用量a2、稳定度最大值时沥青用量al、空隙率范围中值沥青用量a3,求取三者平均值作为最佳沥青用 量的初始值0AC1OAC仁(a1+a2+a3) /32 )求出各项指标符合技术要求的沥青用量范围OACn O

5、AC,其中OAC2=( OACMin+OAGx, ) /23 )最佳沥青用量为:OAC=( OAC1+OAQ2/23计算机数据处理过程3.1 试验参数的输入3.2 马歇尔数据处理3.3 级配设计4. 使用说明本软件采用 VC6.0 编写,可在 windows 环境下运行。软件采用基于文档的方式来实现,通过处理输入的数据,在文档区显示数据处理的结果,同时可以通过本地或者网络打印机打印显示的文档。按数据处理功能来说分为两部分,一部分是沥青混合料最佳用量确定试 验,一部分是沥青混合料集料级配设计试验。1、 沥青混合料最佳用量确定试验使用说明1) 打开程序;2) 点击 菜单参数输入试验参数, 出现参数

6、输入的对话框;3) 在对话框里分别填写实验信息, 选择道路类型、混凝土类型。然后点击“确定”按钮;4) 此时 菜单一一参数输入一一Mashall参数 激活,点击 菜单参数输入 Mashall 参数,出现 Mashall 参数的对话框;5) 选择试验数据组数( 58),缺省值为 5;然后填入实验数据,如果填错,则会报错。测试时请选择组数为 5,然后点击载入测试数据, 则程序自动将一组设定好的数据填入,供测试软件之用。数据填完则点击“确定”按钮;6) 点击 菜单结果输出数据分析, 则在文档区出现两页的文档,分别记录着实验信息、试验数据、最佳用量的确定、图表7) 预览:此时可以通过 菜单 文件打印预

7、览 观察要 打印的文档。可同时在屏幕中显示一页或两页,也可以放大缩小文档来 观看。8) 打印:可以在预览窗口点击“打印” ,也可以通过 菜单 文件打印 来完成。(注意:请在打印之前,检查打印机是否装 好,或者是否有网络打印机; 打印纸张大小为 A4, 方向为纵向,可以在 打印设置中检查。)9) 保存:点击工具栏或者菜单上的“保存”按钮,可以将文档保存 下来。10) 另存为:点击菜单上的 “另存为” 按钮,可以将文档另保存下来。11) 打开:点击工具栏或者菜单上的“打开”按钮,可以打开保存过 的文档。2、沥青混合料集料级配设计试验使用说明1) 打开程序;2) 点击 菜单参数输入集配设计, 出现级

8、配试验参 数输入的对话框;3) 在对话框中按照筛孔尺寸分别填入 46种集料的通过百分率, 双 击表格第一行的单元可以选择或者去除基准列 , 然后点击“确定”按钮; 也可以通过点击“载入测试数据”来填入测试数据。4) 点击 菜单结果输出数据分析, 则在文档区出现 一页的文档,分别记录试验结果及级配图等信息。5) 打印、打印预览、保存、另存为、打开同上;5. 下步计划本软件未设及原材料试验等步骤 , 下次改进时将进行补充 , 使软件更加丰富 , 使用更加方便简洁。毕业设计论文 沥青混合料配合比数据处理系统 学 生:吴志祥 指导老师:石家庄铁道学院成教分院2002 级计算机专业部份代码MICROSO

9、FT FOUNDATION CLASS LIBRARY : Concrete2AppWizard has created this Concrete2 application for you. This application not only demonstrates the basics of using the Microsoft Foundation classes but is also a starting point for writing your application.This file contains a summary of what you will find in

10、 each of the files that make up your Concrete2 application.Concrete2.dspThis file (the project file) contains information at the project level and is used to build a single project or subproject. Other users can share the project (.dsp) file, but they should export the makefiles locally.Concrete2.hT

11、his is the main header file for the application. It includes other project specific headers (including Resource.h) and declares the CConcrete2App application class.Concrete2.cppThis is the main application source file that contains the application class CConcrete2App.Concrete2.rcThis is a listing of

12、 all of the Microsoft Windows resources that the program uses. It includes the icons, bitmaps, and cursors that are stored in the RES subdirectory. This file can be directly edited in Microsoft Visual C+.Concrete2.clwThis file contains information used by ClassWizard to edit existing classes or add

13、new classes. ClassWizard also uses this file to store information needed to create and edit message maps and dialog datamaps and to create prototype member functions. resConcrete2.icoThis is an icon file, which is used as the application's icon. Thisicon is included by the main resource file Con

14、crete2.rc. resConcrete2.rc2This file contains resources that are not edited by MicrosoftVisual C+. You should place all resources not editable bythe resource editor in this file./For the main frame window:MainFrm.h, MainFrm.cppThese files contain the frame class CMainFrame, which is derived from CFr

15、ameWnd and controls all SDI frame features.resToolbar.bmpThis bitmap file is used to create tiled images for the toolbar.The initial toolbar and status bar are constructed in the CMainFrame class. Edit this toolbar bitmap using the resource editor, and update the IDR_MAINFRAME TOOLBAR array in Concr

16、ete2.rc to add toolbar buttons./AppWizard creates one document type and one view: Concrete2Doc.h, Concrete2Doc.cpp - the documentThese files contain your CConcrete2Doc class. Edit these files to add your special document data and to implement file saving and loading (via CConcrete2Doc:Serialize).Con

17、crete2View.h, Concrete2View.cpp - the view of the documentThese files contain your CConcrete2View class.CConcrete2View objects are used to view CConcrete2Doc objects. /Other standard files:StdAfx.h, StdAfx.cppThese files are used to build a precompiled header (PCH) filenamed Concrete2.pch and a prec

18、ompiled types file named StdAfx.obj. Resource.hThis is the standard header file, which defines new resource IDs.Microsoft Visual C+ reads and updates this file. / Other notes:AppWizard uses "TODO:" to indicate parts of the source code you should add to or customize.If your application uses

19、 MFC in a shared DLL, and your application is in a language other than the operating system's current language, you will need to copy the corresponding localized resources MFC42XXX.DLL from the Microsoft Visual C+ CD-ROM onto the system or system32 directory, and rename it to be MFCLOC.DLL. (&qu

20、ot;XXX" stands for the language abbreviation. For example, MFC42DEU.DLL contains resources translated to German.) If you don't do this, some of the UI elements of your application will remain in the language of the operating system./DlgparaJipei(cpp)/ DlgParaJipei.cpp : implementation file/

21、#include "stdafx.h"#include "concrete2.h"#include "DlgParaJipei.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CDlgParaJipei dialogCDlgParaJipei:CDlgParaJipei(CWnd* pParent /*=NULL*/): CDialog(CDlgParaJipei:IDD, pParent)/AFX_D

22、ATA_INIT(CDlgParaJipei) m_bCheck = FALSE;m_nRows = 4;/AFX_DATA_INITvoid CDlgParaJipei:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CDlgParaJipei)DDX_Control(pDX, IDC_SPIN_ROW, m_SpinRow); DDX_GridControl(pDX, IDC_GRID1, m_Grid);DDX_Text(pDX, IDC_EDIT_ROWS, m_nRows);DD

23、V_MinMaxInt(pDX, m_nRows, 4, 6);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CDlgParaJipei, CDialog) /AFX_MSG_MAP(CDlgParaJipei) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_EN_UPDATE(IDC_EDIT_ROWS, OnUpdateEditRows) /AFX_MSG_MAPON_NOTIFY(NM_DBLCLK, IDC_GRID1, OnGridDblClick)END_MESSAGE_MAP() / / CDlgParaJipei messag

24、e handlersBOOL CDlgParaJipei:OnInitDialog()CDialog:OnInitDialog();/ TODO: Add extra initialization here int i;CString str; m_SpinRow.SetRange(4,6); m_Grid.SetRowCount(6); m_Grid.SetColumnCount(14); m_Grid.SetFixedRowCount(2); m_Grid.SetFixedColumnCount(1); m_Grid.SetEditable(TRUE);/ 设置选择列的参数 m_nSele

25、ctCols0 = 0; /个数m_nSelectCols1 = -1; /列m_nSelectCols2 = -1; /列m_Grid.SetColumnWidth(0, 70);for(i = 0; i < 6; i+)m_Grid.SetRowHeight(i, 25);for( i = 1; i < 14; i+)m_Grid.SetColumnWidth(i, 50);GV_ITEM item;item.mask = GVIF_TEXT;/ 设置第一列的单位 for(i = 2; i < 6; i+)item.col = 0; item.row = i;str.Fo

26、rmat("%d", i-1); str = " 集料 " + str;item.strText = str; m_Grid.SetItem(&item);/ 设置第一排的单位 item.row = 0;item.col = 0;item.strText = "筛孔尺寸 "m_Grid.SetItem(&item);item.col = 1; item.strText = "31.5" m_Grid.SetItem(&item);item.col = 2; item.strText = &q

27、uot;26.5" m_Grid.SetItem(&item);item.col = 3;item.strText = "19" m_Grid.SetItem(&item); item.col = 4;item.strText = "16" m_Grid.SetItem(&item); item.col = 5;item.strText = "13.2" m_Grid.SetItem(&item); item.col = 6;item.strText = "9.5" m_G

28、rid.SetItem(&item); item.col = 7;item.strText = "*4.75" m_Grid.SetItem(&item); item.col = 8;item.strText = "*2.36" m_Grid.SetItem(&item); item.col = 9;item.strText = "1.18" m_Grid.SetItem(&item); item.col = 10;item.strText = "0.6" m_Grid.SetIte

29、m(&item); item.col = 11;item.strText = "0.3" m_Grid.SetItem(&item); item.col = 12;item.strText = "0.15" m_Grid.SetItem(&item); item.col = 13;item.strText = "*0.075" m_Grid.SetItem(&item);/ 设置第二排的单位 item.row = 1;item.col = 0; item.strText = "序号 "

30、;m_Grid.SetItem(&item);for(i = 1; i < 14; i +) item.col = i; str.Format("%d", i); item.strText = str; m_Grid.SetItem(&item);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CDlgParaJipei:OnGridDblClick(NMHDR

31、 *pNotifyStruct, LRESULT *) NM_GRIDVIEW* pItem = (NM_GRIDVIEW*) pNotifyStruct;CString strTemp;int i;if(pItem->iRow = 0)BOOL CoreCol;/ 特殊列i = pItem->iColumn;CoreCol = (i = 7) | (i = 8) | (i = 13);/ 特殊列if(CoreCol)AfxMessageBox(" 不能改动原定基准列 "); return;/ 前 4 列else if(pItem->iColumn <

32、; 5)AfxMessageBox(" 不能选择前 4 列作为基准列 "); return;!=/ 选择的不是基准列else if(pItem->iColumn != m_nSelectCols1 && pItem->iColumn m_nSelectCols2) / 列数已经够了 if(m_nSelectCols0 + 4) = m_nRows) AfxMessageBox(" 选择的列数已经达到要求 "); return;/ 还不够else if(m_nSelectCols0 + 4) < m_nRows) / 纪录

33、 m_nSelectCols0 +; m_nSelectColsm_nSelectCols0 = pItem->iColumn; / 显示 strTemp = m_Grid.GetItemText(0, pItem->iColumn); strTemp = "*" + strTemp; m_Grid.SetItemText(0, pItem->iColumn, strTemp); m_Grid.Refresh(); return;/ 选择的是基准列else if(pItem->iColumn = m_nSelectCols1 | pItem->

34、iColumn = m_nSelectCols2) / 纪录 m_nSelectCols0 -; if(pItem->iColumn = m_nSelectCols1) m_nSelectCols1 = -1;else m_nSelectCols2 = -1; / 显示 strTemp = m_Grid.GetItemText(0, pItem->iColumn); strTemp.TrimLeft("*");m_Grid.SetItemText(0, pItem->iColumn, strTemp); m_Grid.Refresh();return;/*

35、 / 删除信息strTemp = " 确实要删除第 " + m_Grid.GetItemText(1, pItem->iColumn) + "列 "int i;BOOL CoreCol;/ 特殊列i = atoi(m_Grid.GetItemText(1, pItem->iColumn);CoreCol = (i = 7) | (i = 8) | (i = 13);/ 特殊列if(CoreCol)AfxMessageBox(" 不能删除特殊列 ");/ 小于 8 列else if(m_Grid.GetColumnCount

36、() <= 8)AfxMessageBox(" 不能再删除列了! ");else if(AfxMessageBox(strTemp, MB_OKCANCEL) = IDOK) / 删除 m_Grid.DeleteColumn(pItem->iColumn); m_Grid.Refresh();*/void CDlgParaJipei:GetInput()int i,j;CString str;/ 取得数据for(i = 2; i < m_Grid.GetRowCount(); i+)for(j = 1; j < m_Grid.GetColumnCou

37、nt(); j+)str = m_Grid.GetItemText(i, j); m_fPassPercenti-2j-1 = (float)atof(str);/ 存储使用的列信息for(j = 1; j < m_Grid.GetColumnCount(); j+)str = m_Grid.GetItemText(1, j); m_nNumj-1 = atoi(str);/ 存储筛孔尺寸for(j = 1; j < m_Grid.GetColumnCount(); j+)str = m_Grid.GetItemText(0, j);str.TrimLeft("*&quo

38、t;); m_fHoleSizej-1 = atof(str);BOOL CDlgParaJipei:CheckData()int i,j,n;CString str, msg;/ 列数不够 if(m_nSelectCols0 + 4) < m_nRows)msg.Format(" 请再选择 %d 个基准列,双击第一行的单元进行选取! ", m_nRows - (m_nSelectCols0 + 4);AfxMessageBox(msg);return FALSE; / 列数多if(m_nSelectCols0 + 4) > m_nRows)msg.Format

39、(" 多 选 择 了 %d 个 基 准 列 , 双 击 第 一 行 的 单 元 去 掉 基 准 列 ! (m_nSelectCols0 + 4) - m_nRows);AfxMessageBox(msg);return FALSE;for(i = 2; i < m_Grid.GetRowCount(); i+)for(j = 1; j < m_Grid.GetColumnCount(); j+)str = m_Grid.GetItemText(i, j);/ 数据不能为空 if(str.IsEmpty()msg.Format(” 第 4排、第 d列数据为空!",

40、 i-1, j);AfxMessageBox(msg); return FALSE;/ 数据不能包含非法字符CString strComp = "+09."for(n = 0; n < str.GetLength(); n+)if( strComp.Find(str.Mid(n,1) = -1)msg.Format(”第4排、第4列数据包含非法字符! AfxMessageBox(msg);return FALSE;/ 大于一个小数点int dotcount = 0;for(n = 0; n < str.GetLength(); n+)if(str.GetAt(n

41、) = '.') dotcount +;if(dotcount > 1)msg.Format(”第4排、第d列数据多于两个小数点! AfxMessageBox(msg);return FALSE;/ 中间有加号for(n = 1; n < str.GetLength(); n+)if(str.GetAt(n) = '+')msg.Format(”第4排、第d列数据格式错误!”AfxMessageBox(msg);", i-1, j);", i-1, j);i-1, j);return FALSE;/ 第一个字符为 '.&#

42、39; if(str.GetAt(0) = '.') msg.Format(”第4排、第d列数据格式错误!", i-1, j);AfxMessageBox(msg);return FALSE;/ 第一个字符为 '+', 第二个字符为 '.'if(str.GetAt(0) = '+' && str.GetAt(1) = '.')msg.Format(”第4排、第d列数据格式错误!", i-1, j);AfxMessageBox(msg);return FALSE;return TRUE;void CDlgParaJipei:OnOK()/ TODO: Add extra validation hereif(!CheckData()m_bCheck = FALSE;return;m_bCheck = TRUE;GetInput();CDialog:OnOK();void CDlgParaJipei:OnButton1()/ TODO: Add your control notification handler code hereint i,j;int num; / 列数CString str;/ 测试数据float

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论