python用snap7和S7-PLCSIM Advanced连读取西门子1500PLC数据
1下载python
https://www.python.org/downloads/windows/
个人安装的是32位的。下载到的snap7可能用64位跑不起来。
下载完进行安装。
双击进行安装
安装完成后可以在命令提示符下键入以下命令,然后选择 Enter 键
python --version
2下载Visual Studio Code
https://code.visualstudio.com/Download
安装完成后,打开软件,搜索python进行安装
3下载snap7
https://sourceforge.net/projects/snap7/files/
Windows 命令行下,直接pip安装
pip install python-snap7
4安装S7-PLCSIM Advanced
若PLCSIM adv 3.0 不能启动 virtual ETH adapter
需要 安装一个 软件 WINPCAP,百度下载一下。
import snap7
plc = snap7.client.Client()
plc.connect(‘192.168.1.20’,0,1)#IP地址,第二个数字非0即1,第三个数字是cpu的机架号,请去plc控制柜查看
Q0_1= plc.read_area(130, 0, 0, 1)
print(snap7.util.get_bool(Q0_1, 0, 0))
读取0.0的值
import snap7
plc = snap7.client.Client()
plc.connect(‘192.168.1.20’,0,1)
Q0_0 = plc.read_area(130, 0, 0, 1)
print(snap7.util.get_bool(Q0_0, 0, 0))
#给0.0写0
snap7.util.set_bool(Q0_0, 0, 0, 0)
plc.write_area(130, 0, 0, Q0_0)
print(snap7.util.get_bool(Q0_0, 0, 0))