IPB

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

 
Ответить в эту темуОткрыть новую тему
> индексные регистры, и вновь чайник
adelina
сообщение 15.04.2005 - 23:30
Сообщение #1


Читатель
*

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



Я в общем понимаю зачем они нужны, и в руководстве программирования написаны простые примеры. Не могли бы привести более сложные примеры и объяснить как выполняются действия. Хотя бы mov k4x0z d500v объясните. Я просто не совсем понимаю. За ранее спасибо.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Sergei Troizky
сообщение 21.04.2005 - 07:15
Сообщение #2


Гигант мысли
****

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



Значение указанного индексного регистра складывается с явно указанным числом и образует реальный номер устройства для инструкции.
Сложение алгебраическое (с учетом знаков).
Образовавшийся в результате индексирования адрес не должен выходить за пределы реально существующих в PLC устройств.
В примере K4X0Z может означать K4X12, если в данный момент Z=12, так как 0+12=12.
D500V может означать D500 при V=0, или D550 при V=50, или D400 при V=-100, и т.д.
Индексировать можно даже константы в арифметических и логических вычислениях.
В качестве индексных, регистры V и Z используются индивидуально, как 16-битные.
Однако, будучи полноценными арифметическими регистрами , они должны принимать 32-битные результаты определенных инструкций.
В этом случае в инструкции указывается Z, а V содержит старшие 16 бит.
Типичные применения индексных регистров:
- Использование в циклах в качестве изменяемого параметра.
- Работы с массивами данных, включая таблицы, FIFO/LIFO стеки и сдвиговые регистры (взамен физического сдвига информации в регистрах, занимающего много времени при больших объемах).
- Сканирование устройств.

В контроллерах Mitsubishi индексировать можно только адреса целых слов, но не битов.
Но есть программные трюки, позволяющие обойти это ограничение.
Например, взамен запрещенного имени контакта X0Z, можно произвести операцию MOV K1X0Z K1M100, и состояние бита М100 станет эквивалентом X0Z.

Если есть вопросы, спрашивайте.
Обещаю ответить.

Сообщение отредактировал Sergei Troizky - 21.10.2006 - 23:14


--------------------
Делать надо сразу хорошо. Плохо само получится.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
hamsa
сообщение 19.10.2006 - 21:42
Сообщение #3


Читатель
*

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



Цитата(adelina @ 16.04.2005 - 00:30) *

Я в общем понимаю зачем они нужны, и в руководстве программирования написаны простые примеры. Не могли бы привести более сложные примеры и объяснить как выполняются действия. Хотя бы mov k4x0z d500v объясните. Я просто не совсем понимаю. За ранее спасибо.

СРОЧНО !!!
Здравствуйте.
Нас интересует программирование контроллеров типа FX Mitsubishi.
Конкретная задача заключается в грамотном компилировании и исправление ошибок существующей программы написанной на IL (инстракшн лист).
Если Вас заинтересовала эта робота свяжитесь с нами.
С уважением, Станислав.

Сообщение отредактировал Вячеслав Прунцев - 20.10.2006 - 09:44
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

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

 



- Текстовая версия Сейчас: 27.04.2024 - 14:38