通过HughesNet卫星进行CR1000远程文件传输。 _Campbellsci论坛问答

希望有人能用这个指引我朝着正确的方向前进。因此,我目前的设置是一个连接了NL115的CR1000,并通过RS-232直接连接到运行PC400的笔记本电脑,该笔记本电脑通过HughesNet卫星链路连接到互联网。我想每小时向FTP站点发送一个数据表,但我一直没能让事情正常进行。如果我做错了,请告诉我。我对坎贝尔的产品和编程很陌生,不是世界上最懂电脑的人。我删除了几行无关的代码,以使内容更可读,我希望我没有删除任何重要的内容。


'_________________________________________________

通过HughesNet卫星进行CR1000远程文件传输。
_Campbellsci论坛问答

'声明变量和单位

公开结果(15)


'FTP变量
公共FTP成功为布尔值
公共OutStat为布尔值
公用LastFileName为字符串*25

'FTP信息
Const IP地址=“;ftp.geology.isu.edu“;
Const用户=“;用户“;
Const密码=“;密码“;
Const文件名=“”;表1.dat“;
'_________________________________________________

别名结果(1)=距离_m
别名结果(2)=距离_cm
别名结果(3)=距离_ft
别名结果(4)=RLS_status

'___________________________________________

单位距离_m=m
单位距离_cm=厘米
单位距离_ft=英尺

'_________________________________________________

'定义数据表
数据表(表1,True,-1)
数据间隔(0,10,最小值,10)
CardOut(058000)'将数据输出到NL115
表格文件(“CRD:Table1.dat”,8,-1,6,0,Min,0,文件名)


最大值(1,Distance_m,FP2,False,1)
平均值(1,距离_cm,FP2,距离_cm=0)
平均值(1,Distance_ft,FP2,Distance_filt=0)
最大值(1,RLS_Status,FP2,False,1)

床头柜
'_________________________________________________

'主程序
开始进度
扫描(60秒,1.0)

'通用SDI-12传感器测量Distance_m,Distance_mm,Distance_ft,
'RLS_状态:
SDI12记录器(距离_m,7,“0”,“m!”,1,0)

'调用数据表并存储数据
调用表(表1)
'FTP数据
如果是Outstat,那么
FTPSuccess=FTPClient(IPAddress,User,Password,LastFileName,Filename,0)
结束如果

下一次扫描
结束程序

*最后更新者:RiverOfNoReturn于2009年7月8日上午7:25*

新对话如下:

表格文件(“CRD:Table1.dat”,8,-1,6,0,Min,0,文件名)

在上面的代码行中,第7个参数通常是一个变量(最好是布尔值)。写入新的TableFile后,数据记录器会将其设置为True。如果使用0而不是变量(如上所述),则会忽略此参数。但是,对于FTPClient或EmailSend来说,使用变量是一个很好的触发器。

该程序基于变量OutStat有条件地运行FTPClient指令。我看不出这个变量在程序的什么地方被控制。此外,我看不出“;LastFileName“;正在写入。

这是我的文件中的一个示例程序。它是我上次将其加载到数据记录器时运行的(谁知道从那以后Gremlins是否编辑过!)

'测量变量
Public Bat,RefTemp,Temp,FTPR结果为布尔值

'TableFile变量
Public OutStat为布尔值,OutStatTrig为布尔值、LastFileName为字符串*20

'FTP参数字符串(作为常量)、消息字符串和结果变量
Const IP地址=“;192.123.4.56“;
Const用户名=“”;匿名的”;
Const密码=“";

数据表(测试,真,-1)
数据间隔(0,15,秒,10)
样品(1,蝙蝠,FP2)
样品(1,温度,FP2)
示例(1,LastFileName,字符串)
表文件(“USR:Test”,8,-1,0,2,Min,OutStat,LastFileName)
床头柜

开始进度
'设置用户驱动器大小,以便将文件存储到其中
设置状态(“USRDriveSize”,16384)

扫描(1,秒,3.0)
电池(电池)
面板温度(参考温度,250)
TCDiff(温度,1,mV2_5C,1,T型,参考温度,真值,0250,1.0,0)
调用表(测试)

'写入新文件时,将触发器设置为True
'Outstat将在下一个CallTable设置为false,
“所以这保持了一个变量”;真的“;直到FTPC客户端
'已执行
如果OutStat,则OutStatTrig=True
下一次扫描

'以慢速顺序运行FTPClient,因此程序的其余部分
'可以在FTP进行时继续
慢速序列
扫描(1,秒,3.0)
如果OutStatTrig
FTPResult=FTPClient(IPAddress,UserName,Password,lastfilename,Mid(lastfilename,5,20),0)
'将触发器var设置为false
OutStatTrig=错误
结束如果
下一次扫描

结束程序


您可能会使用此程序,并更改IPAddress、UserName和Password变量。

窥探FTP正在做什么的一个好方法是Telnet到数据记录器,并在提示下键入8192D。这是FTP的跟踪代码。您将能够看到FTP消息。有些是神秘的,但如果FTP失败,有些可能会帮助您确定问题所在(例如,您可以查看用户名或密码是否不正确)。

希望这能有所帮助,

Dana公司

分享到:

原文链接:,转发请注明来源!
海洋仪器网 仪器使用 通过HughesNet卫星进行CR1000远程文件传输。 _Campbellsci论坛问答
「通过HughesNet卫星进行CR1000远程文件传输。 _Campbellsci论坛问答」评论列表

发表评论