Работа с устройством

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

Graphic
Окно Настройка устройства

Наполнение Дерева настройки устройства зависит от устройства.

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

Graphic
  • Установить соединение — установка соединения с устройством;

  • Настройки соединения — настройка параметров соединения;

  • Загрузить приложение — импорт приложения на устройство;

  • Выгрузить приложение — экспорт приложения с устройства;

  • Открыть — открытие окна настроек устройства;

  • Открыть справа — открытые окна настроек устройства в рабочей области справа;

  • Переименовать — переименование устройства.

Настройка входов/выходов устройства

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

Graphic
Примечание
Наполнение области настройки входов/выходов зависит от устройства.

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

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

Graphic

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

Graphic

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

Graphic

Если маркер отсутствует, значит выбор режима для данного входа/выхода невозможен.

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

Graphic

Параметры, доступные для ввода:

  • Значение/Переменная — введите значение или привяжите переменную к параметру. При привязке переменной доступно автодополнение;

  • Комментарий — пользовательский комментарий.

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

  • Параметр — наименование параметра;

  • Тип доступа — чтение/запись;

  • Тип данных — тип данных параметра;

  • Значение по умолчанию — значение по умолчанию;

  • Макс. значение — максимальное значение параметра;

  • Мин. значение — минимальное значение параметра.

Подключение устройства к ПК

Подключите устройство к ПК одним из доступных способов, указанных в Руководстве по эксплуатации прибора.

Подключение к ALTA IDE доступно по интерфейсам:

  • USB;

  • Ethernet.

Внимание
Модификация и версия прошивки подключенного прибора должна совпадать с загруженным таргетом. В противном случае соединение с устройством не будет установлено. Эти параметры доступны для просмотра в web‑конфигураторе устройства, вкладка Состояние → Обзор.

Для работы в операционной системе Windows следует установить драйвер RNDIS. Драйвер доступен в WEB-конфигураторе на странице Загрузки или на сайте www.owen.ru.

Настройка соединения

При первом подключении устройства необходимо настроить соединение с прибором. Для этого:

  1. Выберите:

    • Главное меню → Онлайн → Настройки соединения;

    • или нажмите Настройки соединения в контекстном меню устройства.

    Откроется окно настроек соединения:
    Graphic
    Окно Настройки соединения
    Примечание
    Предустановленные заводские настройки указаны в Руководстве по эксплуатации прибора. Изменение настроек доступно в web-конфигураторе.

  2. Введите данные:

    • Логин;

    • Пароль;

    • IP-адрес;

    • Порт.

  3. Нажмите Установить соединение.

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

Graphic

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

Graphic
Уведомление об ошибке

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

Graphic

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

В случае потери соединения с устройством отобразится уведомление:

Graphic
Включение и отключение соединения с прибором

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

  • нажатием кнопки Установить соединение Graphic на панели инструментов;

  • через контекстное меню элемента Устройство, выбрав пункт Установить соединение;

  • с помощью Главное меню → Онлайн → Установить соединение.

Разорвать соединение с устройством можно с помощью:

  • кнопки Graphic расположенной на панели инструментов;

  • контекстного меню элемента Устройство, выбрав пункт Разорвать соединение;

  • Главное меню → Онлайн → Разорвать соединение;

  • кнопки Разорвать соединение в окне Настройки соединения.

В дереве проекта и строке состояния отображается статус подключенного устройства:

Отображение статуса устройства в ALTA IDE
Дерево проектаСтрока состоянияСтатус
GraphicGraphicНе подключено
GraphicGraphicУстановка соединения
GraphicGraphicСоединение установлено
GraphicGraphicОшибка соединения

Запись приложения в прибор

Для записи приложения в прибор необходимо убедиться, что:

Если на устройстве запущено выполнение приложения, то выполнение будет остановлено.

Записать приложение можно одним из способов:

  • с помощью кнопки Graphic на панели инструментов;

  • через контекстное меню элемента Устройство в Дереве проекта;

  • Главное меню → Онлайн → Загрузить приложение.

Перед загрузкой автоматически будет выполнена сборка проекта, в случае отсутствия ошибок начнется загрузка приложения в прибор, кнопка перейдет в статус загрузки Graphic. Также процесс загрузки отобразится в строке состояния:

Graphic
Шкала загрузки приложения

Созданное приложение записывается в ПЗУ прибора.

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

После окончания загрузки отобразится уведомление об успешной загрузке приложения.

Возможные ошибки при загрузке приложения

  • потеря связи с устройством;

  • файл приложения превышает допустимый размер (максимальный размер исполняемого приложения зависит от доступной памяти в устройстве).

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

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

  • нажмите кнопку Graphic на панели инструментов;

  • нажмите на значок Graphic на шкале загрузки приложения, расположенной в строке состояния главного окна ALTA IDE.

Режим онлайн и отладка программы

Режим онлайн служит для мониторинга работы программы с реальными значениями со входов прибора. В режиме онлайн можно устанавливать значения переменных, задавать фиксированные значения на входы и выходы прибора. С помощью установки точек останова можно определять место в программе на котором будет остановлено выполнение и после остановки выполнять код по шагам. В режим онлайн можно перейти только при подключенном приборе и после записи приложения в устройство. Выполнение приложения должно быть запущено.

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

В режиме онлайн внесение изменений в проект невозможно.

Переход в режим онлайн

Для запуска режима онлайн:

  1. Запустите выполнение приложения кнопкой Graphic на панели инструментов.

  2. Нажмите кнопку перехода в режим онлайн Graphic.

В режиме онлайн иконка Graphic станет зеленого цвета, на панели инструментов появится панель отладки. В дереве проекта отобразятся иконки, обозначающие статусы задач:
GraphicЗадача выполняетсяВыполнение задачи в режиме онлайн
GraphicПауза в выполнении задачиПри выполнении задачи привязанная программа достигла точки останова, требуется действие пользователя для продолжения выполнения программы
GraphicАктивная задачаУказывает на задачу в дереве проекта, а также на строку в программном коде, выполняющуюся в данный момент

Возможные ошибки при переходе в онлайн

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

    Graphic
    Загрузите актуальное приложение на устройство и выполните запуск режима онлайн повторно.

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

    Graphic

Для выхода из режима онлайн, например, чтобы внести корректировки в программу, нажмите кнопку Graphic на панели инструментов.

Редактор ST в режиме онлайн. Отладка программы

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

Graphic
Редактор ST в режиме онлайн
Ввод и фиксация значения переменной
  1. Для ввода значения переменной дважды нажмите ЛКМ в одном из следующих элементов интерфейса:

    • в коде программы в окне просмотра, предназначенном для ввода значения переменной;

    • в таблице локальных переменных в столбце "Подготовленное значение";

    • в Листе просмотра, расположенном в окне вывода, в столбце "Подготовленное значение".

    Откроется окно ввода значения переменной:
    Graphic

  2. Введите необходимое значение и нажмите:

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

      Graphic
      Отображение подготовленного значения переменной в коде программы

    • Записать — введенное значение будет записано. Также с помощью кнопки Записать можно записать ранее подготовленное значение переменной.

    • Установите чекбокс Фиксировать значение если необходима фиксация значения переменной. Зафиксированное значение переопределяет текущее значение переменной, переменная сохраняет свое значение на границах цикла: до начала выполнения программы и после.

      Фиксированное значение можно как подготовить так и записать:

      • Graphic
        Отображение зафиксированного подготовленного значения переменной в коде программы
        При последующей записи подготовленное фиксированное значение также запишется с фиксацией;

      • Graphic
        Отображение зафиксированного значения в коде программы

Если ввести недопустимое значение переменной строка ввода будет выделена красным, отобразится информационное сообщение об ошибке.

Чтобы закрыть окно ввода переменной нажмите Esc или ЛКМ в любой области вне окна.

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

Graphic

Записать все подготовленные значения переменной можно:

  • с помощью кнопки Graphic на панели отладки;

  • Главное меню → Отладка → Записать все значения.

Снять фиксацию значений у всех переменных в проекте:

  • с помощью кнопки Graphic на панели отладки;

  • Главное меню → Отладка → Снять фиксацию у всех переменных.

Точки останова

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

Graphic

Установить точку останова можно одним из следующих способов:

  • наведите курсор мыши на маркер возможного места установки Graphic слева от программного кода и нажмите ЛКМ;

  • нажмите кнопку Graphic на панели отладкивсе точки останова в программе будут установлены;

  • откройте контекстное меню Точки останова слева от программного кода или в Окне вывода и выберите Установить точку останова.

Примечание
Точки останова можно установить не во всех местах кода. Возможные места обозначены маркером места установки.

Удалить включенные или отключенные точки останова можно одним из следующих способов:

  • наведите курсор мыши на точку останова слева от программного кода и нажмите ЛКМ;

  • нажмите на кнопку Graphic на панели отладкивсе точки останова в программе будут удалены;

  • откройте контекстное меню Точки останова слева от программного кода или в Окне вывода и выберите Удалить точку останова.

Отключить установленные точки останова можно одним из следующих способов:

  • нажмите на кнопку Graphic на панели отладкивсе точки останова в программе будут отключены;

  • откройте контекстное меню Точки останова слева от программного кода или в Окне вывода и выберите Отключить точку останова.

Для просмотра всех точек останова в программе перейдите во вкладку Точки останова в Окне вывода:

Graphic
Вкладка Точки останова в Окне вывода
Пошаговая отладка

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

  1. Чтобы перейти к месту остановки выполнения программного кода:

    • нажмите кнопку Graphic на панели отладки;

    • или Главное меню → Отладка → Перейти к месту остановки.

    Строка на которой было приостановлено выполнение программы будет выделена.

  2. Для возобновления выполнения приложения после остановки нажмите кнопку Graphic на панели отладки, или используйте команды для пошагового выполнения программы расположенные на панели отладки, либо в Главном меню → Отладка:

Graphic

Шаг внутрь

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

Graphic

Шаг наружу

Продолжает выполнение всего кода текущего программного блока и возврат к строчке кода, откуда произошел переход внутрь программного блока

Graphic

Шаг поверх

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

Таблица локальных переменных

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

Graphic
Таблица локальных переменных

Каждому программному компоненту соответствует своя таблица переменных. Каждая переменная отображается в таблице в порядке объявления, в единственном экземпляре, вне зависимости от количества мест использования в программе.

Таблица переменных содержит:

Имя — имя переменной в коде программы;

Тип данных — один из типов: BYTE, WORD, DWORD, INT, DINT, REAL, STRING80, STRING21. См. подробнее раздел Типы переменных

Значение — текущее значение переменной. Значение может быть фиксированным, в этом случае переменная сохраняет свое значение на границах цикла. В случае отсутствия фиксации переменная будет принимать значение полученное в ходе выполнения программы;

Подготовленное значение — значение, которое будет присвоено переменной после команды записи переменной.

Чтобы задать значение переменной дважды нажмите ЛКМ в столбце подготовленное значение. Откроется окно ввода данных. Подробно работа в окне ввода данных описана в разделе Редактор ST в режиме онлайн. Отладка программы.

Отображение вложенных переменных

Переменные типа структур и массивов и другие составные типы (родительские переменные), которые содержат вложенные данные (дочерние переменные) , отображаются в таблице переменных с маркером вложенности перед именем: Graphic

  • Родительская переменная — это переменная составного типа, включающая в себя другие переменные.

  • Дочерние переменные — это отдельные элементы, входящие в состав родительской переменной, например поля структуры или элементы массива.

Чтобы развернуть отображение дочерних переменных нажмите на значок Graphic, в таблице отобразятся вложенные переменные, которые также могут содержать дочерние переменные.

Контекстное меню переменной

Чтобы открыть контекстное меню переменной нажмите ПКМ на любую ячейку в таблице переменных:

Graphic

Добавить в лист - добавление переменной в выбранный лист просмотра переменных.

Снять фиксацию - освобождение значения переменной от фиксации.

Очистить подготовленное значение - удаляет подготовленное значение переменной.

Листы просмотра переменных

Листы просмотра переменных доступны только в режиме онлайн, отображаются в окне вывода и содержат созданные пользователем списки переменных для наблюдения за их значениями. Переменные, располагающиеся в одном листе просмотра, могут быть объявлены в разных программных объектах проекта.

Чтобы создать лист просмотра нажмите кнопку Добавить лист Graphic, расположенную на тулбаре окна вывода.

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

  • в коде программы в окне просмотра, предназначенном для введения значения переменной;

  • в таблице локальных переменных;

  • в Листе просмотра, расположенном в окне вывода.

Graphic

Выберите пункт Добавить в лист и в выпадающем меню выберите лист - переменная будет добавлена в список, расположенный в этом листе.

Родительские переменные добавляются в лист просмотра переменных вместе с вложенными элементами (дочерними переменными).

Если в лист просмотра переменных добавить только дочернюю переменную, то родительская переменная при этом не будет добавлена. Однако к имени такой переменной автоматически будет добавлен префикс с именем родительской переменной.

Пример

Для    структуры       Device.Status      дочерняя       переменная      ErrorCode     будет     отображена      как      Device.Status.ErrorCode.

Чтобы задать значение переменной дважды нажмите ЛКМ в столбце подготовленное значение. Откроется окно ввода данных. Подробно работа в окне ввода данных описана в разделе Редактор ST в режиме онлайн. Отладка программы.

Modbus

Modbus – открытый коммуникационный протокол, основанный на архитектуре Master-Slave (ведущий-ведомый).

Master (ведущее устройство) - является инициатором обмена и может считывать и записывать данные в slave-устройства.

Slave (подчиненное устройство) - отвечает на запросы master-устройства, но не может самостоятельно инициировать обмен.

В ALTA IDE используются две основные реализации протокола:

  1. Modbus Serial для передачи данных с использованием последовательных интерфейсов (самый распространенный RS-485). Имеет два режима передачи данных:

    • Modbus RTU - передача данных в бинарном виде;

    • Modbus ASCII - передача данных в виде ASCII символов;

  2. 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.

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

Примечание
В некоторых устройствах области памяти наложены друг на друга (например, 0x и 4x) – т. е. есть возможность обращаться разными функциями к одним и тем же ячейкам памяти.

Функция определяет операцию (чтение/запись) и область памяти, с которой эта операция будет произведена. Ниже приведен список наиболее часто используемых функций:

Основные функции протокола 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 представлена на схеме ниже:

Graphic

Modbus Serial/TCP

Ниже приведены общие разделы, описывающие работу с протоколами Modbus Serial и Modbus TCP.

Работа по протоколам Modbus Serial и Modbus TCP во многом схожа и отличается лишь незначительными особенностями, поэтому в руководстве они описываются в рамках общих разделов. Дальнейшие инструкции применимы одновременно к Modbus Serial и Modbus TCP, за исключением случаев, отмеченных как специфичные для одного протокола.

Modbus Serial/TCP Master

Для добавления устройства в режиме Master:

  1. Выберите Добавить Modbus Master TCP/Добавить Modbus Serial Master в контекстном меню системной папки Коммуникации в дереве проекта:

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

    После добавления Modbus Master устройство появится в дереве проекта, как ответвление системной папки:

    Graphic
    Modbus Master в дереве проекта
  2. Откройте вкладку редактора Modbus Master:

    • двойным кликом ЛКМ на элемент Modbus Master в дереве проекта;

    • выберите пункт Открыть в контекстном меню элемента Modbus Master в дереве проекта.

  3. Настройте параметры соединения во вкладке редактора Modbus Master:

    Graphic
    Настройка параметров соединения

    Состояние протокола — определяет режим работы Master-устройства при запуске приложения. В зависимости от положения переключателя отправляет/не отправляет запросы к slave-устройствам;

    Таймаут, мс — время ожидания ответа от slave-устройства, допустимый диапазон от 20 до 6000 мс. Значение, введенное здесь, будет по умолчанию использоваться для всех slave-устройств, если в редакторе Modbus Slave Device не введены индивидуальные значения данного параметра;

    Количество попыток — число повторных попыток установить связь со slave-устройством при отсутствии ответа. Значение, введенное здесь, будет по умолчанию использоваться для всех slave-устройств, если в редакторе Modbus Slave Device не введены индивидуальные значения данного параметра;

    Пауза между запросами, мс — интервал ожидания перед формированием следующего запроса;

    Использовать параллельный опрос (только для Modbus Master TCP) — возможность выполнять параллельный опрос нескольких slave-устройств для повышения скорости обмена.

  4. Таблица список устройств формируется автоматически при добавлении slave-устройств к master-устройству, и содержит следующие столбцы:

    Graphic
    Таблица список устройств 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-устройства.

    Комментарий — пользовательский комментарий.

    Для сортировки данных нажмите на значок Graphic в заголовке столбца.

    Редактирование параметров в таблице невозможно. Чтобы внести изменения, перейдите во вкладку соответствующего Modbus Slave Device и задайте необходимые значения. Данные в таблице Список устройств обновятся автоматически.

Добавление интерфейса подключения UART для Modbus Serial Master

Для устройства Modbus Serial Master необходимо выбрать и добавить аппаратный интерфейс.

Внимание
Нельзя добавлять один и тот же интерфейс UART одновременно к компоненту Serial Master и Slave. Такое назначение приведет к отсутствию обмена по сети у одного из устройств. 
  1. Добавьте интерфейс с помощью контекстного меню компонента Modbus Serial Master в дереве проекта:

    Graphic
    Добавление интерфейса UART

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

    Graphic
    Интерфейс UART в дереве проекта

  2. Откройте вкладку редактора UART:

    • двойным кликом ЛКМ на элемент UART в дереве проекта;

    • выберите пункт Открыть в контекстном меню элемента UART в дереве проекта.

  3. Настройте интерфейс во вкладке редактора UART:

    Graphic
    Настройки интерфейса 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-устройству:

  1. Откройте контекстное меню master-устройства в дереве проекта и выберите Добавить Modbus Slave Device TCP/Добавить Modbus Serial Slave Device:
    Graphic
    Добавление Modbus Slave Device TCP
    Graphic
    Добавление Modbus Serial Slave Device

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

    После добавления slave-устройство отобразится в дереве проекта, как ответвление компонента Modbus Master:

    Graphic
    Modbus Device в дереве проекта

  2. Откройте вкладку редактора Modbus Slave Device:

    • двойным кликом ЛКМ на элемент Modbus Slave Device в дереве проекта;

    • выберите пункт Открыть в контекстном меню элемента Modbus Slave Device в дереве проекта.

  3. Настройте параметры соединения и параметры обмена во вкладке редактора Modbus Slave Device:

    Graphic
    Вкладка редактора 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.

  4. Заполните карту тегов.

    Карта тегов сопоставляет переменные с регистрами Modbus (адресами). Один тег может включать несколько регистров.

    Настройте общие для всей карты тегов параметры:

    Порядок регистров — настройка порядка слов и порядка байт для передачи master-устройству.

    Добавить теги можно одним из способов:

    1. Нажмите кнопку Добавить теги. Откроется окно создания тегов:

      Graphic

      • Адрес начального регистра — задает адрес начального регистра, адреса задаются начиная с указанного. Доступен ввод в десятеричном и шестнадцатеричном формате (с префиксом 16# и 0х);

      • Тип данных — тип данных тега;

      • Функция — определяет операцию (чтение/запись) и область памяти, с которой эта операция будет произведена. Список функций, поддерживаемых в ALTA IDE приведен в разделе Modbus;

      • Количество тегов — количество тегов, которое требуется создать.

      Нажмите кнопку Создать. В карте тегов отобразится информация, согласно введенным данным.

    2. Нажмите кнопку "+" расположенную в столбце Адрес таблицы тегов.

      Graphic

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

  5. При необходимости отредактируйте значения в таблице тегов

    Адрес

    Graphic

    В поле адрес указывается диапазон регистров, которые занимает созданный тег.

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

    Для редактирования значения — дважды нажмите ЛКМ по ячейке и введите новое значение

    Тип данных

    Graphic

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

    Функция

    Graphic

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

    Список функций, поддерживаемых в ALTA IDE приведен в разделе Modbus

    Значение/Переменная

    Graphic

    Дважды нажмите ЛКМ по ячейке и введите новое значение или привяжите переменную:

    • привязка переменной-входа для чтения регистра в программе;

    • привязка переменной-выхода для записи регистра из программы;

    • ввод значения (константы) для записи регистра

    Комментарий

    Graphic

    Дважды нажмите ЛКМ по ячейке и введите пользовательский комментарий

    Для сортировки данных нажмите на значок Graphic в заголовке столбца.

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

    Graphic

Примечание
Созданные теги будут опрашиваться в порядке добавления в карту тегов, а не по возрастанию адресов.

Для переменных типа BYTE, WORD, DWORD и LWORD доступен просмотр и редактирование битовой маски. Подробно работа с битовой маской описана в разделе Битовая маска.

Режим Slave

Добавить устройства в режиме Slave можно с помощью контекстного меню системной папки Коммуникации в дереве проекта:

Graphic
Контекстное меню системной папки Коммуникации

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

Выберите Добавить Modbus Slave, устройство появится в дереве проекта, как ответвление системной папки:

Graphic
Устройство Modbus Slave в дереве проекта

Выбор протокола не требуется - в режиме Slave протокол определяется в зависимости от выбранного интерфейса: UART или TCP.

Настройка параметров Modbus Slave
  1. Откройте вкладку редактора Modbus Slave:

    • двойным кликом ЛКМ на элемент ModbusSlave в дереве проекта;

    • выберите пункт Открыть в контекстном меню элемента Modbus Slave в дереве проекта.

  2. Введите настройки:

    Graphic

    Настройка параметров соединения
    • Состояние протокола — включение/выключение протокола Modbus. В случае выключения протокол не будет обрабатывать входящие запросы.

    • Slave ID — адрес устройства в сети Modbus. Допустимый диапазон от 0 до 255.

    • Задержка ответа, мс — пауза перед ответом на запрос от master-устройства.

    Настройка сторожевого таймера обмена

    Сторожевой таймер обмена позволяет отслеживать наличие запросов от master-устройства. В случае отсутствия запроса от master-устройства в течение указанного времени генерируется ошибка, которая отобразится в дереве проекта пиктограммой Graphic.

    Graphic
    • Состояние таймера — включение/выключение сторожевого таймера обмена.

    • Таймаут, мс — время ожидания запроса от master-устройства.

  3. Заполните карту тегов.

Карта тегов

Тег — это переменная в проекте, которая привязывается к одному или нескольким регистрам 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- байтная переменная занимает следующее кратное четырем место. Порядок задания переменных может быть произвольным, выравнивание же ставит переменные на кратные их длине адреса. Соответственно, при таком порядке размещения переменных неизбежно возникают не занятые пространства памяти, которые нигде не отображаются, не видны в области ввода/вывода, но обязательно должны учитываться пользователем: когда производится опрос прибора извне для получения информации, размещенной по конкретному адресу (регистру). Пользователь должен учитывать особенность выравнивания, чтобы не получить некорректную информацию, причем должен учитывать еще на стадии задания переменных.

Graphic
Пример расположения переменных в карте тегов с учетом правила выравнивания
Заполнение карты тегов

Заполнение карты тегов slave-устройства включает в себя определение назначения тега, присвоение ему адреса и заполнение данными, которые будут доступны для чтения, записи или чтения/записи master-устройством.

  1. Заполните общие для всей карты тегов данные:

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

    • Порядок регистров — настройка порядка регистров для передачи master-устройству.

    • Порядок байт — настройка порядка байт для передачи master-устройству.

  2. Нажмите кнопку Добавить теги, откроется окно создания тегов:

    Graphic

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

    • Тип данных — тип данных тега.

    • Количество тегов — количество тегов, которое требуется создать.

  3. Нажмите кнопку Создать. В таблице отобразится информация, согласно введенным данным. Созданные теги располагаются в следующих доступных для размещения регистрах с учетом правил выравнивания.

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

    Адрес

    Graphic

    В поле адрес указывается диапазон регистров, которые занимает созданный тег.

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

    Редактирование адреса недоступно

    Записать в переменную

    Graphic

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

    Синхронизация переменной и тега происходит при синхронизации входов задачи

    Значение/Переменная

    Graphic

    Дважды нажмите ЛКМ по ячейке и введите новое значение или привяжите переменную:

    • привязка переменной для чтения тега;

    • ввод значения (константы).

    Синхронизация переменной/значения и тега происходит при синхронизации выходов задачи

    Права мастера

    Graphic

    Уровень прав доступа, который предоставляется master-устройству для работы с тегом.

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

    Список функций, поддерживаемых в ALTA IDE приведенModbus

    Тип данных

    Graphic

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

    Комментарий

    Graphic

    Дважды нажмите ЛКМ по ячейке и введите пользовательский комментарий

  5. Добавить теги на определенный адрес можно с помощью контекстного меню строки в таблице тегов:

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

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

    Graphic

Для переменных типа BYTE, WORD, DWORD и LWORD доступен просмотр и редактирование битовой маски. Подробно работа с битовой маской описана в разделе Битовая маска.

Битовая маска

Для переменных типа BYTE, WORD, DWORD и LWORD доступен просмотр и редактирование битовой маски.

  1. Чтобы раскрыть битовую маску нажмите ПКМ на строку с регистром в карте тегов и выберите в контекстном меню Раскрыть битовую маску. Битовая маска тега отобразится в карте тегов:

    Graphic

  2. Отредактируйте данные аналогично редактированию значений в таблице тегов для Modbus Slave Device Serial/TCP и Modbus Slave

Если битовая маска раскрыта, то все введенные данные сохраняются для последующего редактирования и сохранения.

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

Graphic

Если выбрать Да, то битовая маска скроется, все внесенные данные будут удалены. В случае выбора Нет битовая маска останется раскрыта.

Свернуть или развернуть битовую маску можно с помощью значка Graphic, расположенного перед адресом тега.

После сохранения проекта в ALTA IDE автоматически формируется файл с картой тегов в формате .csv, который располагается в папке проекта C:User/..../Project_/Communications/

Graphic
Добавление интерфейса подключения UART/TCP

Для получения запросов от master-устройства следует добавить интерфейс подключения. Устройство в режиме Slave поддерживает выбор только одного интерфейса подключения.

  • UART — добавление аппаратного интерфейса UART (COM)

  • TCP — добавление аппаратного интерфейса TCP/IP (Ethernet)

Добавьте интерфейс с помощью контекстного меню компонента ModbusSlave в дереве проекта:

Graphic

Внимание
Нельзя добавлять один и тот же интерфейс UART одновременно к компоненту Serial Master и Slave. Такое назначение приведет к отсутствию обмена по сети у одного из устройств.

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

Graphic
UART

Выполните настройку интерфейса:

  1. Откройте вкладку редактора UART:

    • двойным кликом ЛКМ на элемент UART_modbus_slave в дереве проекта;

    • выберите пункт Открыть в контекстном меню элемента UART_modbus_slave в дереве проекта.

  2. Настройте интерфейс во вкладке редактора UART:

    Graphic
    Вкладка интерфейса UART
    • Скорость, бит/с — выберите из выпадающего списка скорость, с которой будет осуществляться передача данных.

    • Чётность — параметр, отображающий использование бита четности в посылке Modbus. Выберите из выпадающего списка:

      • NONE – отсутствует;

      • EVEN – проверка на четность;

      • ODD – проверка на нечетность.

    • Биты данных — выберите из выпадающего списка число бит данных. Возможные значения: 7 или 8

    • Стоп биты — параметр отображающий количество стоповых бит в посылке Modbus. Возможные значения: 1, 1.5 или 2.

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

Graphic
Повторное добавление интерфейса

В этом случае один из интерфейсов следует удалить.

Удалить и Переименовать интерфейс возможно с помощью контекстного меню элемента UART в дереве проекта.

TCP

Выполните настройку интерфейса:

  1. Откройте вкладку редактора TCP:

    • двойным кликом ЛКМ на элемент TCP_Server в дереве проекта;

    • выберите пункт Открыть в контекстном меню элемента TCP_Server в дереве проекта.

  2. Настройте интерфейс во вкладке редактора TCP:

    Graphic
    • Маска подсети — настройка подсети, в которой идет обмен. Адрес 0.0.0.0 означает, что сервер принимает подключения на всех сетевых интерфейсах (со всех доступных адресов).

    • Порт TCP — порт, используемый для обмена.

    • Количество подключений — позволяет настроить ограничение количества подключений. Если ограничение включено, то интерфейс обрабатывает запросы не более чем от N источников.

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

Удалить и Переименовать интерфейс возможно с помощью контекстного меню элемента TCP в дереве проекта.