-
Индексирование системных переменных
Уважаемые господа! Есть ли возможность присваивать имена системных переменных как элемент массива?
Когда много МДВВ и используются запись/чтение по маске, то кожется резонным обращаться с ними, как элементами массива - программы получаются более универсальными и структурированными
-
А если ,например, вот так:
InReg AT %IW8.1.0.0: ARRAY [1..4] OF WORD;
OutReg AT %QW8.1.4.0: ARRAY [1..4] OF WORD;
Сам раньше делал обращение через указатель, попробовал такую запись, вроде получается для последовательности регистров одного устройства!
Но если создать тип данных в точности повторяющий распределение для нескольких устройств и сделать массив из этого типа данных, то должно получиться для нескольких устройств.
Последний раз редактировалось SergeyNG; 17.03.2009 в 19:10.
-
Не получится в одном типе данных указывать и входные переменные и выходные, они располагаются в памяти не в перемешку, а раздельно. Поэтому если в устройстве есть и входные и выходные переменные придется делать отдельно массив для входных и отдельно для выходных
-
1. Создайте массивы указателей на переменные.
2. Проинициализируйте их по адресам переменных мастеров командой ADR()
3. Обращайтесь по индексам массивов.
К сожалению, это не автоматизируешь...
-
Альтернативно:
Поименуйте переменные мастеров как var001,var002 и т.д.
И обращайтесь к ним по имени через библиотеку SymLib.lib
-
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума