组态王常用的函数
SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#
1.ReportSetHistData2
此函数为报表专用函数。查询历史数据,系统会自动弹出历史数据查询对话框。
语法使用格式如下:
ReportSetHistData2(StartRow,StartCol); 参数说明:
StartRow:查询的数据在报表中填充的起始行数。 StartCol:查询的数据在报表中填充的起始列数。 2.Ack
此函数常和按钮连接,当发生报警时,用此函数进行报警确认,它 将产生确认报警事件。调用格式: Ack(报警组名);或Ack(变量名); 例如:
Ack(全厂);或Ack(反应罐液位); 3.Average
此函数为对指定的多个变量求平均值。语法格式使用如下: Average(’a1’,’a2’);或Average('a1:a10');
a1、a2……为整型或实型变量。其中参数个数为1-32个。
当对报表的指定单元格区域内的单元格进行求平均值运算时,结果
显示在当前单元格内,语法格式使用如下:Average(’a1’,‘a2‘); 例如:=Average(‘a1’,‘b2’,‘r10’)任意单元格选择求平均值 =Average(‘b1:b10’);连续的单元格求平均值。 4.ChangePassword
此函数显示“更改口令”对话框,允许登录工程人员更改他们的口 令。使用格式: ChangePassword(); 例如:
为画面上某一按钮设置命令语言连接: ChangePassword();
运行时单击此按钮,弹出对话框:
提示工程人员输入当前的口令和新口令以及验证新口令。完全正确后,工程人员的口令设置为新值。 5.FileDelete
此函数删除不需要或不想要的文件。调用格式:FileDelete(Filename); 参数描述
Filename要删除的文件名。
若找到要删除的文件,并成功地删除,此函数将返回1,否 则此函数返回0。 例如:
Status=FileDelete(\"C:\\DATA.TXT\");
若在C:\\找到\"DATA.TXT\"则Status等于1,未找到该文件 则为0。
6.GetDate
此函数将以秒为单位的长整型数转换为相应的日期数值,分别以年、 月、日等的日期数值输出。该长整型秒数的基准为UTC(格林尼治) 时间1970年1月1日00:00:00。转换完成输出的日期也为UTC(格 林尼治)日期。 语法使用格式
GetDate(DateTime,Year,Month,Day); 参数描述
DateTime:需要进行日期转换的数,整型,为输入参数 Year:年,整型或实型,转换后得到的数据,输出参数 Month:月,整型或实型,转换后得到的数据,输出参数 Day:日,整型或实型,转换后得到的数据,输出参数 例如:
自UTC(格林尼治)时间1970年1月1日00:00:00到2003年 8月8日0:8:9的秒的数值为,使用GetDate()函
数可以从这个数值中分离出所表示的日期——年、月、日。 函数GetDate年,月,日);执行后,得到的“年” 的值为2003,“月”的值为8,“日”的值为8。 获得其中时间的函数为GetTime()。 7.HidePicture
此函数用于隐藏正在显示的画面,但并不将其从内存中删除。调用 格式:
HidePicture(\"画面名\"); 例如:
HidePicture(\"反应车间\"); 8.Int
此函数返回小于等于指定数值的最大整数。调用格式: IntegerResult=Int(Number); 参数描述
Number任一数字或者组态王的实型或整型变量名。 例如:
Int(4.7);将返回4 Int(-4.7);将返回-5 9.IsPlaySoundEnd
此函数用于判断声音播放是否结束,返回值为离散型,当返回值为 1时,表示声音播放结束;返回值为0时,表示声音正在播放。 调用格式:
IsPlaySoundEnd(); 此函数无参数。 10.listAddItem
此函数将给定的列表项字符串信息MessageTag增加到指定的列表 框控件ControlName中并显示出来。组态王将增加的字符串信息作 为列表框中的一个成员项Item,并自动给这个成员项定义一个索引 号ItemIndex,索引号ItemIndex从1开始由小到大自动加1。
语法格式使用如下:
listAddItem(\"ControlName\ 参数说明:
ControlName:工程人员定义的列表框控件名称,可以为中文名或英 文名。
MessageTag:字符串值,表示增加到指定列表框控件的成员项字符 串信息。 例如:
listAddItem(\"报警信息\温度报警\");
此语句将“温度报警”字符串信息增加到列表框控件报警信 息中并显示出来。
listAddItem(\"配方信息\巧克力面包\");
此语句将“巧克力香型面包”字符串信息增加到列表框控件 配方信息中并显示出来。 11.LogOff
此函数用于在TOUCHVEW中退出登录。调用格式: LogOff(); 参数无 12.LogOn
此函数用于在TouchVew中登录。调用格式: LogOn(); 参数无 例如:
为画面上某个按钮建立命令语言连接: LogOn();
画面程序运行时单击此按钮,弹出“登录”对话框:
工程人员在此对话框中输入用户名和口令,以获得操作权限。 13.PageDown
用于报警窗口信息的向前翻页显示。调用形式: PageDown(报警窗口名,翻页行数); 例如:
PageDown(全厂历史报警记录窗口,7);
该调用将“全厂历史报警记录窗口”的报警记录向下翻7行 (如果有足够报警记录的话)。 PageUp
用于报警窗口信息的向后翻页显示。调用格式: Pageup(报警窗口名,翻页行数); 例如:
PageUp(全厂历史报警记录窗口,7);
该调用将“全厂历史报警记录窗口”的报警记录向上翻7行 (如果有足够报警记录的话). 14.PlayAvi
此函数用于播放动画,动画为.avi文件。 调用格式:
PlayAvi(\"CtrlName\ 参数及其描述
CtrlName:用于播放播放AVI动画的控件的名称。
filename:代表要播放的动画文件的字符串或字符串变量。 option:可为下述之一: 0停止播放AVI动画 1播放一遍AVI动画
2连续播放AVI动画,直到接收到停止播放的信息为止 例如:
PlayAvi(\"ctl_avi\ 此函数的功能是在名称为“ctl_avi”的控件中播放
Winner.avi中存放的动画,只播放一次。画面停止在动画的最后。 15.PrintWindow
此函数打印指定窗口。调用格式:
PrintWindow(\"Window\ yStart); 参数描述
Window要打印的窗口名。
xScale打印输出的宽度占此页总宽的百分比。此参数可以 取0,以使用缺省最大的纵横比或者取一指定的宽 度。
YScale打印输出的高度占此页总高度的百分比。此参数可 以取0,以使用缺省最大的纵横比或者取一指定的 高度。
Options离散值:0或1,仅在Width和Height都为0时 使用。若Options为1窗口在最大纵横比下以窗 口尺寸的整数倍数打印。若Options为0,以适 于此页的最大纵横比打印。若窗口包含位图,置 Options为1,以免位图被拉长。
xStart要打印的窗口横向空白长度的百分比。 YStart要打印的窗口纵向空白长度的百分比。
许多报表可通过使用此函数进行排队打印。字体原样打印,对象则被位图化而且以位图的形式打印。白色背景并且仅仅包含文字的窗口可以很快打印出来。若打印彩色背景并且包含许多对象的窗口将花费较长的时间。
若要确保窗口中的文本能被正确打印,建议将所有要被打印的窗口中的文体域设置为“TrueType”字体。当打印画面上的按钮时,按钮上的文本中可能被“切除”,因为用在按钮文本上的字体为“System”字体,它不是
“TrueType”字体。另外,“System”字体用在打印机上与用在屏幕上相比略有不同。若发生了这种情况。请试着把按钮放大。
下图显示了xScale,YScale,xStart,yStart之间的关系: 例如:
每天上午8:30打印三页报表,使用命令语言: if($时==8&&$分==30) {
PrintWindow(\"1stShiftSummary\ PrintWindow(\"2ndShiftSummary\ PrintWindow(\"3rdShiftSummary\ }
命令语言应用程序的执行优先于此函数的执行。若命令语言 应用程序频繁运行的话,例如如每200毫秒运行一次,窗口 的打印可能要多花费些时间。 16.pvSetLimits
此函数用于改变指定的温控曲线控件的温度最大值、温度最小值、 温度分度数、时间最大值和时间分度数 语法格式使用如下:
pvSetLimits(\"CtrlName\ TimeMax,TimeScale); 参数说明:
CtrllName:工程人员定义的温控曲线控件名称,可以为中文名或英 文名。
TempMax:设置温控曲线的温度最大值,可以为正数或负数。 TempMin:设置温控曲线的温度最小值,可以为正数或负数。 TempScale:设置温控曲线的温度分度数,该变量应设置为整型变 量。
TimeMax:设置温控曲线的时间最大值。
TimeScale:设置温控曲线的时间分度数,该变量应设置为整型变 量。 例如:
pvSetLimits(\"反应罐温控曲线
\ 此语句将反应罐温控曲线控件中温度最大值设置成变量
TempMax的值,将温度最小值设置成变量TempMin的值,将温度分度值设置成变量TempScale的值,将时间最大值设置成变量TimeMax的值,将时间分度值设置成变量TimeScale的值。 17.ReportPrint
此函数用于将指定的数据报告文件输出到“系统配置\\打印配置”中 规定的打印机上,点击工程浏览器中的“系统配置\\打印配置”可以 出现如下的对话框,”报告打印“规定了报告输出的打印机。 使用格式:
ReportPrint(“报告文件名”); 参数说明
报告文件名:指定要打印的数据报告文件。 例如:
ReportPrint(“实时数据.rtf”);
调用此函数后将打印实时数据文件“实时数据.rtf”。 18.ReportPrint2
此函数为报表专用函数。将指定的报表输出到打印配置中指定的打 印机上打印,语法使用格式如下:
ReportPrint2(ReportName); 返回值: 0//成功
-1//行列数小于零 -2//报表的名称错误
参数说明:ReportName:要打印的报表名称
例如:打印“实时数据报表”,返回值赋给变量“打印值”: 打印值=ReportPrint2(“实时数据报表”); 19.ReportPrintSetup
此函数对指定的报表进行打印预览并且可输出到打印配置中指定的 打印机上进行打印。语法格式使用如下: ReportPrintSetup(szRptName);
参数说明:szRptName:要打印预览的报表名称 例如:打印预览“实时数据报表”: ReportPrintSetup(“实时数据报表”); 20.ReportGetColumns
此函数为报表专用函数。获取指定报表的行数,语法格式使用如下: ReportGetColumns(ReportName) 参数说明:ReportName:报表名称 例如:
获取报表“实时数据报表”的列数,赋给变量“列数”: 列数=ReportGetColumns(“实时数据报表”); 20.ReportGetRows
此函数为报表专用函数。获取指定报表的行数,语法格式使用如下: ReportGetRows(ReportName)
参数说明:ReportName:报表名称 例如:
获取报表“实时数据报表”的行数,赋给变量“行数”: 行数=ReportGetRows(“实时数据报表”); 21.ReportLoad
此函数为报表专用函数。将指定路径下的报表读到当前报表中来, 语法格式使用如下:
ReportLoad(ReportName,FileName) 返回值:返回存储是否成功标志0-成功 -3-失败(注意定义返回值变量 的范围)
参数说明:ReportName:报表名称 FileName:报表存储路径和文件名称 例如:
将文件名为“数据报表1”,路径为“C:\\MyDocuments”的报表读取 到当前报表中,返回值赋给变量“读文件”:
读文件=ReportLoad(“实时数据报表”,”C:\\MyDocuments\\报 表.RTL”);
22.ReportPageSetup
此函数为在运行状态下对报表进行页面设置函数,语法格式使用如 下:
ReprotPageSetup(StringszRptName);
参数说明:szRptName:要进行页面设置报表的名称 例如:设置“实时数据报表”
ReportPageSetup(“实时数据库表”); 23.ReportSaveAs
此函数为报表专用函数。将指定报表按照所给的文件名存储到指定 目录下,语法格式使用如下:
ReportSaveAs(ReportName,FileName) 返回值:返回存储是否成功标志0-成功 参数说明:ReportName:报表名称 FileName:存储路径和文件名称 例如:
将报表“实时数据报表”存储为文件名为“数据报表1.RTL”,路径 为“C:\\MyDocuments”,返回值赋给变量“存文件”: 24.ReportSetHistData2
此函数为报表专用函数。查询历史数据,使用该函数,只要设置查 询的数据在报表中填充的起始位置,即输入起始行数(StartRow)、 列数(StartCol)。系统会自动弹出历史数据查询对话框,语法使用 格式如下:
ReportSetHistData2(StartRow,StartCol); 参数说明:
StartRow:查询的数据在报表中填充的起始行数。 StartCol:查询的数据在报表中填充的起始列数。 25.Sum
此函数为对指定的多个变量求和。语法使用格式如下: Sum(’a1’,’a2’);
A1、a2为整型或实型变量。其中参数个数为1-32个。
当对报表指定单元格区域内的单元格进行求和运算时,显示到当前 单元格内。单元格区域内出现空字符、字符串等都不会影响求和。 语法使用格式如下: Sum(‘单元格区域’)
例如:=Sum(‘a1’,‘b2’,‘r10’);任意单元格选择求和 =Sum(‘b1:b10’);连续的单元格求和 26.Time
此函数为根据给出的时、分、秒整型数,返回时间字符串,默认格 式为:时:分:秒。语法使用格式如下:
Time(LONGnHour,LONGnMinute,LONGnSecond);
例如:时、分、秒变量分别为:“$时”、“$分”、“$秒”,用“时间” 来显示由以上三个整数决定的“$时间”字符串,则在命令语言中输 入:时间=Time(时,分,秒)。。。
因篇幅问题不能全部显示,请点此查看更多更全内容