% SolarCollector.m % ---------------------------------------------------------------------------------------------------------------------- % % Simple first-order solar collector model (M-file called by TRNSYS type 155) % % Data passed from / to TRNSYS % ---------------------------- % % trnTime (1x1) : simulation time % trnInfo (15x1) : TRNSYS info array % trnInputs (nIx1) : TRNSYS inputs % trnStartTime (1x1) : TRNSYS Simulation Start time % trnStopTime (1x1) : TRNSYS Simulation Stop time % trnTimeStep (1x1) : TRNSYS Simulation time step % mFileErrorCode (1x1) : Error code for this m-file. It is set to 1 by TRNSYS and the m-file should set it to 0 at the % end to indicate that the call was successful. Any non-zero value will stop the simulation % trnOutputs (nOx1) : TRNSYS outputs % % % Notes: % ------ % % You can use the values of trnInfo(7), trnInfo(8) and trnInfo(13) to identify the call (e.g. first iteration, etc.) % Real-time controllers (callingMode = 10) will only be called once per time step with trnInfo(13) = 1 (after convergence) % % The number of inputs is given by trnInfo(3) % The number of expected outputs is given by trnInfo(6) % WARNING: if multiple units of Type 155 are used, the variables passed from/to TRNSYS will be sized according to % the maximum required by all units. You should cope with that by only using the part of the arrays that is % really used by the current m-File. Example: use "nI = trnInfo(3); myInputs = trnInputs(1:nI);" % rather than "MyInputs = trnInputs;" % Please also note that all m-files share the same workspace in Matlab (they are "scripts", not "functions") so % variables like trnInfo, trnTime, etc. will be overwritten at each call. % % ---------------------------------------------------------------------------------------------------------------------- % This example implements a very simple solar collector model. The component is iterative (should be called at each % TRNSYS call) % % trnInputs % --------- % % trnInputs(1) : Ti, collector inlet temperature % trnInputs(2) : mdot, collector flowrate % trnInputs(3) : Tamb , ambient temperature % trnInputs(4) : Gt, solar radiation in the collector plane % % trnOutputs解释下这段代码
时间: 2023-08-15 16:06:37 浏览: 387
这段代码是一个简单的太阳能集热器模型,用于TRNSYS类型155的模拟。它通过接收和传递一些参数和数据来与TRNSYS交互。
以下是与TRNSYS交互的数据变量:
- trnTime:模拟时间
- trnInfo:TRNSYS信息数组
- trnInputs:TRNSYS输入
- trnStartTime:TRNSYS模拟开始时间
- trnStopTime:TRNSYS模拟停止时间
- trnTimeStep:TRNSYS模拟时间步长
- mFileErrorCode:该m文件的错误代码。TRNSYS将其设置为1,m文件应将其设置为0以指示调用成功。任何非零值都将停止模拟。
- trnOutputs:TRNSYS输出
此外,代码中还有一些注释提供了一些说明和注意事项。例如,可以使用trnInfo(7)、trnInfo(8)和trnInfo(13)的值来识别调用的情况,也可以通过trnInfo(3)和trnInfo(6)来确定输入和输出的数量。
请注意,如果使用多个类型155的单元,则从/到TRNSYS传递的变量将根据所有单元的最大需求进行调整大小。因此,您应该仅使用当前m文件真正使用的数组部分。此外,请注意所有m文件在Matlab中共享同一工作空间(它们是“脚本”,而不是“函数”),因此变量如trnInfo、trnTime等在每次调用时都会被覆盖。
总体而言,这段代码实现了一个简单的太阳能集热器模型,应在每次TRNSYS调用时进行迭代。
阅读全文