PDA

Просмотр полной версии : ModBus Slave



LSergm
22.02.2012, 21:34
Выделение масиива в области ModBus Slave.
Что делать если требуется выделить масив на 1000 байт.
Есть ли альтернатива вставке 2 байт данных в разделе PLC Configuration?
:confused:

capzap
22.02.2012, 21:48
SysMemCpy к примеру

LSergm
22.02.2012, 22:21
Может я что не понял, но если в PLC Configuration не ввести перечень переменных и обратится к ним по адресу. То ModBus вернет ошибку неправильный адрес.

Например в разделе ModBus Slave выделяется одна переменная 2 байта, в памяти она адресуется как регистр с адресом "0", вторая 2 байтная переменная с адресом регистра "2". При этом, если пытаешься записать в адрес 4, то модбас вернет ошибку адреса. Если мне к примеру нада записать по адресу 100 в переменные modbus slave. Это мне надо 50!!! 2 байтных переменных надо забить?

capzap
22.02.2012, 22:36
:) или флоат, это целых четыре байта

LSergm
22.02.2012, 22:40
Это я и сам понимаю, но проблему это не решает. Вместо 50, 25 переменных, а их не охота вводить. Я потому и спрашиваю скажем 100 байт одним махом можно выделить?

capzap
22.02.2012, 22:41
Я так понимаю Вы начинающий и Вам бессмысленно предлагать вариант использования разработанной самостоятельно библиотеки протокола модбас, где Вы будете вольны использовать данные прямо из массива не обращаясь к конфигуратору, так что Ваш вариант, это вносить в слейв устройство столько регистров сколько Вам требуется

LSergm
22.02.2012, 22:45
Мне надо TCP не Serial.:confused:

Gans
23.02.2012, 06:57
Мне надо TCP не Serial.:confused:
Здравствуйте LSergm.
На самом деле разницы для TCP и Serial нет:-) Смотри вложение.
P. S. Полностью согласен с Capzap, для новичка лучше все ввести руками в ПЛК-конфигурации.

capzap
23.02.2012, 08:59
Для ТСР все намного проще, берете библиотеку с сайта oscat.de http://oscat.de/downloadmanager/viewdownload/4-oscatnetwork/84-oscat-network-codesys-2x.html и разбираетесь, как устроен модбас сервер (т.е. слейв). С имеющимся примером можно и новичку разобраться

LSergm
23.02.2012, 09:18
Спасибо. Буду разбираться.:)

capzap
23.02.2012, 09:45
только не говорите что Вас не предупреждали, на разбирательство уйдет больше времени, чем на добавление пятидесяти регистров :)