使用Beckhoff.TwinCAT.Ads NuGet包查询TwinCAT静态路由的技术咨询
查询TwinCAT静态路由(Beckhoff.TwinCAT.Ads 6.0235)
问题1:是否可通过该API实现查询?
可以,6.0235版本的Beckhoff.TwinCAT.Ads NuGet包支持通过API查询已配置的TwinCAT静态路由。
问题2:应使用API中的哪个类或方法?
你需要使用**TwinCAT.Router.RouterClient**类,调用其GetRoutes()方法,该方法会直接返回ICollection<RouteInfo>类型的结果,完全匹配你的需求。
代码示例
using TwinCAT.Router; using System.Collections.Generic; using System; // 创建RouterClient实例并操作 using (RouterClient routerClient = new RouterClient()) { routerClient.Connect(); // 获取所有静态路由集合 ICollection<RouteInfo> routes = routerClient.GetRoutes(); // 遍历输出路由信息示例 foreach (RouteInfo route in routes) { Console.WriteLine($"远程地址: {route.RemoteAddress}, 本地地址: {route.LocalAddress}, 路由类型: {route.RouteType}"); } }
注意事项
- 程序需要以管理员权限运行,否则会因权限不足无法访问TwinCAT路由服务
- 确保代码中引用
TwinCAT.Router命名空间,该命名空间已包含在你安装的NuGet包内 - 若需远程查询其他机器的路由,需保证目标机器的TwinCAT路由服务允许远程访问,且网络连通正常
内容的提问来源于stack exchange,提问作者DonMiguelSanchez
相关产品推荐
相关产品推荐

