对于某些组件,可以指定一个 EbsScript 函数,在该函数中计算相应的值,而不是指定值。
这个函数的名字必须是"evalexpr",并将所需的值分配给一个实数变量"evalexpr"。
例子:
function evalexpr:REAL;
begin
evalexpr:=0.01;
end;
对于"内核表达式",有一些特殊的数据类型和函数,可以在接口单元内核表达式中找到。
函数:
名称 |
目的 |
参数 |
返回值 |
例子
|
keGetComp |
返回刚刚计算出来的组份(作为"ebscomp") |
- |
ebsComp: |
function evalexpr:REAL; var eComp:ebscomp; begin eComp:=keGetComp; for i:=0 to (n-1) do begin str:=printToString (str,ar[i].name," ",ar[i].value,"\n"); end; if (keGetInternalVar("PHIINC", r)) then begin str:=printToString (str,"PHIINC is ",r,"\n"); end; r:=keGetInternal("TAVER"); messagebox (str); end; |
keGetInternal |
作为函数值返回这些附加变量之一的值。如果出现错误,则返回 on_error_return 下指定的值 |
1: STRING: 2: REAL: on_error_return (可选) |
REAL: |
|
keGetInternals |
返回一个带有额外内部变量的字段,可用于计算指定的值(特定于组件类型) |
- |
内部值的数组 |
|
keGetInternalVar |
提供一个带有额外内部变量的字段,可用于计算指定的值(特定于组件类型) |
1: STRING: 2: REAL: 内部变量的值 |
BOOLEAN: 执行状态 如果成功则为 true,否则为 false |
|
keGetItNo |
当前迭代步骤的编号 | - |
INTEGER: 当前迭代步骤的编号 |
|
keGetKernelExpression |
返回对当前计算出的 ebs 值的引用(更新将在下一次模拟时才生效) |
- |
ebsVar |
|
keGetIndicatedValue |
返回组件 45 的指定值,而不返回计算状态(用于表达式)
|
1.INTEGER: 组件 45 的索引 2: REAL: on_error_return (可选) |
REAL: 组件 45的值 |
|
keGetIndicatedValueByObjekt |
为给定引用(EBSCOMP45)返回组件 45 的值,不返回计算状态(用于表达式) |
1: EBSCOMP45 对组件 45 的引用 2: REAL: on_error_return (可选) |
REAL: 组件 45的值 |
|
keGetIndicatedValueByObjektVar |
为给定引用(EBSCOMP45)返回组件 45 的值和计算状态
|
1: EBSCOMP45 对组件 45 的引用 2: REAL: 组件 45的值 |
BOOLEAN: 执行状态 如果成功则为 true,否则为 false |
|
keGetIndicatedValueVar |
返回组件 45 的指定值并返回计算状态 |
1.INTEGER: 2: REAL: |
BOOLEAN: 执行状态 如果成功则为 true,否则为 false |
|
程序: |
|
|
|
|
keSetComment |
输出显示在错误列表中的评论
|
1.STRING:
|
- |
|
keSetError |
输出显示在错误列表中的错误。
|
1.STRING: 2.BOOLEAN: |
- |
|
keSetWarning |
在 abortCalculation = true 的情况下调用 keSetError 将中止运行中的模拟 |
1: STRING: |
- |