昆仑通态脚本.docx
- 文档编号:26617951
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:18
- 大小:25.46KB
昆仑通态脚本.docx
《昆仑通态脚本.docx》由会员分享,可在线阅读,更多相关《昆仑通态脚本.docx(18页珍藏版)》请在冰豆网上搜索。
昆仑通态脚本
相关容
回首页
数据对象操作函数
!
AnswerAlm(DatName)
函数意义:
应答数据对象DatName所产生的报警。
如对应的数据对象没有报警产生或已经应答,则本函数无效。
返回值:
数值型,=0为操作成功,<>0为操作失败。
参 数:
DatName,数据对象名。
实 例:
!
AnswerAlm(电机温度),应答数据对象“电机温度”所产生的报警。
!
ChangeDataSave(Datname,n)
函数意义:
改变数据对象Datname存盘的周期。
返回值:
数值型,=0为操作成功,<>0为操作失败。
参 数:
Datname,数据对象名;n,数值型,以秒表示的存盘间隔时间。
实 例:
!
ChangeDataSave(温度,5),温度的存盘间隔时间为5秒。
!
ChangeSaveData(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:
数值型时间量,新的存盘间隔,单位:
秒。
实 例:
!
ChangeSaveData(电机1,-2,5),把组对象“电机1”对应的存盘数据中昨天的存盘数据的存盘间隔改为5秒钟。
!
FlushDataInitValueToDisk()
函数意义:
把所有数据对象的初始值写入磁盘,调用后即刻刷盘。
返回值:
数值型,返回值=0:
调用正常,<>0:
调用不正常。
参 数:
无。
!
FreshSaveData()
函数意义:
实现报警组对象和事件组对象(存盘周期为0)的强制刷盘功能。
调用后即刻将报警组对象和事件组对象在存缓冲区中的存盘数据强制写入磁盘。
返回值:
数值型,返回值=0:
调用正常,<>0:
调用不正常。
参 数:
无。
!
CopySaveDat()
函数说明:
此函数在嵌入版中无效,考虑兼容性问题,故保留。
!
DataGetInt(变量名,返回值)
函数意义:
通过变量名读开关型变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回3:
变量不存在。
参 数:
变量名,字符型,开关型变量的名称 。
返回值,开关型,保存返回的值。
实 例:
Ret=!
DataGetInt(变量名,Int)。
!
DataGetFloat(变量名,返回值)
函数意义:
通过变量名读数值型变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回3:
变量不存在。
参 数:
变量名,字符型 。
返回值,数值型,保存返回的值。
实 例:
Ret=!
DataGetFloat(变量名,Float)。
!
DataGetString(变量名,返回值)
函数意义:
通过变量名读字符型变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回3:
变量不存在。
参 数:
变量名,字符型 。
返回值,字符型,保存返回的值。
实 例:
Ret=!
DataGetString(变量名,Str)。
!
DataSetInt(变量名,设置值)
函数意义:
通过变量名写开关型变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回3:
变量不存在。
参 数:
变量名,字符型 。
设置值,开关型,要设置的值。
实 例:
Ret=!
DataSetInt(变量名,Int)。
!
DataSetFloat(变量名,设置值)
函数意义:
通过变量名写数值型变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回3:
变量不存在。
参 数:
变量名,字符型 。
设置值,数值型,要设置的值。
实 例:
Ret=!
DataSetFloat(变量名,Float)。
!
DataSetString(变量名,设置值)
函数意义:
通过变量名写字符型变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回3:
变量不存在。
参 数:
变量名,字符型 。
设置值,字符型,要设置的值。
实 例:
Ret=!
DataSetString(变量名,Str)。
!
DelSaveDat(DatName,Num)
函数意义:
删除组对象DatName对应的存盘数据中最早Num小时的存盘数据,如果Num<=0,那么就是删除该组对象全部的存盘数据。
如果Num>0,就删除以当前时间为基点Num个小时之前的容,删除时是按文件删除的,如果数据不足一个存盘文件,是不会被删除的。
返回值:
数值型,返回值=0:
调用正常,<>0:
调用不正常。
参 数:
DatName,组对象名。
Num,参数名。
实 例:
!
DelSaveDat(电机温度,12),删除组对象“电机温度”对应的存盘数据中以当前时间为基点倒推12个小时之前的数据。
但从当前时间至倒推的12个小时之的容会被保存。
注 意:
该函数只对组对象操作有效。
!
DelAllSaveDat()
函数意义:
删除组对象DataName对应的所有存盘数据。
注意,此函数不能用来删除组对象所对应的报警存盘数据。
返回值:
数值型,返回值=0:
调用正常,<>0:
调用不正常。
参 数:
DatName:
组对象名;
实 例:
!
DelAllSaveDat(电机温度),删除组对象“电机温度”对应的所有存盘数据
注 意:
该函数只对组对象操作有效。
!
EnableDataSave(name,n)
函数意义:
打开/关闭数据对象的定时存盘功能。
返回值:
数值型,返回值=0:
调用正常,<>0:
调用不正常。
参 数:
name,数据对象名;
n,数值型,1表示打开定时存盘,0表示关闭定时存盘。
实 例:
!
EnableDataSave(温度,1),打开温度的定时存盘。
!
ExportHisDataToCSV(文件名,组对象名,字段名,开始时间,结束时间,最大记录数,导出模式,导出参数,进度指示数据对象名,取消控制数据对象名)
函数意义:
1.导出指定组对象存盘数据,导出的条件包括:
开始时间-结束时间,最大导出总条数;
2.导出字段列表,组对象为MCGS_ALARM则表示导出报警历史数据;
3.可指定导出文件名和路径,主要是U盘导出,可以追加方式也可覆盖方式导出;
4.可显示导出过程进度情况;
5.可取消和中止长时间的导出过程;
6.导出格式为csv文件,导出的第一行为字段名字。
返回值:
开关型。
返回1 指定组对象错误,可能组对象没有保存历史数据或者没有该组对象
返回2 指定的时间格式错误
返回3 指定的无效的数据对象名
返回4 无效的导出模式
返回5 同时只能支持一个csv导出
参 数:
文件名:
字符型,指定导出的文件绝对路径名,指定的第一级目录不能创建,其子目录如果不存在则可以创建。
这样避免U盘不存在时创建U盘目录。
注意:
第一级目录不能自动创建用户必须保证其存在;
组对象名:
导出的组对象名字。
字段名:
字符型,用逗号分隔的要导出的字段名,不需要指定时间字段,默认第一二个字段就为记录时间字段。
如果为空字符串则导出所有字段。
开始时间,结束时间:
用表示的时间字符串“YYYY-MM-DDHH:
MM:
SS”;
最大记录数:
希望导出的最大记录数,超过该记录数就返回,停止导出;
导出模式:
“1”表示覆盖现有文件,“2”表示追加到文件最后;
导出参数:
暂时为空,保留以后使用;
进度指示数据对象名:
开关型数据对象,导出过程中该对象值反映出当前已导出记录条数,如果导出过程中其他异常结束则通过该对象返回同函数返回错误码;
进度指示错误码:
返回-1------文件不能打开
返回-2------没有可导出的数据
返回-4------文件操作出现错误
控制数据对象名:
指定一个开关型数据对象,该对象控制导出执行,启动导出时会自动设置该变量为0,用户在导出过程中想取消导出则可以设置该值为<0的任何值,导出函数运行结束后会自动设置对象值为1;
进度指示错误码:
返回0------导出成功
返回-1-----导出路径不存在
返回1------指定组对象错误,可能组对象没有保存历史数据或者没有该组对象
返回2------指定的时间格式错误
返回3------指定的无效的数据对象名
返回4------无效的导出模式
返回5------同时只能支持一个csv导出
实 例:
ret=!
ExportHisDataToCSV("\usbharddisk\yang.csv","group","data1,data4","2007/1/10:
0:
0","2009/1/10:
0:
0",20000,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()
函数说明:
此函数在嵌入版中无效,考虑兼容性问题,故保留。
!
GetEventP()
函数说明:
此函数在嵌入版中无效,考虑兼容性问题,故保留。
!
GetEventT()
函数说明:
此函数在嵌入版中无效,考虑兼容性问题,故保留。
!
GroupGetInt(组对象变量,成员编号,返回值)
函数意义:
读取组对象中指定的开关型成员变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回2:
指定编号超出组对象索引围;
返回3:
指定组对象不存在或指定变量不是组对象。
参 数:
组对象变量,组对象类型。
成员编号,开关型,成员变量在组对象中的编号,从0开始。
返回值,开关型,保存返回的值。
实 例:
Ret=!
GroupGetInt(Group,0,Int)。
!
GroupGetFloat(组对象变量,成员编号,返回值)
函数意义:
读取组对象中指定的数值型成员变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回2:
指定编号超出组对象索引围;
返回3:
指定组对象不存在或指定变量不是组对象。
参 数:
组对象变量,组对象类型。
成员编号,开关型,成员变量在组对象中的编号,从0开始。
返回值,数值型,保存返回的值。
实 例:
Ret=!
GroupGetFloat(Group,0,Float)。
!
GroupGetString(组对象变量,成员编号,返回值)
函数意义:
读取组对象中指定的字符型成员变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回2:
指定编号超出组对象索引围;
返回3:
指定组对象不存在或指定变量不是组对象。
参 数:
组对象变量,组对象类型。
成员编号,开关型,成员变量在组对象中的编号,从0开始。
返回值,字符型,保存返回的值。
实 例:
Ret=!
GroupGetString(Group,0,String)。
!
GroupSetInt(组对象变量,成员编号,设置值)
函数意义:
设置组对象中指定的开关型成员变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回2:
指定编号超出组对象索引围;
返回3:
指定组对象不存在或指定变量不是组对象。
参 数:
组对象变量,组对象类型。
成员编号,开关型,成员变量在组对象中的编号,从0开始。
设置值,开关型,要设置的值。
实 例:
Ret=!
GroupSetInt(Group,0,Int)。
!
GroupSetFloat(组对象变量,成员编号,设置值)
函数意义:
设置组对象中指定的数值型成员变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回2:
指定编号超出组对象索引围;
返回3:
指定组对象不存在或指定变量不是组对象。
参 数:
组对象变量,组对象类型。
成员编号,开关型,成员变量在组对象中的编号,从0开始。
设置值,数值型,要设置的值。
实 例:
Ret=!
GroupSetFloat(Group,0,Float)。
!
GroupSetString(组对象变量,成员编号,设置值)
函数意义:
设置组对象中指定的字符型成员变量的值。
返回值:
开关型,
返回0:
执行成功;
返回1:
类型不匹配;
返回2:
指定编号超出组对象索引围;
返回3:
指定组对象不存在或指定变量不是组对象。
参 数:
组对象变量,组对象类型。
成员编号,开关型,成员变量在组对象中的编号,从0开始。
设置值,字符型,要设置的值。
实 例:
Ret=!
GroupSetString(Group,0,String)。
!
MoveSaveDat()
函数说明:
此函数在嵌入版中无效,考虑兼容性问题,故保留。
!
SaveData(DatName)
函数意义:
把数据对象DataName对应的当前值存入存盘数据库中。
本函数的操作使对应的数据对象的值存盘一次。
此数据对象必须具有存盘属性,且存盘时间需设为0秒。
否则会操作失败。
返回值:
数值型,=0为操作成功,<>0为操作失败。
参 数:
DatName,数据对象名。
实 例:
!
SaveData(电机1),把组对象“电机1”的所有成员对应的当前值存盘一次。
!
SaveDataInit()
函数说明:
此函数在McgsE7.6(03.0001)及以后版本中无效,考虑兼容性问题,故保留。
!
SaveDataOnTime(Time,TimeMS,DataName)
函数意义:
使用指定时间保存数据。
本函数通常用于指定时间来保存数据,实现与通常机制不一样的存盘方法。
返回值:
数值型,返回值=0:
调用正常,<>0:
调用不正常。
参 数:
Time,数值型,使用时间函数转换出的时间量。
时间精度到秒。
TimeMS,数值型,指定存盘时间的毫秒数。
实 例:
t=!
TimeStr2I("2001年2月21日3时2分3秒");!
SaveDataOnTime(t,0,DataGroup),按照指定时间保存数据对象。
!
SaveSingleDataInit(Name)
函数意义:
本操作把数据对象的当前值设置为初始值(不管该对象是否设置有“退出时自动保存数据对象的当前值作为初始值”属性),防止突然断电而无法保存,以便MCGS嵌入版下次启动时这些数据对象能自动恢复其值。
返回值:
数值型,返回值=0:
调用正常,<>0:
调用不正常。
参 数:
Name,数据对象名。
实 例:
!
SaveSingleDataInit(温度),把温度的当前值设置成初始值。
(DatName,Value,Flag)
函数意义:
设置数据对象DatName对应的报警限值,只有在数据对象DatName“允许进行报警处理”的属性被选中后,本函数的操作才有意义。
对组对象、字符型数据对象、事件型数据对象本函数无效。
对数值型数据对象,用Flag来标识改变何种报警限值。
返回值:
数值型,返回值=0:
调用正常,<>0:
调用不正常。
参 数:
DatName:
数据对象名。
Value:
新的报警值,数值型。
Flag:
数值型,标志要操作何种限值,具体意义如下:
=1下下限报警值;
=2下限报警值;
=3上限报警值;
=4上上限报警值;
=5下偏差报警限值;
=6上偏差报警限值;
=7偏差报警基准值;
实 例:
!
(电机温度,200,3),把数据对象“电机温度”的报警上限值设为200
!
TransToUSB(组对象名,起始时间,结束时间,导出状态,进度指示,转出模式,保留参数)
函数意义:
将XXX组对象的存盘数据导出到"USBHARDDISK"目录下,保存为“XXX.csv”文件,模拟环境则是保存到与可执行文件相同路径下。
返回值:
开关型。
0:
参数没有错误。
1:
第一个参数错误。
(请检查是否组对象名称,或“MCGS_ALARM”)
2:
时间参数格式错误。
3:
状态变量的类型错误。
(两个变量都必须是开关量)
5:
同时只能支持一个csv导出。
参 数:
组对象名:
字符型,要导出的组对象名称(或“MCGS_ALARM”)。
起始时间:
字符型,要导出的历史数据的开始时间,格式:
YYYY-MM-DDHH:
MM:
SS。
结束时间:
字符型,要导出的历史数据的结束时间,格式:
YYYY-MM-DDHH:
MM:
SS。
导出状态:
开关型,进度指示数据对象名(开关量),输出导出状态。
正常导出存盘后输出当前已经导出的记录条数。
当创建导出文件“XXX.csv”失败时输出-1。
(请检查下位机是否正常插入了U盘)
当前没有记录可导出时输出-2。
(请检查对应的组对象是否有存盘信息,或者开始时间结束时间是否设置正确)
导出过程中出现未知数据类型时输出-3。
(不应该出现)
导出过程中出现文件操作异常时输出-4。
(请检查U盘容量是否足够)
进度指示:
开关量,指定一个数字型或开关型对象,该对象控制导出执行,启动导出时会自动设置该变量为0,用户在导出过程中想取消导出可设置该变量为<0的任何值,导出函数运行结束后会自动设置对象值为1。
注:
6.5(01.0010)之前的版本,此参数为原导出状态变量2,显示的是导出数据总条数。
转出模式:
开关型,保留,设置为0。
保留参数:
字符型,保留,设置为空字符串。
实例:
!
TransToUSB(MCGS_ALARM,2008-12-100:
00:
00,2008-12-3100:
00:
00,Switch01,Switch02,0,"")。
注意事项:
该函数最多只能导出30000条记录。
当满足导出时间条件的记录数大于30000时,只导出前30000条记录。
!
CopyDateFileToDisk(pathName,dataType,copyState)
函数意义:
拷贝当前运行工程的数据到指定的目录pathName中。
返回值:
1:
在拷贝的过程中,数据对象copyState,由0转变为非0.表示用户不想继续拷贝。
0:
表示拷贝成功。
-1:
当前工程中,当前运行工程中没有组对象要存盘。
-2:
创建目录pathName失败。
-3:
创佳索引文件MCGS_DATA.ini失败或者对此文件进行写操作失败。
-4:
参数dataType的值,不正确,目前只支持值为0。
-5:
磁盘空间不足。
-6:
参数copyState不是数据对象类型。
-7:
参数copyState是数据对象类型,但不是开关型数据对象。
-8:
参数copyState在一开始调用此脚本时,就为非0。
参数说明:
pathName:
字符串型.要拷贝数据到此的路径名.例如:
在模拟环境可以写"d:
\test",在运行环境可写"harddisk\test"。
dataType:
开关型.拷贝数据的类型,0表示历史数据,1表示报警数据.目前只支持拷贝历史数据,报警数据还没有处理。
copyState:
数据对象型.是否拷贝的标志.当为0表示可以拷贝,为非0表示取消当前的拷贝。
实 例:
!
CopyDateFileToDisk("harddisk\test",0,copyState)把当前工程中历史数据拷贝到目录"harddisk\test"中(如copyState为0表示拷贝,为非表示取消)。
说 明:
一般此脚本要配合组态环境中的一个小程序DataTrans.exe来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 昆仑通态 脚本
![提示](https://static.bdocx.com/images/bang_tan.gif)