PDA

Просмотр полной версии : Работа с переменными Modbus Slave



rwg
21.09.2016, 00:38
Уважаемые коллеги! Меня терзают сомнения, подскажите, всё ли я правильно делаю.
В Слейве есть регистр хранения по адресу 01, которым я хочу управлять из Мастера. Я создаю в Мастере две переменных, ссылающихся на один и тот же регистр: GET01 для периодического чтения нужного регистра из слейва командой 03 и SET01 для записи в этот регистр командой 06. Нет ли способа не плодить количества переменных и поставить в соответствие регистру хранения слейва в мастере единственную переменную, чтобы в неё периодически считывалось содержимое регистра слейва командой 03, а при модификации её из мастера она записывалась в слейв командой 06? Кроме способа размещения двух переменных в одной и той же ячейке памяти.

Евгений Кислов
21.09.2016, 07:45
Нет ли способа не плодить количества переменных и поставить в соответствие регистру хранения слейва в мастере единственную переменную, чтобы в неё периодически считывалось содержимое регистра слейва командой 03, а при модификации её из мастера она записывалась в слейв командой 06

Ключевой вопрос - нужно ли менять значение регистра слэйва из программы СПК? Если да (а в большинстве случаев происходит именно так), то обойтись одной переменной при реализации обмена через конфигуратор CODESYS невозможно в принципе.

Если же нет, то вопрос к возможностям мастера. Например, в большинстве OPC-серверов можно создать тег типа read/write, который работает именно так, как вы хотите.