У меня есть работающий проект C, который взаимодействует с локальными или удаленными системами TwinCAT 3 с помощью ADS C API ( онлайн-примеры тоже хорошо работают).
Однако сейчас мы пытаемся развернутьпрограмма на другом компьютере, на котором установлена только TwinCAT ADS (как описано здесь в разделе «Установка только TwinCAT 3 ADS»).Мы добавили маршруты на обеих машинах.Чтобы упростить тестирование, мы даже полностью отключили брандмауэр как на компьютере ADS, так и на компьютере времени выполнения.Но я все еще не могу получить данные обратно в приложение.
Ошибка, которую я получаю от ADS, - 10051, что в основном является Ошибка Winsock :
Сеть недоступна.Была предпринята попытка операции с сокетом в недоступной сети.Обычно это означает, что локальное программное обеспечение не знает маршрута для достижения удаленного хоста.
Однако я почти уверен, что маршруты действительны.Они были добавлены с помощью широковещательного поиска, и я вижу в Wireshark, что обе системы постоянно обмениваются запросами ADS на чтение / запись (если я удаляю маршрут на любом из ПК, обмен останавливается).
Одна детальв том, что система только для ADS не находится в режиме запуска, то есть я не могу перевести ее в «Пуск», хотя, возможно, это нормально, поскольку там нет времени выполнения?
Мои вопросы:
Нужно ли переключать систему только в ADS в режим запуска, используя значок на панели задач («Пуск / Перезагрузка»)? Т.е. влияет ли эта операция на маршрутизаторы сообщенийтоже?Потому что, если я пытаюсь сделать это в системе ADS, я получаю сообщение об ошибке, поэтому я не уверен, что это происходит из-за того, что на этом компьютере нет среды выполнения или если есть ошибка.В средстве просмотра событий отображается сообщение об ошибке: «Ошибка запуска сервера TCRTSOBJECTS. Системе не удается найти указанный путь» без дополнительных указаний.
Существуют ли дополнительные настройки в ADSтолько система, что нужно сделать, кроме настройки маршрутов?