Чтение состояния терминала ввода-вывода на устройствах Twincat ADS EtherCATC#

Место общения программистов C#
Ответить
Anonymous
 Чтение состояния терминала ввода-вывода на устройствах Twincat ADS EtherCAT

Сообщение Anonymous »

Я пытаюсь прочитать InfoData.State для каждого терминала на устройстве EtherCAT.
Я хотел бы прочитать его непосредственно из ввода-вывода, не связывая его с переменной GVL.
Я включил сервер ADS для устройства и могу нормально читать входные/выходные данные. Однако я не могу прочитать состояние InfoData, используя тот же метод, что и для других значений. На следующем изображении показана структура, к которой я хотел бы получить доступ.
Структура
В этом случае я хотел бы прочитать все Term.InfoData.State на устройство.
Ввод канала 1 можно прочитать с использованием порта, amsNetId и имени.
Ввод канала 1
Однако, когда Я пробую тот же метод, но с портом, указанным в InfoData.State, я получаю DeviceSymbolNotFound . Я использую имя символа ").Term 12 (EK1100).InfoData.State".
Тот, который успешен для входных данных: ").Term 12 (EK1100).Term 13 (EL1008).SM_0. Channel_1_Input" (для термина 13, но принцип должен быть тот же)
State
Поскольку в состоянии нет поля SymbolInfo, я предполагаю, что символ не создается.
Мой вопрос: не доступен ли он по своей сути так же, как входные данные, есть ли какой-то параметр, который я пропустил, или я просто использую для него неправильный порт/amsNetId.

Подробнее здесь: https://stackoverflow.com/questions/792 ... at-devices
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»