TwinCAT 3.0 Broadcast search без интерфейса автоматизации
Есть ли способ выполнить широковещательный поиск с использованием общего пространства имен TwinCAT.Ads.*? Использование системы автоматизации для этого кажется чрезвычайно излишним, не говоря уже о том, что инициализация EnvDTE, создание решения и, наконец, возможность выполнить поиск занимает почти целую минуту.
Даже просто найти способ получить список текущих настроенных маршрутов, вероятно, будет достаточно.
Служба TwinCat 3 в системном трее, похоже, может сделать это без этого лишнего багажа, поэтому я надеюсь, что для этого есть какой-то общедоступный интерфейс. Он будет иметь дополнительное преимущество, так как не будет нуждаться в ссылках на Visual Studio SDK.
1 ответ
Есть файл 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>