Режим подчиненного

Чтобы обмениваться данными с подчиненным, мастер (например, ОРС-сервер) должен обращаться к его карте памяти. Карта памяти создается автоматически, во время компиляции проекта. Компилятор берет данные для карты из локальных переменных, расположенных в схемах проекта.

Для того, чтобы переменная попала в карту памяти, необходимо установить ей соответствующую опцию, указать тип доступа и адрес:

_images/variable_property.png

Если установлены права Чтение, то эта переменная может только читаться функциями, зависящими от типа данных переменных.

Если установлены права Чтение/Запись, то переменная может и писаться и читаться.

В Таблице приведены функции, Modbus по которым происходит доступ к переменным в зависимости от их типа:

Тип данных Чтение Запись
Логический

Read Coil Read

Discrete Inputs

Write Single Coil

Write Multiple Coils

Числовой

Read Holding Registers

Read Input Registers

Write Single Register

Write Multiple registers

Установка адресов для переменных производится в окне редактирования списка сетевых переменных. Этот список генерируется автоматически для контроллера. В него входят все локальные переменные основной FBD-программы и и входящих в неё макросхем у которых установлено свойство “Сетевой доступ”:

_images/Modbus2.png

В этом окне можно установить следующие параметры:

  • Адрес - Modbus-адрес переменной. Адрес можно устанавливать как вручную, так и с помощью команды автонумерации. Если адреса переменных конфликтуют, то эти переменные будут выделены красным цветом;
  • Тип данных - тип данных используемой переменной;
  • Доступ - уровень доступа. Этот параметр можно изменить, то есть уровень доступа можно понизить, по отношению уровню, заданного в исходной переменной;
  • Блокировка - флаг, который блокирует автонумерацию адресов;
  • Комментарий - описание переменной.

При нажатии на кнопку Автонумерация производится автоматическая раздача адресов. Переменные, у которых установлен флаг блокировки, пропускаются. Раздача адресов производится с учетом типов данных переменных. Например 4-х байтовые переменные занимаю 2 регистра, соответственно адресация будет меняться с шагом 2.

В случае, если при редактировании программы некоторые макроблоки, содержащие сетевые переменные, будут удалены, ссылки на них в списке не пропадут, а будут помечены как невалидные (будут выделены желтым цветом). При проверки программы, при симуляции и программировании в устройство эти переменные не будут учитываться. Для удаления таких переменных необходимо нажать кнопку Очистить:

_images/Modbus3.png