pyads跨设备连接TwinCAT3报ADSError(7)及无TwinCAT环境连接问题咨询
ADS路由报错(target machine not found Missing ADS routes (7))解决方案
ADS协议通信不依赖ICMP(ping)连通性,必须完成双向路由配置才能正常通信,操作步骤如下:
- 登录PLC所在设备(IP 192.168.137.1),打开TwinCAT路由配置界面,添加第二台PC的ADS路由信息:IP填192.168.137.123,AMS Net ID填
192.168.137.123.1.1(默认规则为IP地址后加.1.1) - 登录第二台PC(IP 192.168.137.123),打开TwinCAT路由配置界面,添加PLC的ADS路由信息:IP填192.168.137.1,AMS Net ID填
192.168.137.1.1.1 - 两台设备均放行Windows防火墙的48898端口(ADS默认通信端口),也可临时关闭防火墙验证配置是否生效
路由配置完成后状态显示为Established即可正常通信。
未安装TwinCAT的Windows设备能否通过ADS协议连接PLC
可以,有两种实现方案:
- 安装Beckhoff官方提供的TwinCAT ADS Router轻量组件,该组件仅包含ADS路由功能,无完整的TwinCAT开发和运行环境,安装完成后按上述步骤配置路由即可使用pyads库通信
- 直接使用pyads的TCP直连模式,无需本地安装任何TwinCAT相关组件,仅需在PLC端添加对应设备的路由,代码示例如下:
import pyads plc = pyads.Connection( ams_net_id='192.168.137.1.1.1', ams_port=pyads.PORT_TC3PLC1, ip_address='192.168.137.1' ) plc.open() plc.read_by_name('GVL.var1')
内容的提问来源于stack exchange,提问作者Efim Kozhema
相关产品推荐
相关产品推荐

