IPB

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

 
Ответить в эту темуОткрыть новую тему
> Использование команды mov в контроллере fx2n Mitsubishi Electric, вопрос
adelina
сообщение 23.03.2005 - 17:48
Сообщение #1


Читатель
*

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



я знаю например, что могу с помощью команды: mov К1X0 d10, переместить состояние входов x0-x4 в регистр d10. Могу я это сделать через регистры в которых будут хранится начальный адрес и смещение. Если да, то как?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Ghoul Jedi
сообщение 23.03.2005 - 18:05
Сообщение #2


Писатель
**

Группа: Пользователи
Сообщений: 67
Регистрация: 15.07.2004
Из: Belarus
Пользователь №: 45



Интуиция мне подсказывает, что надо копать в направлении индексных регистров, но как задать связку "номер входа"="индексный регистр" - не знаю.
Гуру - просветите. huh.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Sergei Troizky
сообщение 23.03.2005 - 18:15
Сообщение #3


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

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



Не совсем понятно задача сформулирована.
Уточните, пожалуйста.
Но, наверняка- можно!


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


Читатель
*

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



Sergei Troizky

Я боюсь не правильно выразиться, но попробую...
В одном регистре хранится начальный адрес выхода.
В другом - количество выходов.

Мне надо состояния этих выходов записать в регистр(ы).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Sergei Troizky
сообщение 24.03.2005 - 06:29
Сообщение #5


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

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



По сколько бит записывать в каждый регистр-получатель?
Какое максимальное количество бит должно обрабатываться?
Возможно ли всегда задавать количество обрабатываемых бит кратным 4-м?

Задача нетривиальна в части переменного количества бит.
В чем смысл?
Это чисто академическая задача, или для реального проекта?


--------------------
Делать надо сразу хорошо. Плохо само получится.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
adelina
сообщение 24.03.2005 - 09:18
Сообщение #6


Читатель
*

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



Sergei Troizky
если количество бит кратно 4-м, то как?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Sergei Troizky
сообщение 24.03.2005 - 18:46
Сообщение #7


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

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



А что по остальным вопросам?


--------------------
Делать надо сразу хорошо. Плохо само получится.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
adelina
сообщение 24.03.2005 - 23:00
Сообщение #8


Читатель
*

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



Sergei Troizky
В чем смысл?
да вот хотелось реализовать обмен по протоколу modbus,
функция 01: Запрос содержит адрес начального выхода и количество выходов для чтения.
ответ - статус выходов в ответном сообщении передается как один выход на бит.
Если возвращаемое количество выходов не кратно восьми, то оставшиеся биты в последнем байте сообщения будут установлены в 0. Счетчик байт содержит количество байт передаваемых в поле данных.

Я хочу сделать хотя бы при фиксированном количество - 8 выходов.
----------------------------------------------------------------------------------------
Это чисто академическая задача, или для реального проекта?

я надеюсь реальный проект, я вот только учусь много не понимаю ещё.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Sergei Troizky
сообщение 25.03.2005 - 19:38
Сообщение #9


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

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



Напомню, что регистры в PLC 16-битные.
Нужно ли записывать лишь по 8 бит в регистр?


--------------------
Делать надо сразу хорошо. Плохо само получится.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Sergei Troizky
сообщение 25.03.2005 - 20:25
Сообщение #10


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

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



Вот вариант с записью по 8 бит в регистр, с целым количеством байт.
D102- количество байт (не бит!),
D100- номер первого из записываемых выходов. Он не может содержать цифры 8 и 9, так как выходы нумеруются в восьмеричной системе.
Выходы копируются по 8 в регистры начиная с D500, все за один скан.
Задавая количество байт нужно учитывать, что массив регистров для записи не должен выйти за количество существующих в PLC регистров.

LD M8000
RST D104
P10
LD M8000
MUL D104 K8 Z
ADD Z D100 Z
MOV D104 V
MOV K2Y0Z D500V
INC D104
AND< D104 D102
CJ P10


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

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

 



- Текстовая версия Сейчас: 28.04.2024 - 02:26