python-snap7安装各种报错

python-snap7安装各种报错

错误一、snap7.snap7exceptions.Snap7Exception: can’t fintd snap7 library. If installed, try running ldconfig欢迎使用Markdown编辑器

错误二、OSError: [WinError 193] %1 不是有效的 Win32 应用程序。新的改变

第一步:pycharm中安装python-snap7

在这里插入图片描述

第二步:复制snap7-full-1.4.2文件路径:snap7-full-1.4.2\snap7-full-1.4.2\release\Windows\Win64 下的snap7.dll和snap7.lib,放入C:\Windows\SysWOW64路径和G:\Python\Python38(你的python安装路径)

读取s7 200smartPLC 输出区(Q)数据的代码示例:

from time import sleep

import snap7
from snap7.exceptions import Snap7Exception

'''
其中address是服务器的IP地址,如果使用NetToPLCsim连接PLCsim,则IP地址应该是计算机的IP地址,rack和slot和NetToPLCsim设置的一样,针对S7-1200此处应该是01,端口默认是102,不需要进行更改

连接后可以通过get_connected检查连接是否建立,返回值如果是True,则代表连接成功

连接建立后,通过read_area方法获取PLC各个区的数值
'''


def connect(device, ip, rack, slot):
    while True:
        if device.get_connected():
            break
        try:
            device.connect(ip, rack, slot)
        except:
            pass
        sleep(1)


def ReadOutput(dev):
    data = dev.read_area(0x82, 0, 0, 1)
    binary_list = [int(x) for x in bin(data[0])[2:]]
    print(binary_list)


def main():
    s71200 = snap7.client.Client()
    connect(s71200, '192.168.2.1', 0, 1)
    while True:
        try:
            ReadOutput(s71200)
            sleep(1)
        except Snap7Exception as e:
            connect(s71200, '192.168.2.1', 0, 1)


if __name__ == '__main__':
    main()

在这里插入图片描述

参考博文: https://blog.csdn.net/lcb411/article/details/101936678

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值