Карта памяти |
Top Previous Next |
При обращении к слейву устройство-мастер должно знать, в какой области памяти этого "слейва" находится переменная, которую необходимо прочитать или записать. Поэтому, при настройке, мастеру необходимо сообщить, по какому адресу в слейве данная переменная находится. Источником таких данных в Modbus является карта памяти, документ, который описывает адреса и типы переменных слейва. Организация памяти Память контроллера разделена на 4 банка.
Названия соответствуют названиям банков памяти в протоколе Modbus. В памяти контроллера каждый банк занимает свою область и не пересекается с другим банком. Базовый адрес - адрес начала банка. Существуют 2 типа адресации:
В этом случае базовый адрес совпадает с адресом в памяти (ОЗУ) контроллера и не может быть изменён.
Важно. При адресации такого типа размер банков фиксированный, т.е. не зависит от количества переменных.
В этом случае базовый адрес может быть любым (в том числе и одинаковым для всех банков) и не зависит от адреса в памяти (ОЗУ) контроллера. Важно. При адресации такого типа размер банков зависит только от количества переменных. Таким образом экономится память контроллера.
Создание карты памяти Создать карту памяти можно двумя способами: 1. Используя диалог Сетевые переменные 2. В текстовом виде
Диалог предназначен для настройки свойств Modbus переменных. Вызвать диалог можно через главное меню Опции > Переменные MODBUS или по комбинации клавиш CTRL+M.
![]() Рис.1 - Диалог "Переменные" 1. Банк памяти. Название банка памяти. 2. Фиксация банка. Управляет фиксацией всех переменных банка. 3. Базовый адрес. Базовый адрес банка памяти. Изменить базовый адрес можно только при наличии в банке нефиксированных переменных и снятом флаге Старая карта. При изменении базового адреса, все нефиксированные переменные меняют свои адреса и занимают все свободные значения после базового.
Нельзя задать базовый адрес больше минимального фиксированного.
Если переменные одного типа все фиксированы, базовый адрес всегда будет равен минимальному.
4. Размер банка памяти. При адресации "старого" типа размер банков фиксированный. адресаци "нового" типа размер банков зависит только от количества используемых переменных. 5. > При двойном клике рабочее поле перемещается к блоку выбранной переменной. 6. Имя. Имя блока-переменной, может редактироваться 7. Тип. Тип переменной (bool, integer, float, long), определяется типом входы/выхода FBD блока, к которому она (переменная) подключена. 8. Фиксация. Управление фиксацией адреса переменной. Функция доступна только если не установлен флаг Старая карта. Если фиксация включена, то
Если фиксация выключена, то адрес можно изменить, нажав кнопку Пересчитать. Если у переменной установлена фиксация, то на ее изображении появляется галка как показано на рисунке
9. Адрес. Адрес для запроса переменной по протоколу Modbus. Поле может быть изменено, если переменная фиксированная и снят флаг Старая карта.
10. Формат адреса. Формат, в котором выводится адрес переменных в списке. Также в этом формате происходит ввод и изменение адресов. hex - шестнадцатеричный dec - десятичный
11. Пересчитать. Предназначена для перераспределения адресов не фиксированных переменных. Все не фиксированные переменные меняют свои адреса и занимают свободные места после базовый адрес.
12. Сохранить. Сохраняет карту запросов в отдельный файл, который можно использовать для добавления слейва в контроллер-мастер или OPC-сервера для SCADA-систем. 13. Справка. 14. Флаг "Старая карта". Переключение между адресацией "нового" и "старого" типа. Если флаг установлен, то
При установке этого флага адреса присваиваются начиная от базовых значений принятых для устаревших версий ядра.
Создание карты памяти в текстовом виде Файл карты памяти имеет расширение .map, аналогичное .txt или .log, и его можно просмотреть и отредактировать в любом текстовом редакторе, например в "Блокноте" Microsoft. Ниже представлен пример файла карты памяти:
См. также: |