杰控脚本合集.docx
《杰控脚本合集.docx》由会员分享,可在线阅读,更多相关《杰控脚本合集.docx(138页珍藏版)》请在冰豆网上搜索。
杰控脚本合集
杰控脚本合集
一、运行数据库
1.打开运行数据库:
bValue=RunSys.OpenDatabase(tm)
如果仅读取运行数据库内容,可不打开运行数据库;
□tm为超时时间,单位为毫秒,取值范围在1000-5000之间为宜,取值18888时自动根据需求打开运行数据库;
□bValue为返回值,在超时时间内,数据库没被成功打开,返回0,否则返回1;
例:
n=RunSys.OpenDatabase(3000)
Ifn=1Then
......
RunSys.CloseDatabase
EndIf
2.关闭被打开的运行数据库:
RunSys.CloseDatabase
□与OpenDatabase配合使用;
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
......
RunSys.CloseDatabase
EndIf
3.得到运行数据库中某变量的数值或状态:
VarValue=RunSys.GetVarValue(VarType,VarName,VarIndex)
□VarType,变量类型(AI=1,AO=2,AR=3,DI=4,DQ=5,DR=6,VA=7,VD=8);
□VarName,变量名称,最大字符长度20;
□VarIndex,变量索引号,如果VarIndex>=0,则VarName不起作用,直接通过VarIndex得到变量值,可加快访问速度;
通过函数GetVarIndexFromVarName可得到变量索引号,也可通过查看运行数据库而得到变量索引号;
当VarIndex<0时,为无效变量索引号,则通过变量名称进行操作;
□VarValue,返回变量值或状态,当VarTye为AO/AR/VA时为浮点数值,当VarTye为DO/DR/VD时为0/1状态值;
返回值为-1211.1024时,表示函数执行错误;
例1:
x=RunSys.GetVarValue(AI,"AI1",-1)
例2:
x=RunSys.GetVarValue(AI,"",10)
例3:
varIndex=RunSys.GetVarIndexFromVarName(AI,"VAR1")
x=RunSys.GetVarValue(AI,"",varIndex)
4.得到某变量最后变化前的数值或状态:
VarValue=RunSys.GetVarLastValue(VarType,VarName,VarIndex)
□VarType,变量类型(AI=1,AO=2,AR=3,DI=4,DQ=5,DR=6,VA=7,VD=8);
□VarName,变量名称,最大字符长度20;
□VarIndex,变量索引号,如果VarIndex>=0,则VarName不起作用,直接通过VarIndex得到变量值,可加快访问速度;
通过函数GetVarIndexFromVarName可得到变量索引号,也可通过查看运行数据库而得到变量索引号;
当VarIndex<0时,为无效变量索引号,则通过变量名称进行操作;
□VarValue,返回变量值或状态,当VarTye为AO/AR/VA时为浮点数值,当VarTye为DO/DR/VD时为0/1状态值;
返回值为-1211.1024时,表示函数执行错误;
例:
x=RunSys.GetVarLastValue(AI,"AI1",-1)
5.修改某变量的数值或状态:
RunSys.SetVarValueVarType,VarName,VarIndex,VarValue
□VarType,变量类型(AO=2,AR=3,DQ=5,DR=6,VA=7,VD=8);
□VarName,变量名称,最大字符长度20;
□VarIndex,变量索引号,如果VarIndex>=0,则VarName不起作用,直接通过VarIndex修改变量值,可加快访问速度;
通过函数GetVarIndexFromVarName可得到变量索引号,也可通过查看运行数据库而得到变量索引号;
当VarIndex<0时,为无效变量索引号,则通过变量名称进行操作;
□VarValue为要修改的数值或状态值,当VarTye为AO/AR/VA时为浮点数值,当VarTye为DO/DR/VD时为0/1状态值;
例1:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.SetVarValueAR,"AR1",-1,100
RunSys.CloseDatabase
EndIf
例2:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
varIndex=RunSys.GetVarIndexFromVarName(AR,"AR1")
RunSys.SetVarValueAR,"",varIndex,100
RunSys.CloseDatabase
EndIf
例3:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.SetVarValueDR,"DR1",-1,1
RunSys.CloseDatabase
EndIf
6.弹出窗口进行数值输入,并修改某变量数值或状态;
RunSys.SetVarValueExVarType,VarName,VarIndex
□VarType,变量类型(AO=2,AR=3,DQ=5,DR=6,VA=7,VD=8);
□VarName,变量名称,最大字符长度20;
□VarIndex,变量索引号,如果VarIndex>=0,则VarName不起作用,直接通过VarIndex修改变量值,可加快访问速度;
通过函数GetVarIndexFromVarName可得到变量索引号,也可通过查看运行数据库而得到变量索引号;
当VarIndex<0时,为无效变量索引号,通过变量名称进行操作;
例:
RunSys.SetVarValueExAR,"AR1",-1
7.得到某VT变量的文本内容:
VarValue=RunSys.GetVttext(VarName,VarIndex)
□VarName,变量名称,最大字符长度20;
□VarIndex,变量索引号,如果VarIndex>=0,则VarName不起作用,直接通过VarInde得到变量值,可加快访问速度;
通过函数GetVarIndexFromVarName可得到变量索引号,也可通过查看运行数据库而得到变量索引号;
当VarIndex<0时,为无效变量索引号,通过变量名称进行操作;
□VarValue为返回文本内容;
例:
s=RunSys.GetVtText("VT1",-1)
8.修改某VT变量的文本内容:
RunSys.SetVTtextVarName,VarIndex,VarValue
□VarName,变量名称,最大字符长度20;
□VarIndex,变量索引号,如果VarIndex>=0,则VarName不起作用,直接通过VarIndex修改变量值,可加快访问速度;
通过函数GetVarIndexFromVarName可得到变量索引号,也可通过查看运行数据库而得到变量索引号;
当VarIndex<0时,为无效变量索引号,通过变量名称进行操作;
□VarValue为修改文本内容;
例1:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.SetVTtext"VT1",-1,"ABC"
RunSys.CloseDatabase
EndIf
例2:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
varIndex=RunSys.GetVarIndexFromVarName(VT,"VT1")
RunSys.SetVTtext"",varIndex,"ABC"
RunSys.CloseDatabase
EndIf
例3:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
s=RunSys.GetVtText("VT2",-1)
RunSys.SetVTtext"VT1",-1,s
RunSys.CloseDatabase
EndIf
9.弹出窗口进行文本输入,并修改某VT变量文本内容;
RunSys.SetVTtextExVarName,VarIndex
□VarName,变量名称,最大字符长度20;
□VarIndex,变量索引号,如果VarIndex>=0,则VarName不起作用,直接通过VarIndex修改变量值,可加快访问速度;
通过函数GetVarIndexFromVarName可得到变量索引号,也可通过查看运行数据库而得到变量索引号;
当VarIndex<0时,为无效变量索引号,通过变量名称进行操作;
例:
RunSys.SetVTtextEx"VT1",-1
10.直接从设备数据表中得到数值:
x=RunSys.GetValueFromDevTable(DevNo,ElementNo,DataType,DataFmt)
□DevNo,设备号(1-2000);
□ElementNo,单元号(0-255/511/1023);
□DataType,数据类型:
1=Byte;
2=Word;
3=DWord;
4=DDWord;
11=B2W(x2,x1);
12=B2D(x4,x3,x2,x1);
13=B2W(x1,x2);
14=B2D(x1,x2,x3,x4);
15=W2D(x2,x1);
16=W2D(x1,x2);
17=W2W(xh,xl);
18=B2D(x3,x4,x1,x2);
19=B2D(x2,x1,x4,x3);
20=W2D(x12,x11,x22,x21);
21=W2D(x22,x21,x12,x11);
22=D2D(x(4,3,2,1));
23=D2D(x(3,4,1,2));
24=D2D(x(2,1,4,3));
□DataFmt,数据格式:
1=整数;
2=无符号整数;
3=浮点数;
4=最高位为符号位的整数;
例:
x=RunSys.GetValueFromDevTable(2,1,1,1)
11.直接修改设备数据表中数值:
RunSys.SetValueToDevTableDevNo,ElementNo,DataType,DataFmt,Value
□DevNo,设备号(1-2000);
□ElementNo,单元号(0-255/511/1023);
□DataType,数据类型:
1=Byte;
2=Word;
3=DWord;
4=DDWord;
11=B2W(x2,x1);
12=B2D(x4,x3,x2,x1);
13=B2W(x1,x2);
14=B2D(x1,x2,x3,x4);
15=W2D(x2,x1);
16=W2D(x1,x2);
17=W2W(xh,xl);
18=B2D(x3,x4,x1,x2);
19=B2D(x2,x1,x4,x3);
20=W2D(x12,x11,x22,x21);
21=W2D(x22,x21,x12,x11);
22=D2D(x(4,3,2,1));
23=D2D(x(3,4,1,2));
24=D2D(x(2,1,4,3));
□DataFmt,数据格式:
1=整数;
2=无符号整数;
3=浮点数;
□Value,修改值;
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.SetValueToDevTable2,0,1,1,x
RunSys.CloseDatabase
EndIf
12.直接从设备数据表中得到某位状态:
bValue=RunSys.GetStatusFromDevTable(DevNo,ElementNo,BitNo,DataType)
□DevNo,设备号(1-2000);
□ElementNo,单元号(0-255/511/1023);
□BitNo,位号(0-7/15/31);
□DataType,单元类型(1=Byte,2=Word,3=DWord);
□bValue,返回状态(0/1);
例:
x=RunSys.GetStatusFromDevTable(2,1,10,1)
13.直接修改设备数据表某状态位:
RunSys.SetStatusToDevTableDevNo,ElementNo,BitNo,DataType,n
□DevNo,设备号(1-2000);
□ElementNo,单元号(0-255/511/1023);
□BitNo,位号(0-7/15/31);
□DataType,单元类型(1=Byte/2=Word/3=DWord);
□n,修改值(0/1/2),n=2时进行取反操作;
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.SetStatusToDevTable2,1,10,1,1
RunSys.CloseDatabase
EndIf
14.启动/停止图形对象动态边框颜色变化:
ShapeObj.EnableDynBorderColorobjName,status
□objName为对象名称;
□status=0时停止动态颜色变化,status=1时启动动态颜色变化;
例:
ShapeObj.EnableDynBorderColor"AAA",1
15.设置图形对象动态边框颜色变化所依据的变量:
ShapeObj.SetVarForDynBorderColorobjName,varType,varName
□objName为对象名称;
□varType为变量类型(AI=1,AO=2,AR=3,DI=4,DO=5,DR=6,VA=7,VD=8);
□varName为变量名称;
例:
ShapeObj.SetVarForDynBorderColor"AAA",AI,"AI1"
16.根据变量类型和名称得到变量索引号:
varIndex=Runsys.GetVarIndexFromVarName(VarType,VarName)
□VarType,变量类型(AI=1,AO=2,AR=3,DI=4,DQ=5,DR=6,VA=7,VD=8,VT=9);
□VarName,变量名称,最大字符长度20;
□varIndex,变量索引号,错误时返回-1,否则返回大于0的值;
例:
varIndex=RunSys.GetVarIndexFromVarName(AI,"AI1")
17.激活某变量报警:
RunSys.EnableVarAlarmVarType,VarName
□VarType,变量类型(AI=1,AO=2,AR=3,DI=4,DQ=5,DR=6);
□VarName,变量名称,最大字符长度20;
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.EnableVarAlarmAI,"AI1"
RunSys.CloseDatabase
EndIf
18.屏蔽某变量报警:
RunSys.DisableVarAlarmVarType,VarName
□VarType,变量类型(AI=1,AO=2,AR=3,DI=4,DQ=5,DR=6);
□VarName,变量名称,最大字符长度20;
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.DisableVarAlarmAI,"AI1"r
RunSys.CloseDatabase
EndIf
19.设置某变量的报警标志:
RunSys.SetVarAlarmIdVarType,VarName,AlarmId;
□VarType,变量类型(AI=1,AO=2,AR=3,DI=4,DQ=5,DR=6);
□VarName,变量名称,最大字符长度20,支持*通配符,操作成批变量,*必须为最后字符;
□AlarmId,报警标志,AlarmId=1允许报警,AlarmId=0禁止报警;
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.SetVarAlarmIdAI,"AI1",0
RunSys.SetVarAlarmIdAI,"AI2",1
RunSys.SetVarAlarmIdAI,"MT*",0
RunSys.CloseDatabase
EndIf
20.激活某变量更新:
RunSys.EnableVarScanVarType,VarName
□VarType,变量类型(AI=1,AO=2,AR=3,DI=4,DQ=5,DR=6,VA=7,VD=8,Vt=9,CA=10,DOC=15);
□VarName,变量名称,最大字符长度20;
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.EnableVarScanAI,"AI1"
RunSys.CloseDatabase
EndIf
21.屏蔽某变量更新:
RunSys.DisableVarScanVarType,VarName
□VarType,变量类型(AI=1,AO=2,AR=3,DI=4,DQ=5,DR=6,VA=7,VD=8,Vt=9,CA=10,DOC=15);
□VarName,变量名称,最大字符长度20;
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.DisableVarScanAI,"AI1"
RunSys.CloseDatabase
EndIf
22.更改某模拟变量对应设备地址:
RunSys.SetAXDevAddressVarType,VarName,VarIndex,DevNo,ElementNo
□VarType,变量类型(1=AI、2=AQ、3=AR);
□VarName,变量名称;
□VarIndex,变量索引号,如果VarIndex>=0,则VarName不起作用,直接通过VarInde操作变量,可加快访问速度;
通过函数GetVarIndexFromVarName可得到变量索引号,也可通过查看运行数据库而得到变量索引号;
当VarIndex<0时,为无效变量索引号,通过变量名称进行操作;
□DevNo,新设备号(1-2000),1=D1、2=D2、...
□ElementNo,新单元号(0-1023);
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.SetAXDevAddressAI,"AI1",-1,2,10
RunSys.CloseDatabase
EndIf
23.更改某开关变量对应设备地址:
RunSys.SetDXDevAddressVarType,VarName,VarIndex,DevNo,ElementNo,BitNo
□VarType,变量类型(4=DI、5=DQ、6=DR);
□VarName,变量名称;
□VarIndex,变量索引号,如果VarIndex>=0,则VarName不起作用,直接通过VarInde操作变量,可加快访问速度;
通过函数GetVarIndexFromVarName可得到变量索引号,也可通过查看运行数据库而得到变量索引号;
当VarIndex<0时,为无效变量索引号,通过变量名称进行操作;
□DevNo,新设备号(1-2000),1=D1、2=D2、...
□ElementNo,新单元号(0-1023);
□BitNo,新位号(0-31);
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
RunSys.SetDXDevAddressDI,"DI1",-1,2,10,2
RunSys.CloseDatabase
EndIf
24.弹出窗口,在线修改某变量报警参数:
RunSys.SetVarAlarmVarType,VarName,-1
□VarType,变量类型(AI=1,AO=2,AR=3,DI=4,DQ=5,DR=6);
□VarName,变量名称,如果VarName为空,则显示对话框选择而得到变量名;
例:
RunSys.SetVarAlarmAI,"AI1",-1
RunSys.SetVarAlarmAI,"",-1
25.得到某模拟变量报警设定值:
fltValue=RunSys.GetVarAlarmValue(VarType,VarName,VarIndex,ValueType)
□VarType,变量类型(AI=1,AO=2,AR=3);
□VarName,变量名称;
□ValueType=1,返回低限报警值;
ValueType=2,返回高限报警值;
ValueType=3,返回超低限报警值;
ValueType=4,返回超高限报警值;
ValueType=5,返回增幅报警值;
ValueType=6,返回降幅报警值;
ValueType=7,返回报警死区'
ValueType=8,返回报警允许状态;
例:
n=RunSys.OpenDatabase(1000)
Ifn=1Then
x=RunSys.GetVarAlarmValue(AI,"AI1",-1,2)
RunSys.CloseDatabase
EndIf
26.修改某模拟变量报警设定值:
RunSys.SetVarAlarmVarType,VarName,VarIndex,ValueType,AlarmValue
□VarType,变量类型(AI=1,AO=2,AR=3);
□VarName,变量名称;
□ValueType=1/11,修改低限报警值;
ValueType=2/12,修改高限报警值;
ValueType=3/13,修改超