组态王命令语言函数手册
―组态王‖支持使用内建的复杂函数,其中包括字符串函数、数学函数、系统函数、控件函数、报表函数及其他函数,下面依次介绍各个函数(函数名不区分大小写,按字母排序):
Abs
此函数用于计算变量值的绝对值,使用格式如下: Abs(变量名或数值); 返回值:整值或实型值; 例如: Abs(14); 返回值为14 Abs(-7.5); 返回值为7.5 Abs(距离); 返回内存模拟变量―距离‖的绝对值。
Ack
对变量进行报警确认,或对报警组进行报警确认。如果函数参数为变量名称,则只对该变量进行报警确认;如果函数参数为报警组名称,则确认所有属于该报警组及其子报警组的变量。该函数的参数只能是变量名或报警组名,不可以为字符串变量。此函数常用于按钮命令语言,当发生报警时,用此函数进行报警确认,它将产生确认报警事件。调用格式: Ack(报警组名); 或 Ack(变量名); 例如: Ack(全厂); 或 Ack(反应罐液位);
ActivateApp activate['ækt?ve?t] vt. 刺激;使活动;使活泼;使产生放射性app [æp]n.应
用程序
此函数用于激活正在运行的窗口应用程序,使之变为当前窗口。获得输入焦点。该函数也可配合函数SendKeys的使用。
调用形式: ActivateApp(―ExeName‖); 参数:ExeName 应用程序的执行文件名
例如:激活Microsoft Word的正确调用为: ActivateApp(\"Word.exe\"); ArcCos arc[ɑ?k] adj. 圆弧的;反三角函数的
此函数用于计算变量值的反余弦值, 变量值的取值范围在[-1,1]之间,否则函数返回值无效。调用格式: ArcCos(变量名或数值); 返回值:整值或实型值; 例如: ArcCos(1); 此函数返回值为0 ArcCos(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 - 历史 BackUpHistData history[h?st]
此函数为组态王网络中从IO服务器上下载历史数据记录到历史记录服务器。用户在历史记录服务器上调用该函数。函数的使用需要与组态王网络配置相配合,具体内容参见《组态王6.53使用手册》中―历史库‖一章。
语法使用格式: BackupStationData (Str chMchinename, Long ftEndtime); 参数:chMchinename 字符串型 为进行备份存储的IO服务器名 ftEndtime 整型 为备份截止时间
例如: //备份―IO采集站‖的历史数据,截至时间为当前:
endTime=HTConvertTime($年,$月,$日,$时,$分,0); BackUpHistData(\"IO采集站\
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至16 OnOff:位的设定值
注意:对于IO变量来说,BitSet函数只是用于可读可写的变量。 例如: BitSet(DDE1,6,0); 将变量DDE1的第6位置为0。
ChangePassword password ['pɑ?sw??d] n. 密码;口令
此函数显示―更改口令‖对话框,允许登录工程人员更改他们的口令。使用格式: ChangePassword(); 例如: 为画面上某一按钮设置命令语言连接:ChangePassword( );
运行时单击此按钮,弹出对话框: 2
提示工程人员输入当前的口令和新口令以及验证新口令。完全正确后,工程人员的口令设置为新值。
ClosePicture
此函数用于将已调入内存的画面关闭,并从内存中删除。语法格式如下: ClosePicture(\"画面名\"); 例如: ClosePicture(\"反应车间\"); 将关闭画面―反应车间‖。
ConfigODBC
此函数用于配置odbc的数据源,语法格式如下:
ConfigODBC(nDatatbasetype,szAttributes); 参数: nDatatbasetype:数据库类型,目前支持 Access,SQL server 该参数为0时表示数据库类型为Access,参数为1时表示数据库类 型为SQL server ;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\\0 Description =SQLConfigDSN
Sample\\0SERVER=MySQL\\0ADDRESS=MyServer\\0NETWORK=dbmssocn\\0DATABAS E=pubs\\0\"); Date
此函数为根据给出的年、月、日整型数,返回日期字符串,默认格式为:年:月:日。语法使用格式如下:
Date(LONG nYear, LONG nMonth, LONG nDay);
例如:年、月、日变量分别为:―$年‖、―$月‖、―$日‖,用日期来显示由以上三个整数决定的―日期‖字符串,则在命令语言中输入: 日期=Date(年,月,日); DisplayMCI
3
此函数提供了一个对多媒体设备的通用接口,具有强大的功能。语法使用格式: DisplayMCI( \"MCICommand\下面举例说明此函数的使用方法。 例如: 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.718 Exp(temp); 计算e常量的temp次幂并返回计算结果。
GetAlarmNumInGroup
此函数用来对某一个报警组当前的报警变量数量进行统计
语法格式: long GetAlarmNumInGroup(\"MachineName\参数说明: MachineName:报警组所在的站点名称(对于单机网络,使用时用空字符串代替)
GroupName:要获取报警变量个数的报警组名 返回值:整型,返回值表示报警变量数量 特别说明:对于网络节点,需要把―本机为报警服务器‖钩上,才能正确获取到远程节点的报警变量个数。
GetBackupProgress
此函数用于在组态王进行网络历史数据备份合并时获得进度百分比。使用时需要通过命令语言调用来获得进度值。
语法使用格式: GetBackupProgress( str szStationName);
参数: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(10603012,年,月,日); 执行后,得到的―年‖的值为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/10 11:11:11。 GetHistMinTime 7
此函数用来获取某段时间中历史数据的最小值对应的时间 语法使用格式: RealResult=GetHistMinTime(TagName,StartTime,EndTime);
参数描述:
TagName:所要查询的变量的名称,类型为字符串型,即带引号。 StartTime:数据查询的开始时间,该时间是通过组态王HTConvertTime函数转化的以
1969年12月31日16:00:00为基准的长整型数,所以用户在使用本函 数之前,应先将查询起始时间转换为长整型数值。 EndTime:数据查询的结束时间,类型同StartTime。
返回值:返回一个字符串,格式为2008/10/10 11: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
此函数用于在组态王进行网络历史数据备份合并时获得备份的状态。使用时需要通过命令语言调用来获得状态值。
语法使用格式: BOOL GetStationStatus( str szStationName);
参数: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的秒的数值为10603012,使用GetTime ()函数可以从这个数值中分离出所表示的日期——时、分、秒。
函数GetTime (10603012,时,分,秒); 执行后,得到的―时‖的值为0,―分‖ 的值为8,―秒‖ 的值为9。 获得其中日期的函数为GetDate ()。
GetTimelocal
此函数将以秒为单位的长整型数转换为相应的时间数值,分别以本地的时、分、秒的时间数值输出。该长整型秒数的基准为UTC(格林尼治)时间1970年1月1日00:00:00。转换完成输出的时间为本地时间。
语法使用格式:GetTimelocal(DateTime,Hour,Minute,Second); 参数 描述
DateTime: 需要进行时间转换的数,整型,为输入参数 Hour: 时,整型,转换后得到的数据,输出参数 Minute: 分,整型,转换后得到的数据,输出参数 9
Second: 秒,整型,转换后得到的数据,输出参数
例如: 使用HTConvertTime函数将自UTC(格林尼治)时间1970年1月1日00:00:00到北京时间2006年9月26日9:22:4转换为以秒为单位的长整数数值为1159233724,使用GetTimelocal函数可以从这个数值中分离出所表示的北京时间——时、分、秒。 GetTimelocal (1159233724,时,分,秒); 执行后,得到的―时‖的值为9,―分‖ 的值为22,―秒‖ 的值为4。
HidePicture
此函数用于隐藏正在显示的画面,但并不将其从内存中删除。 调用格式: HidePicture(\"画面名\");
参数:画面名称 字符串型 例如: HidePicture(\"反应车间\"); HTConvertTime
此函数将指定的时间格式(年,月,日,时,分,秒)转换为以秒为单位的长整型数,转换的时间基准是UTC(格林尼治)1970年1月1日00:00:00。例:北京为东八区,那么转换的时间基准为1970 年1月1日8:00:00。
语法使用格式 :HTConvertTime(Year,Month,Day,Hour,Minute,Second); 参数 描述
Year: 年,整型,此值必须介于1970和2019之间 Month: 月,整型,此值必须介于1和12之间 Day: 日,整型,此值必须介于1和31之间 Hour: 小时,整型,此值必须介于0和23之间 Minute: 分钟,整型,此值必须介于0和59之间 Second: 秒,整型,此值必须介于0和59之间 返回值:整型
注: 调用此函数将用年、月、日、时、分、秒表示的时间转换成自1970年1月1日00:00:00即UCT起到该时刻所经过的秒数。在定义返回值变量时,应注意将其最大值置为整型数的最大范围,如2×109,否则可能会因为返回数据超出范围导致转换的时间不正确。 例如: 语句HTConvertTime(1970,1,1,9,0,0)执行后返回长整型数为3600; HTGetPenRealValue
此函数用于获取指定历史趋势曲线中的趋势笔所对应的实际值。 调用格式: HTGetPenRealValue(HistroyName,PenNum,ContentString); 参数说明
HistroyName 指在―历史趋势曲线‖对话框中定义的历史趋势曲线名称 PenNum 与历史趋势曲线中的一个变量相对应的趋势笔的索引号
ContentString 字符串常量
―start‖ 表示获取与历史趋势曲线的域ValueStart相对应的实际值,ValueStart是用
10
工程百分比来表示变量的下限值,start则表示将下限值的工程百分比转换为实际值。 ―end‖ 表示获取与历史趋势曲线的域ValueEnd相对应的实际值,ValueEnd是用工程百分比来表示变量的上限值,end则表示将上限值的工程百分比转换为实际值。 例如: 设有一温度历史曲线,其最大上限值为500,最小下限值为0, 如果用ValueStart和ValueEnd输出显示,则显示的数据是温度值的工程百分比,如ValueEnd 的输出为50,表示百分比是50%,如果使用函数语句
HTGetPenRealValue(histroy,1,―end‖);
则函数返回工程百分比50%对应的实际值500*50%=250,其中history为历史趋势曲线名,1表示对应温度的趋势笔。
HTScrollRight
此函数将趋势曲线的起始时间右移给定的百分比值。百分比是相对于趋势曲线的时间轴长度。移动后时间轴的长度保持不变。
调用格式: HTScrollRight(HistoryName,Percent); 参数 描述 HistoryName 历史趋势变量,代表趋势名。
Percent 实数,代表图表要滚动的百分比(0.0到100.0)。 例如: 将趋势曲线Trend1的间轴范围向右滚动 20%。
调用函数: HTScrollRight(Trend1,20.0); 若当前显示起始于下午
12:00:00,而且显示宽度为60秒,则新的趋势将起始于下午 12:00:12 (在函数执行后)。
InfoAppDir info ['?nf??]信息,情报,统计dir[,di a? 'ɑr] 目录(directory);方向(direction);用法(directione);指示(direct)
此函数返回当前组态王的工程路径。
调用格式: MessageResult=InfoAppDir(); 当前组态王工程路径返回给MessageResult.
例如: DemoPath=InfoAppDir();
将返回 \"C:\\Program Files\\Kingview\\Example\\Kingdemo3\"。
InfoAppTitle title ['ta?t(?)l] n. 冠军;标题;头衔;权利;字幕 此函数返回应用程序的标题或者一个当前正在运行的指定程序的Windows任务列表名。 调用格式: MessageResult=InfoAppTitle(ProgramEXEName); 返回值:字符型值; 参数 描述
ProgramEXEName 应用程序的执行文件名。
例如: InfoAppTitle;(\"calc.exe\"); // 将返回 \"Calculator\" InfoAppTitle;(\"excel.exe\"); //将返回 \"Microsoft Excel\" InfoDisk
此函数返回指定的本地(或网络)磁盘驱动器信息。
调用格式: IntegerResult=InfoDisk(Drive,InfoType,Trigger); 11 参数 描述
Drive 代表驱动器号的字符串或字符串变量。若提供的字符串变量包含多于一个的字符,则只使用此变量的首字符。
InfoType 代表信息类型的整数,可为以下两个值之一:
1 返回磁盘驱动器的总空间数(以字节计)。 2 返回磁盘驱动器上可用的空闲空间数(以字节计)。
Trigger 每当 Trigger 的值改变时,执行 InfoDisk() 函数。Trigger 可为任何变量名(不受系统变量的)。 由驱动器号指定的磁盘驱动器的有关信息返回给 IntegerResult。
例如: 下面的语句每分钟执行一次并返回当前的值: InfoDisk(\"C\分);//将返回C盘总空间数 InfoDisk(\"C\分);//将返回C盘空闲空间数 InfoFile
此函数返回指定文件或子目录的有关信息。
调用格式: IntegerResult=InfoFile(Filename,InfoType,Trigger); 参数 描述
Filename 代表要处理的文件名的字符串。
InfoType 代表要获取的信息的类型的整数,可为以下值之一:
1 查找文件是否存在。若文件名是一个实际文件,返回1。若找不到文件则返回0。 2 文件大小(字节数)。
3 文件日期/时间(自1970年1月1日起的相对秒数)
4 与文件名描述相匹配的文件数。仅当使用通配符查找并找到多个匹配的文件时,返回值大于1。 Trigger为任一变量名,每当 Trigger 的值改变时,将执行 InfoFile() 函数。
由文件名指定的文件的有关信息返回给IntegerResult。文件名必须包括文件的完整路径,可包含通配符(*,?)。
例如: 下面的语句每分钟执行一次并返回下列值:
InfoFile(\"c:\\kingview\ouchvew.exe\分);将返回1,{文件找到} InfoFile(\"c:\\kingview\ouchvew.exe\分);将返回634960,{文件大小} InfoFile(\"c:\\kingview\ouchvew.exe\分);将返回736701852, {自70年1月1日起的秒数} InfoFile(\"c:\\kingview\\*.exe\分);将返回4,{找到4个可执行文件}。
InfoResource
此函数返回各种系统资源值。
调用格式: IntegerResult=InfoResource(ResourceType,Trigger); 参数 描述 ResourceType 代表要监视的资源类型的整数,可为以下值之一: 1 返回GDI资源可用空闲空间的百分比。
12
2 返回USER资源可用空闲空间的百分比。 3 返回当前内存中空闲空间字节数。 4 返回当前正在运行的任务数。
Trigger 每当 Trigger 值改变时,执行InfoResource() 函数。Trigger 可为任一变量名(不受系统变量)。 由整数 ResourceType 指定的特定系统资源信息存放在 IntegerResult 中。
例如:下面的语句每分钟执行一次并返回当前值: InfoResource(1, $分);//将返回空闲百分比 InfoResource(2, $分);//将返回空闲百分比 InfoResource(3, $分);将返回内存中空闲空间字节数 InfoResource(4, $分);将返回任务数 注意:
在WIN NT 下返回GDI和USER的资源可用空闲空间的百分比是一样的,与WIN NT系统有关。
Int
此函数返回小于等于指定数值的最大整数。 调用格式: IntegerResult=Int(Number); 参数 描述 Number 任一数字或者组态王的实型或整型变量名。 例如: Int(4.7);将返回 4 ;Int(-4.7);将返回 -5 listLoadList
此函数用于将CSV文件Filename中的列表项调入指定的列表框控件
ControlName中,并替换列表框中的原有列表项。列表框中只显示列表项的成员名称(字符串信息),而不显示相关的数据值。
语法格式使用如下: listLoadList(\"ControlName\参数说明: ControlName:工程人员定义的列表框控件名称,可以为中文名或英文名。 Filename:csv文件,用写字板程序进行编辑,用以存放列表框中要显示的列表项。 例如: istLoadList(\"组合框信息\组态王\\list.csv\"); 此语句将指定的文件list.csv调入名为组合框信息的列表框中并显示出来。
注:
如果没有给出csv文件所在的完整路径,则该函数就从组态王所在的路径下寻找指定的文件。
listSaveList
此函数用于将列表框控件ControlName中的列表项信息存入CSV文件Filename中。如果该文件不存在,则直接创建。
13
语法格式使用如下: listSaveList(\"ControlName\
参数说明: ControlName:工程人员定义的列表框控件名称,可以为中文名或英文名。
Filename:CSV文件,按一定格式用以存放列表框中的列表项。 例如: listSaveList(\"组合框信息\组态王\\list.csv\"); 此语句将组合框信息列表框中的列表项存入到文件c:\\组态王\\list.csv中。
注: 如果没有给出CSV文件所在的完整路径,则该函数在组态王所在的路径下创建该文件。
LogE
此函数返回对数函数logex的计算结果, X为变量值 调用格式: LogE(变量值);
例如: LogE(100);返回loge100计算值4.605 LogE(1);返回loge1计算值0 LogN
此函数返回以n为底的x的对数。以1为底的对数没有定义。
调用格式: Result=LogN(Number,Base); 参数 描述 Number 任一数字或者组态王的实型或整型变量名。 Base 做底的整数。 例如:
LogN(8, 3);将返回 1.279... LogN(3, 7);将返回 0.5... LogOff
此函数用于在TOUCHVEW中退出登录。 调用格式: LogOff( ); 参数 无 LogOn
此函数用于在TouchVew中登录。 调用格式: LogOn( ); 参数 无
例如: 为画面上某个按钮建立命令语言连接: LogOn( ); 画面程序运行时单击此按钮,弹出―登录‖对话框:
工程人员在此对话框中输入用户名和口令,以获得操作权限。 14 Max
此函数用于求得给定的数中最大的一个数。其参数个数为1-16个。 调用格式: Max( Val1, Val2 );
例如: MaxValue = Max(Max(var1,var2), var3 ); 此函数返回值MaxValue为var1、var2、var3中最大的数。
Min
此函数用于求得给定的数中最小的一个数。其参数个数为1-16个。 例如: MinValue=Min(Min(var1,var2),var3); 此函数返回值MinValue为var1、var2、var3中最小的数。
ModifyTagField
此函数用于修改变量的属性值 语法格式使用如下:
ModifyTagField(\"VarName\econd,
millSecond); 参数说明:
VarName:变量名称。 Value: 变量值。
Quality:变量的质量戳。 Year:变量时间戳的年。
Month:变量时间戳的月。 Date:变量时间戳的日。 Hour:变量时间戳的时。 Minute:变量时间戳的分
Second:变量时间戳的秒。 millSecond:变量时间戳的毫秒。 例如: ModifyTagField(\"R1\
PageDown
用于报警窗口信息的向前翻页显示。
调用形式: PageDown(AlmWin, Lines); 参数: AlmWin: 报警窗口名 Lines: 翻页行数
例如: PageDown(全厂历史报警记录窗口,7); 该调用将―全厂历史报警记录窗口‖的报警记录向下翻7行(如果有足够报警记录的话)。
PageUp
用于报警窗口信息的向后翻页显示。
调用格式: PageUp(AlmWin, Lines); 参数: AlmWin: 报警窗口名 Lines: 翻页行数
例如: PageUp(全厂历史报警记录窗口,7); 该调用将―全厂历史报警记录窗口‖的报警记录向上翻7行(如果有足够报警记录的话).
PI
此函数返回圆周率的值。 调用格式: RealResult=PI(); 15
例如: PI( );将返回 3.1415926... PowerCheckUser
此函数当用户希望进行一项操作时(如分闸或合闸),为防止误操作,需要进行双重认证。即在身份认证对话框中,既要输入操作者的名称和密码,又要输入监控者的姓名和密码,两者验证无误时方可操作。调用该函数后,弹出身份验证对话框。如下图所示。其中使用的用户信息是通过组态王中的用户配置得到的。
调用格式: Result= PowerCheckUser(string OperatorName, string MonitorName); 参数 描述
OperatorName 返回的操作者姓名 MonitorName 返回的控制者姓名 Result 1:验证成功,0:验证失败
例如: Result= PowerCheckUser(OperatorName, MonitorName); PreviewWindow
该函数具有组态王画面的打印预览功能。
调用格式: PreviewWindow( \"Window\yStart); 参数说明:
Window:要打印预览的组态王窗口名,即组态王画面名称。字符串类型。 xScale:打印输出的宽度占页面总宽度的百分比。整型或实型。此参数为0时,option参数起作用。
yScale:打印输出的高度度占页面总高度的百分比。整型或实型。此参数为0时,option参数起作用。
option:仅当xScale和yScale为0时有效。整型,取值0或1。 16
如果组态王画面上不包含位图,OCX控件,报表,报警窗,那么,option为0时, 保持画面的纵横比不变,以适合打印页面的最大比例打印(画面不失真);option为1时,按页面的大小对画面进行缩放(画面有可能失真)。
如果组态王画面上包含位图, OCX控件,报表,报警窗,中的任何一个,那么,option为1时, 保持画面的纵横比不变,以适合打印页面的最大比例打印(画面不失真);option为0时,按页面的大小对画面进行缩放(画面有可能失真)。 当画面上包含位图, OCX控件,报表,报警窗时,建议将option参数设为1。 xStart:要打印窗口的横向空白占页面宽度的百分比。整型或实型。如果组态王画面上包含位图, OCX控件,报表,报警窗,中的任何一个时,xStart参数值无意义。 yStart:要打印窗口的纵向空白占页面高度的百分比。整型或实型。如果组态王画面上包含位图, OCX控件,报表,报警窗,中的任何一个时,yStart参数值无意义。
注意:
1、组态王运行系统预览打印画面后,如果在开发系统对画面进行了修改,请重新预览。 2、只能预览当前显示的画面。
3、请在组态王运行系统启动,显示运行画面之后,再进行打印预览。 4、如果画面的显示尺寸小于画面的实际尺寸时(画面的显示尺寸和实际尺寸在开发系统
的画面属性中设置),预览到的画面与组态王运行系统显示的画面相同,也就是说,预览到的是部分画面。
5、建议将画面的显示尺寸设在计算机显示屏的像素点以下。 例如: 预览报表打印窗口,可以使用下面的按钮命令语言:
PreviewWindow( \"报表\其中―报表‖为包含报表的组态王画面名。ReBuildDDE
此函数用于重新建立DDE连接。
调用形式: ReBuildDDE(); 此函数无参数。 ReBuildUnConnectDDE
此函数用于重新建立未成功的DDE连接。
调用形式: ReBuild UnConnectDDE(); 此函数无参数。 ReportLoad
此函数为报表专用函数。将指定路径下的报表读到当前报表中来
语法格式使用如下: ReportLoad(ReportName, FileName) 返回值:返回存储是否成功标志 0 - 成功 -3 - 失败(注意定义返回值变量的范围)
参数说明:ReportName:报表名称 FileName:报表存储路径和文件名称 例如: 将文件名为―数据报表1‖,路径为―C:\\My Documents‖的报表读取到当前报表中,返回值赋给变量―读文件‖: 读文件= ReportLoad(―实时数据报表‖,‖C:\\My Documents\\报表.RTL‖);
ReportPageSetup 17
此函数为在运行状态下对报表进行页面设置函数
语法格式使用如下: ReprotPageSetup(String szRptName); 参数说明:szRptName:要进行页面设置报表的名称
例如: 设置―实时数据报表‖页面属性: ReportPageSetup(―实时数据库表‖); ReportSaveAs
此函数为报表专用函数。将指定报表按照所给的文件名存储到指定目录下,ReportSaveAs支持将报表文件保存为rtl、xls、csv格式。保存的格式取决于所保存的文件的后缀名。
语法格式使用如下: ReportSaveAs(ReportName,FileName); 返回值:整型 返回存储是否成功标志 0 - 成功
参数说明:ReportName:报表名称 FileName:存储路径和文件名称 例如1: 将报表―实时数据报表‖存储为文件名为―数据报表1.RTL‖,路径为―C:\\My Documents‖,返回值赋给变量―存文件‖: 存文件=ReportSaveAs(―实时数据报表‖, ―C:\\My Documents\\数据报表1.RTL‖);
例如2: 将报表―实时数据报表‖存储为EXCEL格式的文件,文件名为―数据报表1.xls‖,路径为―C:\\My Documents‖,返回值赋给变量―存文件‖: 存文件=ReportSaveAs(―实时数据报表‖, ―C:\\My Documents\\数据报表1.xls‖);
SampleVar
该函数是为要进行间歇采集的IO变量提供的解决方法。在使用前,需要将进行间歇采集的IO变量的采集频率定义为0毫秒(否则该函数没有用处),在需要进行采集时,执行该函数,将变量准备写入组态王数据采集队列,然后执行SampleVarEnd()函数,进行一次数据采集。
调用格式: SampleVar(TagName);
参数:TagName 字符串型 要进行间歇采集的变量名称
例如:环境监测中的―水质含氧量‖为在需要时才进行采集的变量,其它时间不需要采集。则在组态王变量词典中将该变量的采集频率定义为0,在命令语言脚步中使用该函数: SampleVar(―水质含氧量‖); 当该函数执行时,将―水质含氧
量‖变量的采集信息准备写入组态王的数据采集队列。当需要正式采集时执行SampleVarEnd()函数,进行一次数据采集。
SampleVarEnd
执行SampleVar()函数后,执行该函数,将需要进行采集的变量信息写入组态王数据采集队列。
调用格式: SampleVarEnd(); 没有参数。 SendKeys
此函数与StartApp、ActivateApp配合使用,使―组态王‖具备了远程控制其它应用程序的能力,这是―组态王‖的重要功能之一。它可以启动另一应用程序,如Excel,然后又
18
可以命令该应用程序执行一组功能,如产生报表,趋向图或记录数据。所需的过程可以用某一应用程序(比如Excel)的―宏‖语言来写。这就是说,只要按一次键调用该宏命令就能启动很复杂的过程。这种用其他功能很强的应用程序作为从属程序的能力大大增强了―组态王‖的功能。 该函数用于将击键信息发送至当前获得输入焦点的应用程序。对于此应用程序来说,键似乎已由键盘输入。在调用此函数时,必须使接受键信息的应用程序获得输入焦点。因此需要先调用ActivateApp。
例如: ActivateApp(\"Excel.exe\"); SendKeys(\"^(X)\"); 将Control X键信息发送至Excel。对于Excel来说,这可能为报告生成宏命令的命令码。
其调用形式为: SendKeys(keyT);
参数keyT为特定键的代码,代码意义和用法与Microsoft的Excel的函数Send Keys中参数keyT相同,可参照下面的表:
键码 意义
{BACKSPACE}or{BS} ackspace
{BREAK} BreakCaps {CAPSLOCK} Caps Lock {CLEAR} Clear
{DELETE}or{DEL} Delete or Del {DOWN} Down direction key {END} End {ENTER}or~ Enter
{ESCAPE}or{ESC} Esc(Escape) {HOME} Home {INSERT} Insert
{LEFT} Left direction key {NUMLOCK} Num Lock {PGDN} Page Down Page up Print Screen
Right direction key {SCROLLLOCK} Scroll Lock Tab
Up direction key
{F1}through{F12} Function keys F1 through F12
可以用大写或小写的字符定义一个键命令,还可以同时与下面的键配合使用: 键码 意义
+ Shift ^ Ctrl % Alt 19
例如:为了发送一键序列来拷贝已选定的区,调用函数SendKeys(\"^{insert}\");为了表示在另一键按下时按下SHIFT,CONTROL或ALT,可以将其它键放入括号内。如:SendKeys(\"%(TFR)~\"); 这表示先发出击键信号:Alt-t、Alt-f和Alt-r,然后是Enter回车键。%指代Alt键,因为跟在Alt键码后面的字母都在括号中,所以当每一键按下时Alt键好象同时也被按下。 SendKeys(\"secret~\");表示先发出
字符串secret,然后按回车键。 由于字符+、^和%都有特殊含义,为了输入这些字符本身而不取其特殊含义,应给字符加花括号,如:SendKeys(\"A{+}B\"),表示发出字符串A+B。 SetAlarmWinDis
此函数用来设置实时报警窗口信息显示方式。
语法格式: void SetAlarmWinDis(long nSet); 参数说明:nSet=1: 恢复并且确认后,报警信息才消失 非1: 恢复后报警信息消失 默认还是报警恢复即报警消失;报警恢复+报警确认:既显示报警事件又显示报警恢复事件,当报警信息被确认后,报警信息会自动消失。
SetPrintAlarm
该函数用来执行实时打印功能。
语法格式: BOOL SetPrintAlarm(BOOL bitset); 参数描述: bitset:bool类型,为1时则停止报警打印,为0开始报警打印 返回值:bool类型,能反映设置后的打印状态,为1时则停止报警打印,为0开始报警打印 注:此函数只有当配置了报警配置中的报警打印后才能起作用。 SetRealDBForBool
此函数用于生成离散型变量的操作事件。除按钮命令语言外,在组态王命令语言中修改变量的值可以生成操作事件。
调用形式: SetRealDBForBool(\"VarName\参数:
VarName:变量名称,离散型格式 Value:为变量值
例如: 在画面 ―显示时‖命令语言中输入: SetRealDBForBool (\"\\\\本站点\\阀门\设置实型变量―\\\\本站点\\阀门‖的值为1。 画面显示时,生成实型变量\\\\本站点\\阀门的操作事件。
SetRealDBForFloat
此函数用于生成实型变量的操作事件。除按钮命令语言外,在组态王命令语言中修改变量的值可以生成操作事件。
调用形式: SetRealDBForFloat(\"VarName\为变量名,Value为变量值
例如: 在画面 ―显示时‖命令语言中输入: SetRealDBForFloat (\"\\\\本站点\\液位\设置实型变量―\\\\本站点\\液位‖的值为1.5。 画面显示时,生成实型变量\\\\本站点\\液
20
位的操作事件。 SetRealDBForInt
此函数用于生成整型变量的操作事件。除按钮命令语言外,在组态王命令语言中修改变量的值可以生成操作事件。
调用形式: SetRealDBForInt(\"VarName\为变量名,Value为变量值 例如: 在画面 ―显示时‖命令语言中输入: SetRealDBForInt (\"\\\\本站点\\行\设置整型变量―\\\\本站点\\行‖的值为10。 画面显示时,生成整型变量―\\\\本站点\\行‖的操作事件。
SetRealDBForString
此函数用于设置变量的当前实时字符串型值。
调用形式: SetRealDBForString (\"VarName\ 参数:VarName:变量名称 Value:要设置的字符串 说明:变量只能是字符串型变量
例如:新建按钮,弹起事件命令语言连接弹起时: SetRealDBForString (\"\\\\本站点\\v \设置字符串变量―\\\\本站点\\v‖的值为abc。
SetTrendPara
此函数用于建立一个按钮,供―组态王‖运行中弹出对话框以改变历史趋势曲线的参数,如起始时间、数据长度、纵轴的起点、纵轴的终点等。
调用形式: SetTrendPara( Trend_Tag ); 参数:Trend_Tag:历史曲线名称。 例如: SetTrendPara(历史趋势曲线); //\"历史趋势曲线\"为历史趋势曲线名称。 Sgn
此函数判别一个数值的符号(正、零或负)。 调用格式: IntegerResult=Sgn(Number); 参数 描述
Number 任一数值或组态王实型或整型变量名。
若数值为正,则返回值为1。数值为负的则返回值为 -1,数值为0则返回0。 例如: Sgn(425);//将返回 1 ;Sgn(0);//将返回 0 ;Sgn(-37.3);//将返回 -1 ShowNavigateWindow
此函数用于实现导航窗口的显示与隐藏。 调用格式: ShowNavigateWindow(nCmdShow); 参数 描述
nCmdShow:导航窗口的显示与隐藏控制。nCmdShow=0,隐藏导航窗口;nCmdShow=1,显示导航窗口。
21
例如:显示导航窗口: ShowNavigateWindow(1); ShowPicture
此函数用于显示画面。
调用格式: ShowPicture(\"PictureName\"); 例如: ShowPicture(\"反应车间\"); Sin
此函数用于计算变量值的正弦值 调用格式: Sin(变量值);
例如: Sin(90); 此函数返回值为1 ;Sin(0); 此函数返回值为0 Sqrt 此函数用于计算变量值的平方根 调用格式: Sqrt( Number );
变量值的类型可为整型、模拟量、离散量,变量值为正数时,函数返回值有效,变量值为负数时,函数返回值无效,
StartApp
此函数用于启动另一窗口应用程序。为确保能启动应用程序,请在应用程序名前使用全路径。路径使用DOS名称,即在DOS下显示的路径名。
调用格式: StartApp(\"命令行参数\");或 StartApp(\"应用程序名\"); 例如: StartApp(―c:\\programfiles\\microsoftoffice\\office\\excel report.xls‖); 启动Excel,并自动打开电子数据表\"Report.XLS\"。若不想自动打开,则只需: StartApp(\"c:\\program files\\microsoft office\\office\\excel \"); StopApp
此函数与StartApp相对应,用来关闭第三方软件。 调用格式: Void StopApp(string cmd,string type); 参数描述:
cmd:要关闭的第三方软件信息. type:cmd的信息类型. 返回值:无 该函数提供四种可选参数用于关闭第三方软件,其含义由type参数指出,说明如下: Type值 cmd含义 应用举例(以简体中文操作系统下关闭组态王信息窗口为例) 1 窗口标题caption StopApp(\"信息窗口\
2 类名 class StopApp(\"kingmess\
3 执行文件exeFile StopApp(\"KingMess.exe\
4 进程ID PID StopApp(\"5068\可通过任务管理器进程PID列获得 StrChar
此函数返回某一指定ASCII码所对应的字符。 22
调用格式: MessageResult=StrChar(ASCII); 参数 描述
ASCII ASCII码或―组态王‖字符串变量。 ASCII变量对应的字符将返回给MessageResult。此函数的一个用处是可以不用键盘给字符串变量添加字符。 例如: ControlString=MessageTag+StrChar(13)+StrChar(10); 将一个[CR]和[LF]加到 MessageTag 的末尾,并且传递给了 ControlString。插入ASCII码在32-126范围之外的字符对于创建外设(例如:打印机或调制解调器)的控制代码是非常有用的。 StrFromInt
此函数将一整数值转换为另一进制下的字符串表示。 调用格式: MessageResult=StrFromInt(Integer,Base);
参数 描述 Integer 要转换的数。数字或组态王 的整型变量。 Base 用来转换的进制。数字或组态王的整型变量。Integer被转换成指定的进制结果将存在MessageResult中。 例如: StrFromInt(26, 2);//返回\"11010\"; StrFromInt(26, 8);//返回 \"32\" ; StrFromInt(26, 16);//返回\"1A\"。
StrFromReal
此函数将一实数值转换成字符串形式,该字符串以浮点数计数制表示或以指数计数制表示。
调用格式: MessageResult=StrFromReal(Real,Precision,Type); 参数 描述 Real 根据指定 Precision 和 Type 进行转换,其结果保存在MessageResult中。 Precision 指定要显示多少个小数位。 Type 确定显示方式,可为以下字符之一:
\"f\" 按浮点数显示
\"e\" 按小写―e‖的指数制显示。 \"E\" 按大写―E‖的指数制显示。
例如: StrFromReal(263.355, 2,\"f\");//返回 \"263.36\" ;StrFromReal(263.355,
2,\"e\");//返回 \"2.63e2\" ;StrFromReal(263.55, 3,\"E\");//返回 \"2.636E2\" StrFromTime
此函数将一个时间值(1969年12月31日16:00起,以秒为单位)转换成字符串。 调用格式: MessageResult=StrFromTime(SecsSince1_1_70, StringType);
参数 描述
SecsSince1_1_70 转换为指定的 StringType 类型,结果保存在MessageResult 中。 tringType 确定显示方式,可为以下值之一:
1 以 Windows 控制面板相同的格式显示日期。 2 以 Windows 控制面板相同的格式显示时间。 3 同时显示日期和时间
例如: StrFromTime(800, 1);//返回 \"1/2/70\" 23
StrFromTime(800, 2);//返回 \"12:00:00 AM\"
StrFromTime(800, 3);//返回 \" 1/2/70 12:00:00 AM \"。 StrLeft 此函数返回指定字符串变量的开始(或最左的)若干个字符。 调用格式: MessageResult=StrLeft(Text,Chars); 参数 描述 Text 实际文本字符串或字符串变量名。
Chars 要返回的字符个数。若Chars置为0,则返回全部字符串。 例如: StrLeft(\"The Control Pump is On\返回 \"The\"
StrLeft(\"Pump 01 is On\返回 \"Pump\"
StrLeft(\"Pump 01 is On\返回 \"Pump 01 is On\"
StrLeft(\"The Control Pump is On\返回 \"The Control Pump is On\"。 StrLen
此函数返回指定字符串变量的长度。
调用格式: IntegerResult=StrLen(Text); 参数 描述 Text 实际文本字符串或字符串变量名。文本的长度(字符数)返回给IntegerTag。所有字符串变量中的字符,包括那些在屏幕上不以能显示的字符都将被计算。
例如:
StrLen(\"Twelve percent\");//返回 14 StrLen(\"12%\");//返回 3
StrLen(\"The end. [CR]\");//返回10,[CR] 是回车符- ASCII 13。 StrRight 此函数返回指定字符串变量的最末端(或最右)若干个字符。 调用格式: MessageResult=StrRight(Text,Chars); 参数 描述 Text 要查找的文本。字符串或 组态王 字符串变量。
Chars 返回字符的个数。字符串或 组态王 整型变量。若Chars置为0,则将返回全部字符串。
例如:
StrRight(\"The Pump is On\返回 \"On\" StrRight(\"The Pump is On\返回 \"is On\"
StrRight(\"The Pump is On\返回 \"The Pump is On\" StrRight(\"The Pump is On\返回 \"The Pump is On\"。
StrType 24
此函数检测字符串变量的首字符以确定其是否为某一类型。 调用格式: DiscreteResult=StrType(Text,TestType); 参数 描述
Text 函数将处理的字符串或字符串变量。 TestType 字符类型,确定为下列类型之一: 1 字母数字符 ('A'-'Z', 'a-z' 和 '0-9') 2 数字符 ('0'- 9') 3 字母 ('A-Z' 和 'a-z') 4 大写字母 ('A'-'Z') 5 小写字母 ('a'-'z') 6 标点字符 (0x21-0x2F) 7 ASCII 字符 (0x00 - 0x7F)
8 十六进制字符 ('A'-'F' 或 'a'-'f' 或 '0'-'9') 9 可打印字符 (0x20-0x7E) 10 控制字符 (0x00-0x1F 或 0x7F)
11 空白符(0x09-0x0D or 0x20) 若Text中首字符是由TestType指定的类型,则StrType() 函数将返回给DiscreteResult一个正值。正如在其它函数中,单个字符被检测或影响一样,若StrType() 函数的字符串变量含有一个以上字符时,只有变量的首字符将被检测。 例如:
StrType(\"ACB123\返回 1 StrType(\"ABC123\返回 0。 StructVarRefAddress
该函数为实现结构变量间的引用,结构变量可以引用成员数相同、成员类型相同的其它结构变量。一般用于对于多组定义相同的IO变量,定义一组内存变量,在组态王中使用这一组内存变量定义画面显示的情况。
调用格式: StructVarRefAddress(RefStructTagname, RefedStructTagname); 参数说明: RefStructTagname:字符串型 引用的结构变量名称(不带成员名) RefedStructTagname:字符串型 被引用的结构变量名称(不带成员名) 例如: 电力监控系统中,有多台变压器,有电压、电流、功率等数据。要求做一幅画面,在不同时刻分别显示各变压器的电压、电流、功率值。这个可以通过引用变量来完成。 定义一个结构Transformer,其中包含三个成员变量I、V、P,分别定义结构变量:Transformer1、Transformer2,这两个个结构变量的成员I、V、P均为IO变量,定义结构变量Transformer3,其成员I、V、P均为内存变量,在定义画面的动画连接时使用Transformer3变量,可以在命令语言脚本中使用变量引用函数分别引用两个IO变量。 要显示Transformer1的数据时:
StructVarRefAddress(―Transformer3‖,―Transformer1‖); 25
要显示Transformer2的数据时:
StructVarRefAddress(―Transformer3‖, ―Transformer2‖); Sum
此函数为对指定的多个变量求和
语法使用格式如下: Sum(‘a1‘,‘a2‘);
A1、a2为整型或实型变量。其中参数个数为1-32个。 当对报表指定单元格区域内的单元格进行求和运算时,显示到当前单元格内。单元格区域内出现空字符、字符串等都不会影响求和。语法使用格式如下: Sum(?单元格区域‘)
例如:=Sum(?a1‘,?b2‘,?r10‘); 任意单元格选择求和 =Sum(?b1:b10‘); 连续的单元格求和
Tan
此函数用于计算变量值的正切值 调用格式: Tan(变量值);
例如: Tan(45);//返回值为1 ;Tan(0);//返回值为0。 Text
此函数变量名显示一个基于指定Format_Text格式的模拟(整型或实型)变量名。 调用格式: MessageResult=Text(Analog_Tag,Format_Text);
参数 描述
Analog_Tag 要转换的模拟变量 Format_Text 转换所使用的格式
例如:MessageTag=Text(66,\"#.00\"); MessageTag是一个文字类型变量名,66为一个整型或者实的变量名。 ―#0.00‖代表显示格式:
若Analog_Tag=66, 则 MessageTag=66.00。 若Analog_Tag=22.269, 则 MessageTag=22.27。 若Analog_Tag=9.999, 则 MessageTag=10.00。 Time
此函数为根据给出的时、分、秒整型数,返回时间字符串,默认格式为:时:分:秒。语法使用格式如下: Time(LONG nHour, LONG nMinute, LONG nSecond); 例如:时、分、秒变量分别为:―$时‖、―$分‖、―$秒‖,用―时间‖来显示由以上三个整数决定的―$时间‖字符串,则在命令语言中输入:时间=Time(时,分,秒)。 Trunc
通过删去小数点右边部份的方式截取一个实数。
调用格式: ResultNumericTag=Trunc(Number); 参数 描述 Number 任一数字或 Kingview 实型或整型变量名 此函数的结果与把一个实数变量的内容放到一个整型变量中的结果相同。
26
例如: Trunc(4.3);//返回 4 ;Trunc(-4.3);//返回 –4。 VarRefAddress
该函数为实现普通变量间的引用,普通变量可以数据类型相同的其它 变量。一般用于对于多组定义相同的IO变量,定义一组内存变量,在组态王中使用这一组内存变量定义画面显示的情况。
调用格式: VarRefAddress(RefTagName, RefedTagName); 参数说明:
RefTagName:字符串型 引用的变量名称 RefedTagName:字符串型 被引用的变量名称
例如: 电力监控系统中,有多台变压器,有电压、电流、功率等数据。要求做一幅画面,在不同时刻分别显示各变压器的电压、电流、功率值。这个可以通过引用变量来完成。
定义所有IO变量,Transformer1_I、Transformer1_V、Transformer1_P、Transformer2_I、Transformer2_V、Transformer2_P。定义内存变量
Transformer3_I、Transformer3_V、Transformer3_P,在定义画面的动画连接时使用Transformer3_I、Transformer3_V、Transformer3_P变量,可以在命令语言脚本中使用变量引用函数分别引用两个设备的IO变量。
要显示Transformer1的数据时:
VarRefAddress (―Transformer3_I‖, ―Transformer1_I‖); VarRefAddress (―Transformer3_V‖, ―Transformer1_V‖);
VarRefAddress (―Transformer3_P‖, ―Transformer1_P‖); 要显示Transformer2的数据时:
VarRefAddress (―Transformer3_I‖, ―Transformer2_I‖); VarRefAddress (―Transformer3_V‖, ―Transformer2_V‖); VarRefAddress (―Transformer3_P‖, ―Transformer2_P‖); WindowSize
此函数用于对运行画面最大化、最小化的操作。避免了由于要使用最大化最小化按钮在运行画面存在的蓝色目录条,与画面颜色不搭的问题,使画面显示更美观。应用此函数时,配合选中运行系统设置中的―最小化按钮‖和―最大化按钮‖,可以实现窗口最大化和最小化的切换。
调用格式: WindowSize(nFlag); 参数说明:
nFlag:窗口最大化、最小化控制。nFlag =0,最大化;nFlag =1, 最小化 返回值:无 例如: 运行窗口最小化: WindowSize(1);
27
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- esig.cn 版权所有 湘ICP备2023023988号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务