【问题标题】:Open and close a connection to a PLC very frequently using pyads使用 pyads 非常频繁地打开和关闭与 PLC 的连接
【发布时间】:2021-06-16 12:35:39
【问题描述】:

所以我有一个烧瓶应用程序,它将服务于由 PLC 管理的某些模块的状态。我会在我的应用程序上收到非常频繁的 GET 请求(~每 1 秒),每次 GET 调用时,我都必须从 PLC 获取状态。我正在使用pyads 连接到 PLC。它们连接PLC的方式见基本用法:

import pyads

# connect to plc and open connection
plc = pyads.Connection('127.0.0.1.1.1', pyads.PORT_SPS1)
plc.open()

# read int value by name
i = plc.read_by_name("GVL.int_val")

# write int value by name
plc.write_by_name("GVL.int_val", i)

# close connection
plc.close()

所以我的问题是,我应该在 GET 调用的视图函数中打开和关闭与 PLC 的连接,还是应该在创建应用程序时打开与 PLC 的连接并在整个应用程序中继续使用该连接?哪个更好?

我也不能真正理解pyads包与PLC打开什么样的连接?是 TCP 连接吗?

【问题讨论】:

  • 它是 TCP 的扩展。如果您每秒连接一次,那么打开和关闭是否都无关紧要。如果方便保持打开状态,那就这样做吧。

标签: python flask plc


【解决方案1】:

是的,这是我从 herehere 收集到的 TCP 连接 由于 Pyads 只是底层 TwinCAT 的包装器,它使用与 TwinCAT 相同的底层协议。

在我看到 TwinCAT documentation 时,示例库不会每次都主动关闭连接。所以我相信你可以连接一次并保持连接打开。

【讨论】:

    猜你喜欢
    • 2021-05-26
    • 2020-11-24
    • 2019-05-30
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多