Skip to content

计算函数说明

使用说明

1、openPlant®实时数据库中,提供了标准的数据二次计算引擎。可方便用户不进行任何二次开发即可实现简单数据二次加工运算,获得实时结果。
2、计算服务中,仅识别在PT=CALC类型的测点。若对应测点中EX字段未设定任何公式,系统将不对该点进行任何计算处理。
3、实时数据库支持水和水蒸气函数、openPlant® 函数和行业函数扩展包,同时支持Lua语言,计算公式中支持各类Lua语句和Lua标准库。
4、数据库使用op作为内部变量,客户使用时请勿重复定义。
5、文本/二进制等类型,不支持max/min等统计函数。
6、计算点缺省使用本地服务器时间,注意公式内测点数据时间和服务器是否存在较大差异。

本文档主要描述openPlant函数和水、水蒸汽函数,Lua语句和Lua标准库仅列举部分常用函数。

启动计算条件

1、EX字段已设定,并设定内容满足语法规范。
2、计算类型KT可配置为变化计算或每秒计算。
3、变化计算:表达式中所包含的测点中存在某测点数据发生变化时;每秒计算:每秒实时计算。
4、实时数据库运行过程中,针对计算测点,系统会根据计算公式加载实时数据,再根据编写的各种算法公式,执行实时计算并获得结果,结果呈现为该计算测点的实时值。
5、新版本支持设置KO计算顺序。

计算点状态

显示规则,表达式中所包含的测点中:
全部测点状态为GOOD时,该计算点状态为GOOD。
某测点状态为Timeout时,该计算点为Bad。
全部测点状态为Timeout时,该计算点为Timeout。

计算引擎支持

1.支持的语法符号:
算术符号:-, +, *, /, %, ^
	逻辑符号:&, |, ~, !, &&, ||
	比较符号:==, >, <, >=, <=, ~=
	嵌套符号:(, ), {, }
	关键字:and, or, not, if, else,elseif
2.水和水蒸气函数
3.行业函数扩展包
4.openPlant®函数
5.行业函数扩展包
6.数学与三角函数
7.Lua逻辑语句和标准函数库。

常用计算函数示例

常用语法

主要语句类型示例描述
1return op.value("W3.SYS.VOLTOTAL")- op.value("W3.SYS.VOLFREE")减法示例
2return op.value("W3.SYS.VOLTOTAL")+ op.value("W3.SYS.VOLFREE")加法示例
3return op.value("W3.SYS.VOLFREE") / op.value("W3.SYS.VOLTOTAL") * 100乘除法示例
4return 55常量示例
5if(op.value("W3.NODE.AX")>op.value("W3.NODE.I2")) then v=op.value("W3.NODE.AX") else v=8 end return vif else语句
6sum=0 for i = 1, 100 do sum=sum+i end return sum+op.value("W3.AAA.AA3")for语句
7return op.status("W3.CALC_EG.CONST0")&32768==32768判断超时
8ds = op.status("W3.A.A")if ((op.value("W3.A.B")) ==1 )then if(ds:alarm()) then v =1 else v=0 end else v = 0 end return v当开关点W3.A.B为0时,计算点W3.A.C返回0;当开关点W3.A.B为1时,判断W3.A.A是否正在报警。如果报警,则计算点C返回1,如果不报警,计算点C返回0;
9tag1 = "W3.CALC.B" tag2 = "W3.CALC.A" v = op.value(tag2) vv= string.sub (v, 1,8) op.set(tag1,{0,0,vv})将"W3.CALC.A"点数据,取前8位写入测点 "W3.CALC.B"
10RT=op.value("W3.NODE.AX") if(RT>50) then v=1 elseif(RT < 50) then v=2 else v=3 end return vif elseif 语句
11if ((op.value("条件1") >= 100) and (op.value("条件2") >= 10) and (op.value("条件3") == 1)) then var = 1 elseif ((op.value("条件1") < 100) and (op.value("条件2") < 10) and (op.value("条件3") == 0)) then var = 0 else var = 3 end return var使用英文标点和符号,“<=”或“>=”中的“=”号的位置视实际情况而定。输出结果为:只有“条件1 >= 100”、“条件2 >= 10”、“条件3 = 1” 同时满足时,返回1;只有“条件1 < 100”、“条件2 < 10”、“条件3 = 0” 同时满足时,返回0; 其余情况返回3;
12s = 0 while (s >= 1 or s == 0) do v1=2*(math.random(0,1000)/1000)-1 v2 = 2*(math.random(0, 1000) / 1000) - 1 s = v1 * v1 + v2 * v2 end multiplier = math.sqrt(-2* math.log(s)/s) return v1 * multiplier0为平均值,1位标准差的,随机数
13tagT1 = "W3.B.A2" tagS1 ="W3.B.A1" T1 = op.value(tagT1 ) tm1=op.time(tagT1) m = op.minute() s = op.second() dt=op.now()-op.msecond()/1000 t_begin = dt - m*60-s t_end = t_begin +3599 rs = op.stat(tagS1,t_begin,t_end) T1 = rs.max - rs.min if((tm1<t_begin) and (dt>t_begin)) then --判断当前统计时刻是否为刚刚过整点的第一个值 op.set(tagT1,{t_begin,0,T1}) op.set(tagT1,{dt,0,T1}) else op.set(tagT1,{dt,0,T1}) endW3.B.A1为累计产量,W3.B.A2为小时产量,根据累计产量计算小时产量
14x=op.value("W3.CALC.B") y=op.value("W3.CALC.A") h=tonumber(os.date("%H")) m=tonumber(os.date("%M")) s=tonumber(os.date("%S")) if (h == 0 and m == 0 and s == 0) then v = x else v = y end op.set("W3.CALC.A",{0,0,v})判断满足零时十分零秒条件时,将B点的值设置给A点
15其他用法参见lua函数附录

操作系统函数应用

点的来源点的类型点名描述计算公式
CALCAXCOUNTER计数器return op.counter()
CALCAXDBLOAD数据库瞬时负荷return op.dbload()
CALCAXSESSION活动会话数return op.session()
CALCAXMEMFREE可用内存return op.memfree()
CALCAXMEMFREE_PRE可用内存百分比return op.value("W3.SYS.MEMFREE") /op.value("W3.SYS.MEMTOTAL") * 100
CALCAXCACHEQ历史归档队列数量return op.cacheq("W3")
CALCAXDBMEM数据库使用内存return op.dbmem()
CALCAXUPTIME数据库运行时间return op.uptime()
CALCAXDBMEM_PRE数据库使用内存百分比return op.value("W3.SYS.DBMEM") /op.value("W3.SYS.MEMTOTAL")* 100
CALCAXEVENT实时事件队列数量return op.event()
CALCAXPINGping指定ipreturn op.ping("192.168.2.239")
CALCAXSESSION_PEAK峰值会话数return op.session_peak()
CALCAXVOLFREE_PRE数据库可用空间百分比return op.value("W3.SYS.VOLFREE") /op.value("W3.SYS.VOLTOTAL") * 100
CALCAXUSED_DISK_PRE已用磁盘百分比return (op.value("W3.SYS.VOLTOTAL")-op.value("W3.SYS.VOLFREE"))/op.value("W3.SYS.VOLTOTAL")*100
CALCAXCALC_TIME周期计算耗时(毫秒)return op.calc_time()
CALCAXVOLTOTAL数据库磁盘空间return op.voltotal()
CALCAXVOLFREE数据库可用空间return op.volfree()
CALCAXVOL2TOTAL数据库次级磁盘空间,适用V5.0return op.voltotal(1)
CALCAXVOL2FREE数据库次级可用空间,适用V5.0return op.volfree(1)
CALCAXTHREAD线程数return op.thread()
CALCAXLOAD系统负荷return op.load()
CALCAXUSED_DISK已用磁盘return op.value("W3.SYS.VOLTOTAL") -op.value("W3.SYS.VOLFREE")
CALCAXMEMTOTAL系统内存return op.memtotal()
CALCAXIDLE空闲线程数return op.idle()

统计变化周期中最大值

点的来源描述点名类型计算公式
DAS原始点W3.MAX.POINTAX
CALC记录符合条件的变化时刻W3.MAX.TIMER8v = op.value("W3.MAX.TIME") if(op.value("W3.MAX.POINT")<1) then v=op.time("W3.MAX.POINT") end return v
CALC中间变量W3.MAX.AMAXR8m = op.value("W3.MAX.AMAX") v = op.value("W3.MAX.POINT") if(v< 1) then t = op.value("W3.MAX.TIME")-1 s = op.snapshot("W3.MAX.TIME", t) t1 = s.value m = op.max("W3.MAX.POINT",t1 ,t) end return m.value
CALC最大值W3.MAX.MAXR8if(op.value("W3.MAX.AMAX")<1) then v=op.value("W3.MAX.MAX") else v=op.value("W3.MAX.AMAX") end return v

脉冲信号记录

点的来源描述点名类型计算公式
DAS原始点W3.UNIT1.ADX
DAS中间点,用来和原始点对比W3.UNIT1.A1AX
CALC脉冲信号计算点W3.UNIT1.A2AXtag1="W3.UNIT1.A" --原始点 tag2="W3.UNIT1.A1" --中间点 tag3="W3.UNIT1.A2" --计算点 v1=op.value(tag1) v2=op.value(tag2) v3=op.value(tag3) if (v1~=v2) then op.set(tag2,{0,0,v1}) op.set(tag3,{0,0,1}) elseif(v1==v2) then op.set(tag3,{0,0,0}) end

DX变1次数

点的来源描述点名类型计算公式
DAS开关点W3.UNIT.DXDX
CALC统计DX 0变1的次数W3.UNIT.COUNTR8tag="W3.UNIT.COUNT" x=op.value("W3.UNIT.DX") y=op.dynamic("W3.UNIT.COUNT") v=y.av if((y.ds&1)==0 and x==1) then v=v+1 end op.set(tag, {0, x, v})

DX变1时长

点的来源描述点名类型计算公式备注
DAS开关点W3.UNIT.DXDX
CALCDX变0则时长清零,统计单次DX 0变1的时长,W3.UNIT.TIMER8tag="W3.UNIT.TIME" x=op.value("W3.UNIT.DX") y=op.dynamic("W3.UNIT.TIME") v=op.value("W3.UNIT.TIME") if((y.ds&1)==1 and x==1) then v=v+1 else v=0end op.set(tag, {0, x, v})每秒计算,可统计timeout状态下时长;变化计算,则不统计超时状态时长;
CALC统计DX 0变1的时长,DX变0时长不清零W3.UNIT.TIMER8tag="W3.UNIT.TIME" x=op.value("W3.UNIT.DX") y=op.dynamic("W3.UNIT.TIME") v=op.value ("W3.UNIT.TIME") if((y.ds&1)==1 and x==1) then v=v+1 end op.set(tag, {0, x, v})每秒计算,可统计timeout状态下时长;变化计算,则不统计超时状态时长;

数据库镜像监测函数说明和示例

点的来源点的类型点名描述计算类型计算公式
CALCAXAR_SYNC_STEP历史同步步序1return op.ar_sync_step()
CALCAXAR_SYNC_USED历史同步耗时1return op.ar_sync_used()
CALCR8AR_SYNC_TIME历史同步时间1return op.ar_sync_time()
CALCAXAR_SYNC_QUEUE历史同步队列1return op.ar_sync_queue()
CALCAXRT_SYNC_STEP实时同步步序1return op.rt_sync_step()
CALCAXRT_SYNC_USED实时同步耗时1return op.rt_sync_used()
CALCR8RT_SYNC_TIME实时同步时间1return op.rt_sync_time()
CALCAXRT_SYNC_QUEUE实时同步队列1return op.rt_sync_queue()
CALCAXAR_SYNC_DONE_0至第一个目的数据库的镜像同步是否完成1return op.ar_sync_done(0)
CALCAXAR_SYNC_DONE_1至第二个目的数据库的镜像同步是否完成1return op.ar_sync_done(1)

openPlant函数说明和示例

分类函数功能说明调用示例计算公式EX示例
数学sinh(x)双曲正弦op.sinh(x)return op.sinh(x)
数学cosh(x)双曲余弦op.cosh(x)return op.cosh(x)
数学tanh(x)双曲正切op.tanh(x)return op.tanh(x)
测点value(tag)测点数值op.value(tag);return op.value("TAG") 或者 op.value(id)
测点status(tag)测点状态op.status(tag)ds = op.status("TAG") return ds:alarm()
测点time(tag)测点更新时间op.time(tag)return op.time("TAG")
测点get(tag, key)测点字段属性op.get(tag, "AV")return op.get("TAG", "AV")
测点static(tag)静态对象op.static(tag)info = op.static("TAG") return info.tv
测点dynamic(tag)动态对象op.dynamic(tag)dyn = op.dynamic("TAG") return dyn.av
测点rate(tag, interval)数值变化率op.rate(tag, interval)返回变化率:(当前值-interval时刻历史值)/interval:return op.rate("TAG", 1)
测点acc(tag, period, offset)周期累计值op.acc(tag, period, offset),offset:从period中偏移多少时间计算支持s,m,h,d,M,y:return op.acc("TAG", "1d",0)
测点set(tag, {TM,DS,AV})设置测点动态属性op.set(tag, {TM,DS,AV}),设置测点动态属性字段直接设置测点动态属性字段,TM、DS、AV处填入希望写入的数据:op.set(tag, {TM, DS, AV})
状态good()质量好ds:good()ds = op.status("TAG") return ds:good()
状态forced()手工强制ds:forced()ds = op.status("TAG") return ds:forced()
状态bad()质量坏ds:bad()ds = op.status("TAG") return ds:bad()
状态timeout()超时ds:timeout()ds = op.status("TAG") return ds:timeout()
状态alarm()报警状态ds:alarm()ds = op.status("TAG") return ds:alarm()
状态level()报警级别ds:level()ds = op.status("TAG") return ds:level()
状态inhibit()报警抑制ds:inhibit()ds = op.status("TAG") return ds:inhibit()
状态unack()报警未确认ds:unack()ds = op.status("TAG") return ds:unack()
快照snapshot(tags, time,option)已知tags,time,根据option参数获取数据快照,包括时间值状态。option:prev, inter, next, near, none。op.snapshot(tags, time,option), 结果集:rs=示例1:获取指定历史时刻的历史插值。不输入option参数。t= op.date("2017-04-20 10:34:00") rs=op.snapshot("W3.NODE.TEST",t) return rs.value 示例2:option参数。prev:获取指定历史时刻前一个历史采样值。next:获取指定历史时刻后一个历史采样值。near:获取指定历史时刻最近的历史采样值。inter:获取指定历史时刻的插值,同示例1。t= op.date("2017-04-20 10:34:00") rs=op.snapshot("W3.NODE.TEST",t,"prev")return rs.value 支持rs.value,rs.status,rs.time,rs.id。注意:时间参数需要早于最后更新时间。
快照prev()已知历史对象,获取该对象中测点时刻的前一个历史采样值。已知rs=,通过函数op.prev(rs),得到d=示例:获取指定历史时刻前一个历史值的再前一个历史值。t= op.date("2017-04-20 10:34:00") rs=op.snapshot("W3.NODE.TEST",t,"prev")d=op.prev(rs)return d.value
快照next()已知历史对象,获取该对象中测点时刻的后一个历史采样值。已知rs=,通过函数op.next(rs),得到d=示例:获取指定历史时刻后一个历史值的再后一个历史值。t= op.date("2017-04-20 10:34:00") rs=op.snapshot("W3.NODE.TEST",t,"next")d=op.next(rs)return d.value
历史表archive(tags, begin, end)已知tags(测点名)begin(开始时间),end(结束时间),通过op.archive()获取历史数据函数op.archive(tags, begin, end)), 结果集:rs={error,count {id,time,status,value}}t1=op.date("2017-04-20 10:10:00") t2=op.date("2017-04-20 10:31:00") 示例1:rs = op.archive("W3.NODE.TEST", t1,t2) return rs.count 示例2:rs = op.archive("W3.NODE.TEST", t1,t2) return rs[700].value 示例3:points={"W3.EE.QQ","W3.EE.DD"} rs = op.archive(points,t1,t2) return rs[1][8].value 支持rs.error,rs.value,rs.status,rs.time,rs.id,rs.count.
历史表plot(tags, begin, end, interval)已知tags(测点名)begin(开始时间),end(结束时间) interval(间隔)通过op.plot()获取绘图值函数op.plot(tags, begin, end,interval), 结果集:rs={error,count,{id,time,status,value}}t1=op.date("2017-04-20 10:10:00") t2=op.date("2017-04-20 10:31:00") rs = op.plot("W3.NODE.TEST", t1,t2,5) return rs[400].value 其他返回和示例参考op.archive()。
历史表span(tags, begin, end, interval)已知keys(测点名)begin(开始时间),end(结束时间) interval(间隔)通过opplot获取等间距值"函数op.span(tags, begin, end,interval), 结果集:rs={error,count,{id,time,status,value}}t1=op.date("2017-04-20 10:10:00") t2=op.date("2017-04-20 10:31:00") rs = op.span("W3.NODE.TEST", t1,t2,5) return rs[100].value 其他返回和示例参考op.archive()。
统计stat(tags, begin, end)已知tags(点名),begin(开始时间),end(结束时间),通过op.stat()获取指定时间段内所有统计值:累计/最大/最小/平均/方差op.stat(),结果集:rs=t1=op.date("2017-04-20 10:10:00") t2=op.date("2017-04-20 10:31:00") rs = op.stat("W3.NODE.TEST", t1,t2) return rs.flow 支持返回结果rs.max,rs.min,rs.maxtime,rs.mintime,rs.sum,rs.avg,rs.mean,rs.stdev,rs.status,rs.time,rs.id,rs.error,rs.flow,rs.max。其他示例参考op.archive()。
统计max(tags, begin, end)已知tags(点名),begin(开始时间),end(结束时间),通过op.max()获取指定时间段内的最大值op.max(), 结果集:rs=t1=op.date("2017-04-20 10:00:00") t2=op.date("2017-04-20 10:30:00") 示例1:rs=op.max("W3.NODE.TEST",t1,t2) return rs.value 示例2:gp={"W3.EE.QQ","W3.EE.DD"} rs=op.max(gp,t1,t2) return rs[1].value 支持rs.error,rs.value,rs.status,rs.time,rs.id.
统计min(tags, begin, end)已知tags(点名),begin(开始时间),end(结束时间),通过op.min()获取指定时间段内的最小值op.min(), 结果集:rs=t1=op.date("2017-04-20 10:00:00") t2=op.date("2017-04-20 10:30:00") rs=op.min("W3.NODE.TEST",t1,t2) return rs.value 其他示例和返回参考op.max()。
统计avg(tags, begin, end)已知tags(点名),begin(开始时间),end(结束时间),通过op.avg()获取指定时间段内的几何平均值op.avg(), 结果集:rs=t1=op.date("2017-04-20 10:00:00") t2=op.date("2017-04-20 10:30:00") rs=op.avg("W3.NODE.TEST",t1,t2) return rs.value 其他示例和返回参考op.max()。
统计mean(tags, begin, end)已知tags(点名),begin(开始时间),end(结束时间),通过op.mean()获取指定时间段内的算术平均值op.mean(), 结果集:rs=t1=op.date("2017-04-20 10:00:00") t2=op.date("2017-04-20 10:30:00") rs=op.mean("W3.NODE.TEST",t1,t2) return rs.value 其他示例和返回参考op.max()。
统计sum(tags, begin, end)已知tags(点名),begin(开始时间),end(结束时间),通过op.sum()获取指定时间段内的存储数据和op.sum(), 结果集:rs=t1=op.date("2017-04-20 10:00:00") t2=op.date("2017-04-20 10:30:00") rs=op.sum("W3.NODE.TEST",t1,t2) return rs.value 其他示例和返回参考op.max()。
统计flow(tags, begin, end)已知tags(点名),begin(开始时间),end(结束时间),通过op.flow()获取指定时间段内的流量值op.flow(), 结果集:rs=t1=op.date("2017-04-20 10:00:00") t2=op.date("2017-04-20 10:30:00") rs=op.flow("W3.NODE.TEST",t1,t2) return rs.value 其他示例和返回参考op.max()。
统计stdev(tags, begin, end)标准方差,未实现
报警表alarm(filter)实时报警,未实现
报警表alarmArchive(begin, end,filter)历史报警,未实现
系统cacheq()历史归档队列数量op.cacheq()return op.cacheq("")
系统event()实时事件队列数量op.event()return op.event()
系统dbload()数据库瞬时负荷op.dbload()return op.dbload()
系统dbmem()数据库使用内存op.dbmem()return op.dbmem()
系统load()系统负荷op.load()return op.load()
系统memfree()可用内存op.memfree()return op.memfree()
系统memtotal()系统内存op.memtotal()return op.memtotal()
系统volfree()数据库使用空间op.volfree()return op.volfree()
系统voltotal()数据库磁盘空间op.voltotal()return op.voltotal()
系统counter()计数器op.counter()return op.counter()
系统uptime()数据库运行时间op.uptime()return op.uptime()
系统session()活动会话数op.session()return op.session()
系统session_peak()峰值会话数op.session_peak()return op.session_peak()
系统calc_time()周期计算的测点执行计算耗时(毫秒)op.calc_time()return op.calc_time()
系统thread()线程数量op.thread()return op.thread()
系统idle()空闲线程数量op.idle()return op.idle()
系统ping()ping指定IP,返回0或1op.ping()return op.ping("192.168.2.230")
时间now()通过op.now(),获取系统当前时间,测点类型需要为R8op.now()return op.now()
时间today()通过op.today(),获取当天00:00:00的时间戳op.today()return op.today()
时间date()获取指定时间对应的时间戳,参数格式("2015-08-26 00:00:00")op.date(y,m,d,h,m,s),op.date("2015-08-26 00:00:00")格式:op.date(y,m,d,h,m,s) 示例1:return op.date("2015-08-26 00:00:00") 示例2:dt = op.now() y = op.year(dt) M = 01 d = 01 h = 00 m = 00 s = 00 return op.date(y,M,d,h,m,s)
时间bday()已知dt(时间),获取对应的日期op.bday(dt)示例:dt=op.date("2017-04-06 10:30:40") today=op.bday(dt) return today 结果:1491408000,即2017-04-06 00:00:00
时间bmonth()已知dt(时间),获取当月第一天的日期时间戳op.bmonth(dt)当前日期:2017-04-06 示例:dt=op.date("2017-04-06 10:30:40") month=op.bmonth(dt) return month 结果:1490976000,即2017-04-01 00:00:00
时间bnextmonth()已知dt(时间),获取下一个月第一天的日期时间戳op.bnextmonth(dt)当前日期:2017-04-06 示例:dt=op.today() month=op.bnextmonth(dt) return month 结果:1493568000,即2017-05-01 00:00:00
时间timeadd()已知h(时间格式),1(相加数字),dt(时间)输出结果为:在dt的时间上加1小时op.timeadd("h", 1, dt)当前时间2017-04-06 11:30:40,获取当前时间,小时加2。示例:dt=op.now() hour=op.timeadd("h", 2, dt) return hour 结果:1491456640,即2017-04-06 13:30:40
时间timediff()已知h(时间格式),t1(时间),t2(时间),输出结果为t1和t2之间相差小时数op.timediff("h", t1, t2)示例:t1=op.date("2017-04-06 10:30:40") t2=op.date("2017-04-06 13:30:40") hour=op.timediff("h", t1, t2) return hour 结果:-3
时间year()调用op.year()获取条件日期对应的年份op.year()示例:dt=op.now() year=op.year(dt) return year 结果:返回当前日期对应的年份
时间month()调用op.month()获取条件对应的月份op.month()示例:dt=op.now() month=op.month(dt) return month 结果:返回当前日期对应的月份
时间day()调用op.day()获取当前日期对应月份的天数op.day()示例:dt=op.now() day=op.day(dt) return day 结果:返回当前月份对应的天数
时间hour()调用op.hour()获取输入时间对应的小时op.hour()dt=op.now() hour=op.hour(dt) return hour 结果:返回当前时间对应的小时(24小时制)
时间minute()调用op.minute()获取输入时间对应的分钟op.minute()dt=op.now() minute=op.minute(dt) return minute 结果:返回当前小时对应的分钟
时间second()调用op.second()获取输入时间对应的秒op.second()dt=op.now() second=op.second(dt) return second 结果:返回当前分钟对应的秒
时间获取当前周调用return tonumber(os.date("%W"))获取当前周,范围[0,52]获取当前周return tonumber(os.date("%W"))
时间获取当前周的第几天调用return tonumber(os.date("%W"))获取当前周的第几天,从周一至周日,范围[0,6]获取当前周的第几天return tonumber(os.date("%W"))
时间msecond()调用op.msecond()获取输入时间对应的毫秒op.msecond()dt=op.now() second=op.msecond(dt) return msecond 结果:返回当前分钟对应的毫秒
时间format()获取具体时间格式,可调用op.format(),时间格式参照参数中所写op.format("yyyy-MM-dd HH:mm:ss"),时间字符串示例:dt=op.now() format=op.format(dt,"yyyy-MM-dd HH:mm:ss") return format 结果:该属性返回结果为字符串。
查找find()查找数据库表中符合where条件且满足指定keys的字段结果op.find(table,rows,columns,where),rows为定义的names/IDs,columns为查询的字段示例1:查找点表中ED符合条件的测点ED,并返回ED内容。rs = op.find("point",{"W3.TEST.AX","W3.TEST.TEST"},"ED","ED= &quot;TEST&quot;) return rs.rows[1].ED 示例2:返回实时表中AX类型测点的AV rs = op.find("realtime",{"W3.TEST.AX","W3.TEST.TEST"},"AV","RT=0") return rs.rows[1].AV
查找query()执行sql解析,返回查询结果op.query(sql),填入通用sql语句示例:根据sql语句查询指定ID测点的实时值 rs=op.query("select AV from realtime where ID=173996") return rs.rows[1].AV
写数据set()创建动态对象,执行写数据动态对象为时间、状态、值,v = {T,S,V} op.set("tag", v)示例:写当前时间,状态good,值88 v = {op.now(),0,88} op.set("W3.TEST.AX", v)
更新update()更新数据库表里内数据op.update(table,rows,columns)示例:更新测点realtime表数据 rows ={{"W3.TEST.AX1", op.now()},{"W3.TEST.AX2", op.now()}} op.update("Realtime",rows,{"GN","AV"})
周期计算meter()按时间周期计算表计值(结束值-起始值)op.meter("TAG", period, offset)示例:tag= "W3.SYS.LOAD" return op.meter("TAG", 3600) offset是统计偏移时间s,通常都是0
周期计算(前一个周期))meterp()按时间周期计算表计值前一个周期的结果op.meterp("TAG", period, offset) ,period - "1d", "1h", "1m", "1s"示例:tag= "W3.SYS.LOAD" return op.meterp("TAG", 3600) offset是统计偏移时间s,通常都是0
周期计算耗时calctime()返回计算点周期耗时,用来统计计算性能op.calctime()示例:op.calctime()
计算最大耗时calcmaxtime()返回计算点最大耗时,用来统计计算性能op.calcmaxtime()示例:op.calcmaxtime()
计算耗时最大测点IDcalcmaxtag()返回计算点最大耗时测点的ID,用来统计计算性能op.calcmaxtag()示例: op.calcmaxtag()

水和水蒸汽函数(压力单位:兆帕MPa,温度单位:摄氏度)

名称参数函数说明
if97.p2t(P)已知压力(P),返回对应的饱和温度(T)
ifc67.p2t(P)已知压力(P),返回对应的饱和温度(T)
if97.p2hl(P)已知压力(P),返回对应的饱和水比焓(HL)
ifc67.p2hl(P)已知压力(P),返回对应的饱和水比焓(HL)
if97.p2hg(P)已知压力(P),返回对应的饱和汽比焓(HG)
ifc67.p2hg(P)已知压力(P),返回对应的饱和汽比焓(HG)
if97.p2sl(P)已知压力(P),返回对应的饱和水比熵(SL)
ifc67.p2sl(P)已知压力(P),返回对应的饱和水比熵(SL)
if97.p2sg(P)已知压力(P),返回对应的饱和汽比熵(SG)
ifc67.p2sg(P)已知压力(P),返回对应的饱和汽比熵(SG)
if97.p2vl(P)已知压力(P),返回对应的饱和水比容(VL)
ifc67.p2vl(P)已知压力(P),返回对应的饱和水比容(VL)
if97.p2vg(P)已知压力(P),返回对应的饱和汽比容(VG)
ifc67.p2vg(P)已知压力(P),返回对应的饱和汽比容(VG)
if97.p2cpl(P)已知压力(P),返回对应的饱和水定压比热容(CpL)
ifc67.p2cpl(P)已知压力(P),返回对应的饱和水定压比热容(CpL)
if97.p2cpg(P)已知压力(P),返回对应的饱和汽定压比热容(CpG)
ifc67.p2cpg(P)已知压力(P),返回对应的饱和汽定压比热容(CpG)
if97.p2cvl(P)已知压力(P),返回对应的饱和水定容比热容(CvL)
ifc67.p2cvl(P)已知压力(P),返回对应的饱和水定容比热容(CvL)
if97.p2cvg(P)已知压力(P),返回对应的饱和汽定容比热容(CvG)
ifc67.p2cvg(P)已知压力(P),返回对应的饱和汽定容比热容(CvG)
if97.p2ul(P)已知压力(P),返回对应的饱和水运动粘度(UL)
ifc67.p2ul(P)已知压力(P),返回对应的饱和水运动粘度(UL)
if97.p2ug(P)已知压力(P),返回对应的饱和汽运动粘度(UG)
ifc67.p2ug(P)已知压力(P),返回对应的饱和汽运动粘度(UG)
if97.pt2h(P,T)已知压力(P)和温度(T),返回对应的比焓(H)
ifc67.pt2h(P,T)已知压力(P)和温度(T),返回对应的比焓(H)
if97.pt2s(P,T)已知压力(P)和温度(T),返回对应的比熵(S)
ifc67.pt2s(P,T)已知压力(P)和温度(T),返回对应的比熵(S)
if97.pt2v(P,T)已知压力(P)和温度(T),返回对应的比容(V)
ifc67.pt2v(P,T)已知压力(P)和温度(T),返回对应的比容(V)
if97.pt2x(P,S)已知压力(P)和温度(T),返回对应的干度(X)
ifc67.pt2x(P,S)已知压力(P)和温度(T),返回对应的干度(X)
if97.pt2cp(P,T)已知压力(P)和温度(T),返回对应定压质量比热容(Cp)
ifc67.pt2cp(P,T)已知压力(P)和温度(T),返回对应定压质量比热容(Cp)
if97.pt2cv(P,T)已知压力(P)和温度(T),返回对应定容质量比热容(Cv)
ifc67.pt2cv(P,T)已知压力(P)和温度(T),返回对应定容质量比热容(Cv)
if97.pt2u(P,T)已知压力(P)和温度(T),返回对应的运动粘度(U)
ifc67.pt2u(P,T)已知压力(P)和温度(T),返回对应的运动粘度(U)
if97.ph2t(P,H)已知压力(P)和比焓(H),返回对应的温度(T)
ifc67.ph2t(P,H)已知压力(P)和比焓(H),返回对应的温度(T)
if97.ph2s(P,H)已知压力(P)和比焓(H),返回对应的比熵(S)
ifc67.ph2s(P,H)已知压力(P)和比焓(H),返回对应的比熵(S)
if97.ph2v(P,H)已知压力(P)和比焓(H),返回对应的比容(V)
ifc67.ph2v(P,H)已知压力(P)和比焓(H),返回对应的比容(V)
if97.ph2x(P,H)已知压力(P)和比焓(H),返回对应的干度(X)
ifc67.ph2x(P,H)已知压力(P)和比焓(H),返回对应的干度(X)
if97.ps2t(P,S)已知压力(P)和比熵(S),返回对应的温度(T)
ifc67.ps2t(P,S)已知压力(P)和比熵(S),返回对应的温度(T)
if97.ps2h(P,S)已知压力(P)和比熵(S),返回对应的比焓(H)
ifc67.ps2h(P,S)已知压力(P)和比熵(S),返回对应的比焓(H)
if97.ps2v(P,S)已知压力(P)和比熵(S),返回对应的比容(V)
ifc67.ps2v(P,S)已知压力(P)和比熵(S),返回对应的比容(V)
if97.ps2x(P,S)已知压力(P)和比熵(S),返回对应的干度(X)
ifc67.ps2x(P,S)已知压力(P)和比熵(S),返回对应的干度(X)
if97.pv2t(P,V)已知压力(P)和比容(V),返回对应的温度(T)
ifc67.pv2t(P,V)已知压力(P)和比容(V),返回对应的温度(T)
if97.pv2h(P,V)已知压力(P)和比容(V),返回对应的比焓(H)
ifc67.pv2h(P,V)已知压力(P)和比容(V),返回对应的比焓(H)
if97.pv2s(P,V)已知压力(P)和比容(V),返回对应的比熵(S)
ifc67.pv2s(P,V)已知压力(P)和比容(V),返回对应的比熵(S)
if97.pv2x(P,V)已知压力(P)和比容(V),返回对应的干度(X)
ifc67.pv2x(P,V)已知压力(P)和比容(V),返回对应的干度(X)
if97.px2t(P,X)已知压力(P)和干度(X),返回对应的温度(T)
ifc67.px2t(P,X)已知压力(P)和干度(X),返回对应的温度(T)
if97.px2h(P,X)已知压力(P)和干度(X),返回对应的比焓(H)
ifc67.px2h(P,X)已知压力(P)和干度(X),返回对应的比焓(H)
if97.px2s(P,X)已知压力(P)和干度(X),返回对应的比熵(S)
ifc67.px2s(P,X)已知压力(P)和干度(X),返回对应的比熵(S)
if97.px2v(P,X)已知压力(P)和干度(X),返回对应的比容(V)
ifc67.px2v(P,X)已知压力(P)和干度(X),返回对应的比容(V)
if97.t2p(T)已知温度(T),返回对应的饱和压力(P)
ifc67.t2p(T)已知温度(T),返回对应的饱和压力(P)
if97.t2hl(T)已知温度(T),返回对应的饱和水比焓(HL)
ifc67.t2hl(T)已知温度(T),返回对应的饱和水比焓(HL)
if97.t2hg(T)已知温度(T),返回对应的饱和汽比焓(HG)
ifc67.t2hg(T)已知温度(T),返回对应的饱和汽比焓(HG)
if97.t2sl(T)已知温度(T),返回对应的饱和水比熵(SL)
ifc67.t2sl(T)已知温度(T),返回对应的饱和水比熵(SL)
if97.t2sg(T)已知温度(T),返回对应的饱和汽比熵(SG)
ifc67.t2sg(T)已知温度(T),返回对应的饱和汽比熵(SG)
if97.t2vl(T)已知温度(T),返回对应的饱和水比容(VL)
ifc67.t2vl(T)已知温度(T),返回对应的饱和水比容(VL)
if97.t2vg(T)已知温度(T),返回对应的饱和汽比容(VG)
ifc67.t2vg(T)已知温度(T),返回对应的饱和汽比容(VG)
if97.t2cpl(T)已知温度(T),返回对应的饱和水定压比热容(CpL)
ifc67.t2cpl(T)已知温度(T),返回对应的饱和水定压比热容(CpL)
if97.t2cpg(T)已知温度(T),返回对应的饱和汽定压比热容(CpG)
ifc67.t2cpg(T)已知温度(T),返回对应的饱和汽定压比热容(CpG)
if97.t2cvl(T)已知温度(T),返回对应的饱和水定容比热容(CvL)
ifc67.t2cvl(T)已知温度(T),返回对应的饱和水定容比热容(CvL)
if97.t2cvg(T)已知温度(T),返回对应的饱和汽定容比热容(CvG)
ifc67.t2cvg(T)已知温度(T),返回对应的饱和汽定容比热容(CvG)
if97.t2ul(T)已知温度(T),返回对应的饱和水运动粘度(UL)
ifc67.t2ul(T)已知温度(T),返回对应的饱和水运动粘度(UL)
if97.t2ug(T)已知温度(T),返回对应的饱和汽运动粘度(UG)
ifc67.t2ug(T)已知温度(T),返回对应的饱和汽运动粘度(UG)
if97.th2plp(T,H)已知温度(T)和比焓(H),返回对应的压力(P)(低压)
ifc67.th2plp(T,H)已知温度(T)和比焓(H),返回对应的压力(P)(低压)
if97.th2slp(T,H)已知温度(T)和比焓(H),返回对应的比熵(S)(低压)
ifc67.th2slp(T,H)已知温度(T)和比焓(H),返回对应的比熵(S)(低压)
if97.th2vlp(T,H)已知温度(T)和比焓(H),返回对应的比容(V)(低压)
ifc67.th2vlp(T,H)已知温度(T)和比焓(H),返回对应的比容(V)(低压)
if97.th2php(T,H)已知温度(T)和比焓(H),返回对应的压力(P)(高压)
ifc67.th2php(T,H)已知温度(T)和比焓(H),返回对应的压力(P)(高压)
if97.th2shp(T,H)已知温度(T)和比焓(H),返回对应的比熵(S)(高压)
ifc67.th2shp(T,H)已知温度(T)和比焓(H),返回对应的比熵(S)(高压)
if97.th2vhp(T,H)已知温度(T)和比焓(H),返回对应的比容(V)(高压)
ifc67.th2vhp(T,H)已知温度(T)和比焓(H),返回对应的比容(V)(高压)
if97.th2p(T,H)已知温度(T)和比焓(H),返回对应的压力(P)(缺省低压)
ifc67.th2p(T,H)已知温度(T)和比焓(H),返回对应的压力(P)(缺省低压)
if97.th2s(T,H)已知温度(T)和比焓(H),返回对应的比熵(S)(缺省低压)
ifc67.th2s(T,H)已知温度(T)和比焓(H),返回对应的比熵(S)(缺省低压)
if97.th2v(T,H)已知温度(T)和比焓(H),返回对应的比容(V)(缺省低压)
ifc67.th2v(T,H)已知温度(T)和比焓(H),返回对应的比容(V)(缺省低压)
if97.th2x(T,H)已知温度(T)和比焓(H),返回对应的干度(X)
ifc67.th2x(T,H)已知温度(T)和比焓(H),返回对应的干度(X)
if97.th2xlp(T,H)已知温度(T)和比焓(H),返回对应的干度(X)(低压)
ifc67.th2xlp(T,H)已知温度(T)和比焓(H),返回对应的干度(X)(低压)
if97.th2xhp(T,H)已知温度(T)和比焓(H),返回对应的干度(X)(高压)
ifc67.th2xhp(T,H)已知温度(T)和比焓(H),返回对应的干度(X)(高压)
if97.ts2plp(T,S)已知温度(T)和比熵(S),返回对应的压力(P)(低压)
ifc67.ts2plp(T,S)已知温度(T)和比熵(S),返回对应的压力(P)(低压)
if97.ts2hlp(T,S)已知温度(T)和比熵(S),返回对应的比焓(H)(低压)
ifc67.ts2hlp(T,S)已知温度(T)和比熵(S),返回对应的比焓(H)(低压)
if97.ts2vlp(T,S)已知温度(T)和比熵(S),返回对应的比容(V)(低压)
ifc67.ts2vlp(T,S)已知温度(T)和比熵(S),返回对应的比容(V)(低压)
if97.ts2php(T,S)已知温度(T)和比熵(S),返回对应的压力(P)(高压)
ifc67.ts2php(T,S)已知温度(T)和比熵(S),返回对应的压力(P)(高压)
if97.ts2hhp(T,S)已知温度(T)和比熵(S),返回对应的比焓(H)(高压)
ifc67.ts2hhp(T,S)已知温度(T)和比熵(S),返回对应的比焓(H)(高压)
if97.ts2vhp(T,S)已知温度(T)和比熵(S),返回对应的比容(V)(高压)
ifc67.ts2vhp(T,S)已知温度(T)和比熵(S),返回对应的比容(V)(高压)
if97.ts2p(T,S)已知温度(T)和比熵(S),返回对应的压力(P)(缺省低压)
ifc67.ts2p(T,S)已知温度(T)和比熵(S),返回对应的压力(P)(缺省低压)
if97.ts2h(T,S)已知温度(T)和比熵(S),返回对应的比焓(H)(缺省低压)
ifc67.ts2h(T,S)已知温度(T)和比熵(S),返回对应的比焓(H)(缺省低压)
if97.ts2v(T,S)已知温度(T)和比熵(S),返回对应的比容(V)(缺省低压)
ifc67.ts2v(T,S)已知温度(T)和比熵(S),返回对应的比容(V)(缺省低压)
if97.ts2x(T,S)已知温度(T)和比熵(S),返回对应的干度(X)
ifc67.ts2x(T,S)已知温度(T)和比熵(S),返回对应的干度(X)
if97.tv2p(T,V)已知温度(T)和比容(V),返回对应的压力(P)
ifc67.tv2p(T,V)已知温度(T)和比容(V),返回对应的压力(P)
if97.tv2h(T,V)已知温度(T)和比容(V),返回对应的比焓(H)
ifc67.tv2h(T,V)已知温度(T)和比容(V),返回对应的比焓(H)
if97.tv2s(T,V)已知温度(T)和比容(V),返回对应的比熵(S)
ifc67.tv2s(T,V)已知温度(T)和比容(V),返回对应的比熵(S)
if97.tv2x(T,V)已知温度(T)和比容(V),返回对应的干度(X)
ifc67.tv2x(T,V)已知温度(T)和比容(V),返回对应的干度(X)
if97.tx2p(T,X)已知温度(T)和干度(X),返回对应的压力(P)
ifc67.tx2p(T,X)已知温度(T)和干度(X),返回对应的压力(P)
if97.tx2h(T,X)已知温度(T)和干度(X),返回对应的比焓(H)
ifc67.tx2h(T,X)已知温度(T)和干度(X),返回对应的比焓(H)
if97.tx2s(T,X)已知温度(T)和干度(X),返回对应的比熵(S)
ifc67.tx2s(T,X)已知温度(T)和干度(X),返回对应的比熵(S)
if97.tx2v(T,X)已知温度(T)和干度(X),返回对应的比容(V)
ifc67.tx2v(T,X)已知温度(T)和干度(X),返回对应的比容(V)
if97.hs2p(H,S)已知比焓(H)和比熵(S),返回对应的压力(P)
ifc67.hs2p(H,S)已知比焓(H)和比熵(S),返回对应的压力(P)
if97.hs2t(H,S)已知比焓(H)和比熵(S),返回对应的温度(T)
ifc67.hs2t(H,S)已知比焓(H)和比熵(S),返回对应的温度(T)
if97.hs2v(H,S)已知比焓(H)和比熵(S),返回对应的比容(V)
ifc67.hs2v(H,S)已知比焓(H)和比熵(S),返回对应的比容(V)
if97.hs2x(H,S)已知比焓(H)和比熵(S),返回对应的干度(X)
ifc67.hs2x(H,S)已知比焓(H)和比熵(S),返回对应的干度(X)
if97.hv2p(H,V)已知比焓(H)和比容(V),返回对应的压力(P)
ifc67.hv2p(H,V)已知比焓(H)和比容(V),返回对应的压力(P)
if97.hv2t(H,V)已知比焓(H)和比容(V),返回对应的温度(T)
ifc67.hv2t(H,V)已知比焓(H)和比容(V),返回对应的温度(T)
if97.hv2s(H,V)已知比焓(H)和比容(V),返回对应的比熵(S)
ifc67.hv2s(H,V)已知比焓(H)和比容(V),返回对应的比熵(S)
if97.hv2x(H,V)已知比焓(H)和比容(V),返回对应的干度(X)
ifc67.hv2x(H,V)已知比焓(H)和比容(V),返回对应的干度(X)
if97.hx2plp(H,X)已知比焓(H)和干度(X),返回对应的压力(P)(低压)
ifc67.hx2plp(H,X)已知比焓(H)和干度(X),返回对应的压力(P)(低压)
if97.hx2tlp(H,X)已知比焓(H)和干度(X),返回对应的温度(T)(低压)
ifc67.hx2tlp(H,X)已知比焓(H)和干度(X),返回对应的温度(T)(低压)
if97.hx2slp(H,X)已知比焓(H)和干度(X),返回对应的比熵(S)(低压)
ifc67.hx2slp(H,X)已知比焓(H)和干度(X),返回对应的比熵(S)(低压)
if97.hx2vlp(H,X)已知比焓(H)和干度(X),返回对应的比容(V)(低压)
ifc67.hx2vlp(H,X)已知比焓(H)和干度(X),返回对应的比容(V)(低压)
if97.hx2php(H,X)已知比焓(H)和干度(X),返回对应的压力(P)(高压)
ifc67.hx2php(H,X)已知比焓(H)和干度(X),返回对应的压力(P)(高压)
if97.hx2thp(H,X)已知比焓(H)和干度(X),返回对应的温度(T)(高压)
ifc67.hx2thp(H,X)已知比焓(H)和干度(X),返回对应的温度(T)(高压)
if97.hx2shp(H,X)已知比焓(H)和干度(X),返回对应的比熵(S)(高压)
ifc67.hx2shp(H,X)已知比焓(H)和干度(X),返回对应的比熵(S)(高压)
if97.hx2vhp(H,X)已知比焓(H)和干度(X),返回对应的比容(V)(高压)
ifc67.hx2vhp(H,X)已知比焓(H)和干度(X),返回对应的比容(V)(高压)
if97.hx2p(H,X)已知比焓(H)和干度(X),返回对应的压力(P)(缺省低压)
ifc67.hx2p(H,X)已知比焓(H)和干度(X),返回对应的压力(P)(缺省低压)
if97.hx2t(H,X)已知比焓(H)和干度(X),返回对应的温度(T)(缺省低压)
ifc67.hx2t(H,X)已知比焓(H)和干度(X),返回对应的温度(T)(缺省低压)
if97.hx2s(H,X)已知比焓(H)和干度(X),返回对应的比熵(S)(缺省低压)
ifc67.hx2s(H,X)已知比焓(H)和干度(X),返回对应的比熵(S)(缺省低压)
if97.hx2v(H,X)已知比焓(H)和干度(X),返回对应的比容(V)(缺省低压)
ifc67.hx2v(H,X)已知比焓(H)和干度(X),返回对应的比容(V)(缺省低压)
if97.sv2p(S,V)已知比熵(S)和比容(V),返回对应的压力(P)
ifc67.sv2p(S,V)已知比熵(S)和比容(V),返回对应的压力(P)
if97.sv2t(S,V)已知比熵(S)和比容(V),返回对应的温度(T)
ifc67.sv2t(S,V)已知比熵(S)和比容(V),返回对应的温度(T)
if97.sv2h(S,V)已知比熵(S)和比容(V),返回对应的比焓(H)
ifc67.sv2h(S,V)已知比熵(S)和比容(V),返回对应的比焓(H)
if97.sv2x(S,V)已知比熵(S)和比容(V),返回对应的干度(X)
ifc67.sv2x(S,V)已知比熵(S)和比容(V),返回对应的干度(X)
if97.sx2plp(S,X)已知比熵(S)和干度(X),返回对应的压力(P)(低压)
ifc67.sx2plp(S,X)已知比熵(S)和干度(X),返回对应的压力(P)(低压)
if97.sx2tlp(S,X)已知比熵(S)和干度(X),返回对应的温度(T)(低压)
ifc67.sx2tlp(S,X)已知比熵(S)和干度(X),返回对应的温度(T)(低压)
if97.sx2hlp(S,X)已知比熵(S)和干度(X),返回对应的比焓(H)(低压)
ifc67.sx2hlp(S,X)已知比熵(S)和干度(X),返回对应的比焓(H)(低压)
if97.sx2vlp(S,X)已知比熵(S)和干度(X),返回对应的比容(V)(低压)
ifc67.sx2vlp(S,X)已知比熵(S)和干度(X),返回对应的比容(V)(低压)
if97.sx2pmp(S,X)已知比熵(S)和干度(X),返回对应的压力(P)(中压)
ifc67.sx2pmp(S,X)已知比熵(S)和干度(X),返回对应的压力(P)(中压)
if97.sx2tmp(S,X)已知比熵(S)和干度(X),返回对应的温度(T)(中压)
ifc67.sx2tmp(S,X)已知比熵(S)和干度(X),返回对应的温度(T)(中压)
if97.sx2hmp(S,X)已知比熵(S)和干度(X),返回对应的比焓(H)(中压)
ifc67.sx2hmp(S,X)已知比熵(S)和干度(X),返回对应的比焓(H)(中压)
if97.sx2vmp(S,X)已知比熵(S)和干度(X),返回对应的比容(V)(中压)
ifc67.sx2vmp(S,X)已知比熵(S)和干度(X),返回对应的比容(V)(中压)
if97.sx2php(S,X)已知比熵(S)和干度(X),返回对应的压力(P)(高压)
ifc67.sx2php(S,X)已知比熵(S)和干度(X),返回对应的压力(P)(高压)
if97.sx2thp(S,X)已知比熵(S)和干度(X),返回对应的温度(T)(高压)
ifc67.sx2thp(S,X)已知比熵(S)和干度(X),返回对应的温度(T)(高压)
if97.sx2hhp(S,X)已知比熵(S)和干度(X),返回对应的比焓(H)(高压)
ifc67.sx2hhp(S,X)已知比熵(S)和干度(X),返回对应的比焓(H)(高压)
if97.sx2vhp(S,X)已知比熵(S)和干度(X),返回对应的比容(V)(高压)
ifc67.sx2vhp(S,X)已知比熵(S)和干度(X),返回对应的比容(V)(高压)
if97.sx2p(S,X)已知比熵(S)和干度(X),返回对应的压力(P)(缺省低压)
ifc67.sx2p(S,X)已知比熵(S)和干度(X),返回对应的压力(P)(缺省低压)
if97.sx2t(S,X)已知比熵(S)和干度(X),返回对应的温度(T)(缺省低压)
ifc67.sx2t(S,X)已知比熵(S)和干度(X),返回对应的温度(T)(缺省低压)
if97.sx2h(S,X)已知比熵(S)和干度(X),返回对应的比焓(H)(缺省低压)
ifc67.sx2h(S,X)已知比熵(S)和干度(X),返回对应的比焓(H)(缺省低压)
if97.sx2v(S,X)已知比熵(S)和干度(X),返回对应的比容(V)(缺省低压)
ifc67.sx2v(S,X)已知比熵(S)和干度(X),返回对应的比容(V)(缺省低压)
if97.vx2plp(V,X)已知比容(V)和干度(X),返回对应的压力(P)(低压)
ifc67.vx2plp(V,X)已知比容(V)和干度(X),返回对应的压力(P)(低压)
if97.vx2tlp(V,X)已知比容(V)和干度(X),返回对应的温度(T)(低压)
ifc67.vx2tlp(V,X)已知比容(V)和干度(X),返回对应的温度(T)(低压)
if97.vx2hlp(V,X)已知比容(V)和干度(X),返回对应的比焓(H)(低压)
ifc67.vx2hlp(V,X)已知比容(V)和干度(X),返回对应的比焓(H)(低压)
if97.vx2slp(V,X)已知比容(V)和干度(X),返回对应的比熵(S)(低压)
ifc67.vx2slp(V,X)已知比容(V)和干度(X),返回对应的比熵(S)(低压)
if97.vx2php(V,X)已知比容(V)和干度(X),返回对应的压力(P)(高压)
ifc67.vx2php(V,X)已知比容(V)和干度(X),返回对应的压力(P)(高压)
if97.vx2thp(V,X)已知比容(V)和干度(X),返回对应的温度(T)(高压)
ifc67.vx2thp(V,X)已知比容(V)和干度(X),返回对应的温度(T)(高压)
if97.vx2hhp(V,X)已知比容(V)和干度(X),返回对应的比焓(H)(高压)
ifc67.vx2hhp(V,X)已知比容(V)和干度(X),返回对应的比焓(H)(高压)
if97.vx2shp(V,X)已知比容(V)和干度(X),返回对应的比熵(S)(高压)
ifc67.vx2shp(V,X)已知比容(V)和干度(X),返回对应的比熵(S)(高压)
if97.vx2p(V,X)已知比容(V)和干度(X),返回对应的压力(P)(缺省低压)
ifc67.vx2p(V,X)已知比容(V)和干度(X),返回对应的压力(P)(缺省低压)
if97.vx2t(V,X)已知比容(V)和干度(X),返回对应的温度(T)(缺省低压)
ifc67.vx2t(V,X)已知比容(V)和干度(X),返回对应的温度(T)(缺省低压)
if97.vx2h(V,X)已知比容(V)和干度(X),返回对应的比焓(H)(缺省低压)
ifc67.vx2h(V,X)已知比容(V)和干度(X),返回对应的比焓(H)(缺省低压)
if97.vx2s(V,X)已知比容(V)和干度(X),返回对应的比熵(S)(缺省低压)
ifc67.vx2s(V,X)已知比容(V)和干度(X),返回对应的比熵(S)(缺省低压)

Lua标准库和函数库

仅展示部分常用函数,更多使用方法可在线搜索。

math库

函数参数说明
math.abs(x)x返回x的绝对值
math.acos(x)x返回x的反余弦值(用弧度表示)
math.asin (x)x返回x的反正弦值(用弧度表示)
math.atan (y [, x])y,x返回 y/x 的反正切值(用弧度表示)
math.ceil (x)x返回不小于 x 的最小整数值
math.cos (x)x返回 x 的余弦(假定参数是弧度)
math.deg (x)x将角 x 从弧度转换为角度
math.exp (x)x返回 ex 的值 (e 为自然对数的底)
math.floor (x)x返回不大于 x 的最大整数值
math.fmod (x, y)x,y返回 x 除以 y,将商向零圆整后的余数。 (integer/float)
math.huge浮点数 HUGE_VAL, 这个数比任何数字值都大。
math.log (x [, base])x,base返回以指定底的 x 的对数
math.max (x, ···)x,y…返回参数中最大的值, 大小由 Lua 操作
math.maxinteger最大值的整数
math.min (x, ···)x,y…返回参数中最小的值, 大小由 Lua 操作
math.mininteger最小值的整数
math.modf (x)x返回 x 的整数部分和小数部分
math.piπ 的值
math.rad (x)x将角 x 从角度转换为弧度
math.random ([m [, n]])m,n返回伪随机值
math.randomseed (x)x把 x 设为伪随机数发生器的“种子”: 相同的种子产生相同的随机数列
math.sin (x)x返回 x 的正弦值
math.sqrt (x)x返回 x 的平方根
math.tan (x)x返回 x 的正切值(假定参数是弧度)。
math.tointeger (x)x如果 x 可以转换为一个整数, 返回该整数
math.type (x)x返回参数的类型
math.ult (m, n)m,n如果整数 m 和 n 以无符号整数形式比较, m 在 n 之下,返回布尔真否则返回假。

string库

函数参数说明
string.byte (s [, i [, j]])s[i]返回字符 s[i], s[i+1], ... ,s[j] 的内部数字编码
string.char (···)返回和参数数量相同长度的字符串
string.dump (function [, strip])fuction返回包含有以二进制方式表示的(一个 二进制代码块 )指定函数的字符串
string.find (s, pattern [, init [, plain]])s,pattern查找第一个字符串 s 中匹配到的 pattern
string.format (formatstring, ···)formatstring返回不定数量参数的格式化版本
string.gmatch (s, pattern)s,pattern返回一个迭代器函数
string.gsub (s, pattern, repl [, n])s,pattern,repl将字符串 s 中,所有的 pattern 都替换成 repl
string.len (s)s接收一个字符串,返回其长度
string.lower (s)s接收一个字符串,将其中的大写字符都转为小写后返回其副本
string.match (s, pattern [, init])s,pattern在字符串 s 中找到第一个能用 pattern 匹配到的部分
string.pack (fmt, v1, v2, ···)fmt,v1,v2返回一个打包了 v1, v2 等值的二进制字符串
string.packsize (fmt)fmt返回以指定格式用 string.pack 打包的字符串的长度
string.rep (s, n [, sep])s,n返回 n 个字符串 s 以字符串 sep 为分割符连在一起的字符串
string.reverse (s)s返回字符串 s 的翻转串
string.sub (s, i [, j])s,i返回 s 的子串, 该子串从 i 开始到 j 为止; i 和 j 都可以为负数。
string.unpack (fmt, s [, pos])fmt,s返回以格式 fmt 打包在字符串 s 中的值。
string.upper (s)s接收一个字符串,将其中的小写字符都转为大写后返回其副本

table库

函数参数说明
table.concat (list [, sep [, i [, j]]])list提供一个列表,其所有元素都是字符串或数字
table.insert (list, [pos,] value)list,pos,value在 list 的位置 pos 处插入元素 value
table.move (a1, f, e, t [,a2])a1,a2将元素从表 a1 移到表 a2
table.pack (···)返回用所有参数以键 1,2, 等填充的新表
table.remove (list [, pos])list pos移除 list 中 pos 位置上的元素,并返回这个被移除的值
table.sort (list [, comp])list在表内从 list[1] 到 list[#list] 原地 对其间元素按指定次序排序
table.unpack (list [, i [, j]])list返回列表中的元素

io库

函数参数说明
io.close([file])file关闭文件
io.flush ()等价于 io.output():flush()。
io.input ([file])file用文件名调用它时,(以文本模式)来打开该名字的文件, 并将文件句柄设为默认输入文件
io.lines ([filename ···])filename以读模式打开指定的文件名并返回一个迭代函数
io.open (filename [, mode])filename,mode这个函数用字符串 mode 指定的模式打开一个文件。
io.popen (prog [, mode])prog用一个分离进程开启程序 prog,
io.read (···)等价于 io.input():read(···)。
io.tmpfile ()返回一个临时文件的句柄
io.type (obj)obj检查 obj 是否是合法的文件句柄
io.write (···)等价于 io.output():write(···)。

os 库

函数参数说明
os.clock ()返回程序使用的按秒计 CPU 时间的近似值。
os.date ([format [, time]])formate返回一个包含日期及时刻的字符串或表
os.difftime (t2, t1)t2,t1返回以秒计算的时刻 t1 到 t2 的差值
os.execute ([command])command调用系统解释器执行 command
os.exit ([code [, close]])code,close调用 ISO C 函数 exit 终止宿主程序
os.getenv (varname)varname返回进程环境变量 varname 的值,
os.remove (filename)filename删除指定名字的文件
os.rename (oldname, newname)oldname,newname将名字为 oldname 的文件或目录更名为 newname
os.setlocale (locale [, category])locale设置程序的当前区域
os.time ([table])table返回给定表或者当前的时刻
os.tmpname ()返回一个可用于临时文件的文件名字符串。