好吧第一个在这个全新论坛上提问的人!!我能得到什么样的奖品?
下面是:
(注意:
对不起
为冗长的信息而大量使用)。
使用名为RBPro1的基于阵列的CR10X数据记录器
我正在努力实现的目标:
*定期下载历史、每小时/每天的数据
*将其存储到我创建的收集区域
*能够使用数据查询来查询此数据
我的问题:
*我只是不知道如何将收集区域设置与历史数据(“final_storage_1”数据)关联起来
*如何查询该数据。。。看到最后的问题。。。
以下是我所做的:
1) 创建数据记录器(添加设备…,它是电话调制解调器遥控器的子项)
2) 设置收集区域:
*创建inlocs区域RBPro1 RBPro1数据{1列名称1}{2列2}{3列3}等。。。
*设置收集区域设置RBPro1 RBPro1数据2 1启用下载
在进行获取收集区域设置14之后,它显示收集区域
4) 设置采集区域设置RBPro1 RBPro1数据23 1000
fsValuesToPoll=1000
5) 设置采集区域设置RBPro1 RBPro1数据16 2
dataFileOutputOption=追加
6) 手动轮询RBPRO1
发生了什么:
*它下载数据,我可以看到数据输入,并且
*文件RBPro9_final_storage_1.dat包含了我想要的所有记录!
*此数据记录器(RainBird Pro)有2个阵列记录(108和118)。表文件中有数千条记录!!!这是个好消息。
BUT RBPRO9_RBPRO9Data.dat文件
*每次进行手动轮询时都有1条记录。
*这显然是民意调查时的数据。
*这个文件的顶部显示了我在上面的步骤2中创建的集合收集区域设置。
*我真的不在乎这些数据,我想要包含在“;Final_ storage_;文件
问题:
1)如何获取(final_storage_1)数据?
数据查询RBPRO9RBPRO9Data”;20000101〃";20100101”;
我只从RBPRO9Data文件中获取最后1条记录
数据查询RBPRO9 final_ storage_;20000101〃";20100101”;
给出错误“;无效的表名“;
2)如何将收集区域设置与Final_Storage_1数据关联。
即,我想对字段名进行签名,并让它们返回“”;数据查询“;
30个工时后,我非常渴望完成这项工作。
如有任何帮助,我们将不胜感激。
埃里克·罗比肖
*最后更新者:ERobishaw于2008年9月16日上午11:27*
新对话如下:
埃罗比肖,
勇敢的方式!
你用什么软件来收集数据?
新对话如下:
通过LoggerNetSDK我自己的软件。
我误以为这个论坛是专门针对SDK的。。。
埃里克
新对话如下:
哇…CoraScript,一个很好的高级话题。我只想说,大多数Campbell Scientific的客户可能从来没有听说过CoraScript,也从来没有必要了解它。话虽如此,让我看看我能做些什么。
首先,你说你使用了
创建inlocs区域
CoraScript命令创建收集区域。该命令将为创建一个收集区域
仅输入位置
,而不是最终存储数据。数据记录器中没有输入位置的历史记录。输入位置中的任何内容都将在下一次执行数据记录器程序时写入,并且以前的值将永远消失。这就是为什么每次进行手动轮询时,数据文件中只会添加一条记录。无论您将采集区域设置为什么,这都是数据记录器当时可用的全部内容。
当您将基于阵列(也称为“混合阵列”)的数据记录器(如CR10X)添加到LoggerNet网络时,默认情况下您最终会得到一些采集区域。您可以使用
列出收集区域
CoraScript命令查看它们。例子:
列出收集区域cr10x;
*列表收集区域;cr10x”;
{
";final_ storage_;,1.
";final_ storage_;,1.
";ports_ and_flags”;,1.
}
+列出收集区域
如果您为数据记录器启用了计划数据采集,或者您进行了手动数据采集,则默认
最终存储_1
收集区域将包含从数据记录器收集的最终存储数据的副本。您可以简单地使用
数据查询
CoraScript命令
最终存储_1
已存在的收集区域。然而,如果您确实需要定义自己的收集区域,则需要使用
创建fs区域
CoraScript命令而不是
创建inlocs区域
CoraScript命令。这个
创建fs区域
CoraScript命令严格用于为最终存储数据和
创建inlocs区域
CoraScript命令严格用于为输入位置数据创建收集区域。
希望这能有所帮助。
*最后更新者:ChipsNSalsa于2008年9月17日下午2:37*
新对话如下:
我讨厌科拉的剧本,它太80了,但这就是我所拥有的,所以。。。
我找不到一个“;创建fs区域";
或cora\cmd文档中的任何类似内容(这不是第一次发生!)
语法是什么?
谢谢你的帮助。
埃里克
新对话如下:
创建fs区域应该记录在cora\cmd.chm帮助文件中。我正在查看的帮助文件的创建日期为2007年3月7日。你的日期是什么?
您确定不能只启用计划采集并查询现有的final_storage_1采集区域吗?如果没有,则以下内容来自CoraScript帮助文件。
2.13.创建fs区域
此命令可用于创建与经典数据记录器相关联的最终存储收集区域。这样做的原因包括在不影响现有区域状态的情况下轮询数据记录器以获取数据。
2.13.1.输入语法
命令:=“;创建fs区域“;车站名称新区域名称区域编号。
工作站名称:=字符串。
新区域名称:=字符串。
区域编号:=“;1〃|";2〃;。
2.13.1.1.争论
车站名称
在服务器的网络映射中指定数据记录器的名称。
新区域名称
指定新收集区域的名称。在已经为数据记录器定义的一组收集区域名称中,此名称必须是唯一的。
区域编号
指定数据记录器的最终存储区域编号。这个值应该是一个或两个。
2.13.1.2选项
此命令无法识别任何选项
2.13.2.输出语法
输出:=失败输出|成功输出“;\r”;。
故障输出:=“-创建fs区域;原因
成功输出:=“+创建fs区域”;。
此命令可能会产生以下故障原因:
应首先输入设备名称
数据记录器设备名称应作为第一个参数。
设备会话丢失
执行此命令时,与服务器的连接丢失。
需要区域名称
新的收集区域名称应作为第二个参数。
应为区域id
最后的存储区域编号应作为第三个参数。
指定的区域id无效
使用无效值指定了最终存储区域编号。
收集区域名称无效
提供的收集区域名称不唯一
无效的最终存储区域
指定的设备不支持指定的最终存储区域编号。
新对话如下:
嗯…我的chm日期是2006年3月2日
不确定我有哪个版本的SDK:
coralib3.dll 1.3.8.51,2006年7月7日
所有其他均为2.2.6.0(2007年1月3日)
2个问题(即,不设置fs区域)
1) 我似乎没有收到关于混合数组记录器数据的数据顾问通知。
2) 数据查询RBPRO9 final_ storage_;20000101〃";20100101”;
给出错误“;无效的表名“;
final_ storage_;表“;不会显示在列表表中,但它确实显示在列表收集区域中。
列表表:
";ports_ and_flags(端口_;
";RBPRO9Data(RBPRO9数据);
列出收集区域:
";final_ storage_;,1.
";final_ storage_;,1.
";ports_ and_flags”;,1.
";RBPRO9Data”;,3.
在进行创建fs区域RBPRO9 RBPRO9 FS1数据1之后,
列出收集区域:
";final_ storage_;,1.
";final_ storage_;,1.
";ports_ and_flags”;,1.
";RBPRO9Data”;,3.
";RBPRO9FS1数据”;,3.
然而
列表表仍然没有显示我刚刚创建的FS1Data,所以我仍然无法查询它!
啊!!!
顺便说一句,谢谢你的帮助。
埃里克
新对话如下:
还要注意,
我看不到任何文件结构更改
在创建FS存储区域(没有创建新文件)后,尽管如果我再次尝试创建相同的FS存储区域,我会收到一个错误,表明配置中确实存在FS区域。。。只是没有为数据创建文件。
而且
,我做了一个手动下载,更多的数据被放入final_storage_area1文件,但我仍然无法查询,而且收到数据时顾问没有启动!
新对话如下:
我应该指出,收集区不是桌子。我建议您尝试使用默认的final_storage_1收集区域来实现您的目标,并推迟尝试创建新的收集区域。
我忘记了处理混合阵列数据记录器的一个细微之处。请尝试以下操作:
添加设备。
添加设备cr10x Zippy作为子ComPort_6;
+添加设备
我叫我的Zippy。在这一点上,如果我们做
列出收集区域
我们得到了
*列表收集区域;活泼的“;
{
";final_ storage_;,1.
";final_ storage_;,1.
";ports_ and_flags”;,1.
}
+列出收集区域
如果我们做
列出表格
我们得到了
列表快捷;
*列表表,灵活
{
";ports_ and_flags(端口_;
}
+列出表格
数据记录器程序中没有定义与阵列ID匹配的表。这是因为它是一个混合阵列数据记录器,相当于一个表数据记录器。如果是表格数据记录器,LoggerNet可以简单地检索数据记录器中内置的表格定义,从而了解数据的结构。我们可以教育LoggerNet了解混合阵列数据记录器数据的结构的唯一方法是通过文件关联。DLD文件(通常)和FSL文件具有一个标头,在混合阵列数据记录器的情况下,该标头列出阵列内的阵列编号和字段。下面是一个来自CR10X DLD文件顶部的示例。
};cr10倍
;cr10x.DLD编号
;由Short Cut创建(2.7)
;$
;:电池V:ProgSig:Temp_F:PTemp_C
;$
;%
;最终存储标签文件:cr10x.SCW
;日期:2008年9月17日
;时间:13:14:04
;
;101输出表1.00最小值
;1 101升
;2年RTM L
;3天_RTM L
;4小时_分钟_RTM L
;5温度_F_AVG L
;
;102输出表60.00最小值
;1 102升
;2年RTM L
;3天_RTM L
;4小时_分钟_RTM L
;5蓄电池最小L
;6程序信号L
;
;预计每天使用的最终存储位置:7344
;%
第一个$和第二个$之间的名称是输入位置名称。第一个%和第二个%之间的名称描述了最终的存储阵列和阵列中的字段。
下面是一个FSL文件的示例。
最终存储标签文件:cr10x.SCW
日期:2008年9月17日
时间:13:14:04
101输出表1.00最小值
1 101升
2年RTM L
3天_RTM L
4小时_分钟_RTM L
5温度_F_AVG L
102输出表60.00最小值
1 102升
2年RTM L
3天_RTM L
4小时_分钟_RTM L
5蓄电池最小L
6程序信号L
预计每天使用的最终存储位置:7344
我希望你有一个DLD或FSL文件,用于在数据记录器中运行的程序,其中有这样一个标题。
将DLD或FSL文件与设备关联。
关联程序文件Zippy C:\Campbellsci\SCVin\cr10.dld;
+关联程序文件
之后,再次列出表格。
列表快捷;
*列表表,灵活
{
";101〃;
";102〃;
";ports_ and_flags(端口_;
}
+列出表格
现在已经定义了这些表。在这一点上,如果您愿意,您甚至可以描述表结构。
描述Zippy 101桌子;
*描述表;Zippy”"&”;,0, 2000, 1
{
";年RTM”;27 0 {} {} {} {} {1 1}
";TM天”;27 0 {} {} {} {} {1 1}
";Hour_ Minute_;27 0 {} {} {} {} {1 1}
";温度_;27 0 {} {} {} {} {1 1}
}
+描述表
按照上面的说明操作后,应该定义了可以使用查询的表
数据查询
命令
*最后更新者:ChipsNSalsa于2008年9月17日下午5:51*
新对话如下:
对!!!!
这正是我所需要的:;关联程序文件“;
有趣的是,我通过玩CSI发现了FSL文件;捷径“;程序,我只是不知道如何建立关联。
这个文档有点稀疏。。。但是,嘿,我可能是5年来第一个需要它的人。
万分感谢,“;薯条和萨尔萨”;。
你救了我的培根!
埃里克