精心整理组态王常用命令语言函数速查手册.docx
《精心整理组态王常用命令语言函数速查手册.docx》由会员分享,可在线阅读,更多相关《精心整理组态王常用命令语言函数速查手册.docx(37页珍藏版)》请在冰豆网上搜索。
精心整理组态王常用命令语言函数速查手册
精心整理组态王常用命令语言函数速查手册
组态王命令语言函数手册
―组态王‖支持使用内建的复杂函数,其中包括字符串函数、数学函数、系统函数、控件函数、报表函数及其他函数,下面依次介绍各个函数(函数名不区分大小写,按字母排序):
Abs
此函数用于计算变量值的绝对值,使用格式如下:
Abs(变量名或数值);返回值:
整值或实型值;例如:
Abs(14);返回值为14Abs(-7.5);返回值为7.5Abs(距离);返回内存模拟变量―距离‖的绝对值。
Ack
对变量进行报警确认,或对报警组进行报警确认。
如果函数参数为变量名称,则只对该变量进行报警确认;如果函数参数为报警组名称,则确认所有属于该报警组及其子报警组的变量。
该函数的参数只能是变量名或报警组名,不可以为字符串变量。
此函数常用于按钮命令语言,当发生报警时,用此函数进行报警确认,它将产生确认报警事件。
调用格式:
Ack(报警组名);或Ack(变量名);例如:
Ack(全厂);或Ack(反应罐液位);
ActivateAppactivate['ækt?
ve?
t]vt.刺激;使活动;使活泼;使产生放射性app[æp]n.应
用程序
此函数用于激活正在运行的窗口应用程序,使之变为当前窗口。
获得输入焦点。
该函数也可配合函数SendKeys的使用。
调用形式:
ActivateApp(―ExeName‖);
参数:
ExeName应用程序的执行文件名
例如:
激活MicrosoftWord的正确调用为:
ActivateApp("Word.exe");ArcCosarc[ɑ?
k]adj.圆弧的;反三角函数的
此函数用于计算变量值的反余弦值,变量值的取值范围在[-1,1]之间,否则函数返回值无效。
调用格式:
ArcCos(变量名或数值);返回值:
整值或实型值;例如:
ArcCos
(1);此函数返回值为0ArcCos(temp);此函数返回变量―temp‖的反余弦值。
Average['æv(?
)r?
d?
]n.平均;平均数;adj.平均的vt.算出…的平均数;将…平均分配;使…平衡
此函数为对指定的组态王报表表格的多个单元格求平均值,或求多个变量的平均值。
语法格式使用如下:
Average(‘a1‘,‘a2‘);或Average('a1:
a10');a1、a2……为组态王单元格所在的行号列标,或整型或实型变量。
其中参数个数为1-32个。
当对报表的指定单元格区域内的单元格进行求平均值运算时,结果显示在当前单元格内,语法格式使用如下:
Average(‘a1‘,?
a2?
);
例如:
任意单元格选择求平均值:
=Average(?
a1‘,?
b2‘,?
r10‘);连续的单元格求平均值:
=Average(?
b1:
b10‘);或求变量的平均值:
AverageValue=
1
Average(lVar1,fVar1);
hist-历史BackUpHistDatahistory[h?
st]
此函数为组态王网络中从IO服务器上下载历史数据记录到历史记录服务器。
用户在历史记录服务器上调用该函数。
函数的使用需要与组态王网络配置相配合,具体内容参见《组态王6.53使用手册》中―历史库‖一章。
语法使用格式:
BackupStationData(StrchMchinename,LongftEndtime);参数:
chMchinename字符串型为进行备份存储的IO服务器名ftEndtime整型为备份截止时间
例如:
//备份―IO采集站‖的历史数据,截至时间为当前:
endTime=HTConvertTime($年,$月,$日,$时,$分,0);BackUpHistData("IO采集站",endTime);
Bit
此函数用以取得一个整型或实型变量某一位的值(0或1)。
用法:
OnOff=Bit(Var,bitNo);//OnOff:
离散变量参数:
Var:
整型或实型变量bitNo:
位的序号,取值1至16返回值:
离散型。
若变量Var的第bitNo位为0,返回值OnOff为0;若变量Var的第bitNo位为1,返回值OnOff为1。
例如:
开关=Bit(DDE1,6);从变量DDE1的第6位得到变量―开关‖状态。
BitSet
此函数将一个整型或实型变量的任一位置为指定值(0或1)。
语法格式:
BitSet(Var,bitNo,OnOff);参数:
Var:
整型或实型变量
bitNo:
位的序号,取值1至16OnOff:
位的设定值
注意:
对于IO变量来说,BitSet函数只是用于可读可写的变量。
例如:
BitSet(DDE1,6,0);将变量DDE1的第6位置为0。
ChangePasswordpassword['pɑ?
sw?
?
d]n.密码;口令
此函数显示―更改口令‖对话框,允许登录工程人员更改他们的口令。
使用格式:
ChangePassword();例如:
为画面上某一按钮设置命令语言连接:
ChangePassword();
运行时单击此按钮,弹出对话框:
2
提示工程人员输入当前的口令和新口令以及验证新口令。
完全正确后,工程人员的口令设置为新值。
ClosePicture
此函数用于将已调入内存的画面关闭,并从内存中删除。
语法格式如下:
ClosePicture("画面名");例如:
ClosePicture("反应车间");将关闭画面―反应车间‖。
ConfigODBC
此函数用于配置odbc的数据源,语法格式如下:
ConfigODBC(nDatatbasetype,szAttributes);参数:
nDatatbasetype:
数据库类型,目前支持Access,SQLserver该参数为0时表示数据库类型为Access,参数为1时表示数据库类型为SQLserver;szAttributes:
配置字符串:
例1:
配置Access数据库,DSN名称为demo2,数据库文件为
E:
\ProgramFiles\Kingview\Example\Kingdemo1\数据库.mdb。
ConfigODBC(0,"DSN=demo2\0Description=E:
\Program
Files\Kingview\Example\Kingdemo1\数据库.mdb\0PWD=1234\0UID=shihf");例2:
配置SQL数据库:
ConfigODBC(1,"DSN=MyDSN\0Description=SQLConfigDSN
Sample\0SERVER=MySQL\0ADDRESS=MyServer\0NETWORK=dbmssocn\0DATABAS
E=pubs\0");
Date
此函数为根据给出的年、月、日整型数,返回日期字符串,默认格式为:
年:
月:
日。
语法使用格式如下:
Date(LONGnYear,LONGnMonth,LONGnDay);
例如:
年、月、日变量分别为:
―$年‖、―$月‖、―$日‖,用日期来显示由以上三个整数决定的―日期‖字符串,则在命令语言中输入:
日期=Date(年,月,日);DisplayMCI
3
此函数提供了一个对多媒体设备的通用接口,具有强大的功能。
语法使用格式:
DisplayMCI("MCICommand",option);下面举例说明此函数的使用方法。
例如:
DisplayMCI(―PLAYCD‖,3);用于播放CD唱片中的第3支歌曲。
DisplayMCI(―STOPCD‖,‖‖);用于停止播放CD。
DisplayMCI(―PLAYMIDI‖,‖c:
\midi.mid‖);用于播放MIDI格式的背景音乐‖c:
\midi.mid‖。
DisplayMCI(―PAUSEMIDI‖,‖c:
\midi.mid‖);暂停播放MIDI格式的背景音乐‖c:
\midi.mid‖。
DisplayMCI(―RESUMMIDI‖,‖c:
\midi.mid‖);继续播放MIDI格式的背景音乐‖c:
\midi.mid‖。
DisplayMCI(―CLOSEMIDI‖,‖c:
\midi.mid‖);停止播放MIDI格式的背景音乐‖c:
\midi.mid‖。
DisplayMCI(―EJECTCD‖);将光驱中的CD盘片弹出。
Dtext
此函数用于按离散变量的值动态地改变字符串变量。
语法格式如下:
Str=Dtext(Discrete_Tag,OnMsg,OffMsg);参描述
数
Discrete_Tag离散变量名。
OnMsg字符串变量名OffMsg字符串变量名当Discrete_Tag,1时,Str的值为OnMsg当Discrete_Tag,0时,Str的值为OffMsg例如:
Str=Dtext(电源开关,"电源打开","电源关闭");当电源开关,1时,Str的值为"电源打开当电源开关,0时,Str的值为"电源关闭"。
"EnableAllAlarm
全局报警使能函数。
调用形式:
EnableAllAlarm(is_enable);参数描述:
is_enable整数变量或数值0--禁止所有报警非0--使能所有报警返回值:
整数型,反映当前全局报警使能的状态:
若为非0:
使能;为0:
禁止EnableNavigate
此函数用于显示/关闭导航图。
调用形式:
EnableNavigate(is_enable);参数:
is_enable,整型。
0:
is_enable为0时,关闭导航图1:
is_enable为1时,显示导航图。
使用EnableNavigate函数关闭导航图后,除非使用该函数来显示导航图,否则无法显示导航图。
例如:
EnableNavigate(0);//关闭导航图
EnableSaveTagValueToIniValueWhenValueChange
对于设置了―保存数值‖和―保存参数‖的变量,使用该函数后,当变量的值和参数发生
4
变化时,系统会自动将变量的值和参数保存到文件tagname.db中,无论组态王运行系统是否正常退出,再次运行后,将保存的变量值和变量参数作为变量的初始值和初始参数。
―保存数值‖和―保存参数‖的具体含义请参见《组态王手册》第七章变量定义和管理部分。
调用形式:
EnableSaveTagValueToIniValueWhenValueChange(is_enable);参数:
is_enable:
整型变量或数值
1:
当变量的值和参数发生变化时,保存变量数值和参数。
组态王运行系统退出,再次运行后,将保存的变量值和变量参数作为变量的初始值和初始参数。
0:
与组态王―保存数值‖和―保存参数‖实现的功能相同。
例如:
组态王开发系统数据词典中定义变量,设置―保存数值‖。
执行函数:
EnableSaveTagValueToIniValueWhenValueChange
(1);
该变量的值发生变化时,系统保存该变量的值。
组态王运行系统退出,再次运行后,将保存的变量值作为变量的初始值。
Exit
此函数使组态王运行环境退出。
调用形式:
Exit(Option);
参数:
Option:
整型变量或数值0-退出当前程序;1-关机;2-重新启动windows;Exp
此函数返回指数函数ex的计算结果
使用格式如下:
Exp(数值或变量名);
例如:
Exp
(1);返回e1的计算值2.718Exp(temp);计算e常量的temp次幂并返回计算结果。
GetAlarmNumInGroup
此函数用来对某一个报警组当前的报警变量数量进行统计
语法格式:
longGetAlarmNumInGroup("MachineName","GroupName");
参数说明:
MachineName:
报警组所在的站点名称(对于单机网络,使用时用空字符串代替)
GroupName:
要获取报警变量个数的报警组名返回值:
整型,返回值表示报警变量数量特别说明:
对于网络节点,需要把―本机为报警服务器‖钩上,才能正确获取到远程节点的报警变量个数。
GetBackupProgress
此函数用于在组态王进行网络历史数据备份合并时获得进度百分比。
使用时需要通过命令语言调用来获得进度值。
语法使用格式:
GetBackupProgress(strszStationName);
参数:
szStationName远程站点名称。
返回值:
整型,为0~100间的进度值。
例如:
备份进度=GetBackupProgress(―IO采集站‖);
5
GetCursorPosX
此函数返回当前鼠标的X坐标。
调用格式:
result=GetCursorPosX();返回值为整型。
GetCursorPosY
此函数返回当前鼠标的Y坐标。
调用格式:
result=GetCursorPosY();返回值为整型。
GetDatelocal
此函数将以秒为单位的长整型数转换为相应的日期数值,分别以年、月、日的日期数值输出。
该长整型秒数的基准为UTC(格林尼治)时间1970年1月1日00:
00:
00。
转换完成输出的日期为本地日期。
语法使用格式GetDatelocal(DateTime,Year,Month,Day);
参数描述
DateTime:
需要进行日期转换的数,整型,为输入参数
Year:
年,整型,转换后得到的数据,输出参数
Month:
月,整型,转换后得到的数据,输出参数
Day:
日,整型,转换后得到的数据,输出参
例如:
使用HTConvertTime函数将自UTC(格林尼治)时间1970年1月1日00:
00:
00到北京时间2006年9月26日9:
22:
4转换为以秒为单位的长整数数值为1159233724,使用GetDatelocal函数可以从这个数值中分离出所表示的北京日期——年、月、日。
GetDatelocal(1159233724,年,月,日);执行后,得到的―年‖的值为2006,―月‖的值为9,―日‖的值为26。
数可以从这个数值中分离出所表示的日期——年、月、日。
函数GetDate(1060301289,年,月,日);执行后,得到的―年‖的值为2003,―月‖的值为8,―日‖的值为8。
获得其中时间的函数为GetTime()。
GetGroupName
此函数为通过报警组ID号获得报警组名称。
在组态王中,每个报警组除了名称外,还有ID号。
组态王的变量域―.Group‖显示的是变量所属报警组的ID号,如果要获得相应的报警组名称,就需要使用该函数。
语法使用格式:
sGroupName=GetGroupName(StationName,GroupID);参数描述
StationName:
报警组所在的站点名称(该项暂时无效,使用时用空字符串代替)GroupID:
要获取名称的报警组的ID号返回值为字符串型。
例如:
GroupName=GetGroupName(―‖,\\本站点\原料罐液位.Group);GetHistMaxData
此函数用来获取某段时间中历史数据的最大值
语法使用格式:
RealResult=GetHistMaxData(TagName,StartTime,EndTime);
参数描述:
6
TagName:
所要查询的变量的名称,类型为字符串型,即带引号。
StartTime:
数据查询的开始时间,该时间是通过组态王HTConvertTime函数转化的以
1969年12月31日16:
00:
00为基准的长整型数,所以用户在使用本函数之
前,应先将查询起始时间转换为长整型数值。
EndTime:
数据查询的结束时间,类型同StartTime。
返回值:
返回一个实数值。
GetHistMinData
此函数用来获取某段时间中历史数据的最小值
语法使用格式:
RealResult=GetHistMinData(TagName,StartTime,EndTime);
参数描述:
TagName:
所要查询的变量的名称,类型为字符串型,即带引号。
StartTime:
数据查询的开始时间,该时间是通过组态王HTConvertTime函
数转化的以1969年12月31日16:
00:
00为基准的长整型数,所
以用户在使用本函数之前,应先将查询起始时间转换为长整型
数值。
EndTime:
数据查询的结束时间,类型同StartTime。
返回值:
返回一个实数值。
GetHistAveData
此函数用来获取某段时间中历史数据的平均值
语法使用格式:
RealResult=GetHistAveData(TagName,StartTime,EndTime);
参数描述:
TagName:
所要查询的变量的名称,类型为字符串型,即带引号。
StartTime:
数据查询的开始时间,该时间是通过组态王HTConvertTime函数转化的以1969年12月31日16:
00:
00为基准的长整型数,所以用户在使用本函数之前,应先将查询起始时间转换为长整型数值。
EndTime:
数据查询的结束时间,类型同StartTime。
返回值:
返回一个实数值。
GetHistMaxTime
此函数用来获取某段时间中历史数据的最大值对应的时间
语法使用格式:
RealResult=GetHistMaxTime(TagName,StartTime,EndTime);
参数描述:
TagName:
所要查询的变量的名称,类型为字符串型,即带引号。
StartTime:
数据查询的开始时间,该时间是通过组态王HTConvertTime函数
转化的以1969年12月31日16:
00:
00为基准的长整型数,所以
用户在使用本函数之前,应先将查询起始时间转换为长整型数
值。
EndTime:
数据查询的结束时间,类型同StartTime。
返回值:
返回一个字符串,格式为2008/10/1011:
11:
11。
GetHistMinTime
7
此函数用来获取某段时间中历史数据的最小值对应的时间语法使用格式:
RealResult=GetHistMinTime(TagName,StartTime,EndTime);
参数描述:
TagName:
所要查询的变量的名称,类型为字符串型,即带引号。
StartTime:
数据查询的开始时间,该时间是通过组态王HTConvertTime函数转化的以
1969年12月31日16:
00:
00为基准的长整型数,所以用户在使用本函
数之前,应先将查询起始时间转换为长整型数值。
EndTime:
数据查询的结束时间,类型同StartTime。
返回值:
返回一个字符串,格式为2008/10/1011:
11:
11。
GetKey
此函数为获得组态王当前使用的加密锁的序列号。
语法使用格式KeyID=GetKey();
该函数没有任何参数。
返回值为字符串型。
GetProjectPath
此函数用于获取当前工程的路径。
语法使用格式:
GetProjectPath();
例如:
在组态王数据词典中定义内存字符串变量VarName:
VarName=GetProjectPath();
GetRealDBForBool
此函数用于获取变量的当前实时离散值。
语法使用格式:
GetRealDBForBool("VarName");
参数描述
VarName:
变量名称,字符串格式说明:
变量只能是离散量。
返回值为离散型。
例如:
bb=GetRealDBForBool("原料油出料阀");
GetRealDBForFloat
此函数用于获取变量的当前实时模拟值。
语法使用格式:
GetRealDBForFloat("VarName");
参数描述
VarName:
变量名称,字符串格式说明:
变量只能是实型变量。
例如:
ff=GetRealDBForFloat("原料油液位");
GetRealDBForInt
此函数用于获取变量的当前实时整型值。
语法使用格式:
GetRealDBForInt("VarName");
参数描述
VarName:
变量名称,字符串格式说明:
变量只能是整型变量。
例如:
ii=GetRealDBForInt("水果");
8
GetRealDBForString
此函数用于获取变量的当前实时字符串型值。
语法使用格式:
GetRealDBForString("VarName");
参数描述
VarName:
变量名称,字符串格式说明:
变量只能是字符串型变量。
例如:
ss=GetRealDBForString("记录日期");
GetStationStatus
此函数用于在组态王进行网络历史数据备份合并时获得备份的状态。
使用时需要通过命令语言调用来获得状态值。
语法使用格式:
BOOLGetStationStatus(strszStationName);
参数:
szStationName远程站点名称。
返回值:
离散型,>0正在备份数据=0空闲。
例如:
备份状态=GetStationStatus(―IO采集站‖);
GetTime
此函数将以秒为单位的长整型数转换为相应的时间数值,分别以时、分、秒等的时间数值输出。
该长整型秒数的基准为UTC(格林尼治)时间1970年1月1日00:
00:
00。
转换完成输出的时间也为UTC(格林尼治)时间。
语法使用格式:
GetTime(DateTime,Hour,Minute,Second);
参数描述
DateTime:
需要进行时间转换的数,整型,为输入参数
Hour:
时,整型,转换后得到的数据,输出参数
Minute:
分,整型,转换后得到的数据,输出参数
Second:
秒,整型,转换后得到的数据,输出参数
例如:
自UTC(格林尼治)时间1970年1月1日00:
00:
00到2003年8月8日0:
8:
9的秒的数值为1060301289,使用GetTime()函数可以从这个数值中分离出所表示的日期——时、分、秒。
函数GetTime(1060301289,时,分,秒);执行后,得到的―时‖的值为0,―分‖的值为8,―秒‖的值为9。
获得其中日期的函数为GetDate()。
GetTimelocal
此函数将以秒为单位的长整型数转换为相应的时间数值,分别以本地的时、分、秒的时间数值输出。
该长整型秒数的基准为UTC(格林尼治)时间1970年1月1日00:
00:
00。
转换完成输出的时间为本地时间。
语法使用格式:
GetTimelocal(DateTime,Hour,Minute,Second);
参数描述
DateTime:
需要进行时间转换的数,整型,为输入参数
Hour:
时,整型,转换后得到的数据,输出参数
Minute:
分,整型,转换后得到的数据,输出参数
9
Second:
秒,整型,转换后得到的数据,输