Для настройки устройства выполните двойной клик ЛКМ по элементу Устройство в дереве проекта, либо воспользуйтесь контекстным меню Устройства: выберите пункт Открыть или Открыть справа. Откроется вкладка с настройками, которая состоит из дерева настройки устройства и рабочей области:

Наполнение Дерева настройки устройства зависит от устройства.
С помощью контекстного меню элемента Устройство в Дереве проекта можно выполнить ряд действий:

Установить соединение — установка соединения с устройством;
Настройки соединения — настройка параметров соединения;
Загрузить приложение — импорт приложения на устройство;
Выгрузить приложение — экспорт приложения с устройства;
Открыть — открытие окна настроек устройства;
Открыть справа — открытые окна настроек устройства в рабочей области справа;
Переименовать — переименование устройства.
Настройка входов/выходов устройства
Откройте окно Настройки устройства с помощью двойного клика ЛКМ на элемент Устройство в дереве проекта, или контекстного меню элемента Устройство — выберите пункт Открыть или Открыть справа. В Дереве настройки устройства входы/выходы сгруппированы по типам:

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

После выбора конфигурации в рабочей области отобразятся основные настройки входов/выходов для данной конфигурации:

Если для входа/выхода предусмотрена настройка режима, то рядом
с названием входа/выхода отображается название режима и треугольный
маркер
, при нажатии
на который откроются доступные для выбора режимы:

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

Параметры, доступные для ввода:
Значение/Переменная — введите значение или привяжите переменную к параметру. При привязке переменной доступно автодополнение;
Комментарий — пользовательский комментарий.
Параметры, заполненные автоматически и недоступные для редактирования:
Параметр — наименование параметра;
Тип доступа — чтение/запись;
Тип данных — тип данных параметра;
Значение по умолчанию — значение по умолчанию;
Макс. значение — максимальное значение параметра;
Мин. значение — минимальное значение параметра.
Подключение устройства к ПК
Подключите устройство к ПК одним из доступных способов, указанных в Руководстве по эксплуатации прибора.
Подключение к ALTA IDE доступно по интерфейсам:
USB;
Ethernet.
Для работы в операционной системе Windows следует установить драйвер RNDIS. Драйвер доступен в WEB-конфигураторе на странице Загрузки или на сайте www.owen.ru.
Настройка соединения
При первом подключении устройства необходимо настроить соединение с прибором. Для этого:
Выберите:
Главное меню → Онлайн → Настройки соединения;
или нажмите Настройки соединения в контекстном меню устройства.

Окно Настройки соединения
ПримечаниеПредустановленные заводские настройки указаны в Руководстве по эксплуатации прибора. Изменение настроек доступно в web-конфигураторе.Введите данные:
Логин;
Пароль;
IP-адрес;
Порт.
Нажмите Установить соединение.
Если данные введены корректно, то соединение будет установлено, появится всплывающее сообщение об успешной установке соединения, в окне отобразится информация о подключенном устройстве и работе приложения:

В противном случае (значение отсутствует, либо введен неверный формат) поле ввода будет выделено красным, при наведении курсора мыши появится подсказка, содержащая информацию об ошибке. В правом нижнем углу рабочей области отобразится уведомление об ошибке:

Включите автозапуск приложения на устройстве, если необходимо автоматически запускать исполняемое приложение при включении устройства (например после перезагрузки). Для этого переведите выключатель Автозапуск в положение включено.

После сохранения проекта настройки соединения сохранятся, и повторный ввод не потребуется.
В случае потери соединения с устройством отобразится уведомление:

Включение и отключение соединения с прибором
В проекте с ранее введенными настройками подключения установить соединение с подключенным устройством можно одним из следующих способов:
нажатием кнопки Установить соединение
на панели инструментов;через контекстное меню элемента Устройство, выбрав пункт Установить соединение;
с помощью Главное меню → Онлайн → Установить соединение.
Разорвать соединение с устройством можно с помощью:
кнопки
расположенной на панели инструментов;контекстного меню элемента Устройство, выбрав пункт Разорвать соединение;
Главное меню → Онлайн → Разорвать соединение;
кнопки Разорвать соединение в окне Настройки соединения.
В дереве проекта и строке состояния отображается статус подключенного устройства:
Отображение статуса устройства в ALTA IDE
| Дерево проекта | Строка состояния | Статус |
|---|---|---|
![]() | ![]() | Не подключено |
![]() | ![]() | Установка соединения |
![]() | ![]() | Соединение установлено |
![]() | ![]() | Ошибка соединения |
Запись приложения в прибор
Для записи приложения в прибор необходимо убедиться, что:
устройство подключено к ПК;
соединение установлено.
Записать приложение можно одним из способов:
с помощью кнопки
на панели инструментов;через контекстное меню элемента Устройство в Дереве проекта;
Главное меню → Онлайн → Загрузить приложение.
Перед загрузкой автоматически будет выполнена сборка проекта, в случае отсутствия ошибок
начнется загрузка приложения в прибор, кнопка перейдет в статус загрузки
. Также процесс загрузки
отобразится в строке состояния:

Созданное приложение записывается в ПЗУ прибора.
После окончания загрузки отобразится уведомление об успешной загрузке приложения.
Возможные ошибки при загрузке приложения
потеря связи с устройством;
файл приложения превышает допустимый размер (максимальный размер исполняемого приложения зависит от доступной памяти в устройстве).
При возникновении ошибки появится всплывающее сообщение с информацией, загрузка приложения будет остановлена.
Процесс загрузки приложения в прибор можно остановить одним из следующих способов:
нажмите кнопку
на панели инструментов;нажмите на значок
на шкале загрузки приложения, расположенной в строке состояния
главного окна ALTA IDE.
Режим онлайн и отладка программы
Режим онлайн служит для мониторинга работы программы с реальными значениями со входов прибора. В режиме онлайн можно устанавливать значения переменных, задавать фиксированные значения на входы и выходы прибора. С помощью установки точек останова можно определять место в программе на котором будет остановлено выполнение и после остановки выполнять код по шагам. В режим онлайн можно перейти только при подключенном приборе и после записи приложения в устройство. Выполнение приложения должно быть запущено.
В режиме онлайн внесение изменений в проект невозможно.
Переход в режим онлайн
Для запуска режима онлайн:
Запустите выполнение приложения кнопкой
на панели инструментов.Нажмите кнопку перехода в режим онлайн
.
станет зеленого цвета, на панели инструментов
появится панель отладки. В дереве проекта отобразятся иконки, обозначающие статусы задач:![]() | Задача выполняется | Выполнение задачи в режиме онлайн |
![]() | Пауза в выполнении задачи | При выполнении задачи привязанная программа достигла точки останова, требуется действие пользователя для продолжения выполнения программы |
![]() | Активная задача | Указывает на задачу в дереве проекта, а также на строку в программном коде, выполняющуюся в данный момент |
Возможные ошибки при переходе в онлайн
В случае, если приложение загруженное в устройство не совпадает с запущенным приложением, отобразится информационное окно:
Загрузите актуальное приложение на устройство и выполните запуск режима онлайн повторно.
Если к устройству одновременно подключены несколько пользователей, и устройство уже находится в режиме онлайн, то переход выполнен не будет:

Для выхода из режима онлайн, например, чтобы внести корректировки
в программу, нажмите кнопку
на панели инструментов.
Редактор ST в режиме онлайн. Отладка программы
При переходе в режим онлайн интерфейс вкладки редактора ST приобретает ряд отличительных особенностей, а в рабочей области отображаются элементы, доступные только в режиме онлайн:

Ввод и фиксация значения переменной
Для ввода значения переменной дважды нажмите ЛКМ в одном из следующих элементов интерфейса:
в коде программы в окне просмотра, предназначенном для ввода значения переменной;
в таблице локальных переменных в столбце "Подготовленное значение";
в Листе просмотра, расположенном в окне вывода, в столбце "Подготовленное значение".

Введите необходимое значение и нажмите:
Подготовить - переменная будет подготовлена для последующей записи:

Отображение подготовленного значения переменной в коде программы Записать — введенное значение будет записано. Также с помощью кнопки Записать можно записать ранее подготовленное значение переменной.
Установите чекбокс Фиксировать значение если необходима фиксация значения переменной. Зафиксированное значение переопределяет текущее значение переменной, переменная сохраняет свое значение на границах цикла: до начала выполнения программы и после.
Фиксированное значение можно как подготовить так и записать:
- При последующей записи подготовленное фиксированное значение также запишется с фиксацией;

Отображение зафиксированного подготовленного значения переменной в коде программы 
Отображение зафиксированного значения в коде программы
Если ввести недопустимое значение переменной строка ввода будет выделена красным, отобразится информационное сообщение об ошибке.
Чтобы закрыть окно ввода переменной нажмите Esc или ЛКМ в любой области вне окна.
Чтобы очистить подготовленное значение или снять фиксацию переменной воспользуйтесь контекстным меню переменной:

Записать все подготовленные значения переменной можно:
с помощью кнопки
на панели отладки;Главное меню → Отладка → Записать все значения.
Снять фиксацию значений у всех переменных в проекте:
с помощью кнопки
на панели отладки;Главное меню → Отладка → Снять фиксацию у всех переменных.
Точки останова
Точки останова задаются для остановки выполнения программы на определенной строке. При достижении точки останова приложение будет автоматически останавливаться. Это позволяет, например, выполнять программные блоки по шагам, или определять какие значения имеют переменные проекта в момент выполнения определенных условий. Точки останова обозначаются слева от нумерации строк программного кода:

Установить точку останова можно одним из следующих способов:
наведите курсор мыши на маркер возможного места установки
слева от программного
кода и нажмите ЛКМ;нажмите кнопку
на панели отладки — все точки останова в программе будут установлены;откройте контекстное меню Точки останова слева от программного кода или в Окне вывода и выберите Установить точку останова.
Удалить включенные или отключенные точки останова можно одним из следующих способов:
наведите курсор мыши на точку останова слева от программного кода и нажмите ЛКМ;
нажмите на кнопку
на панели отладки — все точки останова в программе будут удалены;откройте контекстное меню Точки останова слева от программного кода или в Окне вывода и выберите Удалить точку останова.
Отключить установленные точки останова можно одним из следующих способов:
нажмите на кнопку
на панели отладки — все точки останова в программе будут отключены;откройте контекстное меню Точки останова слева от программного кода или в Окне вывода и выберите Отключить точку останова.
Для просмотра всех точек останова в программе перейдите во вкладку Точки останова в Окне вывода:

Пошаговая отладка
Когда выполнение программы остановлено в определенной точке, можно просмотреть значения переменных проекта в данный момент времени. Выполняя проект в пошаговом режиме есть возможность проверить логическую корректность программы.
Чтобы перейти к месту остановки выполнения программного кода:
нажмите кнопку
на панели отладки;или Главное меню → Отладка → Перейти к месту остановки.
Для возобновления выполнения приложения после остановки нажмите кнопку
на
панели отладки, или используйте команды для пошагового выполнения
программы расположенные на панели отладки, либо в Главном меню
→ Отладка:
![]() | Шаг внутрь | Выполнение текущей строки кода. Если в строчке вызывается программный блок, заходит внутрь программного блока. |
![]() | Шаг наружу | Продолжает выполнение всего кода текущего программного блока и возврат к строчке кода, откуда произошел переход внутрь программного блока |
![]() | Шаг поверх | Выполнение текущей строки кода. Если в строчке вызывается программный блок, то код программного блока выполняется полностью, без захода внутрь |
Таблица локальных переменных
Переменные проекта отображаются в таблице переменных, которая доступна для просмотра только в режиме онлайн:

Каждому программному компоненту соответствует своя таблица переменных. Каждая переменная отображается в таблице в порядке объявления, в единственном экземпляре, вне зависимости от количества мест использования в программе.
Таблица переменных содержит:
Имя — имя переменной в коде программы;
Тип данных — один из типов: BYTE, WORD, DWORD, INT, DINT, REAL, STRING80, STRING21. См. подробнее раздел Типы переменных
Значение — текущее значение переменной. Значение может быть фиксированным, в этом случае переменная сохраняет свое значение на границах цикла. В случае отсутствия фиксации переменная будет принимать значение полученное в ходе выполнения программы;
Подготовленное значение — значение, которое будет присвоено переменной после команды записи переменной.
Чтобы задать значение переменной дважды нажмите ЛКМ в столбце подготовленное значение. Откроется окно ввода данных. Подробно работа в окне ввода данных описана в разделе Редактор ST в режиме онлайн. Отладка программы.
Отображение вложенных переменных
Переменные
типа структур и массивов и другие составные типы (родительские
переменные), которые содержат вложенные данные (дочерние переменные)
, отображаются в таблице переменных с маркером вложенности перед именем: 
Родительская переменная — это переменная составного типа, включающая в себя другие переменные.
Дочерние переменные — это отдельные элементы, входящие в состав родительской переменной, например поля структуры или элементы массива.
Чтобы развернуть отображение дочерних переменных нажмите
на значок
, в таблице
отобразятся вложенные переменные, которые также могут содержать дочерние
переменные.
Контекстное меню переменной
Чтобы открыть контекстное меню переменной нажмите ПКМ на любую ячейку в таблице переменных:

Добавить в лист - добавление переменной в выбранный лист просмотра переменных.
Снять фиксацию - освобождение значения переменной от фиксации.
Очистить подготовленное значение - удаляет подготовленное значение переменной.
Листы просмотра переменных
Листы просмотра переменных доступны только в режиме онлайн, отображаются в окне вывода и содержат созданные пользователем списки переменных для наблюдения за их значениями. Переменные, располагающиеся в одном листе просмотра, могут быть объявлены в разных программных объектах проекта.
Чтобы создать лист просмотра нажмите кнопку Добавить лист
, расположенную
на тулбаре окна вывода.
Для добавления переменной в лист просмотра воспользуйтесь контекстным меню значения переменной:
в коде программы в окне просмотра, предназначенном для введения значения переменной;
в таблице локальных переменных;
в Листе просмотра, расположенном в окне вывода.

Выберите пункт Добавить в лист и в выпадающем меню выберите лист - переменная будет добавлена в список, расположенный в этом листе.
Родительские переменные добавляются в лист просмотра переменных вместе с вложенными элементами (дочерними переменными).
Если в лист просмотра переменных добавить только дочернюю переменную, то родительская переменная при этом не будет добавлена. Однако к имени такой переменной автоматически будет добавлен префикс с именем родительской переменной.
Пример
Для структуры Device.Status дочерняя переменная ErrorCode будет отображена как Device.Status.ErrorCode.
Чтобы задать значение переменной дважды нажмите ЛКМ в столбце подготовленное значение. Откроется окно ввода данных. Подробно работа в окне ввода данных описана в разделе Редактор ST в режиме онлайн. Отладка программы.
Modbus
Modbus – открытый коммуникационный протокол, основанный на архитектуре Master-Slave (ведущий-ведомый).
Master (ведущее устройство) - является инициатором обмена и может считывать и записывать данные в slave-устройства.
Slave (подчиненное устройство) - отвечает на запросы master-устройства, но не может самостоятельно инициировать обмен.
В ALTA IDE используются две основные реализации протокола:
Modbus Serial для передачи данных с использованием последовательных интерфейсов (самый распространенный RS-485). Имеет два режима передачи данных:
Modbus RTU - передача данных в бинарном виде;
Modbus ASCII - передача данных в виде ASCII символов;
Modbus TCP для передачи данных через сети TCP/IP (чаще всего используется Ethernet).
Устройства в режиме Slave определяют протокол в зависимости от выбранного интерфейса: UART или TCP. Для устройств в режиме Master необходимо выбрать протокол при добавлении.
Для организации обмена данными в сети через интерфейс связи необходимо устройство в режиме Master для инициации обмена данными.
В случае использования протокола Modbus Serial в сети может присутствовать только одно master-устройство и несколько slave-устройств. В ALTA IDE Slave-устройства не поддерживают широковещательную рассылку.
В сети Modbus TCP на один IP-порт можно подключить до 255 опрашиваемых устройств. Кроме того, устройство может одновременно выполнять функции master и slave.
Запрос master-устройства к slave-устройству содержит:
Slave ID — адрес slave-устройства;
Код функции — применяемый к slave-устройству;
Данные – адрес первого регистра и их количество (в случае записи – также записываемые значения).
Контрольную сумму — для проверки целостности доставленного пакета.
Ответ slave-устройства имеет схожую структуру.
Запрос master-устройства представляет собой обращение к одной из областей памяти slave-устройства с помощью определенной функции. Область памяти характеризуется типом хранящихся в ней значений (биты/регистры) и типом доступа (только чтение или чтение и запись).
Спецификация Modbus определяет следующие варианты размещения данных в памяти slave-устройств:
независимые области памяти;
общая область памяти.
В ALTA IDE поддержан вариант с общей областью памяти: к одним и тем же данным можно получить доступ с помощью нескольких функций Modbus.
Для конфигурируемых устройств производитель предоставляет карту регистров, в которой содержится информация об адресах и типах параметров устройства. Для программируемых устройств пользователь формирует такую карту самостоятельно с помощью среды разработки. Существуют устройства, в которых сочетаются оба рассмотренных случая – у карты регистров есть фиксированная часть, которую можно дополнить в соответствии со своей задачей (но адреса ячеек не должны пересекаться).
Функция определяет операцию (чтение/запись) и область памяти, с которой эта операция будет произведена. Ниже приведен список наиболее часто используемых функций:
Основные функции протокола Modbus
| Код функции | Имя функции | Выполняемая команда |
|---|---|---|
3 (0х03) | Read Holding Registers | Чтение значений из регистров хранения |
4 (0х04) | Read Input Registers | Чтение значений из регистров ввода |
6 (0х06) | Write Single Register | Запись значения в один регистр хранения |
16 (0х10) | Write Multiple Registers | Запись значений в несколько регистров хранения |
Настройка обмена по протоколу Modbus в ALTA IDE представлена на схеме ниже:

Modbus Serial/TCP
Ниже приведены общие разделы, описывающие работу с протоколами Modbus Serial и Modbus TCP.
Работа по протоколам Modbus Serial и Modbus TCP во многом схожа и отличается лишь незначительными особенностями, поэтому в руководстве они описываются в рамках общих разделов. Дальнейшие инструкции применимы одновременно к Modbus Serial и Modbus TCP, за исключением случаев, отмеченных как специфичные для одного протокола.
Modbus Serial/TCP Master
Для добавления устройства в режиме Master:
Выберите Добавить Modbus Master TCP/Добавить Modbus Serial Master в контекстном меню системной папки Коммуникации в дереве проекта:
Добавленное устройство по умолчанию имеет имя modbusmaster*_1 (имя зависит от выбранного протокола). Каждому последующему устройству будет присваиваться следующий порядковый номер. Переименование доступно в момент создания, либо через контекстное меню компонента. При задании устройству имени следует учитывать правила именования языка ST, и убедиться, что выбранное имя не дублирует название других компонентов в дереве проекта - создание компонентов с одинаковыми именами не допускается.
Добавление Modbus Master После добавления Modbus Master устройство появится в дереве проекта, как ответвление системной папки:

Modbus Master в дереве проекта Откройте вкладку редактора Modbus Master:
двойным кликом ЛКМ на элемент Modbus Master в дереве проекта;
выберите пункт Открыть в контекстном меню элемента Modbus Master в дереве проекта.
Настройте параметры соединения во вкладке редактора Modbus Master:

Настройка параметров соединения Состояние протокола — определяет режим работы Master-устройства при запуске приложения. В зависимости от положения переключателя отправляет/не отправляет запросы к slave-устройствам;
Таймаут, мс — время ожидания ответа от slave-устройства, допустимый диапазон от 20 до 6000 мс. Значение, введенное здесь, будет по умолчанию использоваться для всех slave-устройств, если в редакторе Modbus Slave Device не введены индивидуальные значения данного параметра;
Количество попыток — число повторных попыток установить связь со slave-устройством при отсутствии ответа. Значение, введенное здесь, будет по умолчанию использоваться для всех slave-устройств, если в редакторе Modbus Slave Device не введены индивидуальные значения данного параметра;
Пауза между запросами, мс — интервал ожидания перед формированием следующего запроса;
Использовать параллельный опрос (только для Modbus Master TCP) — возможность выполнять параллельный опрос нескольких slave-устройств для повышения скорости обмена.
Таблица список устройств формируется автоматически при добавлении slave-устройств к master-устройству, и содержит следующие столбцы:

Таблица список устройств Modbus Master IP-Адрес (только для Modbus Master TCP) — сетевой адрес устройства, диапазон значений от 0.0.0.0 до 255.255.255.255;
Порт (только для Modbus Master TCP) — порт, используемый для обмена, диапазон значений от 0 до 65535 (по умолчанию - 502);
Slave ID — адрес slave-устройства в сети Modbus, диапазон значений от 0 до 255;
Имя — отображаемое имя устройства в дереве проекта;
Опрос устройства — состояние опроса устройства (включен/отключен), определяемое в настройках соответствующего slave-устройства.
Комментарий — пользовательский комментарий.
Для сортировки данных нажмите на значок
в заголовке столбца. Редактирование параметров в таблице невозможно. Чтобы внести изменения, перейдите во вкладку соответствующего Modbus Slave Device и задайте необходимые значения. Данные в таблице Список устройств обновятся автоматически.
Добавление интерфейса подключения UART для Modbus Serial Master
Для устройства Modbus Serial Master необходимо выбрать и добавить аппаратный интерфейс.
Добавьте интерфейс с помощью контекстного меню компонента Modbus Serial Master в дереве проекта:

Добавление интерфейса UART После добавления интерфейс отобразится в дереве проекта, как ответвление компонента Modbus Serial Master:

Интерфейс UART в дереве проекта Откройте вкладку редактора UART:
двойным кликом ЛКМ на элемент UART в дереве проекта;
выберите пункт Открыть в контекстном меню элемента UART в дереве проекта.
Настройте интерфейс во вкладке редактора UART:

Настройки интерфейса UART Режим передачи — выберите из выпадающего списка режим передачи данных RTU/ASCII;
Скорость, бит/с — выберите из выпадающего списка скорость, с которой будет осуществляться передача данных.
Чётность — параметр, отображающий использование бита четности в посылке Modbus. Выберите из выпадающего списка:
NONE – отсутствует;
EVEN – проверка на четность;
ODD – проверка на нечетность.
Биты данных — выберите из выпадающего списка число бит данных. Возможные значения: 7 или 8.
Стоп биты — выберите из выпадающего списка количество стоповых бит в посылке Modbus. Возможные значения: 1, 1.5 или 2.
К устройству Modbus Serial Master может быть добавлен только один интерфейс UART. В случае попытки добавить еще один интерфейс появится всплывающее окно с информацией об ошибке. Для замены интерфейса удалите установленный UART и добавьте новый.
Удалить и Переименовать интерфейс возможно с помощью контекстного меню элемента UART в дереве проекта.
Modbus Slave Device Serial/TCP
Для добавления slave-устройства к master-устройству:
- Откройте контекстное меню master-устройства в дереве проекта и
выберите Добавить Modbus Slave Device TCP/Добавить Modbus Serial
Slave Device:

Добавление Modbus Slave Device TCP 
Добавление Modbus Serial Slave Device Добавленное устройство по умолчанию имеет имя modbusdevice*_1 (имя зависит от выбранного протокола). Каждому последующему устройству будет присваиваться следующий порядковый номер. Переименование доступно в момент создания, либо через контекстное меню компонента. При задании устройству имени следует учитывать правила именования языка ST, и убедиться, что выбранное имя не дублирует название других компонентов в дереве проекта - создание компонентов с одинаковыми именами не допускается.
После добавления slave-устройство отобразится в дереве проекта, как ответвление компонента Modbus Master:

Modbus Device в дереве проекта Откройте вкладку редактора Modbus Slave Device:
двойным кликом ЛКМ на элемент Modbus Slave Device в дереве проекта;
выберите пункт Открыть в контекстном меню элемента Modbus Slave Device в дереве проекта.
Настройте параметры соединения и параметры обмена во вкладке редактора Modbus Slave Device:

Вкладка редактора Modbus Slave Device TCP Параметры соединения:
Опрос устройства — состояние опроса устройства (включен/отключен). При отключенном опросе master-устройство не посылает запросы slave-устройству;
Период опроса — временной интервал, через который повторяется опрос. Допустимый диапазон от 0 до 6000 мс;
Slave ID — адрес slave-устройства в сети Modbus, диапазон значений от 0 до 255;
IP-Адрес (только для Modbus Slave Device TCP) — сетевой адрес устройства, диапазон значений от 0.0.0.0 до 255.255.255.255;
Порт (только для Modbus Slave Device TCP) — порт, используемый для обмена, диапазон значений от 1 до 65535 (по умолчанию - 502);
Комментарий — пользовательский комментарий. Отображается в таблице Список устройств вкладки редактора Modbus Master.
Параметры обмена:
Использовать параметры обмена из мастера — в случае установки чекбокса внесение данных будет недоступно, будут использованы значения, введенные во вкладке редактора Modbus Master. Если чекбокс отключен, для устройства будут использоваться индивидуальные параметры обмена:
Таймаут, мс — время ожидания ответа от slave-устройства, допустимый диапазон от 20 до 6000 мс.
Количество попыток — число повторных попыток установить связь со slave-устройством при отсутствии ответа, допустимый диапазон от 0 до 3.
Заполните карту тегов.
Карта тегов сопоставляет переменные с регистрами Modbus (адресами). Один тег может включать несколько регистров.
Настройте общие для всей карты тегов параметры:
Порядок регистров — настройка порядка слов и порядка байт для передачи master-устройству.
Добавить теги можно одним из способов:
Нажмите кнопку Добавить теги. Откроется окно создания тегов:

Адрес начального регистра — задает адрес начального регистра, адреса задаются начиная с указанного. Доступен ввод в десятеричном и шестнадцатеричном формате (с префиксом 16# и 0х);
Тип данных — тип данных тега;
Функция — определяет операцию (чтение/запись) и область памяти, с которой эта операция будет произведена. Список функций, поддерживаемых в ALTA IDE приведен в разделе Modbus;
Количество тегов — количество тегов, которое требуется создать.
Нажмите кнопку Создать. В карте тегов отобразится информация, согласно введенным данным.
Нажмите кнопку "+" расположенную в столбце Адрес таблицы тегов.

В этом случае теги добавляются по одному, начиная с адреса, следующего за адресом последнего отредактированного тега.
При необходимости отредактируйте значения в таблице тегов
Адрес

В поле адрес указывается диапазон регистров, которые занимает созданный тег.
Для переключения формата ввода (DEC/HEX) — нажмите на заголовок столбца Адрес и выберите нужное значение из выпадающего списка.
Для редактирования значения — дважды нажмите ЛКМ по ячейке и введите новое значение
Тип данных

Кликните ЛКМ по ячейке и выберите из выпадающего списка нужное значение
Функция

Кликните ЛКМ по ячейке и выберите из выпадающего списка нужное значение
Список функций, поддерживаемых в ALTA IDE приведен в разделе Modbus
Значение/Переменная

Дважды нажмите ЛКМ по ячейке и введите новое значение или привяжите переменную:
привязка переменной-входа для чтения регистра в программе;
привязка переменной-выхода для записи регистра из программы;
ввод значения (константы) для записи регистра
Комментарий

Дважды нажмите ЛКМ по ячейке и введите пользовательский комментарий
Для сортировки данных нажмите на значок
в заголовке столбца.Удалить тег можно с помощью контекстного меню тега в карте тегов:

Для переменных типа BYTE, WORD, DWORD и LWORD доступен просмотр и редактирование битовой маски. Подробно работа с битовой маской описана в разделе Битовая маска.
Режим Slave
Добавить устройства в режиме Slave можно с помощью контекстного меню системной папки Коммуникации в дереве проекта:

Добавленное устройство по умолчанию имеет имя modbusslaveCE_1. Каждому последующему устройству будет присваиваться следующий порядковый номер. Переименование доступно в момент создания, либо через контекстное меню устройства. При задании компоненту имени следует учитывать правила именования языка ST, и убедиться, что выбранное имя не дублирует название других компонентов в дереве проекта - создание компонентов с одинаковыми именами не допускается.
Выберите Добавить Modbus Slave, устройство появится в дереве проекта, как ответвление системной папки:

Выбор протокола не требуется - в режиме Slave протокол определяется в зависимости от выбранного интерфейса: UART или TCP.
Настройка параметров Modbus Slave
Откройте вкладку редактора Modbus Slave:
двойным кликом ЛКМ на элемент ModbusSlave в дереве проекта;
выберите пункт Открыть в контекстном меню элемента Modbus Slave в дереве проекта.
Введите настройки:
Настройка параметров соединения
Состояние протокола — включение/выключение протокола Modbus. В случае выключения протокол не будет обрабатывать входящие запросы.
Slave ID — адрес устройства в сети Modbus. Допустимый диапазон от 0 до 255.
Задержка ответа, мс — пауза перед ответом на запрос от master-устройства.
Сторожевой таймер обмена позволяет отслеживать наличие запросов от master-устройства. В случае отсутствия запроса от master-устройства в течение указанного времени генерируется ошибка, которая отобразится в дереве проекта пиктограммой
.
Состояние таймера — включение/выключение сторожевого таймера обмена.
Таймаут, мс — время ожидания запроса от master-устройства.
Заполните карту тегов.
Карта тегов
Тег — это переменная в проекте, которая привязывается к одному или нескольким регистрам Modbus (ячейкам памяти с конкретным адресом) и имеет заданный тип данных, правила упаковки (порядок слов/байт) и назначение (чтение/запись).
Карта тегов сопоставляет переменные с регистрами Modbus (адресами).
Правила выравнивания
В ALTA IDE происходит автоматическое выравнивание переменных, в зависимости от их типа, при размещении в области памяти устройства, согласно правилам приведенным в таблице:
Правила размещения переменных в карте тегов
| Тип данных | Размер, байт | Количество занимаемых регистров | Адрес первого регистра |
|---|---|---|---|
BYTE | 1 | 1 | в любом месте карты |
WORD | 2 | 1 | в любом месте карты |
DWORD | 4 | 2 | должен быть кратен 2 (в т.ч. 0) |
INT | 2 | 1 | в любом месте карты |
DINT | 4 | 2 | адрес первого регистра должен быть кратен 2 (в т.ч. 0) |
REAL | 4 | 2 | адрес первого регистра должен быть кратен 2 (в т.ч. 0) |
STRING80 | 80 | 41 | в любом месте карты |
STRING21 | 21 | 11 | в любом месте карты |
Правила размещения основаны на организации физической памяти таким образом, что переменные размером 8 бит (1 байт) , 2 байта, и 4 байта должны располагаться только по определенным адресам. Адрес 4-байтной переменной должен быть кратен 4, 2-байтной – кратен 2, а однобайтной (или 8 битной) – кратен 1 и может находиться в любой точке области памяти.
Если представить область памяти с возрастающими адресами (от 0 до какого-либо числа) и расположить переменные, то, если первая переменная имеет размер 1 байт, она будет расположена по адресу 0х0000, следующая – 0х0001 и т.д. Если дальше идет 4-байтная переменная, она должна располагаться по адресу 0х0004, т.е. кратному 4, и т.д. При этом, если однобайтная переменная заняла место, кратное четырем, следующая 4- байтная переменная занимает следующее кратное четырем место. Порядок задания переменных может быть произвольным, выравнивание же ставит переменные на кратные их длине адреса. Соответственно, при таком порядке размещения переменных неизбежно возникают не занятые пространства памяти, которые нигде не отображаются, не видны в области ввода/вывода, но обязательно должны учитываться пользователем: когда производится опрос прибора извне для получения информации, размещенной по конкретному адресу (регистру). Пользователь должен учитывать особенность выравнивания, чтобы не получить некорректную информацию, причем должен учитывать еще на стадии задания переменных.

Заполнение карты тегов
Заполнение карты тегов slave-устройства включает в себя определение назначения тега, присвоение ему адреса и заполнение данными, которые будут доступны для чтения, записи или чтения/записи master-устройством.
Заполните общие для всей карты тегов данные:
Начальный адрес — задает начальный адрес регистра для всей карты. Доступен ввод в десятеричном и шестнадцатеричном формате (с префиксом 16# и 0х). В случае ввода начального адреса после заполнения карты тегов, адреса автоматически пересчитаются и будут отображены в таблице согласно введенным данным. Если при вводе нового начального адреса при пересчете будут обнаружены недопустимые адреса регистров, появится сообщение об ошибке.
Порядок регистров — настройка порядка регистров для передачи master-устройству.
Порядок байт — настройка порядка байт для передачи master-устройству.
Нажмите кнопку Добавить теги, откроется окно создания тегов:

Адрес начального регистра — не доступен для ввода. Автоматически рассчитывается с учетом ранее добавленных тегов и правила выравнивания. В случае создания первого тега - соответствует адресу, введенному в поле Начальный адрес (по умолчанию 0).
Тип данных — тип данных тега.
Количество тегов — количество тегов, которое требуется создать.
Нажмите кнопку Создать. В таблице отобразится информация, согласно введенным данным. Созданные теги располагаются в следующих доступных для размещения регистрах с учетом правил выравнивания.

Пример заполнения карты тегов Отредактируйте значения в таблице тегов:
Адрес

В поле адрес указывается диапазон регистров, которые занимает созданный тег.
Для переключения формата ввода (DEC/HEX) - нажмите на заголовок столбца Адрес и выберите нужное значение из выпадающего списка.
Редактирование адреса недоступно
Записать в переменную

Дважды нажмите ЛКМ по ячейке и привяжите переменную для записи тега.
Синхронизация переменной и тега происходит при синхронизации входов задачи
Значение/Переменная

Дважды нажмите ЛКМ по ячейке и введите новое значение или привяжите переменную:
привязка переменной для чтения тега;
ввод значения (константы).
Синхронизация переменной/значения и тега происходит при синхронизации выходов задачи
Права мастера

Уровень прав доступа, который предоставляется master-устройству для работы с тегом.
Нередактируемое поле
Список функций, поддерживаемых в ALTA IDE приведенModbus
Тип данных

Нередактируемое поле
Комментарий

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

Удалить тег можно с помощью контекстного меню тега в карте тегов:

Для переменных типа BYTE, WORD, DWORD и LWORD доступен просмотр и редактирование битовой маски. Подробно работа с битовой маской описана в разделе Битовая маска.
Битовая маска
Для переменных типа BYTE, WORD, DWORD и LWORD доступен просмотр и редактирование битовой маски.
Чтобы раскрыть битовую маску нажмите ПКМ на строку с регистром в карте тегов и выберите в контекстном меню Раскрыть битовую маску. Битовая маска тега отобразится в карте тегов:

Отредактируйте данные аналогично редактированию значений в таблице тегов для Modbus Slave Device Serial/TCP и Modbus Slave
Если битовая маска раскрыта, то все введенные данные сохраняются для последующего редактирования и сохранения.
Чтобы скрыть битовую маску нажмите ПКМ на строку с тегом в таблице регистров и выберите в контекстном меню Скрыть битовую маску. Если любое из полей битовой маски было отредактировано, появится окно с предупреждением о том, что введенные данные не сохранятся:

Если выбрать Да, то битовая маска скроется, все внесенные данные будут удалены. В случае выбора Нет битовая маска останется раскрыта.
Свернуть или развернуть битовую маску можно с помощью
значка
, расположенного
перед адресом тега.
После сохранения проекта в ALTA IDE автоматически формируется файл с картой тегов в формате .csv, который располагается в папке проекта C:User/..../Project_/Communications/

Добавление интерфейса подключения UART/TCP
Для получения запросов от master-устройства следует добавить интерфейс подключения. Устройство в режиме Slave поддерживает выбор только одного интерфейса подключения.
UART — добавление аппаратного интерфейса UART (COM)
TCP — добавление аппаратного интерфейса TCP/IP (Ethernet)
Добавьте интерфейс с помощью контекстного меню компонента ModbusSlave в дереве проекта:

После добавления интерфейс отобразится в дереве проекта, как ответвление компонента ModbusSlave системной папки Коммуникации:

UART
Выполните настройку интерфейса:
Откройте вкладку редактора UART:
двойным кликом ЛКМ на элемент UART_modbus_slave в дереве проекта;
выберите пункт Открыть в контекстном меню элемента UART_modbus_slave в дереве проекта.
Настройте интерфейс во вкладке редактора UART:

Вкладка интерфейса UART Скорость, бит/с — выберите из выпадающего списка скорость, с которой будет осуществляться передача данных.
Чётность — параметр, отображающий использование бита четности в посылке Modbus. Выберите из выпадающего списка:
NONE – отсутствует;
EVEN – проверка на четность;
ODD – проверка на нечетность.
Биты данных — выберите из выпадающего списка число бит данных. Возможные значения: 7 или 8
Стоп биты — параметр отображающий количество стоповых бит в посылке Modbus. Возможные значения: 1, 1.5 или 2.
Каждый из интерфейсов UART может быть добавлен в проект только один раз. В случае добавления интерфейса, уже используемого в проекте, в дереве проекта у повторяющихся интерфейсов отобразится ошибка:

В этом случае один из интерфейсов следует удалить.
Удалить и Переименовать интерфейс возможно с помощью контекстного меню элемента UART в дереве проекта.
TCP
Выполните настройку интерфейса:
Откройте вкладку редактора TCP:
двойным кликом ЛКМ на элемент TCP_Server в дереве проекта;
выберите пункт Открыть в контекстном меню элемента TCP_Server в дереве проекта.
Настройте интерфейс во вкладке редактора TCP:

Маска подсети — настройка подсети, в которой идет обмен. Адрес 0.0.0.0 означает, что сервер принимает подключения на всех сетевых интерфейсах (со всех доступных адресов).
Порт TCP — порт, используемый для обмена.
Количество подключений — позволяет настроить ограничение количества подключений. Если ограничение включено, то интерфейс обрабатывает запросы не более чем от N источников.
В случае если значение отсутствует, либо введен неверный формат поле ввода будет выделено красным. При наведении курсора мыши появится подсказка, содержащая информацию об ошибке.
Удалить и Переименовать интерфейс возможно с помощью контекстного меню элемента TCP в дереве проекта.













