西门子 S7-1200:无法下载数据记录
Siemens S7-1200: Cannot download datalog
我在下载数据记录时遇到问题。已经使用 python 进行编码以每天自动下载数据记录。并且编码在三个站点上工作。但是,在第四个站点上,使用相同的代码,我得到了一个 ERROR 404 not found。但是,可以通过单击手动下载文件。
已经尝试在西门子论坛中搜索问题,但无济于事。
所以,如果有人遇到过这个问题并且有解决方案,请与我分享。
这是我的代码;
import subprocess
import datetime
import wget
from datetime import date, timedelta
yesterday = date.today() - timedelta(1)
x = yesterday.strftime("%y%m%d")
print ("Downloading F_" + x + ".csv")
datetime_object = datetime.datetime.now()
url = 'http://{PLC_IP}/FileBrowser/Download?Path=/DataLogs/F_' + x + '.csv'
filename = wget.download(url)
filename
谢谢。
我真的不知道是什么阻止了我的代码在网络服务器上下载数据记录。但是,在尝试了不同的编码后,我发现 here 我开始工作了。
希望对您有所帮助。
EDIT/UPDATE 1:
OPs 问题与 S7-1214 固件 V04.02.01 有关。
以下解决方案适用于固件版本 4.2。
OP Sebastian Geier.
提供的解决方案
:: Login to the webserver. User name: admin, password: admin, IP of the PLC: 192.168.0.1. Store the cookies after Login in "cookies.txt" and keep the session active for the copy procedure
wget.exe --no-check-certificate --post-data="Redirection&Login=admin&Password=admin&submit=Anmelden" --save-cookies=cookies.txt --referer=http://YOUR_IP/Portal/Portal.mwsl?PriNav=Start --keep-session-cookies http://YOUR_IP/FormLogin
:: Load the cookies again and switch to the "Filebrowser" of the webserver. There, the file "MyDataLog.csv" will be copied to the Desktop, called "info.csv"
:: Load the file
wget.exe --no-check-certificate --load-cookies=cookies.txt --referer=http://YOUR_IP/Portal/Portal.mwsl?PriNav=FileBrowser?Path=/DataLogs http://YOUR_IP/FileBrowser/Download?Path=/DataLogs/Counter_Export.csv--output-document=store/DataLog_LogOn_S7-1200.csv
注意:还要加上说明:path=\Datalogs
我在下载数据记录时遇到问题。已经使用 python 进行编码以每天自动下载数据记录。并且编码在三个站点上工作。但是,在第四个站点上,使用相同的代码,我得到了一个 ERROR 404 not found。但是,可以通过单击手动下载文件。
已经尝试在西门子论坛中搜索问题,但无济于事。
所以,如果有人遇到过这个问题并且有解决方案,请与我分享。
这是我的代码;
import subprocess
import datetime
import wget
from datetime import date, timedelta
yesterday = date.today() - timedelta(1)
x = yesterday.strftime("%y%m%d")
print ("Downloading F_" + x + ".csv")
datetime_object = datetime.datetime.now()
url = 'http://{PLC_IP}/FileBrowser/Download?Path=/DataLogs/F_' + x + '.csv'
filename = wget.download(url)
filename
谢谢。
我真的不知道是什么阻止了我的代码在网络服务器上下载数据记录。但是,在尝试了不同的编码后,我发现 here 我开始工作了。
希望对您有所帮助。
EDIT/UPDATE 1:
OPs 问题与 S7-1214 固件 V04.02.01 有关。
以下解决方案适用于固件版本 4.2。
OP Sebastian Geier.
:: Login to the webserver. User name: admin, password: admin, IP of the PLC: 192.168.0.1. Store the cookies after Login in "cookies.txt" and keep the session active for the copy procedure
wget.exe --no-check-certificate --post-data="Redirection&Login=admin&Password=admin&submit=Anmelden" --save-cookies=cookies.txt --referer=http://YOUR_IP/Portal/Portal.mwsl?PriNav=Start --keep-session-cookies http://YOUR_IP/FormLogin
:: Load the cookies again and switch to the "Filebrowser" of the webserver. There, the file "MyDataLog.csv" will be copied to the Desktop, called "info.csv" :: Load the file wget.exe --no-check-certificate --load-cookies=cookies.txt --referer=http://YOUR_IP/Portal/Portal.mwsl?PriNav=FileBrowser?Path=/DataLogs http://YOUR_IP/FileBrowser/Download?Path=/DataLogs/Counter_Export.csv--output-document=store/DataLog_LogOn_S7-1200.csv
注意:还要加上说明:path=\Datalogs