存储PLCNext社区PLCNext. on LinkedInPLCNext. on Instagram  PLCNext. on YouTube github plcnext社区存储PLCNext社区

 

 如何创建博客条目

制造商博客
Hits: 528

基于CURL的电源,IEC 61131-3中的数据库上传

几个星期前,我收到了以下问题。您需要通过使用在ESM中运行的程序来向SFTP服务器上传日志记录文件。
SSH文件传输协议(也安全文件传输协议或SFTP)是一种网络协议,它提供任何可靠数据流的文件访问,文件传输和文件管理。它由互联网工程任务组(IETF)设计为安全shell协议(SSH)版本2.0的扩展,以提供安全的文件传输功能。

 

SFTP包含在PLCNext固件中,因此这不应该是一个问题。

步骤1:我开始使用结构化文本创建日志记录文件。示例如何执行此操作,可以在这里找到:

//www.serala.net/en/hn-makers-blog/438-datalogging-in-iec-61131-3-the-basic-principle.html

//www.serala.net/en/hn-makers-blog/447-datalogging-in-iec-61131-3-create-your-own-file-manager.html

 

第2步:我需要一些SFTP服务器来测试我的PLC应用程序。我已经使用了Crushftp,我安装在我的笔记本电脑上运行的虚拟机中。

安装软件后,您需要为Web界面创建一个管理员用户。完成后,您可以为PLC访问创建用户。

为此示例:User = PLCNext,密码= 123456789

 

步骤3:使用命令行上传文件。

屏幕1

 

在上面的屏幕截图中,您可以看到我们首先给出命令,然后在我们输入密码的第二步中。如果我们想通过使用“PBCL_SYSLINUXSHELL_1”FB自动执行此过程,我们需要单行命令。

此FB可以在PLCnextBase库中找到。 (//www.plcnextstore.com/#/720)

因此,我们需要另一个命令来执行文件上传。让我们看看卷曲。

屏幕2

 

使用固件2020.6.1安装的版本不支持SFTP。感谢Oliver Warneke,我能够安装另一个版本的卷曲。我们不会通过完整的安装过程,但结果是支持SFTP的版本。使用固件2021.0.0 LTS,您将能够使用以下版本。

屏幕3.

 

谢谢,我们现在可以使用另一个命令。

curl -k -ss --key〜/ .ssh / id_rsa - max-time 25 - 连接 - 超时10“sftp://192.168.1.50:22/test/Upload/" --user "PLCNext.:12345679" -T "/opt/plcnext/Test.pdf" --ftp-create-dirs

当您使用此命令的shell fb时,您可以在以下日志记录文件中查看结果以检查您的程序。

/opt/plcnext/plcnextbase.serviceprovider.log.

 

关于参数的一些解释:

-k, - 环境

(TLS)默认情况下,每个SSL连接卷曲都被验证为安全。此选项允许CURL继续操作并运行,甚至可以考虑不安全的服务器连接。通过确保服务器的证书包含正确的名称并验证使用Cert Store成功验证服务器连接。

-s, - show-error

与-s,-silent一起使用时,它会使卷曲显示出现错误消息如果失败。

-s,-silent.

沉默或安静的模式。不要显示进度仪表或错误消息。使卷曲静音。除非您重定向,仍将输出您要求的数据,甚至可能甚至到终端/ stdout。除了此选项之外,使用-s,--show-errow才能禁用进度米,但仍显示错误消息。

- 钥匙<key>

(TLS SSH)私钥文件名。允许您在此单独文件中提供您的私钥。对于SSH,如果未指定,CURL会尝试以下候选者:'〜/ .ssh / id_rsa','〜/ .ssh / id_dsa','./id_rsa','./id_dsa'。

-m, - max-time<seconds>

您允许整个操作以秒为单位的最长时间。这对于防止您的批处理作业挂起几小时是有用的,因为网络或链接下降。

- 连接 - 超时<seconds>

允许卷曲连接采取的最长时间以秒为单位。这仅限于连接阶段,因此如果卷曲在给定的时间内连接它将继续 - 如果不是它将退出。

-t, - upload-file<file>

这将指定的本地文件传输到远程URL。如果指定的URL中没有文件部分,则CURL将追加本地文件名。

--ftp-create-dirs

(FTP SFTP)当FTP或SFTP URL / Operation使用当前不存在的路径时,卷曲的标准行为是失败的。使用此选项,卷曲将尝试创建缺少的目录。

 

 

参考:

//en.wikipedia.org/wiki/SSH_File_Transfer_Protocol

//www.crushftp.com/index.html

//curl.se/docs/manpage.html