由于需要远程抓取数据并存入数据库,考虑用Ubuntu系统+Python-snap7实现,通过Ubuntu22.04与西门子1200PLC连接通讯,读取PLC的数据,并存入数据库。查找资料,记录实施过程。
本教程采用python-snap7实现,ubuntu22.04默认自带python3。其中,python-snap7为python专用版本(其他版本详见snap7官网)。
snap7官网:Snap7 Homepagehttps://snap7.sourceforge.net/
python-snap7官网:Welcome to python-snap7’s documentation! — python-snap7 0.0rc0 documentationhttps://python-snap7.readthedocs.io/en/latest/ 安装snap7需要安装动态库和python3-snap7软件,其中snap7动态库需要在自己的系统环境中编译生成,从官网下载的snap7是.7z格式的,需要下载后解压。python3-snap7则直接通过pip安装即可。以下是实施过程。
1. 安装7z解压工具和pip3
(1)安装7z
sudo apt update
sudo apt upgrade
sudo apt install p7zip-full
安装过程如下:
(2)安装pip3
sudo apt-get install python3-pip
安装过程:
输入Y,继续
2. 下载snap7
去snap7官网下载最新的snap7,目前是snap7-full-1.4.2,如下: