【发布时间】: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 的扩展。如果您每秒连接一次,那么打开和关闭是否都无关紧要。如果方便保持打开状态,那就这样做吧。