您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > MCGS-系统内部函数
第五章MCGS系统内部函数MCGS内部为用户提供了一些常用的数学函数和对MCGS内部有关对象操作的函数,组态时,可在表达式中或用户脚本程序中直接使用这些函数。为了与其它名称相区别,系统内部函数的名称一律以“!”符号开头。下面分别介绍各个函数的用途和用法。5.1数学函数!Atn(x)函数意义:反正切函数。返回值:数值型,用弧度表示。参数:x,数值型。实例:!Atn(1)=0.785398!Cos(x)函数意义:余弦函数。返回值:数值型。参数:x,数值型,用弧度表示。实例:!Cos(3.14159)=-1.0!Sin(x)函数意义:正弦函数。返回值:数值型。参数:x,数值型,用弧度表示。实例:!Sin(3.14159)=0.0!Tan(x)函数意义:正切函数。返回值:数值型。参数:x,数值型,用弧度表示。实例:!Tan(3.14159)=0.0!Exp(x)函数意义:指数函数。返回值:数值型。参数:x,数值型。实例:!Exp(2.3020585093)=10.0!Log(x)函数意义:对数函数。返回值:数值型。参数:x,数值型。实例:!Log(10)=2.302!Sqr(x)函数意义:平方函数。返回值:数值型。参数:x,数值型。实例:!Sqr(2.0)=4.0!Abs(x)函数意义:绝对值函数。返回值:数值型。参数:x,数值型。实例:!Abs(-3.14159)=3.14159!Sgn(x)函数意义:符号函数。返回值:数值型。参数:x,数值型。实例:!Sgn(-10)=-1;!Sgn(10)=1;!Sgn(0)=05.2字符操作函数!Left(str,n)函数意义:字符型数据对象str左边起,取n个字符。返回值:字符型。参数:str:字符型,源字符串;n,数值型,取字符个数。实例:!Left(ABCDEFG,2)=AB!Right(str,n)函数意义:从字符型数据对象str右边起,取n个字符。返回值:字符型。参数:str,字符型,源字符串;n,数值型,取字符个数。实例:!Right(ABCDEFG,2)=FG!Mid(str,n,k)函数意义:从字符型数据对象str右边第n个字符起,取k个字符。返回值:字符型。参数:str,字符型,源字符串;n,数值型,起始位置;k,数值型,取字符数。实例:!Mid(ABCDEFG,3,2)=CD!Len(Str)函数意义:求字符型数据对象str的字符串长度(字符个数)。返回值:数值型。参数:str,字符型。实例:!Len(ABCDEFG)=7!Ucase(str)函数意义:把字符型数据对象str的所有字符转换成大写。返回值:字符型。参数:str,字符型。实例:!UCase(sedERT)=SEDERT!Lcase(str)函数意义:把字符型数据对象str的所有字符转换成小写。返回值:字符型。参数:str,字符型。实例:!LCase(sedERT)=sedert!Ltrim(str)函数意义:把字符型数据对象str中最左边的空格剔除。返回值:字符型。参数:str,字符型。实例:!LTrim(dsfk)=dsfk!Rtrim(str)函数意义:把字符型数据对象str中最右边的空格剔除。返回值:字符型。参数:str,字符型。实例:!LTrim(dsfk)=dsfk!Trim(str)函数意义:把字符型数据对象str中左右两端的空格剔除。返回值:字符型。参数:str,字符型。实例:!LTrim(dsfk)=dsfk!StrComp(str1,str2)函数意义:比较字符型数据对象str1和str2是否相等,返回值为0时相。等,否则不相等。不分大小写字符。返回值:数值型。参数:str1,字符型;str2,字符型。实例:!StrComp(ABC,abc)=0!Val(str)函数意义:把字符型数据对象str的值转换成数值。返回值:数值型。参数:str,字符型。实例:!Val(0.712)=0.712!Str(x)函数意义:将数值型数据对象x的值转换成字符串。返回值:字符型。参数:x,数值型。实例:!Str(0.712)=0.7125.3窗口操作函数!GetWindowState(WndName)函数意义:按照名字取得用户窗口的状态。返回值:数值型。返回0:用户窗口处于关闭状态。返回1:用户窗口处于打开状态。返回2:用户窗口处于隐藏状态。参数:WndName,用户窗口名称,字符型。实例:!GetWindowState(工况图),读取用户窗口“工况图”的状态!GetWindowName(Index)函数意义:按用户窗口的顺序获得用户窗口的名字。返回值:字符型。参数:Index,数值型。实例:!GetWindowName(0),读取0号用户窗口的名称。!SetWindow(WndName,Op)函数意义:按照名字操作用户窗口,如打开、关闭、打印。返回值:数值型。返回值:=0:调用正常。0:调用不正常。参数:WndName,用户窗口名,字符型。Op:操作户窗口的方法,数值型。Op=1:打开窗口并使其可见。Op=2:打开窗口并使其不可见。Op=3:关闭窗口。Op=4:打印窗口。实例:!SetWindow(工况图,1),打开用户窗口“工况图”,并使其可见。5.4设备操作函数!GetDeviceState(DevName)函数意义:按设备名查询设备的状态。返回值:数值型。=-1调用不正常。=1设备处于正常的工作状态。=2设备正在工作,但设备不正常。=3设备处于停止工作状态,且设备正常。=4设备处于停止状态,且设备有错。参数:DevName,设备名,字符型。实例:!GetDeviceState(OmronPLC),读取设备构件“OmronPLC”的当前工作状态。!SetDevice(DevName,DevOp,CmdStr)函数意义:按照设备名字对设备进行操作。返回值:数值型。返回值:=0:调用正常。0:调用不正常。参数:DevName,设备名,字符型;DevOp,设备操作码,数值型;CmdStr,设备命令字符串,只有当DevOp=6时CmdStr才有意义。DevOp取值范围及相应含义:1:启动设备开始工作。2:停止设备的工作使其处于停止状态。3:测试设备的工作状态。4:启动设备工作一次。5:改变设备的工作周期,Msg中包含新的工作周期,单位为ms。6:执行指定的设备命令,Msg中包含指定命令的格式。实例:!SetDevice(OmronPLC,1,),启动设备构件“OmronPLC”开始工作。!GetDeviceName(Index)函数意义:按设备顺序取到设备的名字。返回值:字符型。调用成功返回设备名,调用失败时返回空字符串。参数:Index,数值型。实例:!GetDeviceName(0),取0号设备构件的名称。5.5策略操作函数!GetStgyName(Index)函数意义:按运行策略的顺序获得各策略块的名字。返回值:字符型。参数:Index,数值型。实例:!GetStgyName(0),取0号运行策略的名称。!SetStgy(StgyName)函数意义:执行StgyName指定的运行策略。返回值:数值型。返回值=0:调用正常,0:调用不正常。参数:StgyName,策略名,字符型。实例:!SetStgy(阀门关闭),执行一次运行策略“阀门关闭”。5.6事件操作函数!GetEventdT(EvName)函数意义:返回当前事件和上一次事件之间的时间差,单位为秒。返回值:数值型。参数:EvName,事件变量名,字符型。实例:!GetEventdT(EvName),取事件变量EvName当前事件和上一次事件之间的时间差,单位为秒。!GetEventT(EvName)函数意义:取到当前事件产生的时间,以秒为单位,相对于1980年以来的秒数。如没有事件产生,返回-1。返回值:数值型。参数:EvName,事件变量名,字符型。实例:!GetEventT(EvName),取事件型变量EvName的当前事件产生时刻。!GetEventP(EvName)函数意义:取到当前事件的附加说明字符串。返回值:字符型。参数:EvName,事件变量名,字符型。实例:!GetEventP(EvName),取事件型变量EvName的当前事件的附加说明字符串。5.7报警操作函数!AnswerAlm(DatName)函数意义:应答数据对象DataName所产生的报警,如DatName=空字符,则所有数据对象所产生的报警。如对应的数据对象没有报警产生或已经应答,则本函数无效。返回值:无。参数:DatName:数据对象名,字符型;实例:!AnswerAlm(电机温度),应答数据对象“电机温度”所产生的报警。!DelAlmDat(DatName,Num)函数意义:删除数据对象DataName对应的报警存储数据中最早Num小时内的报警存储数据,如Num=0或DatName=空字符,则该函数无效。返回值:数值型,返回值=0:调用正常,0:调用不正常。参数:DatName:数据对象名,字符型;Num:数值型时间值,单位:小时。实例:!DelAlmDat(电机温度,1.2),删除数据对象“电机温度”对应的报警存盘数据中最早1.2小时内的数据。!DelAllAlmDat(DatName)函数意义:删除数据对象DatName对应的所有报警存储数据。如DatName=空字符,则删除所有对象对应的所有报警存储数据。返回值:数值型,返回值=0:调用正常,0:调用不正常。参数:DatName,数据对象名,字符型。实例:!DelAllAlmDat(电机温度),删除数据对象“电机温度”对应的所有报警存盘数据。!MoveAlmDat(DatName,FileName,Num1,Num2,Flag)函数意义:把数据对象DatName所对应的报警存盘信息中的第Num1小时到Num1+Num2小时内(以当前时间为0点)的报警存盘信息提取出来,转存到FileName所指定的数据库文件中(Access数据库)。当DatName=空字符,或FileName=空字符,或Num20时,本函数无效。删除数据对象DatName对应的所有报警存储数据。返回值:数值型,返回值=0:调用正常,0:调用不正常。参数:DatName:数据对象名,字符型。FileName:新的报警存盘文件名(包括路径),字符型。Num1:数值型时间量,单位:小时。本函数用Num10的一些数值来表示一些特殊意义的操作(此时Num2无效):=-1转存当天的所有报警信息存盘数据;=-2转存昨天的所有报警信息存盘数据;=-3转存本星期的所有报警信息存盘数据;=-4转存上星期的所有报警信息存盘数据;=-5转存本月的所有报警信息存盘数据;=-6转存上个月的所有报警信息存盘数据;Num2:数值型时间量,单位:小时。Flag:转存标志,数值型。Flag=0时,创建一个新文件(如原文件已存在,则把原文件改名为***.BK1);Flag=1时,在原有的基础上增加新的数据。实例:!MoveAlmDat(电机温度,D:\Temp\ttt.mdb,-6,0,1),把数据对象“电机温度”对应的报警存盘数据中的上个月的所有报警信息存盘数据转存添加到数据库文件当D:\Temp\ttt.mdb中。!SetAlmValue(DatName,Value,Flag)函数意义:设置数据对象DatName对应的报警限值,只有在数据对象DatName“允许进行报警处理”的属性被选中后,本函数的操作才有意义。对组对象、字符型数据对象、事件型数据对象本函数无效。对数值型数据对象,用Flag来标识改变何种报警限值。返回值:数值型,返回值=0:调用正常,0:调用不正常。参数:DatName:数据对象名,字符型。Value:新的报警值,数值型。Flag:数值型,标志要操作何种限值,具体意义如下:=1下下限报警值;=2下限报警值;=3上限报警值;=4上上限报警值;=5下偏差报警限值;=6上偏差报警限值;=7偏差报警基准值;实例:!Set
本文标题:MCGS-系统内部函数
链接地址:https://www.777doc.com/doc-4394204 .html