ads - 无自动化接口的 TwinCAT 3.0 广播搜索
问题描述
有没有办法使用通用的 TwinCAT.Ads.* 命名空间执行广播搜索?为此使用自动化系统似乎非常过分,更不用说初始化 EnvDTE、生成解决方案并最终能够进行搜索需要将近一分钟的时间。
即使只是找到一种方法来获取当前配置的路由列表也可能已经足够了。
系统托盘中的 TwinCat 3 服务似乎能够在没有这些额外包袱的情况下做到这一点,所以我希望有一些公共接口。它将具有不需要引用 Visual Studio SDK 的额外好处。
解决方案
有一个文件C:\TwinCAT\3.1\Target\StaticRoutes.xml
包含该计算机的所有活动静态路由。至少我一直都是这样。所以我认为系统托盘服务只是读取该文件?
当然,这并不能告诉您该路线是否真的在运行。关于这一点我不知道。
您可以只解析 XML。文件内容示例:
<?xml version="1.0" encoding="UTF-8"?>
<TcConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RemoteConnections>
<Route>
<Name>PLC_1</Name>
<Address>192.168.1.2</Address>
<NetId>192.168.1.2.1.1</NetId>
<Type>TCP_IP</Type>
</Route>
<Route>
<Name>PLC_2</Name>
<Address>192.168.1.3</Address>
<NetId>192.168.1.3.1.1</NetId>
<Type>TCP_IP</Type>
</Route>
</RemoteConnections>
</TcConfig>
推荐阅读
- jinja2 - 在 salt 中获取 jinja 模板的主机名
- c# - 具有多级 DI 的 Quartz.Net 作业
- amazon-web-services - AWS Textract StartDocumentAnalysis 函数未向 SNS 主题发布消息
- javascript - 无法在 Vue.JS 中将数据从一个组件推送到另一个组件
- python - 为什么逗号分隔符在我打印后返回逗号?
- neo4j - 如何使 makeExecutableSchema 忽略指令?
- python - How to get all Django REST Framework permission classes?
- r - R:如何将 curl 请求的内容保存为 ascii 文本?
- javascript - jQuery复制并追加一行更改
- mobile - 如何修复“移动设备不填充 json 事件”