mcgs定时器操作函数设置

合集下载

MCGS系统内部函数参考手册

MCGS系统内部函数参考手册

MCGS系统里里函数之阳早格格创做MCGS里里为用户提供了一些时常使用的数教函数战对付MCGS 里里对付象支配的函数.组态时,可正在表白式中或者用户足本步调中曲交使用那些函数.为了与其余称呼相辨别,系统里里函数的称呼一律以“!”标记开头.底下分别介绍各个函数的用途战使用要领.运止环境支配函数!CallBackSvr(DatName)函数意思:调用背景对付象返回值:数值型,背景对付象的值参数:DatName,对付象名,数值型真例:X=!CallBackSvr(X),调用背景数值型对付象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),挨开报警战术;!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,用户窗心称呼,字符型.真例:!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: 支配用户窗心的要领,数值型.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()数据对付象支配函数!AnswerAlm(DatName)函数意思:应问数据对付象DatName所爆收的报警.如对付应的数据对付象不报警爆收或者已经应问,则本函数无效.返回值:数值型,=0为支配乐成;<>0为支配波折.参数:DatName,数据对付象名;真例:!AnswerAlm(电机温度),应问数据对付象“电机温度”所爆收的报警.!ChangeDataSave(Datname,n)函数意思:改变数据对付象Datname存盘的周期.返回值:数值型,=0为支配乐成;<>0为支配波折.参数:Datname,数据对付象名;n,数值型,以秒表示的存盘隔断时间真例:ChangeDataSave(温度,5),温度的存盘隔断时间为5秒!ChangeSaveDat(DatName,Num1,Num2)函数意思:改变数据对付象DatName所对付应存盘数据的存盘隔断,把Num1小时往日的存盘数据(以目前时间为0面)的存盘隔断改为Num2秒.本支配只对付组对付象灵验,对付单个的数据对付象无效.当DataName =空字符,或者Num1=0或者Num2=0时,本支配无效.返回值:数值型,返回值=0:调用仄常;<>0:调用不仄常.参数:DatName:数据对付象名.Num1:数值型时间量,单位:小时.本函数用Num1<0的一些数值去表示一些特殊意思的支配:=-1 改变当天对付应数据对付象所有存盘数据的存盘隔断;=-2 改变今天对付应数据对付象所有存盘数据的存盘隔断;=-3 改变本星期对付应数据对付象所有存盘数据的存盘隔断;=-4 改变上星期对付应数据对付象所有存盘数据的存盘隔断;=-5 改变本月对付应数据对付象所有存盘数据的存盘隔断;=-6 改变上个月对付应数据对付象所有存盘数据的存盘隔断;Num2:数值型时间量,新的存盘隔断,单位:秒.真例:! ChangeSaveDat(电机1, -2, 5),把组对付象“电机1”对付应的存盘数据中今天的存盘数据的存盘隔断改为5秒钟.!CopySaveDat(Tdb,Sdb,TabName,TimeField,Flag )函数意思:拷贝数据库中数据表的数据返回值:开关型,返回值=0:调用仄常;返回值<>0:调用不仄常.参数:Tdb,目标数据库名;Sdb,源数据库名;TabName,数据表名;TimeField,定义的时间字段名;Flag,拷贝办法,0:覆盖拷贝;1:增加拷贝.真例:!CopySaveDat(Tdb,Sdb,TabName,TimeField,0),将数据库Sdb中表TabName中的数据拷贝到数据库Tdb中,表名仍是TabName,定义的时间字段为TimeField,拷贝办法为覆盖拷贝.!DelAllSaveDat(DatName)函数意思:简略数据对付象DatName对付应的所有存盘数据.返回值:数值型,返回值=0:调用仄常;<>0:调用不仄常.参数:DatName,数据对付象名.真例:! DelAllSaveDat(电机温度) ,简略数据对付象“电机温度”对付应的所有存盘数据.!DelAllAlmDat(DatName)函数意思:简略数据对付象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小时内的数据.!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,事变变量名,事变型.真例:!GetEventDT(EvName),与事变变量EvName目前事变战上一次事变之间的时间好,单位为秒.!GetEventP(EvName)函数意思:与到目前事变的附加证明字符串.返回值:字符型.返回的附加证明字符串.参数:EvName,事变变量名,事变型.真例:!GetEventP(EvName) ,与事变型变量EvName的目前事变的附加证明字符串.!GetEventT(EvName)函数意思:与到目前事变爆收的时间,以秒为单位,相对付于1980年此后的秒数.如不事变爆收,返回-1.返回值:数值型.参数:EvName,事变变量名,事变型.真例:!GetEventT(EvName),与事变型变量EvName的目前事变爆收时刻.!MoveAlmDat(DatName,FileName,Num1,Num2,Flag)函数意思:把数据对付象DatName所对付应的报警存盘疑息中的第Num1小时到Num1+Num2小时内(以目前时间为0面)的报警存盘疑息提与出去,转存到FileName所指定的数据库文献中(Access数据库).当DatName=空字符,或者FileName=空字符,或者Num2<0时,本函数无效.简略数据对付象DatName对付应的所有报警死存数据.返回值:数值型,返回值=0:调用仄常;<>0:调用不仄常.参数:DatName:数据对付象名.FileName:新的报警存盘文献名(包罗路径),字符型.Num1:数值型时间量,单位:小时.本函数用Num1<0的一些数值去表示一些特殊意思的支配(此时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"中.!MoveSaveDat(DatName,FileName,Num1,Num2,Flag)函数意思:把数据对付象DatName所对付应的存盘数据中的第Num1小时到Num1+Num2小时内(以目前时间为0面)的存盘数据提与出去,转存到FileName所指定的数据库文献中(Access数据库).当DatName=空字符,或者FileName=空字符,或者Num2<0时,本函数无效.返回值:数值型,返回值=0:调用仄常;<>0:调用不仄常.参数:DatName:数据对付象名.FileName:新的存盘数据文献名(包罗路径),字符型.Num1:数值型时间量,单位:小时.本函数用Num1<0的一些数值去表示一些特殊意思的支配(此时Num2无效):=-1 转存当天对付应数据对付象的所有存盘数据;=-2 转存今天对付应数据对付象的所有存盘数据;=-3 转存本星期对付应数据对付象的所有存盘数据;=-4 转存上星期对付应数据对付象的所有存盘数据;=-5 转存本月对付应数据对付象的所有存盘数据;=-6 转存上个月对付应数据对付象的所有存盘数据;Num2:数值型时间量,单位:小时.Flag:转存标记,数值型.Flag=0时,创造一个新文献(如本文献已存留,则把本文献改名为***.BK1);Flag=1时,正在本有的前提上减少新的数据.真例:! MoveSaveDat(电机温度, "D:\Temp\ttt.mdb",-6,0,1) 把数据对付象“电机温度”对付应的存盘数据中的上个月的所有存盘数据转存增加到数据库文献“”中.!SaveData(DatName)函数意思:把数据对付象DataName对付应的目前值存进存盘数据库中.本函数的支配使对付应的数据对付象的值存盘一次.此数据对付象必须具备存盘属性,且存盘时间需设为0秒.可则会支配波折.返回值:数值型,=0为支配乐成;<>0为支配波折.参数:DatName,数据对付象名.真例:! SaveData(电机1),把组对付象“电机1”的所有成员对付应的目前值存盘一次.!SaveDataInit()函数意思:本支配把树立有“退出时自动死存数据对付象的目前值动做初初值”属性的数据对付象的目前值存进组态截止数据中动做初初值,预防突然断电而无法死存,以便MCGS下次开用时那些数据对付象能自动回复其值.返回值:数值型,返回值=0:调用仄常;<>0:调用不仄常.参数:无.真例:! SaveDataInit()!SaveDataOnTime(Time,TimeMS,DataName)函数意思:使用指定时间死存数据.本函数通时常使用于指定时间去死存数据,真止与常常体造纷歧样的存盘要领.返回值:数值型,返回值=0:调用仄常;<>0:调用不仄常.参数:Time,整型,使用时间函数变换出的时间量.时间粗度到秒. TimeMS,整型,指定存盘时间的毫秒数.DataName,数据对付象名.真例:t = !TimeStr2I(“2001年2月21日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:数值型,标记要支配何种限值,简曲意思如下:=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)函数意思:挨开/关关退出时的提示疑息返回值:无参数: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的用户组称呼.!GetProjectTotalUsers ()函数意思:博得目前工程用户总数.返回值:开关型.目前工程用户总数.参数:无真例: !GetProjectTotalUsers(),激活该函数,博得目前工程的用户总数.字符串支配函数!Ascii2I(s)函数意思:返回字符串s的尾字母的Ascii值.返回值:开关型.参数:s,字符型.真例:!Ascii2I(“Afd”) =65!Bin2I(s)函数意思:把二进造字符串变换为数值.返回值:开关型.参数:s,字符型.真例:!Bin2I(“101”) =5!Format(n,str)函数意思:要领化数值型数据对付象返回值:字符型.参数:n,数值型,要要领化的数值;str,字符型,要领化数值的要领.表示为样式.小数面后的0的个数表示需要要领化出的小数位数.小数面前的0为一个时,表示小数面前根据本质数值隐现.当小数面前不0时,表示为.xx式样,当小数面前的0不只一个时,使用0去弥补不敷的位数.真例:!,"0.00") = "1.24";,".00") = ".24";,"00.00") = "01.24";!Hex2I(s)函数意思:把16进造字符串变换为数值.返回值:开关型.参数:s,字符型.真例:!Hex2I (“11”) =17!I2Ascii(s)函数意思:返回指定Ascii值的字符.返回值:字符型.参数:s,开关型.真例:!I2A scii(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"!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!R i ght(str,n)函数意思:从字符型数据对付象str左边起,与n个字符.返回值:字符型.参数: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,字符型.真例:!Trim(" dsfk ") ="dsfk"!Ucase(str)函数意思:把字符型数据对付象str的所有字符变换成大写.返回值:字符型.参数:str,字符型.真例:!UCase("sedERT") ="SEDERT"!Val(str)函数意思:把数值类字符型数据对付象str的值变换成数值.返回值:数值型.参数:str,字符型.真例:注意:使用表签控件隐现输出时,必须树立"小数位数"的个数;可则系统将以四舍五进的准则,隐现输出整数数值.定时器支配函数定时器号:系统定时器的序号1—127,MCGS系统内嵌127个系统定时器.系统定时器以秒为定时单位.!TimerClearOutput(定时器号)函数意思:断开定时器的数据输出连交返回值:数值型.返回值=0:调用乐成;<>0:调用波折.参数:定时器号.真例:!TimerClearOutput(1),断开1号定时器的数据输出连交!TimerRun(定时器号)函数意思:开用定时器开初处事返回值:数值型.返回值=0:调用乐成;<>0:调用波折.参数:定时器号真例:!TimerRun(1),开用1号定时器处事.!TimerStop(定时器号)函数意思:停止定时器处事返回值:数值型.返回值=0:调用乐成;<>0:调用波折.参数:定时器号真例:!TimerStop(1 ),停止1号定时器处事.!TimerSkip(定时器号,步少值)函数意思:正在计时器目前时间数上加/减指定值返回值:数值型.返回值=0:调用乐成;<>0:调用波折.参数:定时器号;步少值真例:!TimerSkip(1,3),1号定时器目前值+3!TimerReset(定时器号,数值)函数意思:树立定时器的目前值,由第二个参数设定,第二个参数不妨是MCGS变量返回值:数值型.返回值=0:调用乐成;<>0:调用波折.参数:定时器号;数值真例:!TimerReset(1,12),树立1号定时器的值为12!TimerValue(定时器号,0)。

MCGS昆仑通态脚本函数

MCGS昆仑通态脚本函数

运行环境操作函数!ChangeLoopStgy(StgyName,n)函数意义:改变循环策略的循环时间。

返回值:数值型。

返回值=0:调用正常,<>0:调用不正常。

参数:StgyName,策略名;n,数值型,以毫秒数表示循环策略的循环时间。

实例:!ChangeLoopStgy(报警策略,5000),将报警策略的循环时间改为5秒。

!CloseAllWindow(WndName)函数意义:关闭所有窗口,如果在字符串”WndName”中指定了一个窗口,则打开这个窗口,关闭其他窗口。

如果”WndName”为空串,则关闭所有窗口。

返回值:数值型。

返回值:=0:调用正常。

<>0:调用不正常。

参数:WndName,用户窗口名,字符型。

实例:!CloseAllWindow("工况图"),关闭除了用户窗口“工况图”以外的其他窗口,若“工况图”窗口没有打开,则在关闭其他窗口的同时打开该窗口;!CloseAllWindow(""),关闭所有窗口。

!CloseAllSubWnd()函数意义:关闭窗口中的所有子窗口。

返回值:浮点型,=0为操作。

实例:!CloseAllSubWnd(),关闭当前窗口的所有子窗口。

!CloseSubWnd(WndName)函数意义:关闭子窗口。

返回值:浮点型,=1为操作成功,<>1为操作失败。

参数值:WndName:子窗口的名字。

实例:!CloseSubWnd(窗口1),关闭子窗口“窗口1”。

!EnableStgy(StgyName,n)函数意义:打开或关闭某个策略,如报警策略或循环策略等。

返回值:数值型。

返回值=0:调用正常,<>0:调用不正常。

参数:SstgyName,策略名;n,数值型,为1时表示打开此策略,为0时表示关闭此策略。

实例:!EnableStgy(报警策略,1),打开报警策略;!EnableStgy(报警策略,0),关闭报警策略,使报警策略无效。

MCGS定时器应用

MCGS定时器应用

MCGS定时器应⽤
MCGS定时器应⽤
我想实现这麽⼀个功能:
1、设定要定时的时间,然后通过点击按钮,开始定时,当计时=时间设定时,停⽌计时,且计时器要求不复位。

下次需要同样的定时时间时,我只需点击开始计时按钮,计数器复位并开始计时。

2、我⽤定时器策略试了⼀下,发现它不能让计时器停下来,并且不能阻⽌计时器的复位。

它总是循环计时。

3、我⽤脚本函数试验了⼀下,发现不能实现计时器复位,实现下次的定时。

请教
您好,你可以通过如下⽅法解决:
1、在设定时间的按钮⾥⾯加上⼀⾏让定时器复位的脚本。

2、使⽤事件策略,策略执⾏的条件就为:计时=时间设定
3、事件策略⾥⾯加上脚本,脚本为定时器停⽌
对上⾯问题的解答
Data3为⼀个取反的开关量,这初始⾥设置为1,按下后执⾏脚本启动定时器,当计时到30时停⽌计时,然后下次启动时先复位后启动。

唯⼀是不知道你还要求不要求计时开始后不能停下来。

这个是还可以的啦!
IF Data3=0THEN
!TimerRun(1)
Data1=!Timervalue(1,0)
endif
if Data1>=30then
Data3=1
!TimerReset(1,0)
endif在上⾯的按钮的可见度属性中加⼊:Data3=1就可以解决中间不能在停下来的问题!:)在上⾯的按钮的可见度属性中加⼊:Data3=1就可以解决中间不能在停下来的问题!:。

MCGS组态控制系统演示工程操作步骤

MCGS组态控制系统演示工程操作步骤

水箱液位控制系统演示工程操作步骤一、创建新工程1、双击桌面中的图标,进入MCGS组态环境工作台,如图1所示。

2、点击图1中的“新建窗口”,出现“窗口0”图标。

3、点击“窗口0”鼠标右键,选择“属性”,按照图2进行设置,则窗口名称变为“水箱液位控制系统”,如图2右图所示。

图2二、画面设计1、在“水箱液位控制”窗口点击菜单中的【工具箱】图标,单击插入元件按钮,打开【对象元件管理】中的【储藏罐】,选择罐17,点击确定。

如图3所示,则所选中的罐出现在桌面的左上角,用鼠标改变其大小及位置。

图32、按照同样的方法,【储藏罐】选中2个罐(罐17,罐53),【阀】选中2个阀(阀58,阀44),1个泵(泵40)。

按图4放置。

图43、选中工具箱中的【流动快】按钮,单击鼠标并移动光标放置流动快。

如图5所示设置流动快。

图54、选中流动块,点击鼠标右键【属性】,按图6设置属性。

图65、添加文字,选中工具箱中的【标签】按钮,鼠标的光标变为“十字”形,在窗口任意位置拖曳鼠标,拉出一个一定大小的矩形。

建立矩形框后,鼠标在其内闪烁,可直接输入“水箱液位控制系统演示工程”文字。

选中文字,鼠标右键【属性】,按图7设置。

图76、点击菜单中的,可变更字体大小。

按图5添加其他文字。

三、MCGS数据对象设置2、单击工作台【实时数据库】按钮,进入【实时数据库】窗口。

单击窗口右边的【新增对象】按钮,在窗口的数据对象列表中,就会增加新的数据对象。

双击选中对象,按图8设置数据对象属性。

图83、按照图9设置其他数据对象属性。

图94、双击【液位组】,存盘属性按图10设置,组对象成员按图11设置。

图10图11四、动画连接(一)水罐动画连接1、在【用户窗口】中,双击【水箱液位控制】,进入窗口后双击水罐1,弹出【单元属性设置】窗口,如图12所示。

图122、单击【动画连接】,选中折线,则出现。

单击按钮进入【动画组态属性设置】窗口,各项设置如图13所示,单击确认后,水罐1的对象变量连接就成功了。

MCGS时间函数

MCGS时间函数

!TimeGetSpan(iTime1,iTime2)函数意义:计算两个时间iTime1和iTime2之差;返回值:开关型,两时间之差;参数:iTime1,开关型,时间值;iTime2,开关型,时间值;实例:!TimeGetSpan(iTime1,iTime2)实例说明:计算两个时间iTime1和iTime2之差。

!TimeStr2I(strTime)函数意义:将表示时间的字符串(YYYY/mm/DD HH:MM:SS)转换为时间值;返回值:开关型,转换后的时间值;参数:strTime,字符型,以字符串型表示的时间(必须是YYYY/mm/DD HH:MM:SS的格式);实例:!TimeStr2I(“2001/1/1 3:15:28”)实例说明:将表示时间的字符串“2001/1/1 3:15:28”转换为开关型的时间值。

!TimeI2Str(iTime,strFormat)函数意义:将时间值转换为字符串表示的时间;返回值:字符型,转换后的时间字符串;参数:iTime,开关型,时间值;(注意,这里只能用!TimeStr2I(strTime)转换出的时间值,否则将不能正确转换。

);strFormat,字符型,转换后的时间字符串的格式;实例:!TimeI2Str(Time,"%A, %B %d, %Y")实例说明:将时间值转换为字符串型,其表示格式为:星期,月日,年。

!TimeI2Str的格式化标准为:星期的简写。

如:Fri是Friday的简写表示星期五%A星期的全称。

如:Sunday表示星期日%b月份的简写。

如:Jan是January的简写表示一月%B月份的全称。

如:June表示六月%c适合于本地习惯的时间日期表示。

如:05/07/01 09:47:12,表示2001年5月7日9时47分12秒%d月份中日期的十进制表示。

如:07表示7日%H24时制的小时表示。

如:17表示下午5时%I12时制的小时表示。

MCGS组态控制系统演示工程操作步骤..

MCGS组态控制系统演示工程操作步骤..

水箱液位控制系统演示工程操作步骤一、创建新工程1、双击桌面中的图标,进入MCGS组态环境工作台,如图1所示。

2、点击图1中的“新建窗口”,出现“窗口0”图标。

3、点击“窗口0”鼠标右键,选择“属性”,按照图2进行设置,则窗口名称变为“水箱液位控制系统”,如图2右图所示。

图2二、画面设计1、在“水箱液位控制”窗口点击菜单中的【工具箱】图标,单击插入元件按钮,打开【对象元件管理】中的【储藏罐】,选择罐17,点击确定。

如图3所示,则所选中的罐出现在桌面的左上角,用鼠标改变其大小及位置。

图32、按照同样的方法,【储藏罐】选中2个罐(罐17,罐53),【阀】选中2个阀(阀58,阀44),1个泵(泵40)。

按图4放置。

图43、选中工具箱中的【流动快】按钮,单击鼠标并移动光标放置流动快。

如图5所示设置流动快。

图54、选中流动块,点击鼠标右键【属性】,按图6设置属性。

图65、添加文字,选中工具箱中的【标签】按钮,鼠标的光标变为“十字”形,在窗口任意位置拖曳鼠标,拉出一个一定大小的矩形。

建立矩形框后,鼠标在其内闪烁,可直接输入“水箱液位控制系统演示工程”文字。

选中文字,鼠标右键【属性】,按图7设置。

图76、点击菜单中的,可变更字体大小。

按图5添加其他文字。

三、MCGS数据对象设置2、单击工作台【实时数据库】按钮,进入【实时数据库】窗口。

单击窗口右边的【新增对象】按钮,在窗口的数据对象列表中,就会增加新的数据对象。

双击选中对象,按图8设置数据对象属性。

图83、按照图9设置其他数据对象属性。

图94、双击【液位组】,存盘属性按图10设置,组对象成员按图11设置。

图10图11四、动画连接(一)水罐动画连接1、在【用户窗口】中,双击【水箱液位控制】,进入窗口后双击水罐1,弹出【单元属性设置】窗口,如图12所示。

图122、单击【动画连接】,选中折线,则出现。

单击按钮进入【动画组态属性设置】窗口,各项设置如图13所示,单击确认后,水罐1的对象变量连接就成功了。

MCGS系统内部函数参考手册之欧阳道创编

MCGS系统内部函数参考手册之欧阳道创编

MCGS系统内部函数MCGS内部为用户提供了一些常用的数学函数和对MCGS内部对象操作的函数。

组态时,可在表达式中或用户脚本程序中直接使用这些函数。

为了与其它名称相区别,系统内部函数的名称一律以“!”符号开头。

下面分别介绍各个函数的用途和使用方法。

运行环境操作函数!CallBackSvr(DatName)函数意义:调用后台对象返回值:数值型,后台对象的值参数:DatName,对象名,数值型实例:X=!CallBackSvr(X),调用后台数值型对象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时表示关闭此策略。

MCGS组态控制系统演示工程操作步骤

MCGS组态控制系统演示工程操作步骤

水箱液位控制系统演示工程操作步骤一、创建新工程1、双击桌面中的图标,进入MCGS组态环境工作台,如图1所示。

2、点击图1中的“新建窗口”,出现“窗口0”图标。

3、点击“窗口0”鼠标右键,选择“属性”,按照图2进行设置,则窗口名称变为“水箱液位控制系统”,如图2右图所示。

图2二、画面设计1、在“水箱液位控制”窗口点击菜单中的【工具箱】图标,单击插入元件按钮,打开【对象元件管理】中的【储藏罐】,选择罐17,点击确定。

如图3所示,则所选中的罐出现在桌面的左上角,用鼠标改变其大小及位置。

图32、按照同样的方法,【储藏罐】选中2个罐(罐17,罐53),【阀】选中2个阀(阀58,阀44),1个泵(泵40)。

按图4放置。

图43、选中工具箱中的【流动快】按钮,单击鼠标并移动光标放置流动快。

如图5所示设置流动快。

图54、选中流动块,点击鼠标右键【属性】,按图6设置属性。

图65、添加文字,选中工具箱中的【标签】按钮,鼠标的光标变为“十字”形,在窗口任意位置拖曳鼠标,拉出一个一定大小的矩形。

建立矩形框后,鼠标在其内闪烁,可直接输入“水箱液位控制系统演示工程”文字。

选中文字,鼠标右键【属性】,按图7设置。

图76、点击菜单中的,可变更字体大小。

按图5添加其他文字。

三、MCGS数据对象设置2、单击工作台【实时数据库】按钮,进入【实时数据库】窗口。

单击窗口右边的【新增对象】按钮,在窗口的数据对象列表中,就会增加新的数据对象。

双击选中对象,按图8设置数据对象属性。

图83、按照图9设置其他数据对象属性。

图94、双击【液位组】,存盘属性按图10设置,组对象成员按图11设置。

图10图11四、动画连接(一)水罐动画连接1、在【用户窗口】中,双击【水箱液位控制】,进入窗口后双击水罐1,弹出【单元属性设置】窗口,如图12所示。

图122、单击【动画连接】,选中折线,则出现。

单击按钮进入【动画组态属性设置】窗口,各项设置如图13所示,单击确认后,水罐1的对象变量连接就成功了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

定时器号:系统定时器的序号1—127,MCGS系统内嵌127个系统定时器。

系统定时器以秒为定时单位。

!TimerClearOutput(定时器号)
函数意义: 断开定时器的数据输出连接
返回值:数值型。

返回值=0:调用成功;<>0:调用失败。

参数:定时器号。

实例:!TimerClearOutput(1),断开1号定时器的数据输出连接
!TimerRun(定时器号)
函数意义:启动定时器开始工作
返回值:数值型。

返回值=0:调用成功;<>0:调用失败。

参数:定时器号
实例:!TimerRun(1),启动1号定时器工作。

!TimerStop(定时器号)
函数意义:停止定时器工作
返回值:数值型。

返回值=0:调用成功;<>0:调用失败。

参数:定时器号
实例:!TimerStop(1 ),停止1号定时器工作。

!TimerSkip(定时器号,步长值)
函数意义:在计时器当前时间数上加/减指定值
返回值:数值型。

返回值=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后重新循环运行
实例:!TimerSetLimit(1,60,1),设置1号定时器的上限为60,运行到60后停止。

!TimerSetOutput(定时器号,数值型变量)
函数意义:设置定时器的值输出连接的数值型变量
返回值:数值型。

返回值=0:调用成功;<>0:调用失败。

参数:定时器号;数值型变量,定时器的值输出连接的数值型变量
实例:!TimerSetOutput(1,Data0),将1号定时器的数据连接到Data0
!TimerWaitFor(定时器号,数值)
函数意义:等待定时器工作到“数值”指定的值后,脚本程序才向下执行
返回值:数值型。

返回值=0:调用成功;<>0:调用失败。

参数:定时器号;数值,等待定时器工作到指定的值
实例:!TimerWaitFor(1,55),等定时器工作到55秒后再执行其他操作
有两个灯要求是按下启动按钮后其中一个灯亮另一个延时7秒钟亮并保持
启动按钮脚本:
!TimerRun(1)
灯1=1
停止按钮脚本:
!TimerStop(1)
!TimerReset(1,0)
灯1=0
灯2=0
在“循环策略”中添加一个策略行:
将“循环时间”改为100ms;策略行条件表达式为1;脚本程序为:
时间=!TimerValue(1,0)
IF 时间>= 7 THEN
灯2=1
ENDIF
其中:灯1,灯2为开关量;时间为数字量。

相关文档
最新文档