|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
03.10.2014, 13:52 | #1 |
Senior Member
Регистрация: Jan 2013
Сообщения: 730
Благодарил(а): 22 раз(а)
Поблагодарили:
13 раз(а) в 12 сообщениях
|
Что такое "старая" и "новая" адресация карты памяти?
Это связано с версией ядра контроллера? Как это работает и по какому адресу памяти физически располагаются переменные при "новой" адресации, по тому что указан в таблице?
Вопрос возник из-за того что рабочий пример связи с панелью перестал работать (опрашивать входные регистры) до тех пор пока я не поставил галку "старой" адресации и не прописал в запросы получившиеся адреса. При этом регистры хранения сразу и писались и читались. |
03.10.2014, 14:36 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 085
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Что такое "старая" и "новая" адресация карты памяти?
Цитата:
Вы как обычно бывает с пользователями, поленились написать марку панели, желая максимально усложнить мне работу, но таким поведением особо грешат Винтеки. Что касается прямого ответа на ваш вопрос - он есть в справке. Нажмите кнопку "справка" в карте памяти. Там всё сразу написано, с картинками. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
06.10.2014, 12:22 | #3 |
Senior Member
Регистрация: Jan 2013
Сообщения: 730
Благодарил(а): 22 раз(а)
Поблагодарили:
13 раз(а) в 12 сообщениях
|
Ответ: Что такое "старая" и "новая" адресация карты памяти?
Я не написал марку панели, разумно предположив, что у вас её все равно нет. Впрочем ICPDAS TPD-433.
Что касается справки, то я её конечно предварительно изучил - картинки есть, правда, но на тему "как работает" понятно только со старой адресацией. Заданный адрес = физическому, указываю в команде, панель передает - и получает. А когда указываю по новой адресации, например адрес 0, собственно равный началу банка - ничего не выходит, причем для входных регистров только. Поскольку " В этом случае базовый адрес может быть любым (в том числе и одинаковым для всех банков) и не зависит от адреса в памяти (ОЗУ) контроллера", то я полагаю что нечто в ядре должно заниматься преобразованием адресов, ибо адрес переменной должен быть вполне конкретным, но в случае "не зависит" панель его не знает, а я тем более. Поскольку в моем примере панель начала обмен после указания физического адреса, то это означает что она передает его так как я указал, без преобразований. Следовательно все возможные преобразования в случае новой адресации происходят в контроллере и в отношении регистров хранения работают, а в отношении регистров ввода - нет, или как минимум не всегда. Несложно убедиться что в справке нет пояснений по механизму работы новой адресации, а ведь в справку лезут именно когда проблемы. Картинки - загляденье. |