FX2N - индексирование адрессов переменных |
Здравствуйте, гость ( Вход | Регистрация )
FX2N - индексирование адрессов переменных |
17.07.2013 - 09:53
Сообщение
#1
|
|
Читатель Группа: Пользователи Сообщений: 18 Регистрация: 22.02.2012 Пользователь №: 9775 |
Сейчас пишу программку для FX2N. Пользуюсь GX IEC Developer 7.01. Мне необходимо индексировать адресса переменных, как я это делаю например в Шнайдерах через UnitePro или PL7PRO. В руководствах по данному контроллеру я не нахожу. Смысл такой, что-бы содержимое какой-то переменной определяло адресс другой.
Спасибо за помощь. |
|
|
17.07.2013 - 10:11
Сообщение
#2
|
|
Маньяк Группа: Пользователи Сообщений: 838 Регистрация: 27.07.2004 Из: Россия Пользователь №: 48 |
Сейчас пишу программку для FX2N. Пользуюсь GX IEC Developer 7.01. Мне необходимо индексировать адресса переменных, как я это делаю например в Шнайдерах через UnitePro или PL7PRO. В руководствах по данному контроллеру я не нахожу. Смысл такой, что-бы содержимое какой-то переменной определяло адресс другой. Спасибо за помощь. поищите по форуму.тема уже была.кому то я помогал с инфой. -------------------- Наши цели ясны, задачи определены. За работу, товарищи!
|
|
|
17.07.2013 - 10:35
Сообщение
#3
|
|
Читатель Группа: Пользователи Сообщений: 18 Регистрация: 22.02.2012 Пользователь №: 9775 |
Товарищь KAZAH помогите и мне. По шаайдерам это делается очень просто и интуитивно квадратные скобки в ST. Пример %MD4784:=%MD0[%MW1689]. А как в моем случае?
Сообщение отредактировал AleksanderG - 17.07.2013 - 11:00 |
|
|
17.07.2013 - 10:55
Сообщение
#4
|
|
Маньяк Группа: Пользователи Сообщений: 838 Регистрация: 27.07.2004 Из: Россия Пользователь №: 48 |
а зохен вэй какие же вы ленивые.http://www.melsec.ru/forum/index.php?showtopic=4904
-------------------- Наши цели ясны, задачи определены. За работу, товарищи!
|
|
|
18.07.2013 - 14:07
Сообщение
#5
|
|
Читатель Группа: Пользователи Сообщений: 18 Регистрация: 22.02.2012 Пользователь №: 9775 |
Здравствуйте товарищ KAZAH. Спасибо за ссылку по документации. С индексацией адрессов я вроде-бы разобрался. Но есть вопросик. Я хочу переменную типа DW с помощью DMOV_M пересылать в D70Z0. При этом, перед этим я сделал что-бы значение самой Z0 ежесекундно инкременируется. Компилятор ругается, мол не тот тип переменной. Надо-ли при этом в глобальных декларировать D70? Задача такая что-бы ежесекундно значение моей DW отправлялось в переменные, с адрессами соответственно по нарастающей начиная с D71. В чем мой прокол не пойму. FX2N. Пользуюсь GX IEC Developer 7.01 Спасибо.
|
|
|
18.07.2013 - 14:48
Сообщение
#6
|
|
Читатель Группа: Пользователи Сообщений: 18 Регистрация: 22.02.2012 Пользователь №: 9775 |
Сам проект здесь http://zalil.ru/34642565
К стати когда пробую с переменной типа W. тогда все проходит. Но мне нужно DW. Даже в симуляторе все работает. Книжка пишет что можно и 32 разрядные числа, с учетом комбинации Z и V, но как это сделать ума не приложу. Сообщение отредактировал AleksanderG - 18.07.2013 - 17:42 |
|
|
18.07.2013 - 20:04
Сообщение
#7
|
|
Маньяк Группа: Пользователи Сообщений: 838 Регистрация: 27.07.2004 Из: Россия Пользователь №: 48 |
читайте мануалы
-------------------- Наши цели ясны, задачи определены. За работу, товарищи!
|
|
|
19.07.2013 - 09:37
Сообщение
#8
|
|
Читатель Группа: Пользователи Сообщений: 18 Регистрация: 22.02.2012 Пользователь №: 9775 |
Спасибо за подсказку, только у меня не совсем тот случай. Значение в регистре Z уже определенно. Мне теперь необходимо переслать число DW например в какой либо D адресс которой будет определяться с учетом содержания в регистре Z. Для 16 разрядных чисел операции проходят, для 32 разрядных меня ругают (не тот тип переменной). Соответственно в первом случае использую MOV в другом DMOV.
|
|
|
20.07.2013 - 09:37
Сообщение
#9
|
|
Маньяк Группа: Пользователи Сообщений: 838 Регистрация: 27.07.2004 Из: Россия Пользователь №: 48 |
вы почитайте с какими типами чисел работают команды которые вы используете.есть еще команды конвертации одного типа чисел в другие.поиграйтесь может что получится.
-------------------- Наши цели ясны, задачи определены. За работу, товарищи!
|
|
|
22.07.2013 - 09:19
Сообщение
#10
|
|
Читатель Группа: Пользователи Сообщений: 18 Регистрация: 22.02.2012 Пользователь №: 9775 |
C конвертацией типа данных в моем случае не подойдет, ибо когда при инкременте числа больше чем 65535 опять-же тот-же самый DW. Так что и зохен вей не поможет. В дефеллопере я разочарован.
|
|
|
22.07.2013 - 09:41
Сообщение
#11
|
|
Гигант мысли Группа: Пользователи Сообщений: 252 Регистрация: 15.11.2007 Пользователь №: 6407 |
в GX dev... на DMOV d0 d70z0 - никаких ругательств
индекс более максимального размера памяти не представляю как использовать, для FX2N это до 16 000 если с Dmov не срастается, можно использовать Mov 2 раза (для строки выше) mov d0 d70z0 mov d1 d71z0 |
|
|
22.07.2013 - 10:03
Сообщение
#12
|
|
Читатель Группа: Пользователи Сообщений: 18 Регистрация: 22.02.2012 Пользователь №: 9775 |
Не так не прокатит. Мне ведь нужно дальше в программе обращаться к переменной с адрессом записанным в Z0. А тут непонятка адресс D70 или D71, ведь вы мне предлагаете вариант опять-же с W. Поэтому в цикле и будут игра между ними. А мне нужно двойное слово впихнуть в DW с четким индексированым адрессом в Z0.
|
|
|
22.07.2013 - 10:10
Сообщение
#13
|
|
Маньяк Группа: Пользователи Сообщений: 838 Регистрация: 27.07.2004 Из: Россия Пользователь №: 48 |
вы странный дядька. пытаетесь 32 битное слово впихнуть в 16 битный регистр.можно было бы написать за вас код, НО вы не хотите читать книжки и думать. софтина тут не при чём.
-------------------- Наши цели ясны, задачи определены. За работу, товарищи!
|
|
|
22.07.2013 - 10:21
Сообщение
#14
|
|
Читатель Группа: Пользователи Сообщений: 18 Регистрация: 22.02.2012 Пользователь №: 9775 |
Здравствуйте товарищ КAZAH. А вы сами попробуйте написать и откомпелировать той-же средой что и у меня. Получится у вас или нет, интересно. Код можете не выкладывать.
Сообщение отредактировал AleksanderG - 22.07.2013 - 10:21 |
|
|
24.07.2013 - 09:25
Сообщение
#15
|
|
Читатель Группа: Пользователи Сообщений: 18 Регистрация: 22.02.2012 Пользователь №: 9775 |
Здравствуйте товарищ КAZAH. Я все-таки надеюсь что Вы мне поможете разобраться как можно переслать 32-разрядное слово в переменную с индексированным адрессом. На примере D1(DW) -- DMOV_M -- D70Z0. У меня компилятор протестует. Все талмуды просмотрел не по одному разу. Ничего. Пробывал D70,D71Z0 - не проходит, пробывал начинать с четного адресса не с нуля D72,D73Z0 - не проходит. Пробывал D1(DW) -- DMOV_M -- D70V0 - не проходит. Пробывал и с номера 512 - не проходит. Вообщем я сдаюсь. Подскажите, очень надо. FX2N. Пользуюсь GX IEC Developer 7.01 Спасибо.
Сообщение отредактировал AleksanderG - 24.07.2013 - 10:22 |
|
|
Текстовая версия | Сейчас: 29.04.2024 - 04:58 |