Использование команды mov в контроллере fx2n Mitsubishi Electric, вопрос |
Здравствуйте, гость ( Вход | Регистрация )
Использование команды mov в контроллере fx2n Mitsubishi Electric, вопрос |
23.03.2005 - 17:48
Сообщение
#1
|
|
Читатель Группа: Пользователи Сообщений: 5 Регистрация: 23.03.2005 Пользователь №: 135 |
я знаю например, что могу с помощью команды: mov К1X0 d10, переместить состояние входов x0-x4 в регистр d10. Могу я это сделать через регистры в которых будут хранится начальный адрес и смещение. Если да, то как?
|
|
|
23.03.2005 - 18:05
Сообщение
#2
|
|
Писатель Группа: Пользователи Сообщений: 67 Регистрация: 15.07.2004 Из: Belarus Пользователь №: 45 |
Интуиция мне подсказывает, что надо копать в направлении индексных регистров, но как задать связку "номер входа"="индексный регистр" - не знаю.
Гуру - просветите. |
|
|
23.03.2005 - 18:15
Сообщение
#3
|
|
Гигант мысли Группа: Пользователи Сообщений: 377 Регистрация: 30.12.2004 Пользователь №: 108 |
Не совсем понятно задача сформулирована.
Уточните, пожалуйста. Но, наверняка- можно! -------------------- Делать надо сразу хорошо. Плохо само получится.
|
|
|
23.03.2005 - 21:28
Сообщение
#4
|
|
Читатель Группа: Пользователи Сообщений: 5 Регистрация: 23.03.2005 Пользователь №: 135 |
Sergei Troizky
Я боюсь не правильно выразиться, но попробую... В одном регистре хранится начальный адрес выхода. В другом - количество выходов. Мне надо состояния этих выходов записать в регистр(ы). |
|
|
24.03.2005 - 06:29
Сообщение
#5
|
|
Гигант мысли Группа: Пользователи Сообщений: 377 Регистрация: 30.12.2004 Пользователь №: 108 |
По сколько бит записывать в каждый регистр-получатель?
Какое максимальное количество бит должно обрабатываться? Возможно ли всегда задавать количество обрабатываемых бит кратным 4-м? Задача нетривиальна в части переменного количества бит. В чем смысл? Это чисто академическая задача, или для реального проекта? -------------------- Делать надо сразу хорошо. Плохо само получится.
|
|
|
24.03.2005 - 09:18
Сообщение
#6
|
|
Читатель Группа: Пользователи Сообщений: 5 Регистрация: 23.03.2005 Пользователь №: 135 |
Sergei Troizky
если количество бит кратно 4-м, то как? |
|
|
24.03.2005 - 18:46
Сообщение
#7
|
|
Гигант мысли Группа: Пользователи Сообщений: 377 Регистрация: 30.12.2004 Пользователь №: 108 |
А что по остальным вопросам?
-------------------- Делать надо сразу хорошо. Плохо само получится.
|
|
|
24.03.2005 - 23:00
Сообщение
#8
|
|
Читатель Группа: Пользователи Сообщений: 5 Регистрация: 23.03.2005 Пользователь №: 135 |
Sergei Troizky
В чем смысл? да вот хотелось реализовать обмен по протоколу modbus, функция 01: Запрос содержит адрес начального выхода и количество выходов для чтения. ответ - статус выходов в ответном сообщении передается как один выход на бит. Если возвращаемое количество выходов не кратно восьми, то оставшиеся биты в последнем байте сообщения будут установлены в 0. Счетчик байт содержит количество байт передаваемых в поле данных. Я хочу сделать хотя бы при фиксированном количество - 8 выходов. ---------------------------------------------------------------------------------------- Это чисто академическая задача, или для реального проекта? я надеюсь реальный проект, я вот только учусь много не понимаю ещё. |
|
|
25.03.2005 - 19:38
Сообщение
#9
|
|
Гигант мысли Группа: Пользователи Сообщений: 377 Регистрация: 30.12.2004 Пользователь №: 108 |
Напомню, что регистры в PLC 16-битные.
Нужно ли записывать лишь по 8 бит в регистр? -------------------- Делать надо сразу хорошо. Плохо само получится.
|
|
|
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 -------------------- Делать надо сразу хорошо. Плохо само получится.
|
|
|
Текстовая версия | Сейчас: 28.04.2024 - 02:26 |