MCGS系统内部函数参考手册

上传人:沈*** 文档编号:193647867 上传时间:2023-03-11 格式:DOCX 页数:87 大小:68.09KB
返回 下载 相关 举报
MCGS系统内部函数参考手册_第1页
第1页 / 共87页
MCGS系统内部函数参考手册_第2页
第2页 / 共87页
MCGS系统内部函数参考手册_第3页
第3页 / 共87页
点击查看更多>>
资源描述
MCGS系统内部函数参考手册MCGS系统内部函数 MCGS内部为用户提供了一些常用的数学函数和对MCGS内部对象操作的函数。组态时,可在表达式中或用户脚本程序中直接使用这些函数。为了与其它名称相区别,系统内部函数的名称一律以“!”符号开头。下面分别介绍各个函数的用途和使用方法。 运行环境操作函数 !CallBackSvr(DatName) 函数意义:调用后台对象 返 回 值:数值型,后台对象的值 参 数:DatName,对象名,数值型 实 例:X=!CallBackSvr,调用后台数值型对象X 注 意:本函数在新版本MCGS系统内部,已经无效。为了保留与旧版本的兼容性,暂时保留。 !ChangeLoopStgy(StgyName,n) 函数意义:改变循环策略的循环时间 返 回 值:数值型。返回值=0:调用正常;0:调用不正常。 参 数:StgyName,策略名;n,数值型,以毫秒数表示循环策略的循环时间 实 例:!ChangeLoopStgy(报警策略,5000),将报警策略的循环时间改为为5秒 !CloseAllWindow(WndName) 函数意义:关闭所有窗口,如果在字符串”WndName”中指定了一个窗口,则打开这个窗口,关闭其他窗口。如果”WndName”为空串,则关闭所有窗口。 返 回 值:数值型。返回值:=0:调用正常;0:调用不正常。 参 数:WndName, 用户窗口名,字符型。 实 例:!CloseAllWindow(“工况图”),关闭除了用户窗口“工况图”以外的其他窗口,若“工况图”窗口没有打开,则在关闭其他窗口的同时打开该窗口 !CloseAllWindow(“”),关闭所有窗口。 !EnableStgy(StgyName,n) 函数意义:打开或关闭某个策略,如报警策略或循环策略等。 返 回 值:数值型。返回值=0:调用正常;0:调用不正常。 参 数:StgyName,策略名; n,数值型,为1时表示打开此策略,为0时表示关闭此策略。 实 例:!EnableStgy(报警策略,1), 打开报警策略; 1 !EnableStgy(报警策略,0), 关闭报警策略,使报警策略无效 !GetDeviceName(Index) 函数意义:按设备顺序取到设备的名字。 返 回 值:字符型。调用成功返回设备名,调用失败时返回空字符串。 参 数:Index,数值型。 实 例:!GetDeviceName(0) ,取0号设备构件的名称。 !GetDeviceState(DevName) 函数意义:按设备名查询设备的状态。 返 回 值:数值型。 =-1调用不正常。 =1 设备处于正常的工作状态。 =2 设备正在工作,但设备不正常。 =3 设备处于停止工作状态,且设备正常。 =4 设备处于停止状态,且设备有错。 参 数:DevName,设备名,字符型。 实 例:!GetDeviceState( OmronPLC),读取设备构件“OmronPLC”的当前工作状态。 !GetStgyName(Index) 函数意义:按运行策略的顺序获得各策略块的名字。 返 回 值:字符型。 参 数:Index,数值型。 实 例:!GetStgyName(0),取0号运行策略的名称。 !GetWindowName(Index) 函数意义:按用户窗口的顺序获得用户窗口的名字。 返 回 值:字符型。 参 数:Index, 数值型。 实 例:!GetWindowName(0) ,读取0号用户窗口的名称。 !GetWindowState(WndName) 函数意义:按照名字取得用户窗口的状态。 返 回 值:数值型。 返回0:用户窗口处于关闭状态。 返回1:用户窗口处于打开状态。 返回2:用户窗口处于隐藏状态。 参 数:WndName,用户窗口名称,字符型。 2 实 例:!GetWindowState(工况图),获得用户窗口“工况图”的状态 !SetActiveX(Activename,n,str) 函数意义:操作指定的动画构件, 向窗口中的ActiveX控件发出控件命令 返 回 值:无 参 数:Activename,字符型,控件名称,用“.”分割窗口名和控件名,如:窗口0.控件1表示在用户窗口“窗口0”中的名为“控件1”的控件。 n,数值型,命令类型,请填1; str,字符型,命令字符串,具体含义请参照控件帮助。 实 例:!SetActiveX(“窗口0.控件0”,1,”start”),启动窗口0的控件0开始工作。 !SetDevice(DevName,DevOp,CmdStr) 函数意义:按照设备名字对设备进行操作。 返 回 值:数值型。返回值:=0:调用正常;0:调用不正常。 参 数:DevName,设备名,字符型; DevOp,设备操作码,数值型; CmdStr,设备命令字符串,只有当DevOp=6时CmdStr才有意义。 DevOp取值范围及相应含义: 1:启动设备开始工作。 2:停止设备的工作使其处于停止状态。 3:测试设备的工作状态。 4:启动设备工作一次。 5:改变设备的工作周期,CmdStr中包含新的工作周期,单位为ms。 6:执行指定的设备命令,CmdStr中包含指定命令的格式。 实 例:!SetDevice(OmronPLC,1, ),启动设备构件“OmronPLC”开始工作。 !SetStgy(StgyName) 函数意义:执行StgyName指定的运行策略。 返 回 值:数值型。返回值=0:调用正常;0:调用不正常。 参 数:StgyName,策略名,字符型。 实 例:!SetStgy(阀门关闭),执行一次运行策略“阀门关闭”。 !SetWindow(WndName,Op) 函数意义:按照名字操作用户窗口,如打开、关闭、打印。 返 回 值:数值型。返回值:=0:调用正常;0:调用不正常。 参 数:WndName, 用户窗口名, 字符型。 Op: 操作用户窗口的方法,数值型。 3 Op=1:打开窗口并使其可见。Op=2:打开窗口并使其不可见。 Op=3:关闭窗口。Op=4:打印窗口。Op=5:刷新窗口。 实 例:!SetWindow(工况图,1),打开用户窗口“工况图”,并使其可见。 !SysWindow 函数意义:执行该函数后,打开用户窗口管理窗口,在管理窗口中可以选择打开或关闭指定的用户窗口。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:无。 实 例:!SysWindow !DisableCtrlAltDel 函数意义:屏蔽热键Ctrl+Alt+Del的功能。无法打开任务管理器窗口或执行锁定计算机注销关机密码修改等操作。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:无。 实 例:!DisableCtrlAltDel 注 意此函数在网络版客户端和WIN98操作系统下无效。 !EnableCtrlAltDel 函数意义:恢复热键Ctrl+Alt+Del的功能。使用任务管理器关闭不响应的程序或执行锁定计算机注销关机修改密码等,为了维护系统安全的操作。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:无。 实 例:!EnableCtrlAltDel 注 意:1. 不要把这两个脚本函数同时使用,否则,看不到任何效果,没有任何意义; 2. 不要把这两个函数放到循环中使用; 3. 在使用这2个脚本函数时,最好与登录密码同时使用,以达到真正的热键屏蔽效果。 4. 此函数在网络版客户端和WIN98操作系统下无效。 !RestartProject 函数意义:当检查组态工程在运行过程中出现非正常状态,可以调用该函数重新启动运行环境。该功能必须在加密狗生效时方可工作。 返 回 值:无。 参 数:无。 实 例:!RestartProject 4 数据对象操作函数 !AnswerAlm(DatName) 函数意义:应答数据对象DatName所产生的报警。如对应的数据对象没有报警产生或已经应答,则本函数无效。 返 回 值:数值型,=0为操作成功;0为操作失败。 参 数:DatName,数据对象名; 实 例:!AnswerAlm(电机温度),应答数据对象“电机温度”所产生的报警。 !ChangeDataSave(Datname,n) 函数意义:改变数据对象Datname存盘的周期。 返 回 值:数值型,=0为操作成功;0为操作失败。 参 数:Datname,数据对象名; n,数值型,以秒表示的存盘间隔时间 实 例:ChangeDataSave(温度,5), 温度的存盘间隔时间为5秒 !ChangeSaveDat(DatName,Num1,Num2) 函数意义:改变数据对象DatName所对应存盘数据的存盘间隔,把Num1小时以前的存盘数据的存盘间隔改为Num2秒。本操作只对组对象有效,对单个的数据对象无效。当DataName =空字符,或Num1=0或Num2=0时,本操作无效。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:DatName:数据对象名。 Num1:数值型时间量,单位:小时。本函数用Num10的一些数值来表示一些特殊意义的操作: =-1 改变当天对应数据对象所有存盘数据的存盘间隔; =-2 改变昨天对应数据对象所有存盘数据的存盘间隔; =-3 改变本星期对应数据对象所有存盘数据的存盘间隔; =-4 改变上星期对应数据对象所有存盘数据的存盘间隔; =-5 改变本月对应数据对象所有存盘数据的存盘间隔; =-6 改变上个月对应数据对象所有存盘数据的存盘间隔; Num2:数值型时间量,新的存盘间隔,单位:秒。 实 例:! ChangeSaveDat(电机1, -2, 5),把组对象“电机1”对应的存盘数据中昨天的存盘数据的存盘间隔改为5秒钟。 !CopySaveDat(Tdb,Sdb,TabName,TimeField,Flag ) 函数意义:拷贝数据库中数据表的数据 返 回 值:开关型,返回值=0:调用正常;返回值0:调用不正常。 5 参 数:Tdb,目标数据库名;Sdb,源数据库名;TabName,数据表名; TimeField,定义的时间字段名;Flag,拷贝方式,0:覆盖拷贝;1:添加拷贝。 实 例: !CopySaveDat,将数据库Sdb中表TabName中的数据拷贝到数据库Tdb中,表名仍是TabName,定义的时间字段为TimeField,拷贝方式为覆盖拷贝。 !DelAllSaveDat(DatName) 函数意义:删除数据对象DatName对应的所有存盘数据。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:DatName,数据对象名。 实 例:! DelAllSaveDat(电机温度) ,删除数据对象“电机温度”对应的所有存盘数据。 !DelAllAlmDat 函数意义:删除数据对象DataName对应的所有报警存盘数据。注意,此函数不能用来删除组对象所对应的报警存盘数据。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:DatName:数据对象名; 实 例:!DelAllAlmDat,删除数据对象“电机温度”对应的所有报警存盘数据 !DelAlmDat(DatName,Num) 函数意义:删除数据对象DataName对应的报警存储数据中最早Num小时内的报警存储数据,如Num=0或DatName=空字符,则该函数无效。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:DatName:数据对象名; Num:数值型时间值,单位:小时。 实 例:! DelAlmDat(电机温度,1),删除数据对象“电机温度”对应的报警存盘数据中最早1小时内的数据。 !DelSaveDat(DatName,Num) 函数意义:删除数据对象DataName对应的存盘数据中最早Num小时内的存盘数据,如Num=0或DatName=空字符,则该函数无效。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:DatName:数据对象名; Num:数值型时间值,单位:小时。 实 例:! DelSaveDat(电机温度,12) ,删除数据对象“电机温度”对应的存盘数据中最早12小时内的数据。 6 !EnableAlm(name,n) 函数意义:打开/关闭数据对象的报警功能。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:name,变量名; n,数值型,1表示打开报警,0表示关闭报警 实 例:!EnableAlm(电机温度,1), 打开电机温度的报警功能 !EnableDataSave(name,n) 函数意义:打开/关闭数据对象的定时存盘功能。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:name,数据对象名; n,数值型,1表示打开定时存盘,0表示关闭定时存盘 实 例:!EnableDataSave(温度,1), 打开温度的定时存盘 !GetAlmValue(DatName,Value,Flag) 函数意义:读取数据对象DatName报警限值,只有在数据对象DatName的“允许进行报警处理”属性选项被选中后,本函数的操作才有意义。对组对象、字符型数据对象、事件型数据对象本函数无效。对数值型数据对象,用Flag来标识读取何种报警限值。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:DatName:数据对象名。 Value:DataName的当前的报警限值,数值型。 Flag:数值型,标志要读取何种限值,具体意义如下: =1下下限报警值; =2 下限报警值; =3 上限报警值; =4 上上限报警值; =5 下偏差报警限值; =6 上偏差报警限值; =7 偏差报警基准值; 实 例:! GetAlmValue(电机温度, Value, 3),读取数据对象“电机温度”的报警上限值,放入数值型数据对象Value中。 !GetEventDT(EvName) 函数意义:返回当前事件和上一次事件之间的时间差,单位为秒。 返 回 值:数值型。返回的时间差 参 数:EvName,事件变量名,事件型。 7 实 例:!GetEventDT(EvName),取事件变量EvName当前事件和上一次事件之间的时间差,单位为秒。 !GetEventP(EvName) 函数意义:取到当前事件的附加说明字符串。 返 回 值:字符型。返回的附加说明字符串。 参 数:EvName,事件变量名,事件型。 实 例:!GetEventP(EvName) ,取事件型变量EvName的当前事件的附加说明字符串。 !GetEventT(EvName) 函数意义:取到当前事件产生的时间,以秒为单位,相对于XX年以来的秒数。如没有事件产生,返回-1。 返 回 值:数值型。 参 数:EvName,事件变量名,事件型。 实 例:!GetEventT(EvName),取事件型变量EvName的当前事件产生时刻。 !MoveAlmDat(DatName,FileName,Num1,Num2,Flag) 函数意义:把数据对象DatName所对应的报警存盘信息中的第Num1小时到Num1+Num2小时内的报警存盘信息提取出来,转存到FileName所指定的数据库文件中。当DatName=空字符,或FileName=空字符,或Num20时,本函数无效。删除数据对象DatName对应的所有报警存储数据。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:DatName:数据对象名。 FileName:新的报警存盘文件名(包括路径),字符型。 Num1:数值型时间量,单位:小时。本函数用Num10的一些数值来表示一些特殊意义的操作: =-1 转存当天的所有报警信息存盘数据; =-2 转存昨天的所有报警信息存盘数据; =-3 转存本星期的所有报警信息存盘数据; =-4 转存上星期的所有报警信息存盘数据; =-5 转存本月的所有报警信息存盘数据; =-6 转存上个月的所有报警信息存盘数据; Num2:数值型时间量,单位:小时。 Flag:转存标志,数值型。 8 Flag=0时,创建一个新文件(如原文件已存在,则把原文件改名为*.BK1);Flag=1时,在原有的基础上增加新的数据。 实 例:!MoveAlmDat(电机温度, D:Tempttt.mdb,-6,0,1),把数据对象“电机温度”对应的报警存盘数据中的上个月的所有报警信息存盘数据转存添加到数据库文件D:Tempttt.mdb中。 !MoveSaveDat(DatName,FileName,Num1,Num2,Flag) 函数意义:把数据对象DatName所对应的存盘数据中的第Num1小时到Num1+Num2小时内的存盘数据提取出来,转存到FileName所指定的数据库文件中。当DatName=空字符,或FileName=空字符,或Num20时,本函数无效。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:DatName:数据对象名。 FileName:新的存盘数据文件名(包括路径),字符型。 Num1:数值型时间量,单位:小时。 本函数用Num10的一些数值来表示一些特殊意义的操作: =-1 转存当天对应数据对象的所有存盘数据; =-2 转存昨天对应数据对象的所有存盘数据; =-3 转存本星期对应数据对象的所有存盘数据; =-4 转存上星期对应数据对象的所有存盘数据; =-5 转存本月对应数据对象的所有存盘数据; =-6 转存上个月对应数据对象的所有存盘数据; Num2:数值型时间量,单位:小时。 Flag:转存标志,数值型。 Flag=0时,创建一个新文件(如原文件已存在,则把原文件改名为*.BK1);Flag=1时,在原有的基础上增加新的数据。 实 例:! MoveSaveDat(电机温度, D:Tempttt.mdb,-6,0,1) 把数据对象“电机温度”对应的存盘数据中的上个月的所有存盘数据转存添加到数据库文件“D:Tempttt.mdb”中。 !SaveData(DatName) 函数意义:把数据对象DataName对应的当前值存入存盘数据库中。本函数的操作使对应的数据对象的值存盘一次。此数据对象必须具有存盘属性,且存盘时间需设为0秒。否则会操作失败。 返 回 值:数值型,=0为操作成功;0为操作失败。 参 数:DatName,数据对象名。 9 实 例:! SaveData(电机1),把组对象“电机1”的所有成员对应的当前值存盘一次。 !SaveDataInit 函数意义:本操作把设置有“退出时自动保存数据对象的当前值作为初始值”属性的数据对象的当前值存入组态结果数据中作为初始值,防止突然断电而无法保存,以便MCGS下次启动时这些数据对象能自动恢复其值。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:无。 实 例:! SaveDataInit !SaveDataOnTime(Time,TimeMS,DataName) 函数意义:使用指定时间保存数据。本函数通常用于指定时间来保存数据,实现与通常机制不一样的存盘方法。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:Time,整型,使用时间函数转换出的时间量。时间精度到秒。 TimeMS,整型,指定存盘时间的毫秒数。 DataName, 数据对象名。 实 例:t = !TimeStr2I(“XX年x月x日3时2分3秒”) !SaveDataOnTime (t,0,DataGroup), 按照指定时间保存数据对象 !SaveSingleDataInit(Name) 函数意义:本操作把数据对象的当前值设置为初始值,防止突然断电而无法保存,以便MCGS下次启动时这些数据对象能自动恢复其值。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:Name,数据对象名。 实 例:!SaveSingleDataInit(温度),把温度的当前值设置成初始值。 !SetAlmValue(DatName,Value,Flag) 函数意义:设置数据对象DatName对应的报警限值,只有在数据对象DatName“允许进行报警处理”的属性被选中后,本函数的操作才有意义。对组对象、字符型数据对象、事件型数据对象本函数无效。对数值型数据对象,用Flag来标识改变何种报警限值。 返 回 值:数值型,返回值=0:调用正常;0:调用不正常。 参 数:DatName:数据对象名。 Value:新的报警值,数值型。 Flag:数值型,标志要操作何种限值,具体意义如下: 10 =1下下限报警值; =2下限报警值; =3上限报警值; =4上上限报警值; =5下偏差报警限值; =6上偏差报警限值; =7偏差报警基准值; 实 例:! SetAlmValue(电机温度, 200, 3),把数据对象“电机温度”的报警上限值设为200 用户登录操作函数 !ChangePassword 函数意义:弹出密码修改窗口,供当前登录的用户修改密码。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:无。 实 例:!ChangePassword !CheckUserGroup(strUserGroup) 函数意义:检查当前登录的用户是否属于strUserGroup用户组的成员。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:strUserGroup,字符型,用户组的名称。 实 例:! CheckUserGroup(管理员组) !Editusers 函数意义:弹出用户管理窗口,供管理员组的操作者配置用户。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:无。 实 例:!Editusers !EnableExitLogon(n) 函数意义:打开/关闭退出时的权限检查 返 回 值:无 参 数:n,数值型,为1时表示在退出时进行权限检查,当权限不足时,会进行提示。为0则退出时不进行权限检查。 实 例:!EnableExitLogon(1), 在退出时进行权限检查 !EnableExitPrompt (n) 函数意义:打开/关闭退出时的提示信息 11 返 回 值:无 参 数:n,数值型,为1时表示在退出时弹出提示信息对话框。为0则退出时不出现信息对话框。 实 例:!EnableExitLogon(1), 在退出时弹出提示信息对话框 !GetCurrentGroup 函数意义:读取当前登录用户的所在用户组名。 返 回 值:字符型,当前登录用户组名,如没有登录返回空。 参 数:无。 实 例:!GetCurrentGroup !GetCurrentUser 函数意义:读取当前登录用户的用户名。 返 回 值:字符型,当前登录用户的用户名,如没有登录返回空。 参 数:无。 实 例:!GetCurrentUser !LogOff 函数意义:注销当前用户。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:无。 实 例:!LogOff !LogOn 函数意义:弹出登录对话框。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:无。 实 例:!LogOn !GetUserNameByIndex 函数意义:按索引号取得当前用户名。 返 回 值:字符型。与索引号相对应的当前用户名。 参 数:索引号值。 实 例:!GetUserNameByIndex(0) ,索引为0的用户名称。 !GetGroupNameByIndex 函数意义:按索引号取得当前用户组名。 返 回 值:字符型。与索引号相对应的当前用户组名。 参 数:索引号值。 实 例:!GetGroupNameByIndex(0) ,索引为0的用户组名称。 12 !GetProjectTotalUsers 函数意义:取得当前工程用户总数。 返 回 值:开关型。当前工程用户总数。 参 数:无 实 例: !GetProjectTotalUsers,激活该函数,取得当前工程的用户总数。 字符串操作函数 !Ascii2I(s) 函数意义:返回字符串s的首字母的Ascii值。 返 回 值:开关型。 参 数:s, 字符型。 实 例:!Ascii2I(“Afd”) =65 !Bin2I(s) 函数意义:把二进制字符串转换为数值。 返 回 值:开关型。 参 数:s, 字符型。 实 例:!Bin2I(“101”) =5 !Format(n,str) 函数意义:格式化数值型数据对象 返 回 值:字符型。 参 数:n,数值型,要格式化的数值; str,字符型,格式化数值的格式。表示为0.00样式。小数点后的0的个数表示需要格式化出的小数位数。小数点前的0为一个时,表示小数点前根据实际数值显示。当小数点前没有0时,表示为.xx式样,当小数点前的0不止一个时,使用0来填充不够的位数。 实 例:!Format(1.236,0.00) = 1.24;!Format(1.236,.00) = .24; !Format(1.236,00.00) = 01.24; !Hex2I(s) 函数意义:把16进制字符串转换为数值。 返 回 值:开关型。 参 数:s, 字符型。 实 例:!Hex2I (“11”) =17 13 !I2Ascii(s) 函数意义:返回指定Ascii值的字符。 返 回 值:字符型。 参 数:s, 开关型。 实 例:!I2Ascii(65) =”A” !I2Bin(s) 函数意义:把数值转换为二进制字符串。 返 回 值:字符型。 参 数:s,开关型。 实 例:!I2Bin (5) =“101” !I2Hex(s) 函数意义:把数值转换为16进制字符串。 返 回 值:字符型。 参 数:s,开关型。 实 例:!I2Hex (17) =“11” !I2Oct(s) 函数意义:把数值转换为8进制字符串。 返 回 值:字符型。 参 数:s,开关型。 实 例:!I2Oct (9) =“11” !InStr(n,str1,str2) 函数意义:查找一字符串在另一字符串中最先出现的位置 返 回 值:数值型。 参 数:n,数值型,开始搜索的位置; str1,字符串,被搜索的字符串; str2,字符串,要搜索的字符串 实 例:!InStr(3,sdlkfjwe,we) = 7 实 例:!InStr(1,wesdlkfjwe,we) = 1,表示从str1字符串的第一个字符位置搜索str2字符串,返回最先出现的位置 !Lcase(str) 函数意义:把字符型数据对象str的所有字符转换成小写。 返 回 值:字符型。 参 数:str, 字符型。 实 例:!LCase(sedERT) = sedert 14 !Left(str,n) 函数意义:字符型数据对象str左边起,取n个字符。 返 回 值:字符型。 参 数:str:字符型,源字符串;n,数值型,取字符个数。 实 例:!Left(ABCDEFG,2) =AB !Len(Str) 函数意义:求字符型数据对象str的字符串长度。 返 回 值:数值型。 参 数:str, 字符型。 实 例:!Len(ABCDEFG) = 7 !Ltrim(str) 函数意义:把字符型数据对象str中最左边的空格剔除。 返 回 值:字符型。 参 数:str, 字符型。 实 例:!LTrim( dsfk ) = dsfk !lVal(str) 函数意义:将数值类字符串转化为长整型数值 返 回 值:开关型,转换出的数值。 参 数:str,字符型。要求待转换的字符串为数值类字符串 实 例:!lVal(“12345678”)=12345678 !Mid(str,n,k) 函数意义:从字符型数据对象str左边第n个字符起,取k个字符。 返 回 值:字符型。 参 数:str, 字符型,源字符串; n, 数值型,起始位置; k, 数值型,取字符数。 实 例:!Mid(ABCDEFG,3,2) = CD !Oct2I(s) 函数意义:把8进制字符串转换为数值。 返 回 值:开关型。 参 数:s, 字符型。 实 例:!Oct2I (“11”) =9 !Right(str,n) 函数意义:从字符型数据对象str右边起,取n个字符。 15 返 回 值:字符型。 参 数:str,字符型,源字符串;n,数值型,取字符个数。 实 例:!Right(ABCDEFG,2) =FG !Rtrim(str) 函数意义:把字符型数据对象str中最右边的空格剔除。 返 回 值:字符型。 参 数:str, 字符型。 实 例:!LTrim( dsfk ) = dsfk !Str(x) 函数意义:将数值型数据对象x的值转换成字符串。 返 回 值:字符型。 参 数:x, 数值型。 实 例:!Str(0.712) =0.712 !StrComp(str1,str2) 函数意义:比较字符型数据对象str1和str2是否相等,返回值为0时相等,否则不相等。不区分大小写字母。 返 回 值:数值型。 参 数:str1, 字符型; str2, 字符型。 实 例:!StrComp(ABC,abc) = 0 !StrFormat(FormatStr,任意个数变量) 函数意义:格式化字符串,可以格式化任意多个数值。使用方法为!StrFormat(“%d”,23)或!StrFormat(“%g-%g-%g”,2.3,2.1,2.2)等,类似C语言中的Printf的语法。 返 回 值:字符型。 参 数:FormatStr,字符型,格式化字符串,如:“%d”、 “%g”。后面的参数可以任意多个。 实 例:!StrFormat(%g-%g,12,12.34)= 12-12.34 注 意:输出多个数值时,可以使用在多个格式化字符串之间,添加分格符的方法,区别任意个数的输出变量。如:%g-%g、%g-%g-%g。 !Trim(str) 函数意义:把字符型数据对象str中左右两端的空格剔除。 返 回 值:字符型。 参 数:str, 字符型。 16 实 例:!Trim( dsfk ) =dsfk !Ucase(str) 函数意义:把字符型数据对象str的所有字符转换成大写。 返 回 值:字符型。 参 数:str, 字符型。 实 例:!UCase(sedERT) =SEDERT !Val(str) 函数意义:把数值类字符型数据对象str的值转换成数值。 返 回 值:数值型。 参 数:str, 字符型。 实 例:!Val(0.712) = 0.712 注 意:使用表签控件显示输出时,必需设置小数位数的个数;否则系统将以四舍五入的规则,显示输出整数数值。 定时器操作函数 定时器号:系统定时器的序号1127,MCGS系统内嵌127个系统定时器。系统定时器以秒为定时单位。 !TimerClearOutput(定时器号) 函数意义: 断开定时器的数据输出连接 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:定时器号。 实 例:!TimerClearOutput(1),断开1号定时器的数据输出连接 !TimerRun(定时器号) 函数意义:启动定时器开始工作 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:定时器号 实 例:!TimerRun(1),启动1号定时器工作。 !TimerStop(定时器号) 函数意义:停止定时器工作 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:定时器号 实 例:!TimerStop(1 ),停止1号定时器工作。 !TimerSkip(定时器号,步长值) 函数意义:在计时器当前时间数上加/减指定值 17 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:定时器号;步长值 实 例:!TimerSkip(1,3),1号定时器当前值+3 !TimerReset(定时器号,数值) 函数意义:设置定时器的当前值,由第二个参数设定,第二个参数可以是MCGS变量 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:定时器号;数值 实 例:!TimerReset(1,12),设置1号定时器的值为12 !TimerValue(定时器号,0) 函数意义:取定时器的当前值 返 回 值:将定时器的值以数值型的方式输出 参 数:定时器号 实 例:Data3=!TimerValue(1,0),取定时器1的值给Data3 !TimerStr(定时器号,转换类型) 函数意义:以时间类字符串的形式返回当前定时器的值 返 回 值:字符型变量, 将定时器的值以字符型的方式输出 参 数:定时器号 转换类型值:开关型 = 0:取定时器的值以“00:00”形式输出; = 1:取定时器的值以“00:00:00”形式输出; = 2:取定时器的值以“0 00:00:00”形式输出; = 3:取定时器的值以“0 00:00:00.000”形式输出; 实 例:Time=!TimerStr(1,1),取定时器的值以“00:00:00”形式输出给Time !TimerState(定时器号) 函数意义:取定时器的工作状态 返 回 值:数值型变量,0 - 定时器停止,1 - 定时器运行 参 数:定时器号 实 例:data1=!TimerState(1),取定时器1的工作状态给data1 !TimerSetLimit(定时器号,上限值,参数3) 函数意义:设置定时器的最大值,即设置定时器的上限 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:定时器号;上限值;参数3,1 - 表示运行到60后停止;0 - 表示运行到60后重新循环运行 18 实 例:!TimerSetLimit(1,60,1),设置1号定时器的上限为60,运行到60后停止。 !TimerSetOutput(定时器号,数值型变量) 函数意义:设置定时器的值输出连接的数值型变量 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:定时器号;数值型变量,定时器的值输出连接的数值型变量 实 例:!TimerSetOutput(1,Data0),将1号定时器的数据连接到Data0 !TimerWaitFor(定时器号,数值) 函数意义:等待定时器工作到“数值”指定的值后,脚本程序才向下执行 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:定时器号;数值, 等待定时器工作到指定的值 实 例:!TimerWaitFor(1,55),等定时器工作到55秒后再执行其他操作 系统操作函数 !AppActive(Title) 函数意义:激活指定的应用程序。使用时一般先用!Shell函数启动指定的应用程序,然后用本函数激活应用程序,再用!SendKeys函数发送击键消息,控制应用程序的执行。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:Title,字符型,字符串表达式,所要激活的应用程序窗口的标题。 实 例:!Shell(D:OfficeExcel.exe,6) ! AppActive(“Microsorft Excel Book1”) 说 明:AppActivate 语句将焦点移动到命名的应用程序或窗口,但并不影响焦点是否最大化或最小化。当用户采取行动改变焦点或将窗口关闭时,就会将焦点从活动的应用程序窗口移动出去。可用 Shell 函数启动一个应用程序并设置窗口样式。在决定激活哪个应用程序时,将 title 与每一个运行中的应用程序的标题字符串进行比较。如果没有完全匹配,就激活任何这样的应用程序,其标题字符串以 title 开头。如果以 title 命名的应用程序有很多实例,则激活任意一个实例。 !Beep 函数意义:发出嗡鸣声。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:无。 实 例:!Beep 19 !EnableDDEConnection(DatName,n) 函数意义:启动/停止数据对象的DDE连接。 返 回 值:数值型。返回值=0:调用失败;0:调用成功。 参 数:DatName,数据对象名; n,数值型,为1时表示启动数据对象的DDE连接。为0时则停止数据对象的DDE连接。 实 例:!EnableDDEConnection(温度,1),启动数据对象“温度”的DDE连接。 !EnableDDEInput(DatName,n) 函数意义:启动/停止数据对象的DDE连接时外部数值的输入。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:DatName,数据对象名; n,数值型,为1时表示启动数据对象的DDE连接,接收外部数值的输入。为0时则停止数据对象的DDE连接过程中外部数值的输入。 实 例:!EnableDDEConnection(压力,1),启动数据对象“压力”的DDE连接,接收外部数值的输入。 !EnableDDEOutput (DatName,n) 函数意义:启动/停止数据对象的DDE连接时向外部输出数值。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:DatName,数据对象名; n,数值型,为1时表示启动数据对象的DDE连接时向外部输出数值的功能。为0时则停止数据对象的DDE连接时向外部输出数值的功能。 实 例:!EnableDDEConnection(压力,1),启动数据对象“压力”通过 DDE连接向外部输出数值的功能。 !LinePrtOutput (str) 函数意义:输出到行式打印机。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:str,字符型。 实 例:!LinePrtOutput (“ABCDEFG”),将字符串输出到行式打印机。 !PlaySound(SndFileName,Op) 函数意义:播放声音文件。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:SndFileName,字符型,声音文件的名字。 Op,开关型 = 0:停止播放。 20 = 1:同步播放,播放完毕后再返回。 = 2:播放一遍,启动播放,立即返回。 = 3:循环播放,启动循环播放后立即返回。 实 例:!PlaySound(“c:ring.wav”,1)播放声音文件。 !SendKeys(string) 函数意义:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:string,字符串表达式,指定要发送的按键消息。 实 例:!SendKeys(%F4),给当前激活的程序发送Alt+F4击键消息。 说 明:每个按键由一个或多个字符表示。为了指定单一键盘字符,必须按字符本身的键。例如,为了表示字母 A,可以用 A 作为 string。为了表示多个字符,就必须在字符后面直接加上另一个字符。例如,要表示 A、B 及 C,可用 ABC 作为 string。对 SendKeys 来说,加号 (+)、插入符 ()、百分比符号 (%)、上划线 () 及圆括号 ( ) 都具有特殊意义。为了指定上述任何一个字符,要将它放在大括号 () 当中。例如,要指定正号,可用 + 表示。为了指定大括号字符,请使用 及 。为了在按下按键时指定那些不显示的字符,例如:ENTER 或 TAB 以及那些表示动作而非字符的按键,请使用下列代码: 按键 BACKSPACE BREAK CAPS LOCK DOWN ARROW END ESC HOME ENTER BACKSPACE, BS, 或 BKSP BREAK CAPSLOCK DOWN ENTER或 ESC 代码 DEL or DELETE DELETE 或 DEL END HOME LEFT NUMLOCK PGDN INS or INSERT INSERT 或 INS LEFT ARROW NUM LOCK PAGE DOWN 21 PAGE UP PGUP RIGHT SCROLLLOCK RIGHT ARROW SCROLL LOCK TAB F1 F2 F3 F4 F5 F6 F7 F8 UP ARROW TAB UP F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F9 F10 F11 F12 F13 F14 F15 F16 为了指定那些与 SHIFT、CTRL 及 ALT 等按键结合的组合键,可在这些按键码的前面放置一个或多个代码,这些代码列举如下: 按键 SHIFT CTRL ALT % + 代码 为了说明在按下其它按键时应同时按下 SHIFT、CTRL、及 ALT 的任意组合键,请把那些按键的码放在括号当中。例如,为了说明按下 E 与 C 的时候同时按下 SHIFT 键,请使用 +(EC)。为了说明在按下 E 的时候同时按下 SHIFT 键,但接着按 C 而不按 SHIFT,则使用+EC。 注 意:不能用 SendKeys 将按键消息发送到这样一个应用程序,这个应用程序并没有被设计成在 Microsoft Windows 中运行。 Sendkeys 也无法将 PRINT SCREEN 按键 PRTSC 发送到任何应用程序。 !SetLinePrinter(n) 函数意义:打开/关闭行式打印输出。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 22 参 数:n,数值型,1,表示打开行式打印输出;0,则关闭行式打印输出。 实 例:!SetLinePrinter(1),打开行式打印输出。 !SetTime(n1,n2,n3,n4,n5,n6) 函数意义:设置当前系统时间 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:n1,数值型,设定年数,小于1000和大于9999时不变; n2,数值型,设定月数,大于12和小于1时不变; n3,数值型,设定天数,大于31和小于1时不变; n4,数值型,设定小时数,大于23和小于0时不变; n5,数值型,设定分钟数,大于59和小于0时不变; n6,数值型,设定秒数,大于59和小于0时不变。 实 例:!SetTime(2000,1,1,1,1,1), 设置当前系统时间为XX年x月x日1时1分1秒。 !Shell(pathname,windowstyle) 函数意义:启动并执行指定的外部可执行文件。 返 回 值:数值型。返回值=0:调用成功;=1:调用失败。 参 数:pathname,字符型,要执行的外部应用程序的名称,以及任何必需的参数或命令行变量,包括路径。 windowstyle,数值型,指定被执行的外部应用程序窗口的状态。 windowstyle 命名参数有以下这些值: 常量值描述 VbHide 0 窗口被隐藏,且焦点会移到隐式窗口。 VbNormalFocus 置。 VbMinimizedFocus VbMaximizedFocus VbNormalNoFocus VbMinimizedNoFocus 口仍然保持活动。 实 例:!Shell(D:OfficeExcel.exe,3),启动Excel,并使其最大化显示。 2 窗口会以一个具有焦点的图标来显示。 3 窗口是一个具有焦点的最大化窗口。 4 窗口会被还原到最近使用的大小和位置,而当 6 窗口会以一个图标来显示。而当前活动的的窗 1 窗口具有焦点,且还原到它原来的大小和位 前活动的窗口仍然保持活动。 23 说 明:如果Shell 函数成功地执行了所要执行的文件,则它会返回程序的任务ID。任务ID是一个唯一的数值,用来指明正在运行的程序。 注 意:Shell 函数是以异步方式来执行其它程序的。也就是说,用Shell 启动的程序可能还没有完成执行过程,就已经执行到 Shell 函数之后的语句。 !Sleep(mTime) 函数意义:在脚本程序中等待mTime毫秒,然后再执行下条语句。只能在策略中使用,否则会造成系统响应缓慢。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:mTime,数值型,要等待的毫秒数。 实 例:!Sleep(10) !TerminateApplication(AppName,Timeout) 函数意义:强行关闭指定的应用程序。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:AppName,字符型,应用程序标题名,也就是显示在任务栏上的应用程序的名字。 Timeout,开关型,等待超时时间,以秒为单位 实 例:!TerminateApplication(Microsoft Excel - Book1,5)关闭microsoft excel - book1 !WaitFor (Dat1,Dat2) 函数意义:在脚本程序中等待设置的条件满足,脚本程序再向下执行。只能在策略中使用,否则造成系统响应缓慢。 返 回 值:数值型。返回值=0:调用成功;0:调用失败。 参 数:Dat1,数值型,条件表达式,如:D=15。 Dat2,数值型,等待条件满足的超时时间,单位:ms。为0则无限等待。 实 例:!WaitFor,等变量D的值等于15后,程序再继续执行,如果在12秒后条件仍然没有满足,也自动继续执行。此函数通常用于做实验时,等待某个条件满足,然后再
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!