Доброго дня, уважаемые форумчане!
Подскажите, пожалуйста!
Есть ли возможность и если есть, то как организовать обращение к переменной в массиве не через явное (численное) указание индекса переменной, а, например, через указание этого индекса через другую, глобальную переменную?
[?]: Символьная индексация в массиве на LAD
-
- Posts: 13
- Joined: Sat Mar 22, 2008 10:45 am
- Location: Russia
-
- Posts: 50
- Joined: Sat Oct 24, 2009 3:38 am
Re: Символьная индексация в массиве!
В каком языке? в SCL помойму встречал почитай в Бергере
-
- Posts: 13
- Joined: Sat Mar 22, 2008 10:45 am
- Location: Russia
Re: Символьная индексация в массиве!
На LAD! В Бергере по LAD и FBD ни малейшего намека на это я не встретил. Щас посмотрю в SCL!
Ничего похожего не встретил! Может это невозможно?
Ничего похожего не встретил! Может это невозможно?
-
- Site Admin
- Posts: 1387
- Joined: Sat Aug 13, 2005 6:15 am
Re: [?]: Символьная индексация в массиве на LAD
наскока мне известно LAD не поддерживает косвенную адресацию
а что подразумевается под словом массив?он же где-то находится...а чё за проблемы?эту часть блока пиши на STL,остальное в LAD
а что подразумевается под словом массив?он же где-то находится...
Code: Select all
OPN DB[MW0] // первый DB
A DBX[MD2]
OPN DB[MW6] // второй DB
= DBX[MD8]
OPN DB 10
OPN DB[DBW0] // третий DB
L DBW[MD12]
OPN DB[MW16] // четвёртый DB
T DBW[MD18]
-
- Posts: 149
- Joined: Sun Dec 20, 2009 1:30 pm
- Location: Russia
Re: [?]: Символьная индексация в массиве на LAD
Присоединяюсь к вопросу. обьясню задачу: есть функция, в качестве параметров передаются 2 булевы переменные и 2 целых числа.
Функцию нужно вызвать 200 раз с разными переменными. Переменные заданы в массивах. Как програмно организовать цикл с перебором индекса массива? Точнее, как организовать цикл это я знаю, а вот в каком виде передавать переменные в функцию? Синтаксис каков?
Должно быть что-то вроде: DB10.DBX[<индекс>] ; DB10.DBW[<индекс>]
[<индекс>] - целое число, хранящееся в, предположим, DB100.DBW2
Каков синтаксис такого обращения к переменной?
Функцию нужно вызвать 200 раз с разными переменными. Переменные заданы в массивах. Как програмно организовать цикл с перебором индекса массива? Точнее, как организовать цикл это я знаю, а вот в каком виде передавать переменные в функцию? Синтаксис каков?
Должно быть что-то вроде: DB10.DBX[<индекс>] ; DB10.DBW[<индекс>]
[<индекс>] - целое число, хранящееся в, предположим, DB100.DBW2
Каков синтаксис такого обращения к переменной?
-
- Posts: 65
- Joined: Thu Nov 01, 2007 9:41 pm
- Location: Belarus
Re: [?]: Символьная индексация в массиве на LAD
примерно такой пример http://depositfiles.com/files/uy86kse9ndmitry_79 wrote:Присоединяюсь к вопросу. обьясню задачу:...
-
- Posts: 149
- Joined: Sun Dec 20, 2009 1:30 pm
- Location: Russia
Re: [?]: Символьная индексация в массиве на LAD
Уважаемый YURY! Огромное спасибо за толчок в правильном направлении: мысль что без адресных регистров не обойтись подтвердилась Вашим примером. Буду разбираться...
-
- Posts: 149
- Joined: Sun Dec 20, 2009 1:30 pm
- Location: Russia
Re: Символьная индексация в массиве!
Как раз на SCL это сделать очень просто.Letiso wrote:На LAD! В Бергере по LAD и FBD ни малейшего намека на это я не встретил. Щас посмотрю в SCL!
Ничего похожего не встретил! Может это невозможно?
Только прошу обратить внимание: в примере у Бергера (или в переводе) между byteindex и bitindex стоит точка. Такой синтаксис записи выдает ошибку компиляции. В данном выражении необходимо ставить запятую! 3 часа потратил времени на то что-бы это понять!Бергер, глава 27.2.3 wrote:...Косвенное использование глобальных адресов основывается на абсолютной адресации. При этом для указания расположения данных в памяти в квадратных скобках указывается переменная INT (две переменные INT в случаеа дресации бита):
• I[byteindex.bitindex];
• MB[byteindex],
где byteindex и bitindex являются константами или переменными, которые
могут быть изменены в процессе обработки программы, или выражениями
типа INT...
Так что отзываю свою мысль обратно - без адресных регистров обойтись можно используя язык SCL!dmitry_79 wrote:...мысль что без адресных регистров не обойтись подтвердилась Вашим примером. Буду разбираться...