PDA

Просмотр полной версии : ПЛК160+ИП320 - адрес регистров Modbus



vladimir_prg
09.06.2012, 11:34
К сожалению, не все освещается в овеновской документации. Возник такой важный вопрос:
При задании адресов регистров (ПЛК master, панель slave) в панели, адрес регистра состоит из двух частей 4х(для регистра) и 0х(для битовых) и собственно задаваемого адреса. Вопрос в том, что означают префиксы 4х(3х) и 0х(1х) - и как они влияют на формирование конечного адреса регистра, который должен будет введен в конфигураторе ПЛК в CodeSys в параметре модуля Register Input/Output Module как Register Address?

capzap
09.06.2012, 11:57
а при чем тут овеновская документация, прочтите доки по модбас, и всё встанет на свои места, область памяти 4х читается третьей функцией, 0х читается первой функцией

vladimir_prg
09.06.2012, 12:15
а при чем тут овеновская документация, прочтите доки по модбас, и всё встанет на свои места, область памяти 4х читается третьей функцией, 0х читается первой функцией

Спасибо capzap, подзабыл про modbus. Прочел доки, освежил память, все стало на свои места.

Вопрос остается такой: физически области памяти 0х, 4х в панели не перекрываются? То есть адреса к примеру 0х0 и 4х0 - это разные ячейки памяти?

capzap
09.06.2012, 12:26
общая должна быть

vladimir_prg
09.06.2012, 15:30
общая должна быть

По всей видимости не просто должна, но и обязана.

Как указал Илья Кареткин (http://www.owen.ru/forum/showthread.php?t=6805) для панели ИП320 для чтения/записи области 0х используются команды: 1 - чтение, 5 - запись.

Но Universal Modbus Device в ПЛК для бит поддерживает только команду 15.

То есть для записи в алармы и индикаторы панели нам придется пользоваться регистрами и командой 16.

А может все таки панелька поддерживает команду 15? Кто-нибудь на практике проверял?

capzap
09.06.2012, 15:59
ну как бы я на панельке все биты собирал в один регистр и с плк читал именно регистр, а читать по отдельности биты мне кажется не рационально

vladimir_prg
09.06.2012, 16:20
ну как бы я на панельке все биты собирал в один регистр и с плк читал именно регистр, а читать по отдельности биты мне кажется не рационально

Команда 15 как раз не по отдельности читает а группой, просто удобно в ПЛК 8 bit module сразу разбивает переменную по битам. Мелочь, но все же.

" все биты собирал в один регистр и с плк читал именно регистр" - то есть убедит.док-во, что память общая. Мне просто программку нужно написать до того как панелька и ПЛК в руках появится, поэтому просто проверить нет возможности.

vladimir_prg
09.06.2012, 16:21
пардон команда 15 не читает, а записывает, опечатался.