Как получить доступ к определенной переменной дочернего объекта из C# ADSC#

Место общения программистов C#
Ответить
Anonymous
 Как получить доступ к определенной переменной дочернего объекта из C# ADS

Сообщение Anonymous »

Я разрабатываю проект с использованием Twincat3 и C# ADS для HMI.
Для целей структуры я хочу использовать Twincat POO. Я новичок в Twincat и не понимаю, как подключить вложенные дочерние объекты к моему HMI с помощью обработчика ADS.
У меня есть 1 родительский функциональный блок

Код: Выделить всё

//Example
FUNCTION_BLOCK FB_Parent
VAR
iParentVariable: INT;
END_VAR
и несколько дочерних функциональных блоков, расширяющих FB_Parent

Код: Выделить всё

//Example
FUNCTION_BLOCK FB_Child
VAR
iChildVariable: INT;
END_VAR
В моей программе есть массив FB_Parent. По команде инициализации из моего пользовательского HMI (C#) я динамически создаю новый FB_Child:

Код: Выделить всё

// Example
fbChild := __NEW(FB_Child);
array[0] := fbChild^;
__DELETE(fbChild);
Проблема в том, что я не могу создать обработчик и получить доступ к дочерней переменной из моего HMI (C#):

Код: Выделить всё

client = new AdsClient
{
Timeout = 500
};
client.Connect(parameters.AmsNetID, parameters.AdsPort);
handler = client.CreateVariableHandle("PRG_MAIN.arrConveyors[0].iChildVariable");
Как я могу использовать POO и создание динамических объектов в Twincat и получать доступ к дочерней переменной в C# через ADS?
Спасибо за помощь!
Как я могу использовать POO и создание динамических объектов в Twincat и получать доступ к дочерней переменной в C# через ADS?
Спасибо за помощь!
Как я могу использовать POO и создание динамических объектов в Twincat и получать доступ к дочерней переменной в C# через ADS?
Спасибо за помощь!
p>
Я пытался изменить определение моего массива:
  • Используя POINTER OF FB_Parent
    < li>Использование интерфейса вместо родительского класса
Ничего не получилось.

Подробнее здесь: https://stackoverflow.com/questions/786 ... -sharp-ads
Ответить

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

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

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

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

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