PDA

Просмотр полной версии : Адресация регистров Modbus-RTU, ПЛК(Slave)



Лёша
24.08.2009, 13:16
Здравствуйте, скажу сразу я не очень хорошо подкован в области межсетевого обмена, может быть поэтому у
меня появился вопрос.
Мне не понятна адресация регистров при подключении ПЛК100 по протокол Modbus RTU (Slave).
Объясню на конкретном пример.Допустим есть ПЛК100(Slave)
и какое-то устройство (пусть будит панель оператора)-Mastr.Они общаются по протоколу Modbas-RTU.Я хочу передать
с панели дискретное значение (например состояние кнопки) и какое-нибудь аналоговое. Присваеваю дискретному
адрес регистра 1 (в десятичном формате), а аналоговому 40001.По каким адресам значения запишутся в ПЛК?

Kirill
24.08.2009, 15:13
Если у вас устройство - мастер, где и что вы ему присваиваете?
Вы можете в настройке вашего мастера указать, что необходимо прочитать и слэйва с таким-то адресом (т.е. из ПЛК) регистр с таким-то адресом. В этом регистре может быть как аналоговое число, так и набор дискретных. Т.е. в ПЛК ОВЕН области памяти не разделены на чтение-запись, на аналоговые-дискретные. Есть просто набор регистров, в которые вы кладете любую необходимую вам информацию. В модуле modbus slave эти регистры автоматически получают номера начиная с 0.

Лёша
24.08.2009, 15:20
В этом-то и проблема, в моем мастер устройстве чтение и запись дискретных значений и аналоговых разделены, т.е. чтобы записать бит в регистр я пользуюсь одной командой, а чтобы записать аналоговое значение то другой. Вот и получается что адреса совпадают, только команды разные. Например: RWB-0 (запись/чтение бита по адресу 0) и RW-0 (запись/чтение регистр по адресу 0).Как быть?

Дмитрий Артюховский
25.08.2009, 11:12
вы что-то путаете .. нету ничего подобного в Modbas ...

Лёша
25.08.2009, 11:20
Не знаю может быть чего-то не до понимаю, под мастером я подразумеваю сенсорную панель Delta DOP-B. В настройках связи стоит Modbus RTU Hex Adress (Master).

А по поводу того что токого нет в modbus см. приложение

Nik
25.08.2009, 17:49
Например: RWB-0 (запись/чтение бита по адресу 0) и RW-0 (запись/чтение регистр по адресу 0).Как быть?

Похоже на МЭК61107.
Про ModBus от Modicon;)

den9696
23.08.2012, 16:05
добрый день я бы хотел спросить как мне определить адрес перемменной bool в панеле сп270 я что то ни как не въеду... панель мастер плк 100 слейв при получении переменной на панеле должно открываться окно аварии

Николаев Андрей
23.08.2012, 23:03
Для начала рекомендую ознакомиться с Руководством пользователя на ПЛК. В частности с разделом посвященным ModBus Slave.

Адлан
24.12.2012, 22:34
OPC сервер опрашивает ПЛК через модуль Модбас Слейв. В этот модуль включен подмодулем Модбас Мастер, на котором "висит" частотник. С "точки зрения" OPC сервера переменные B1 и B2 будут иметь адреса 0 и 1. А по каким адресам следует обращаться к A1 и A2? Или так делать нельзя вообще?

Адлан
25.12.2012, 08:33
Эта возможность декларирована в п. 3.1.3.2 Руководства по конфигурированию области ввода/вывода ПЛК. Все-таки, не работает, или я неправильно понимаю?..

Гарчев Евгений
26.12.2012, 18:01
Программные модули слейв и мастер необходимо делать независимыми друг от друга в конфигурации ПЛК. Если необходимо передать считаные значения с какого-либо устройства (ПЛК - мастер) другому мастеру (ПЛК - слейв), то нужно добавить в программный модуль слейв необходимое кол-во переменных соответствующего типа и программно переприсвоить им переменные считанные с устройства.

Если создавать подэлемент Модбас Мастер в подэлементе Модбас Слейв, то при опросе слейва доступны будут только переменные "last address" и "last error".

Адлан
26.12.2012, 22:22
Программно присваивать значения - очевидно, не оригинально, и это ресурсы контроллера. Более того, если создать подэлемент Модбас Мастер в подэлементе Модбас Слейв, при опросе доступны и переменные слейва, и переменные мастера, только не все. То есть, вижу переменные типа output, но не вижу input. Хотелось бы увидеть мнение тех, кто знает, как это происходит.

Адлан
30.12.2012, 08:18
Те, что знают, молчат, как партизаны...:)

Гарчев Евгений
10.01.2013, 10:09
Более того, если создать подэлемент Модбас Мастер в подэлементе Модбас Слейв, при опросе доступны и переменные слейва, и переменные мастера, только не все. То есть, вижу переменные типа output, но не вижу input.

Действительно, output переменные опрашиваются, но в зависимости от того есть ли перед output переменными input переменные определенного типа (real либо dword), адресация регистров для output переменных будет смещена.
На текущих версиях прошивок ПЛК чтение input переменных при такой конфигурации вообще не поддержана.

Jakan
02.07.2019, 23:30
И чем закончилось это все? у меня сейчас такая же ситуация.

Филоненко Владислав
03.07.2019, 08:02
Все переменные надо просто делать output. В новой редакции ПЛК М02 именно так и сделано