不带自动化接口的 TwinCAT 3.0 广播搜索
TwinCAT 3.0 Broadcast search without Automation Interface
有没有什么方法可以使用通用 TwinCAT.Ads.* 命名空间执行广播搜索?
为此使用自动化系统似乎太过分了,更不用说初始化 EnvDTE、生成解决方案并最终能够进行搜索几乎需要整整一分钟了。
即使只是找到一种方法来获取当前配置的路由列表也可能就足够了。
系统托盘中的 TwinCat 3 服务似乎能够在没有这个额外负担的情况下完成它,所以我希望有一些 public 接口可以做到这一点。
它将具有不需要引用 Visual Studio SDK 的额外好处。
有一个文件C:\TwinCAT.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>
有没有什么方法可以使用通用 TwinCAT.Ads.* 命名空间执行广播搜索? 为此使用自动化系统似乎太过分了,更不用说初始化 EnvDTE、生成解决方案并最终能够进行搜索几乎需要整整一分钟了。
即使只是找到一种方法来获取当前配置的路由列表也可能就足够了。
系统托盘中的 TwinCat 3 服务似乎能够在没有这个额外负担的情况下完成它,所以我希望有一些 public 接口可以做到这一点。 它将具有不需要引用 Visual Studio SDK 的额外好处。
有一个文件C:\TwinCAT.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>