将表文件发送到ftp服务器,但不使用loggernet。 _Campbellsci论坛问答

我想直接将表格文件发送到运行PC的ftp服务器,而不使用loggernet。
此外,我不会使用像NL115那样的以太网接口,而是通过CR1000的RS232端口使用CDMA调制解调器的TCP/IP命令。
换句话说,我将使用CR1000的RS232端口到ftp客户端,将表文件发送到运行PC的ftp服务器。

使用CDMA调制解调器的AT命令,我可以连接ftp服务器并通过编程CR1000的串行结构登录。
登录ftp服务器后,发送cr1000的表文件需要什么指令。
我需要一个示例程序。
谢谢

将表文件发送到ftp服务器,但不使用loggernet。
_Campbellsci论坛问答

詹姆斯

新对话如下:

echokr,

下面是一个示例程序,它通过FTP将面板温度和电池每小时发送一次到服务器。

岛民

'CR1000系列数据记录器
'程序名称:FTP数据表示例.CR1

'声明公共变量
公共PTemp,batt

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

'FTP信息
Const IP地址=“;anyftpsite.com”;
Const用户=“;用户“;
Const密码=“;密码“;
Const文件名=“”;FTP数据数据“;

'定义数据表
数据表(FTP,1,-1)
表文件(“USR:FTP”,12,5,1,0,Min,OutStat,LastFileName)
样品(1,PTemp,FP2)
样品(1,击球,FP2)
床头柜

'主程序
开始进度

'设置USR驱动器以写入数据
设置状态(“USRDriveSize”,31744)

'每小时扫描一次
扫描(60,最小,0,0)

'测量面板温度
面板温度(PTemp,250)
'测量蓄电池电压
蓄电池(蓄电池)
'调用数据表
调用表(FTP)

'FTP数据
如果是Outstat,那么
FTPSuccess=FTPClient(IPAddress,User,Password,LastFileName,Filename,0)
结束如果

下一次扫描
结束程序

新对话如下:

岛民,

谢谢你的回复。
但我不使用像NL115这样的网络设备。
我通过CR1000的RS232端口使用CDMA TCP/IP外部调制解调器。
我认为FTPClient指令是针对NL115的。
例如CDMA调制解调器的AT命令如下。
使用CR1000的串行输出指令(高于AT命令),CR1000可以连接到ftp服务器。

AT+CRM=130;将调制解调器更改为TCP/IP连接模式
AT+DIP=“;三十、 XXX.XXX.XXX”;ftp服务器的ip地址
AT+DPORT=“;2000〃时;ftp服务器的端口号
日期1234;TCP/IP连接。

ftp服务器回复hello消息。
但在连接ftp服务器后,我无法在CR1000的USR驱动器中发送表文件。


如果你想将电脑中的数据文件发送到ftp服务器,你可以在dos窗口中使用ftp命令,如下面的示例。

打开XXXX.XXX.XXX.XXX XXXX(端口号)
用户id
暗语
ascii模式
输入000.0dat
退出

我想知道CR1000是否可以自己完成以上命令。

谢谢

新对话如下:

echokr,

对不起,我忽略了添加的是,您使用设备配置来设置PPP的RS232端口。如果你看一下最新的RavenXT手册B节,其中有关于如何设置PPP的RS232端口的说明。

当配置RS232端口和使用内置的FTPClient命令是一个简单的问题时,不确定为什么要硬编码所有这些。:-)

如果你想使用你的命令,只需使用我列出的程序中关于以下内容的部分:

表文件(“USR:FTP”,12,5,1,0,Min,OutStat,LastFileName)

'设置USR驱动器以写入数据
设置状态(“USRDriveSize”,31744)

使用OutStat=true调用您的手动代码。

当做
岛民

新对话如下:

我使用FTP协议发送数据(CR1000);到服务器。一切正常,但;您的代码;我午夜没有收到文件。我每4小时传输一次数据。你能帮助我吗?

新对话如下:

你好

CS早就增加了数据流的功能,这一切都更简单了。

对于必须使用设置中的PPP或程序中的PPPopen和PPPclose指令的调制解调器,调制解调器手册有很好的描述。

微笑

新对话如下:

我对PPP的传输和数据传输没有任何问题。我白天在服务器上收到了文件,但午夜收到的文件没有!这就是我的问题?

新对话如下:

嗨,Ludo,

您的状态是否有任何错误,例如跳过扫描?

新对话如下:

在午夜什么都没写的时候,我什么也没写 ;我在TxLog表中没有任何信息,但数据是记录的。只有一分钟前和一分钟后才是正确的  ;这是我的配置:

公共电池V

公共PTemp_C

公共SDI12(5)

公用WS_ms

公共WindDir

公共降雨_mm

 

别名SDI12(1)=温度

别名SDI12(2)=驼峰

别名SDI12(3)=驼峰

别名SDI12(4)=玫瑰色

别名SDI12(5)=浑浊

 

单位BattV=伏特

单位PTemp_C=摄氏度

单位WS_ms=米/秒

单位WindDir=度

单位降雨量_mm=毫米

单位ext_mm=mm‘模板mv en mm浇注固定’

单位温度=度

单位Humrel=%

单位驼峰=g/m3

单位玫瑰色=度

单位黑度=g/kg

 

公共OutStat为布尔值

公共LastFileName为字符串*31

 

Const Host=“XXX”'地址服务商

Const用户=“XXX”

Const通行证=“XXX”

结构RDir=XXX_“

布尔型公共成功

 

'定义数据表

 

数据表(TRH_sdi12,True,-1)

     ;数据间隔(0,10,Min,10)“间隔10分钟,表示扫描和表格注册的时间”

     ;TableFile(“USR:Gold_”,8,5,0,1,Hr,OutStat,LastFileName)“更丰富”;e);资金转移FTP和资金转移;1公顷

     ;样品(1、BattV、FP2)

     ;样品(1,PTemp_C,FP2)

     ;样品(1,温度,FP2)

     ;样品(1,Humrel,FP2)

     ;样品(1,驼峰,FP2)

     ;样品(1,玫瑰,FP2)

     ;样品(1,Melange,FP2)

     ;示例(1、WindDir、FP2)

     ;样本(1,WS_ms,FP2)

     ;合计(1,Rain_mm,FP2,错误)

     ;样本(1,ext_mm,FP2)

     ;字段名称(“Ext_mm”)

     ;床头柜

 

数据表(TxLog,11000)“FTP环境验证表”

示例(1,成功,布尔)“si变量true c”est transmis

示例(1,LastFileName,字符串)“文件名”

示例(1,RName,String)'nom du fichier enregistre sur serveur Crealp

床头柜

 

'主程序

开始进度

设置状态(“USRDriveSize”,1000000)

PPPClose’fermeture du PPP lors du lancement du program pour eviter que process of connection tourne PPPCloses’fermetore du PPP lor du lancemente du program for eview the process of connecting tourne连接过程中的PPP失败

 ;'主扫描

     ;扫描(5秒,1.0)

           ;'默认CR1000数据记录器蓄电池电压测量值“BattV”

           ;蓄电池(蓄电池电压)

           ;'默认CR1000数据记录器接线板温度测量值“PTemp_C”

           ;面板温度(PTemp_C,_6Hz)

           ;'通用SDI-12传感器测量“温度”、“Humrel”、“驼峰”,

           ;'Rosee和Melange

           ;SDI12记录器(SDI12(),1,“0”,“M!”,1,0)

           ;'05103风速&;方向传感器测量值“WS_ms”和“WindDir”

           ;脉冲计数(WS_ms,1,1,1,1,0.098,0)

           ;BrHalf(WindDir,1,mV2500,4,2,12500,True,20000,_60Hz,355,0)

           ;如果WindDir>=355或WindDir<;0然后WindDir=0

           ;脉冲计数(Rain_mm,1,2,2,0.2,0)

           ;'通用半桥测量'ext_mm'

           ;BrHalf(ext_mm,1,mV2500,1,12500,True,0,_60Hz,300,0)“att:facteur 300对应伸长300mm”

           ;'调用数据表并存储数据

           ;调用表TRH_sdi12

           ;如果OutStat然后触发序列(1100)

 

 

'转移FTP avec PPP打开puis关闭

慢速序列

SemaphoreGet(1)语义获取;

SW12(1)

延迟(0,45,秒)

 

PPPOpen打开PPP

延迟(0.30,秒)

 

RName=RDir&;替换(LastFileName,“USR:”,“”)

如果FileTime(LastFileName)>;0然后'如果文件存在

成功=错误

成功=FTPClient(Host,User,Pass,LastFileName,RName,2)'尝试ftp

调用表(TxLog)诊断表

结束如果

SemaphoreRelease(1)'Donne le port com公司

 

PPP丢失协议PPP

延迟(0,20,秒)

 

SW12(0)'关闭调制解调器

结束序列

 

结束程序

谢谢你的帮助!

 

 

分享到:

原文链接:,转发请注明来源!
海洋仪器网 仪器使用 将表文件发送到ftp服务器,但不使用loggernet。 _Campbellsci论坛问答
「将表文件发送到ftp服务器,但不使用loggernet。 _Campbellsci论坛问答」评论列表

发表评论