Linux 上的倍福 PLC 路由

问题描述 投票:0回答:1

我正在尝试将我的 Linux 电脑与 Beckhoff CX9020 PLC 进行通信。当我尝试路由命令时,出现一些错误。我认为这些错误是由于我写的地址错误造成的。如何获得这个值?在 Windows 或 Linux 上就足够了?

pyads.set_local_address ('1.2.3.4.1.1')

pyads.add_route ('5.41.49.218.1.1', '192.168.0.8')

SENDER_AMS = '1.2.3.4.1.1'

PLC_IP = '192.168.0.8'

PLC_USERNAME = 'Administrator'

PLC_PASSWORD = 'x'

ROUTE_NAME = 'RouteToMyPC'

CLIENT_IP = "192.168.1.10"

TARGET_IP = "192.168.1.11"

TARGET_USERNAME = "Administrator"

TARGET_PASSWORD = "1"

HOSTNAME = '192.168.0.8' # or IP

PLC_AMS_ID = '5.41.49.218.1.1'

CLIENT_NETID = "192.168.1.10.1.1"

pyads 中使用了一些值。哪些必须相等。我怎样才能找到它们?感谢您的帮助。

python linux routes plc
1个回答
0
投票

您必须创建从 PLC (CX9020) 到客户端 (Ubuntu) 的路由。

如果您一直在努力防止这些路线妨碍您,我会首先删除所有已创建的路线。为此,我将 CX 插入显示器、键盘和鼠标,并通过右键单击工具栏右侧的 TwinCat 图标来使用 TwinCat 路径编辑器。另请单击“更改网络 ID”记下 CX 的 AMS 网络 ID。

然后将 CX 和 Ubuntu PC 连接到您的网络,记下 CX 和 Ubuntu PC 的 IP 地址。

然后按照此处的说明进行操作:

https://pyads.readthedocs.io/en/latest/documentation/routing.html#adding-routes-to-a-target

地点:
发送者 AMS = Ubuntu PC 的 IP 地址 + ".1.1"
PLC IP = CX 的 IP 地址
如果您没有更改 CX 的用户名和密码,则应为“Administrator”和“1”。
路线名称是您的选择(您可以省略它,它是Python代码中的可选参数)
主机名 = CX 的 IP 地址

这应该在 CX 的路由表中添加一条路由,您可以使用显示器、键盘和鼠标检查该路由。

您只需执行一次此操作,而不是每次运行 python 代码时都执行此操作。

然后,当您连接时,您应该使用以下命令:

import pyads
with pyads.Connection(remote_ads, pyads.PORT_TC3PLC1) as plc:
    ...

其中remote_ads是您之前记录的CX的AMS网络ID。

请尝试此操作并发布您遇到的任何错误。

注意,您应该(通常)在 CX 的路由表中看到用于对其进行编程的任何 Windows PC 的路由,因为在您可以使用 TwinCat Engineering 连接到任何 CX 之前,您还必须创建一条路由,我们只是在这里做同样的事情,但需要在 CX 和 ubuntu PC 之间创建一条路由。如果您正在努力使用 Ubuntu 创建路线,那么在 Windows PC 上使用添加路线对话框创建路线可能会很有用(就像您需要对 CX 进行编程一样)并在 Windows 上运行 pyads,这样您就可以获得对所需内容的感觉。

© www.soinside.com 2019 - 2024. All rights reserved.