IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в эту темуОткрыть новую тему
> FX2N - индексирование адрессов переменных
AleksanderG
сообщение 17.07.2013 - 09:53
Сообщение #1


Читатель
*

Группа: Пользователи
Сообщений: 18
Регистрация: 22.02.2012
Пользователь №: 9775



Сейчас пишу программку для FX2N. Пользуюсь GX IEC Developer 7.01. Мне необходимо индексировать адресса переменных, как я это делаю например в Шнайдерах через UnitePro или PL7PRO. В руководствах по данному контроллеру я не нахожу. Смысл такой, что-бы содержимое какой-то переменной определяло адресс другой.
Спасибо за помощь.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
KAZAH
сообщение 17.07.2013 - 10:11
Сообщение #2


Маньяк
*****

Группа: Пользователи
Сообщений: 838
Регистрация: 27.07.2004
Из: Россия
Пользователь №: 48



Цитата(AleksanderG @ 17.07.2013 - 09:53) *
Сейчас пишу программку для FX2N. Пользуюсь GX IEC Developer 7.01. Мне необходимо индексировать адресса переменных, как я это делаю например в Шнайдерах через UnitePro или PL7PRO. В руководствах по данному контроллеру я не нахожу. Смысл такой, что-бы содержимое какой-то переменной определяло адресс другой.
Спасибо за помощь.

поищите по форуму.тема уже была.кому то я помогал с инфой.


--------------------
Наши цели ясны, задачи определены. За работу, товарищи!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AleksanderG
сообщение 17.07.2013 - 10:35
Сообщение #3


Читатель
*

Группа: Пользователи
Сообщений: 18
Регистрация: 22.02.2012
Пользователь №: 9775



Товарищь KAZAH помогите и мне. По шаайдерам это делается очень просто и интуитивно квадратные скобки в ST. Пример %MD4784:=%MD0[%MW1689]. А как в моем случае?

Сообщение отредактировал AleksanderG - 17.07.2013 - 11:00
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
KAZAH
сообщение 17.07.2013 - 10:55
Сообщение #4


Маньяк
*****

Группа: Пользователи
Сообщений: 838
Регистрация: 27.07.2004
Из: Россия
Пользователь №: 48



а зохен вэй какие же вы ленивые.http://www.melsec.ru/forum/index.php?showtopic=4904


--------------------
Наши цели ясны, задачи определены. За работу, товарищи!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AleksanderG
сообщение 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 Спасибо.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AleksanderG
сообщение 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
KAZAH
сообщение 18.07.2013 - 20:04
Сообщение #7


Маньяк
*****

Группа: Пользователи
Сообщений: 838
Регистрация: 27.07.2004
Из: Россия
Пользователь №: 48



читайте мануалы


--------------------
Наши цели ясны, задачи определены. За работу, товарищи!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AleksanderG
сообщение 19.07.2013 - 09:37
Сообщение #8


Читатель
*

Группа: Пользователи
Сообщений: 18
Регистрация: 22.02.2012
Пользователь №: 9775



Спасибо за подсказку, только у меня не совсем тот случай. Значение в регистре Z уже определенно. Мне теперь необходимо переслать число DW например в какой либо D адресс которой будет определяться с учетом содержания в регистре Z. Для 16 разрядных чисел операции проходят, для 32 разрядных меня ругают (не тот тип переменной). Соответственно в первом случае использую MOV в другом DMOV.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
KAZAH
сообщение 20.07.2013 - 09:37
Сообщение #9


Маньяк
*****

Группа: Пользователи
Сообщений: 838
Регистрация: 27.07.2004
Из: Россия
Пользователь №: 48



вы почитайте с какими типами чисел работают команды которые вы используете.есть еще команды конвертации одного типа чисел в другие.поиграйтесь может что получится.


--------------------
Наши цели ясны, задачи определены. За работу, товарищи!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AleksanderG
сообщение 22.07.2013 - 09:19
Сообщение #10


Читатель
*

Группа: Пользователи
Сообщений: 18
Регистрация: 22.02.2012
Пользователь №: 9775



C конвертацией типа данных в моем случае не подойдет, ибо когда при инкременте числа больше чем 65535 опять-же тот-же самый DW. Так что и зохен вей не поможет. В дефеллопере я разочарован.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
m_by
сообщение 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AleksanderG
сообщение 22.07.2013 - 10:03
Сообщение #12


Читатель
*

Группа: Пользователи
Сообщений: 18
Регистрация: 22.02.2012
Пользователь №: 9775



Не так не прокатит. Мне ведь нужно дальше в программе обращаться к переменной с адрессом записанным в Z0. А тут непонятка адресс D70 или D71, ведь вы мне предлагаете вариант опять-же с W. Поэтому в цикле и будут игра между ними. А мне нужно двойное слово впихнуть в DW с четким индексированым адрессом в Z0.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
KAZAH
сообщение 22.07.2013 - 10:10
Сообщение #13


Маньяк
*****

Группа: Пользователи
Сообщений: 838
Регистрация: 27.07.2004
Из: Россия
Пользователь №: 48



вы странный дядька. пытаетесь 32 битное слово впихнуть в 16 битный регистр.можно было бы написать за вас код, НО вы не хотите читать книжки и думать. софтина тут не при чём.


--------------------
Наши цели ясны, задачи определены. За работу, товарищи!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AleksanderG
сообщение 22.07.2013 - 10:21
Сообщение #14


Читатель
*

Группа: Пользователи
Сообщений: 18
Регистрация: 22.02.2012
Пользователь №: 9775



Здравствуйте товарищ КAZAH. А вы сами попробуйте написать и откомпелировать той-же средой что и у меня. Получится у вас или нет, интересно. Код можете не выкладывать.

Сообщение отредактировал AleksanderG - 22.07.2013 - 10:21
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AleksanderG
сообщение 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

2 страниц V   1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 29.04.2024 - 04:58