[Equest-users] 回复: Is there a way to extract specific data from simresult?

Yf Sun caselysun at gmail.com
Tue May 21 19:53:32 PDT 2013


非常感谢!


On Wed, May 22, 2013 at 10:44 AM, 冷面寒枪 <503271081 at qq.com> wrote:

> As we all konwn,The computer engine of eQuest software is DOE2.2. you can
> program your computer  to accomplish  this function using C or VB program
> language.Blow is the specification for calling DOE2.2.
>
>    (c) Copyright 1999, Scott A. Criswell.  All Rights Reserved.
>
> This file describes how to interface with the D2Result DLL in
> order to retrieve simulation results from the DOE-2.2 binary
> results files.
>
>
> ----------------------------------------------------------------------
> UPDATES:
> ----------------------------------------------------------------------
>  8/31/99 - SAC - VisualBasic Users - We have added VB-compatible versions
>                  of each of the rest of the functions exported from the
>                  D2Result.dll.  Your VB code should use the same arguments,
>                  but the function names should be *_VB*().  For example,
>                  instead of calling D2R_GetMultipleResult(...), you
>                  should call D2R_VBGetMultipleResult(...).
>  8/22/99 - SAC - VisualBasic Users - We have added a function call
>                  which is equivalent to D2R_GetSingleResult() but uses
>                  a calling convention compatible with VisualBasic.
>                  This new function is called D2R_VBGetSingleResult()
>                  and takes the exact same arguments as its counterpart.
>                  No such VB-compatible D2R_GetMultipleResult() counter-
>                  part exists.  Please contact us if you would like one
>                  added.
> ----------------------------------------------------------------------
>
>
> Results retrieval is current available only from the Non-Hourly
> results files for Loads, HVAC and Economics.
>
> The D2Result.DLL library is based on MFC (Microsoft Foundation
> Classes) and therefore requires that the following files be
> installed into your Windows\System directory:
>    MFC42.DLL   (~975 kb)
>    MSVCRT.DLL  (~250 kb)
> You can find these files located in the \System directory of
> this distribution.
> These files are the latest updates that are reported to be
> fully compatible with previous versions.  However, we do
> recommend that you save older versions of these files in the
> event these new files are incompatible with other software
> running on your machine.
>
> Unlike interfacing with the BDLCIO32 and SimCIO32 DLLs, the
> D2Result DLL does not interface directly with any other
> executable code.  As a result, there are no DLL initialization
> or clean-up routines.  The only things you need do are to load
> and unload the DLL using whatever mechanism is available to
> your in your development environment and to call the various
> exported functions much like you would any other DLL you
> interface with.
>
> The following is a description of the functions exported from
> D2Result.DLL:
> (for more details, refer to the D2ResX.h header file and the
>  top portion ofthe NHRList.txt file)
>
> 1) Retrieval of a single value or array of values:
>       long D2R_GetSingleResult( const char* pszDOE2Dir,
>                                 const char* pszFileName,
>                                 int iEntryID,
>                                 float* pfData,
>                                 int iMaxValues,
>                                 const char* pszReportKey,
>                                 const char* pszRowKey );
>
>       Return Value:
>             >= 0 => successful - # of values retrieved
>             <  0 => failed - refer to the D2ResX.h header file for
>                     descriptions of the various return values.
>
>       Where:
>          pszDOE2Dir   => Directory where DOE-2 system files (such as
>                          BDLKey.bin, BDLLib.dat, etc.) are stored
>                          (including a trailing '\').
>          pszFileName  => The full path and filename of the BDL input
>                          file without the trailing dot or file
>                          extension.
>                          (i.e. if your DOE-2 input filename is:
>                           "C:\My Dir\Projects\Wall Mart\Wall Mart.inp"
>                           then pszFileName should be:
>                           "C:\My Dir\Projects\Wall Mart\Wall Mart")
>          iEntryID     => Integer value identifying the value or series
>                          to be retrieved.  These values are defined in
>                          the first column of DOE-2\NHRList.txt file.
>          pfData       => Address of an array of 32-bit floating point
>                          numbers to be populated with results.
>          iMaxValues   => Number of floats defined in above array.
>                          (this value should correspond to the value
>                           in the "NI" column of the NHRList.txt entry
>                           describing the result(s) you are retrieving)
>          pszReportKey => Used only when retrieving results from a
>                          non-hourly report which is repeated over
>                          multiple components of a particular type.
>                          This argument contains a NULL-terminated
>                          character string identifying the building
>                          component for which you are retrieving the
>                          results.
>                          This argument must contain a valid string
>                          whenever the "RI" column of the selected
>                          NHRList.txt data contains a value > 0.
>          pszRowKey    => Used only when retrieving results from a
>                          report which contains multiple rows of data
>                          where each row provides results for a separate
>                          building component or month of the year.
>                          This argument contains a NULL-terminated
>                          character string identifying the row of data
>                          which you are retrieving the results for.
>                          This argument must contain a valid string
>                          whenever the "KT" column of the selected
>                          NHRList.txt data contains a value > 0.
>
>       Example:
>          To retrieve the total site energy use for a building (from the
>          BEPS report):
>             To determine iEntry, open the NHRList.txt file and search
>             for "BEPS" to find: "2001   BEPS  Building Energy..."
>             The "2001" is the first four digits of the iEntryID, then
>             we do another search for "2001   BEPS" to get down to the
>             area where the BEPS report entries are defined.  Once there
>             we examine the text to the far right of each entry which
>             provides a description of the results which that entry
>             retrieves data for.  We find that the entry ID 2001001
>             retrieves "Total Site Energy (BTU)".
>
>             Here's what the call looks like (in 'C'):
>
>                float fResult;
>                long lRetVal = D2R_GetSingleResult(
>                                  "E:\\WinDOE2\\doe-2\\",
>                                  "E:\\WinDOE2\\Projects\\Proj1\\Proj1",
>                                  2001001, &fResult, 1, NULL, NULL );
>
>
> 2) When retrieving mutliple single values or arrays of results from the
>    same Non-Hourly results file, it is most efficient to use a different
>    function in order to retrieve all the results at once:
>
>       long D2R_GetMultipleResult( const char* pszDOE2Dir,
>                                   const char* pszInpFileName,
>                                   int iFileType,
>                                   float* pfData,
>                                   int iMaxValues,
>                                   int iNumMRTs,
>                                   MultResultsType* pMRTs );
>
>       Return Value:
>             >= 0 => successful - # of values retrieved
>             <  0 => failed - refer to the D2ResX.h header file for
>                     descriptions of the various return values.
>
>       Where:
>          pszDOE2Dir   => Directory where DOE-2 system files (such as
>                          BDLKey.bin, BDLLib.dat, etc.) are stored
>                          (including a trailing '\').
>          pszFileName  => The full path and filename of the BDL input
>                          file without the trailing dot or file
>                          extension.
>                          (i.e. if your DOE-2 input filename is:
>                           "C:\My Dir\Projects\Wall Mart\Wall Mart.inp"
>                           then pszFileName should be:
>                           "C:\My Dir\Projects\Wall Mart\Wall Mart")
>          iFileType    => 0 for Loads results, 1 for HVAC and simulated
>                          Energy Use results and 2 for Utility Rate and
>                          Economics results.  This value should also
>                          correspond to the first digit of each NHRList
>                          entry ID minus 1.
>          pfData       => Address of an array of 32-bit floating point
>                          numbers to be populated with ALL single or
>                          arrays of results.
>          iMaxValues   => Number of floats defined in above array.
>          iNumMRTs     => Number of MultResultsType structures pointed
>                          to by the following argument.  Only the first
>                          12 will be used, each one must retrieve results
>                          from the same file and the number of items
>                          retrieved for each element should be equal.
>          pMRTs        => Pointer to an array of MultResultsType
>                          structures:
>                             struct MultResultsType
>                             {
>                                int  iEntryID;      // from NHRList.txt
>                                int  iReturnValue;  // success/failure
>                                char pszReportKey[ 34 ];
>                                char pszRowKey[    34 ];
>                             };
>
>
>       Example:
>          To retrieve the energy use by end-use and the end-use sum for
>          a series of electric meters (EM1 and EM2) from the PS-F reports
>          followed by the sum across all electric meters by end-use from
>          the PS-E reports:
>
>             MultResultsType MRTs[4];
>
>             MRTs[0].iEntryID = 2309007;    // EM1 array from PS-F
>             MRTs[0].pszReportKey = "EM1";
>             MRTs[0].pszRowKey[0] = '\0';
>
>             MRTs[1].iEntryID = 2309007;    // EM2 array from PS-F
>             MRTs[1].pszReportKey = "EM2";
>             MRTs[1].pszRowKey[0] = '\0';
>
>             MRTs[2].iEntryID = 2305005;    // Elec Mtr Totals from PS-E
>             MRTs[2].pszReportKey[0] = '\0';
>             MRTs[2].pszRowKey[0]    = '\0';
>
>             float fResults[39];  // 3 MRTs x 13 values per MRT
>             long lRetVal = D2R_GetMultipleResult(
>                                  "E:\\WinDOE2\\doe-2\\",
>                                  "E:\\WinDOE2\\Projects\\Proj1\\Proj1",
>                                  1, fResults, 39, 3, MRTs );
>
>
> 3) Additional functions exist enabling you to determine how many
>    building components of a particular type were defined in the
>    input file corresponding to the results you are retrieving as
>    well as the name of each of those components.  These functions
>    enable you to retrieve results for particular building components
>    when you are not sure what the component names were in the
>    original BDl input.
>    Refer to the function definitions in the D2ResX.h header file for
>    more details.
>
>
> Best regard
>
> 赵永青
>
> 长沙绿建节能科技有限公司
>
>
> ------------------ 原始邮件 ------------------
> *发件人:* "Yf Sun"<caselysun at gmail.com>;
> *发送时间:* 2013年5月22日(星期三) 上午10:07
> *收件人:* "tiejun hu"<hutiejun1223 at 126.com>; **
> *抄送:* "equest-users"<equest-users at lists.onebuilding.org>; **
> *主题:* Re: [Equest-users] Is there a way to extract specific data from
> simresult?
>
> Hi, tiejun!
> Thanks for your reply but I dont need the hourly data, i need annual
> system peak loads, cooling and heating system loads for example, do you
> have a idea how to automate the data extraction?
>
>
> On Wed, May 22, 2013 at 10:05 AM, Yf Sun <caselysun at gmail.com> wrote:
>
>> Hi, tiejun!
>> Thanks for your reply but I dont need the hourly data, i need annual
>> system peak loads, cooling and heating system loads for example, do you
>> have a idea how to automate the data extraction?
>>
>>
>> On Wed, May 22, 2013 at 9:51 AM, tiejun hu <hutiejun1223 at 126.com> wrote:
>>
>>> Hi,Yf
>>>     You can creat hourly reports in detail mode, then run it, open
>>> hourly reports in sim file.
>>>     Best regards
>>>
>>>
>>>
>>>
>>>
>>> At 2013-05-22 09:48:23,"Yf Sun" <caselysun at gmail.com> wrote:
>>>
>>> Hi,dear Equesters!
>>> Im currently doing my ph.d research using equest to analyse building
>>> energy performance, i found its time consuming to find the data i need from
>>> sim result, as the data i need almost the same for every simulation, do you
>>> know a way to extract the specific text data(for importing to excel)
>>> quickly by using some third party program maybe?
>>>
>>> --
>>>  Best regards
>>> Ivan
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Best regards
>> 孙一峰
>>
>
>
>
> --
> Best regards
> 孙一峰
>



-- 
Best regards
孙一峰
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.onebuilding.org/pipermail/equest-users-onebuilding.org/attachments/20130522/341a16db/attachment-0002.htm>


More information about the Equest-users mailing list