Режим подчиненного¶
Чтобы обмениваться данными с подчиненным, мастер (например, ОРС-сервер) должен обращаться к его карте памяти. Карта памяти создается автоматически, во время компиляции проекта. Компилятор берет данные для карты из локальных переменных, расположенных в схемах проекта.
Для того, чтобы переменная попала в карту памяти, необходимо установить ей соответствующую опцию, указать тип доступа и адрес:
Если установлены права Чтение
, то эта переменная может только читаться функциями, зависящими от типа данных переменных.
Если установлены права Чтение/Запись
, то переменная может и писаться и читаться.
В Таблице приведены функции, 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-программы и и входящих в неё макросхем у которых установлено свойство “Сетевой доступ”:
В этом окне можно установить следующие параметры:
Адрес
- Modbus-адрес переменной. Адрес можно устанавливать как вручную, так и с помощью команды автонумерации. Если адреса переменных конфликтуют, то эти переменные будут выделены красным цветом;Тип данных
- тип данных используемой переменной;Доступ
- уровень доступа. Этот параметр можно изменить, то есть уровень доступа можно понизить, по отношению уровню, заданного в исходной переменной;Блокировка
- флаг, который блокирует автонумерацию адресов;Комментарий
- описание переменной.
При нажатии на кнопку Автонумерация производится автоматическая раздача адресов. Переменные, у которых установлен флаг блокировки, пропускаются. Раздача адресов производится с учетом типов данных переменных. Например 4-х байтовые переменные занимаю 2 регистра, соответственно адресация будет меняться с шагом 2.
В случае, если при редактировании программы некоторые макроблоки, содержащие сетевые переменные, будут удалены, ссылки на них в списке не пропадут, а будут помечены как невалидные (будут выделены желтым цветом). При проверки программы, при симуляции и программировании в устройство эти переменные не будут учитываться. Для удаления таких переменных необходимо нажать кнопку Очистить: