Основные компоненты среды Beremiz

Пользовательский интерфейс среды разработки Beremiz состоит из следующих компонент:

  • Главное меню программы;
  • Панель инструментов;
  • Дерево проекта;
  • Панель списка переменных и констант;
  • Панель настроек проекта;
  • Панель файлов проекта;
  • Панель отображения промежуточного кода;
  • Текстовые редакторы языков ST и IL;
  • Графические редакторы языков FBD, SFC, LD;
  • Панель редактирования ресурса;
  • Панель экземпляров проекта;
  • Панель библиотеки функций и функциональных блоков;
  • Отладочная консоль;
  • Поиск элементов в проекте;
  • Панель отладки;
  • Панель графика изменения значения переменной в режиме отладки.

Далее подробно рассказано про каждый компонент среды разработки Beremiz в отдельности.

Главное меню программы

Главное меню программы (см. Рисунок 2 ) содержит следующие пункты:

  • «Файл»;
  • «Редактировать»;
  • «Вид»;
  • «Помощь».
../_images/image21.png

Рисунок 2 – Главное меню программы

Часть операций, выполняемых с помощью выбора определённого пункта меню мышью, могут быть исполнены с помощью «горячих клавиш». На выбор пользователя представлено два механизма обработки горячих клавиш. Первый механизм использует первые буквы названия пунктов меню, для выбора пункта необходимо нажать (ALT + ‘Клавиша первой буквы названия пункта в главном меню’) затем можно выбрать операцию или подменю, нажав на клавиатуре первую букву названия соответствующего пункта. Второй механизм использует установленные клавиатурные сочетания, далее будет подробно описан каждый пункт меню и соответствующая ему (если определена) «горячая клавиша».

Меню «Файл» предназначено для работы с проектом и предоставляет следующие пункты:

  • «Новый» - создание нового проекта (CTRL + N);
  • «Открыть» - открытие существующего проекта (CTRL + O);
  • «Недавние проекты» - быстрое открытие одного из десяти последних, недавно редактированных проектов;
  • «Сохранить» - сохранение текущего проекта пункт (CTRL + S);
  • «Сохранить как» - сохранение текущего проекта в папку отличную от той, в которой он сохранён на данный момент (CTRL + SHIFT + S);
  • «Закрыть вкладку» - закрытие активной вкладки (например, вкладки переменных плагина, конфигурации и т.д.) для открытого проекта (CTRL + W);
  • «Закрыть проект» - закрыть текущий, открытый проект (CTRL + SHIFT + W);
  • «Настройки страницы» - настройка параметров страницы для печати на принтере активной программы, представленной в виде диаграммы (CTRL + ALT + P);
  • «Просмотр» - предварительный просмотр результата перед печатью на принтере активной программы (CTRL + SHIFT + P);
  • «Печать» - печать на принтере активной программы (CTRL + P);
  • «Выход» - закрытие текущего проекта и выход из программы Beremiz (CTRL+ Q).
  • Меню «Редактировать» предназначено для работы с редакторами языков стандарта МЭК 61131-3 и предоставляет следующие возможности:
  • «Отмена» - отмена последней манипуляции в редакторе (CTRL + Z);
  • «Повторить» повтор отменённой манипуляции в редакторе (CTRL + Y);
  • «Вырезать» - удалить в буфер обмена выделенный(е) элемент(ы) в редакторе (CTRL + X);
  • «Копировать» - копировать в буфер обмена выделенный(е) элемент(ы) в редакторе (CTRL + C);
  • «Вставить» - вставить из буфера обмена находящиеся там элемент(ы) в редактор (CTRL + V);
  • «Поиск» - поиск в текущем функциональном блоке (CTRL + F);
  • «Поиск следующего» - подсветка следующего вхождения строки поиска (CTRL+K);
  • «Поиск предыдущего» - подсветка предыдущего вхождения строки поиска (CTRL + SHIFT + K);
  • «Поиск в проекте» - вызов диалога поиска данных в проекте (CTRL + SHIFT + F);
  • «Добавить элемент» - добавление одного из следующих элемента в текущий проект:
  • «Тип данных» - нового типа данных;
  • «Функция» - новой функции;
  • «Функциональный блок» - нового функционального блока;
  • «Программа» - новую программу;
  • «Ресурс» - новый ресурс;
  • плагины для модулей УСО;
  • «Выделить всё» - выделение всех элементов в активной вкладке редактора (CTRL +A);
  • «Удалить» - удаление программного модуля, выделенного в дереве проекта.

Меню «Вид» предназначено для работы с редакторами языков стандарта IEC-61131 и предоставляет следующие возможности:

  • «Обновить» - обновление данных и снятие выделения в редакторе (CTRL + R);
  • «Очистить ошибки» - очистка указателей ошибок в редакторе (CTRL + K);
  • «Приближение» - пункт, в котором можно выбрать в процентах величину масштаба;
  • «Сменить представление» - убирает все панели, оставляя только рабочее поле(F12)
  • «Сброс расположения панелей» - восстановление расположения панелей Beremiz в исходное состояние.

Меню «Помощь» предназначено для обращения к выводу информации в виде диалога о создателях данной среды - пункт «О программе».

Панель инструментов

Панель инструментов представляет собой панель с кнопками для быстрого обращения к часто используемым функциям среды разработки Beremiz. Она состоит из нескольких панелей, содержащих кнопки: главного меню, сборки проекта и установки связи с целевым устройством. Подробнее об этих панелях рассказано ниже. При редактировании программных модулей, написанных на графических языках, появляются дополнительные панели с кнопками. Они рассмотрены при описании редакторов графических языков стандарта IEC 61131-3 (см. п. 5.7).

Кнопки главного меню

Панель инструментов, содержащая кнопки главного меню представлена на Рисунок 3 .

Список кнопок и их функций описывается в таблице 1.

../_images/image31.png

Рисунок 3 – Панель инструментов

Таблица 1 – Кнопки панели инструментов

Внешний вид кнопки Название кнопки Функция кнопки
image3 Новый проект Создать новый проект
image4 Открыть проект Открыть существующий проект
image5 Сохранить Сохранить текущий проект
image6 Сохранить как Сохранить текущий проект в определенную папку
image7 Печать Печать на принтере текущей программы
image8 Отмена Отмена последней манипуляции в редакторе
image9 Повторить Повтор отмененной манипуляции в редакторе
image10 Вырезать Удалить в буфер обмена выделенные в редакторе фрагменты
image11 Вставить Вставить фрагменты из буфера обмена в редактор
image12 Поиск в проекте Вызов диалога поиска данных в проекте

Кнопки сборки проекта и установки связи с целевым устройством

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

Часть кнопок данной панели показана на Рисунок 4 .

../_images/image14.png

Рисунок 4 – Панель сборки проекта и соединения с целевым устройством

Таблица 2 – Кнопки сборки проекта и связи с целевым устройством на панели инструментов

Внешний вид кнопки Название кнопки Функция кнопки
image14 Сборка проекта в директории сборки Полная сборка(компиляция и компоновка) текущего проекта в папку build, находящийся в папке, где хранится проект
image15 Очистить директорию сборки проекта Удаление папки build, где был собран проект
image16 Подключиться к целевому ПЛК Соединиться с целевым устройством по адресу URI, который был указан в настройках проекта
image17 Показать код, сгенерированный PLCGenerator Показать код скомпилированного проекта языке ST
image18 Передать ПЛК Перенести исполняемый файл, полученный в ходе сборки проекта, на целевое устройство
image19 Запустить ПЛК Запустить на исполнение собранную прикладную программу на целевом устройстве
image20 Остановить запущенный ПЛК Остановить исполнение прикладной программы на целевом устройстве

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

На Рисунок 5 приведено состояние данной в панели, когда соединение с целевым устройством установлено и на нём уже есть прикладная программа. Соответственно, можно запустить с помощью кнопки «Запуск прикладной программы» её или передать новую, используя кнопку «Передача прикладной программы».

../_images/image22.png

Рисунок 5 - Панель инструментов сборки проекта и соединения с целевым устройством

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

Дерево проекта

Дерево проекта обычно расположено в левой части окна среды разработки Beremiz (см. Рисунок 6 ) и отображает структуру элементов, из которых состоит проект.

../_images/image23.png

Рисунок 6 – Дерево проекта

В роли элементов могут выступать:

  • Ресурсы;
  • Программные модули (функции, функциональные блоки и программ) и их составные части;
  • Типы данных;
  • Плагины модулей УСО.

Дерево проекта позволяет добавлять, удалять элементы. Операции копирования и вставки только доступны для программных модулей.

Добавление элемента в дерево проекта

В правом нижнем углу дерева проекта находится кнопка «+» (см. Рисунок 7 ), при нажатии на которую, появляется меню для выбора добавления необходимого элемента в проект.

../_images/image24.png

Рисунок 7 – Всплывающее меню добавления элементов проекта

В случае добавления программного модуля, т.е. выбора пункта «Функция», «Функциональный блок» или «Программа», появится диалог «Создать новый программный модуль» (см. Рисунок 8 ).

../_images/image25.png

Рисунок 8 – Диалог добавления программного модуля

В данном диалоге три поля:

  • «Имя программного модуля»;
  • «Тип программного модуля»;
  • «Язык».

Имя, присвоенное по умолчанию, может быть заменено на имя, соответствующее назначению данного программного модуля. В зависимости от того, какой программный модуль был выбран во всплывающем меню, в поле «Тип программного модуля» будет подставлено именование данного программного модуля. В поле «Язык» необходимо выбрать из списка (см. Рисунок 9 ) один из языков стандарта IEC 61131-3 (IL, ST, LD, FBD, SFC), на котором будут реализованы алгоритмы и логика работы данного добавляемого программного модуля.

../_images/image26.png

Рисунок 9 – Выбор языка программного модуля

В случае выбора добавления типа данных, появится диалог (см. Рисунок 10 ), в котором необходимо указать механизм создания нового типа данных

../_images/image27.png

Рисунок 10 – Добавление пользовательского типа данных

Добавление нескольких элементов одного типа, например нескольких программ, функций, функциональных блоков приводит к их группировке в дереве проекта. Еще одним способом добавления нового элемента является нажатие правой клавиши мыши по определённому разделу в дереве проекта. Например, при нажатии на «Функциональные блоки», появится всплывающее меню (см. Рисунок 11 ). В данном меню можно выбрать «Добавить программный модуль» или «Вставить программный модуль», если он был скопирован в буфер обмена.

Добавление нового элемента или выбор существующего в дереве проекта приводит к появлению панели редактирования и настроек соответствующего элемента:

  • Панель настроек проекта;
  • Панель, содержащая текстовый редактор языков ST и IL;
  • Панель, содержащая графические редакторы диаграмм языков FBD, SFC, LD;
  • Панель настроек ресурса;
  • Панель редактирование типа данных;
  • Панели настроек плагинов модулей УСО.

Каждая вышеперечисленная панель редактирования будет рассмотрена в последующих пунктах.

../_images/image28.png

Рисунок 11 – Всплывающее меню добавления и вставки программного модуля

Удаление элемента в дереве проекта

Удаление осуществляется наведением на определённый элемент в дереве проекта и нажатием на него правой клавишей мыши, а далее в появившемся меню выбирается пункт «Удалить» (см. Рисунок 12 )

../_images/image29.png

Рисунок 12 – Удаление элемента

Переименование, копирование и вставка программных модулей

Дерево проекта позволяет выполнять операции переименования, копирования и вставки для программных модулей. Копирование или переименование осуществляются с помощью нажатия правой клавиши мыши на элемент (см. Рисунок 13 ), соответствующий программному модулю в дереве проекта, и выбор соответствующего пункта появившегося меню.

../_images/image29.png

Рисунок 13 – Копирование и переименование элемента

Вставка программного модуля осуществляется в меню (нажатие правой клавишей мыши по данному элементу) корневого элемента дерева проекта, соответствующего проекту (см. Рисунок 14 ):

../_images/image30.png

Рисунок 14 – Вставка программного модуля

Другим способом выполнения вышеописанной операции является вызов меню для элемента группировки программных модулей одного типа (см. Рисунок 15 ).

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

../_images/image311.png

Рисунок 15 – Вставка программного модуля

Панель списка переменных и констант

Панель списка переменных и констант (см. Рисунок 16 ) отображает с помощью таблицы переменные и константы, соответствующие выбранному программному модулю, ресурсу или в целом проекту.

../_images/image32.png

Рисунок 16 – Панель переменных и констант

Каждая переменная имеет следующие параметры:

  • Имя, представляющее собой уникальный идентификатор переменной в пределах её области видимости и действия;
  • Класс: «Глобальный», «Вход», «Выход», «Вход/Выход», «Локальный», «Внешний», «Временный»;
  • Тип, определяющий тип переменной и может принадлежать базовому типу (в соответствии со стандартом IEC 61131-3), пользовательскому типу (псевдониму и поддиапазону существующего типа, перечислению, массиву, структуре) или типу функционального блока (стандартному или пользовательскому);
  • Размещение - идентификатор, необходимый для связывания данной переменной с переменной плагина модуля УСО;
  • Исходное значение значение - инициализация переменной некоторым начальным значением;
  • Настройка - задание константности, реманентности (сохранение её значения в энергонезависимой памяти) и нереманентности переменной;
  • Описание - комментарий к назначению данной переменной или константы.

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

../_images/image33.png

Рисунок 17 - Поле «Размещение» панели переменных и констант

Нажатие на данную кнопку приводит к появлению диалога «Просмотр директорий» (см. Рисунок 18 ), т.е. списка переменных модулей УСО, которые могут быть связанны с переменой в панели переменных и констант. При выборе в данном диалоге определённой переменной и нажатии клавиши «OK» в поле «Адрес» будет добавлен адрес переменной внешнего модуля УСО.

../_images/image34.png

Рисунок 18 - Диалог «Просмотр адресов», вызываемый из поля «Адрес»

Поле опции позволяет определить переменную как константу. Соответственно, если компилятор обнаружит в коде фрагмент, в котором происходит изменение этой переменной - будет выведена ошибка компиляции «Assignment to constant variables is not be allowed» в «Отладочной консоли». Квалификатор «Константа» не может быть использован в объявлении функциональных блоков. Добавление, удаление и перемещение переменных происходит с помощью специальных кнопок на панели переменных и констант. Описания данных кнопок представлены в таблице 3.

Панель переменных и констант предоставляет возможность фильтровать отображаемые переменные по их конкретным классам («Вход» ,«Выход», «Вход/Выход»,

«Внешний», «Локальный», «Временный») или сгруппированным классам («Интерфейс» и «Переменные»). Данная операция выполняется с помощью функции «Фильтр класса» (см. Рисунок 19 ).

../_images/image35.png

Рисунок 19 - Фильтрация отображения переменных в панели переменных и констант

Таблица 3 - Кнопки добавления, удаление и перемещения переменных на панели переменных и констант

Внешний вид кнопки Название кнопки Функция кнопки
image38 Добавить переменную Добавить новую переменную в панель переменных и констант со значениями по умолчанию
image39 Удалить переменную Удалить выделенную переменную или константу
image40 Переместить переменную вверх Перемещение переменной в таблице переменных и констант вверх на одну позицию
image41 Переместить переменную вниз Перемещение переменной в таблице переменных и констант вниз на одну позицию

Панель настройки проекта

Панель редактирования проекта (см. Рисунок 20 ) состоит из панели переменных и констант, а также настроек сборки проекта и данных о проекте.

../_images/image40.png

Рисунок 20 - Панели настройки проекта

Настройки сборки проекта (см. Рисунок 21 ) позволяют задать следующие параметры:

  • «URI системы исполнения» - унифицированный (единообразный) идентификатор ресурса, в данном случае под ресурсом понимается целевое устройство. Данный адрес необходим для режима отладки.
  • «Запретить расширения» - установка данного флага позволяет не учитывать при сборке проекта внешние плагины;
  • «Библиотеки» - подключаемые дополнительные библиотеки: «Native_Library», «Python_Library», «SVGUI_Library»;
  • «Целевая платформа» - выбор из списка компилятора для архитектуры целевого устройства;
  • «Компилятор» - имя исполняемого файла компилятора (если он определён в глобальных переменных среды), либо полный путь к нему;
  • «CFLAGS» - указание флагов С компилятора;
  • «Линковщик» - имя исполняемого файла компоновщика (если он определён в глобальных переменных среды), либо полный путь к нему;
  • «LDFLAGS» - указание флагов компоновщика;
../_images/image411.png

Рисунок 21 - Панель с настройками проекта

Также в настройках сборки проекта имеются две кнопки, описание которых приведено в таблице 4.

Таблица 4 - Кнопки в панели настройки сборки проекта

Внешний вид кнопки Название кнопки Функция кнопки
image44 МЭК - код Вызов «Панели отображения промежуточного кода» (см. п. 5.5.1), для вывода кода, из которого генерируется ST код всего проекта
image45 Файлы проекта Вызов «Панели файлов проекта», в которой можно выбрать файлы необходимые для передачи на целевое устройство вместе с исполняемым файлом (см. п. 5.5.2)

Вкладка «Проект» (см. Рисунок 22 ) позволяет задать: имя проекта, версию проекта, имя продукта, версию продукта и релиз продукта.

../_images/image44.png

Рисунок 22 – Вкладка с данными проекта

Вкладка «Автор» (см. Рисунок 23 ) позволяет задать: Имя компании, URL-адрес компании, Имя автора, Название организации.

../_images/image45.png

Рисунок 23 – Вкладка данные об авторе проекта

Вкладка «Графика» (см. Рисунок 24 ) позволяет задать размеры страницы и разрешение сетки для редакторов диаграмм графических языков FBD, LD и SFC.

../_images/image46.png

Рисунок 24 – Вкладка графика

Вкладка «Прочее», изображенная на Рисунок 25 , позволяет выбрать язык интерфейса для среды разработки Beremiz и указать дополнительное текстовое описание для проекта.

../_images/image47.png

Рисунок 25 – Вкладка с настройками языка и описанием проекта

При запуске среды разработки Beremiz языком по умолчанию является язык, соответствующий текущей локали операционной системы, если файл для данной локали присутствуют. В случае отсутствия данных файлов, устанавливается английская локаль, которая доступна всегда. Файлы доступных локалей располагаются в папке beremiz/locale.

Панель отображения промежуточного кода

Данная панель (см. Рисунок 26 ) представляет собой текстовый редактор, отображающий с подсветкой синтаксиса и нумерацией строк код на языке ST, доступный только для чтения, без возможности редактирования.

../_images/image48.png

Рисунок 26 – Панель отображения промежуточного кода на языке ST

Открытие данной панели доступно после сборки проекта с помощью соответствующей кнопки (см. таблицу 2).

Панель файлов проекта

Панель файлов проекта (см. Рисунок 27 ) содержит встроенный проводник файлов (справа), в котором файлы могут быть выделены и перенесены в левую часть.

../_images/image49.png

Рисунок 27 – Вкладка файлы проекта

Все манипуляции с файлами осуществляются с помощью кнопок, расположенных в середине данной панели. Их описание приведено в таблице 5.

Таблица 5 - Кнопки в панели файлов проекта

Внешний вид кнопки Название кнопки Функция кнопки
image39 Удалить файл из левой директории Удаление выделенного файла из левого списка добавленных файлов в проект
image52 Скопировать файл из правой директории в левую Добавить выделенный файл из проводника файлов в проект
image53 Скопировать файл из левой директории в правую Добавить в текущую папку проводника файлов слева выделенный файл в списке файлов проекта

Данные файлы будут переданы на целевое устройство вместе с исполняемым файлом. Как правило, этими дополнительными файлами проекта являются сторонние библиотеки, необходимые для корректной работы плагинов модулей УСО.

Текстовый редактор языков ST и IL

Текстовый редактор языков ST и IL (см. Рисунок 28 ) позволяет создавать и редактировать алгоритмы и логику выполнения программных модулей на языках ST и IL.

../_images/image52.png

Рисунок 28 – Текстовый редактор языков ST и IL

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

  • Подсветку синтаксиса кода, написанного пользователем, т.е. выделения особыми параметрами шрифта ключевых слов данных языков;
  • Нумерации строк, что может быть полезным при возникновении ошибок в программе, т.к. транслятор кода ST в C выдаёт номер строки, в которой найдена ошибка;
  • Сворачивание кода структурных элементов языка: определения функции, определение типа и т. Д.

Увеличение или уменьшение размера шрифт выполняется с помощью Ctrl + <колёсико мыши>.

Описание синтаксиса, основных конструкций и примеров использования языков ST и IL приведены в описании языков стандарта МЭК 61131-3.

Графические редакторы диаграмм языков FBD, SFC, LD

Данные редакторы позволяют создавать и редактировать алгоритмы и логику выполнения программных модулей, написанных на языках FBD, SFC и LD.

Редактор языка FBD

Основными элементами языка FBD являются: переменные, функциональные блоки и соединения. При редактировании FBD диаграммы, в панели инструментов появляется следующая панель (см. Рисунок 29 ).

../_images/image53.png

Рисунок 29 – Панель редактирования FBD диаграмм

С помощью данной панели можно добавить все элементы языка FBD (назначение каждой кнопки описано в таблице 6).

Таблица 6 - Кнопки в панели файлов проекта

Внешний вид кнопки Название кнопки Функция кнопки
image56 Выделение объектов на диаграмме Перевод указателя мыши в состояние, при котором можно осуществлять выделение объектов редакторе одного из графических языков
image57

Перемещение

диаграммы

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

Добавить

функциональный блок

Вызов диалога добавления функционального блока
image61 Добавить подключение Вызов диалога добавления соединения

Для этого необходимо указателем мыши выбрать необходимую кнопку и нажать на свободное место в области редактирования FBD диаграммы. В зависимости от выбранного элемента появятся определённые диалоги добавления данного элемента.

Аналогичные действия можно выполнить с помощью всплывающего меню в области редактирования FBD диаграмм. Вызов данного меню происходит нажатием правой клавишей мыши и выбором пункта «Добавить», в котором будет: «Блок», «Переменная», «Подключение», «Комментарий» (см. Рисунок 30 ).

../_images/image60.png

Рисунок 30 - Всплывающее меню редактора языка FBD

Далее рассмотрено добавление каждого элемента в отдельности.

Добавление функционального блока

При добавлении функционального блока одним из описанных выше способов, появится диалог «Свойства блока» (см. Рисунок 31 ).

../_images/image611.png

Рисунок 31 – Свойства функционального блока

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

Опция «Управление исполнением» добавляет в функциональный блок дополнительные параметры EN/ENO, о которых подробнее рассказано в приложении 5. Для сохранения изменений необходимо нажать «OK». Одним из свойств является «Порядок исполнения».

Добавление (путем копирования существующего блока), удаление и переименование функционального блока осуществляется при помощи команд меню «Редактирование» в главном меню или с помощью всплывающего меню диаграммы (см. Рисунок 31 ).

Следует отметить, что функциональный блок может быть так же добавлен из «Панели библиотеки функций и функциональных блоков», перетаскиванием мыши (Drag&Drop) выбранного блока на панель редактирования диаграммы FBD.

Добавление переменной

Переменные добавляются из панели переменных и констант с помощью перетаскивания (Drag&Drop) левой клавишей мыши за область, выделенную красным цветом на Рисунок 32 , в область редактирования FBD диаграмм.

../_images/image62.png

Рисунок 32 – Добавление переменной из панели переменных и констант

Изменить параметры переменной можно в диалоге «Свойства переменной» (см. Рисунок 33 ), нажав на неё два раза левой клавишей мыши.

../_images/image63.png

Рисунок 33 – Свойства переменной

В данном диалоге можно задать порядок исполнения переменной и изменить её класс («Вход», «Выход», «Вход/Выход»).

Добавление подключения

В тех случаях, когда необходимо передать выходное значение одного функционального блока на один из входов другого, удобно использовать элемент «Подключение». При прямом соединении с помощью перетаскивания выхода одного функционального блока к входу другого получится прямое соединение с помощью чёрной соединительной линии. На схемах с большим количеством функциональных блоков элемент «Подключение» позволяет избежать пересечения прямых соединений, которые приводит к тому, что схема становится менее понятной.

После выбора добавления элемента «Подключение» появится диалог «Свойства подключения» (см. Рисунок 34 ).

../_images/image64.png

Рисунок 34 - Диалог добавления подключения для FBD

В данном диалоге можно выбрать тип соединения: «Выходное соединение» - для выходного значения, «Входное соединение» - для входного значения, а так же необходимо указать имя данного соединения. На Рисунок 35 представлен пример использования соединений.

../_images/image65.png

Рисунок 35 - Пример FBD диаграммы с использованием подключений

Функция «MAX» на выходе «OUT» имеет некоторое значение, которое с помощью соединения «RESULT» передаётся на вход «IN1» в функцию «MIN». В функции «MAX» используется соединение типа «Выходное соединение», в функции «MIN» - типа «Входное соединение». Имена у этих соединений, соответственно, одинаковые.

Добавление комментариев

Редактор FBD диаграмм (и остальные редакторы, о которых будет рассказано ниже) позволяют добавлять комментарии на диаграмму. После выбора на панели редактирования комментария и добавления его в область редактирования появится диалог (см. Рисунок 36 ) для ввода текста комментария.

../_images/image66.png

Рисунок 36 – Диалог добавления комментария

После нажатия кнопки «ОК» комментарий появится на диаграмме(см. Рисунок 37 )

../_images/image67.png

Рисунок 37 – Добавленный комментарий к FBD диаграмме

Порядок выполнения функций и функциональных блоков

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

Если обратиться к Рисунок 38 , то порядок выполнения функций будет следующим: 1 – CounterST0; 2 – CounterFBD0; 3 – CounterSFC0.

../_images/image68.png

Рисунок 38 - Схема, содержащая функции с порядком выполнения (обсчета) по расположению

Данная опция «Порядок выполнения» выделена красным цветом на Рисунок 39 .

../_images/image69.png

Рисунок 39 - Свойство порядок выполнения функции или функционального блока

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

../_images/image70.png

Рисунок 40 - Схема, содержащая функции с порядком выполнения заданным вручную

Описание языка FBD, основных его конструкций и пример использования приведены в приложении 5.

Редактор языка LD

Язык LD или РКС (Релейно-Контактные Схемы) представляет собой графическую форму записи логических выражений в виде контактов и катушек реле. Основными элементами языка LD являются: шина питания, катушка, контакт. Добавить данные элементы, так же как и элементы языка FBD, можно несколькими способами.

Как только активной становится вкладка с редактированием LD диаграммы, в панели инструментов появляется панель (см. Рисунок 41 ) с элементами языка LD.

../_images/image711.png

Рисунок 41 - Панель редактирования LD диаграмм

Аналогично редактору языка FBD с помощью данной панели можно добавить все элементы языка LD, а так же и FBD, т.к. есть возможность комбинированного применения языков на одной диаграмме. В таблице 7 приведено описание кнопок данной панели. Описание остальных кнопок, относящихся к языку FBD, находится в таблице 6.

Таблица 7 - Кнопки панели редактирования LD диаграммы

Внешний вид кнопки Название кнопки Функция кнопки
image74 Создать новую шину питания Вызов диалога создания новой шины питания
image75 Создать новую катушку Вызов диалога создания новой катушки
image76 Создать новый контакт Вызов диалога создания нового контакта

Во всплывающем меню для редактора LD диаграмм (см. Рисунок 42 ), так же как и в панели инструментов помимо элементов LD языка, доступны элементы языка FBD.

../_images/image75.png

Рисунок 42 - Всплывающее меню редактора языка LD

Добавление шины питания

При добавлении шины питания, одним из описанных выше способов, появится диалог «Свойства шины питания» (см. Рисунок 43 ).

В данном диалоге указываются следующие свойства:

  • Тип шины питания: шина питания слева или шина питания справа;
  • Количество контактов на добавляемой шине питания.
../_images/image76.png

Рисунок 43 - Свойство шины питания

На Рисунок 44 приведены две добавленные шины питания: левая с тремя контактами и правая с одним контактом.

../_images/image77.png

Рисунок 44 - Шины питания на LD диаграмме

Добавление контакта

При добавлении контакта на LD диаграмму появится диалог «Редактирование значения контакта» (см. Рисунок 45 ).

../_images/image78.png

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

Данный диалог позволяет определить модификатор данного контакта:

  • «Обычный»;
  • «Инверсия»;
  • «Нарастающий фронт»;
  • «Спадающий фронт».

Кроме того, диалог позволяет выбрать из списка «Имя» переменную, «связываемую» с данным контактом. Следует отметить, что «связываемые» переменные должны быть определены в панели переменных и констант для данного программного модуля типом BOOL.

Еще одним способом добавления контакта на диаграмму является метод Drag&Drop из панели переменных и констант переменной типа BOOL и класса: «Вход»,

«Вход/Выход», «Внешний», «Локальный», «Временный». Для этого необходимо зажать левой кнопкой мыши за первый столбец (который имеет заголовок #) переменную, удовлетворяющую описанным выше критериям и перенести в область редактирования диаграммы (см. Рисунок 46 ).

../_images/image79.png

Рисунок 46 - Добавление контакт на диаграмму из панели переменных и констант

Добавление катушки

При добавлении катушки на LD диаграмму появится диалог «Редактирование значения катушки» (см. Рисунок 47 ).

../_images/image80.png

Рисунок 47 – Редактирование катушки

В данном диалоге можно определить модификатор данного контакта:

  • «Обычный»;
  • «Инверсия»;
  • «Установить»;
  • «Сброс»;
  • «Нарастающий фронт»;
  • «Спадающий фронт».

Кроме того, производится выбор из списка «Имя» переменной, «связываемой» с данным контактом. Эти переменные, как и для контактов, должны быть определены в панели переменных и констант для данного программного модуля типом BOOL.

Аналогично добавлению контакта с помощью Drag&Drop можно добавить и катушки, но в данном случае переменная должна относиться к классу «Выход» (см. Рисунок 48 ).

../_images/image811.png

Рисунок 48 - Добавление катушки на диаграмму из панели переменных и констант

Описание языка LD, основных конструкций и примера его использования приведены в описании яызков стандарта МЭК 61131-3.

Редактор языка SFC

Основными элементами языка SFC являются: начальный шаг, шаг, переход, блок действий, дивергенции, «прыжок». Программа на языке SFC состоит из набора шагов, связанных переходами.

Как только активной становится вкладка с редактированием SFC диаграммы, в панели инструментов появляется следующая панель (см. Рисунок 49 ).

../_images/image82.png

Рисунок 49 - Панель редактирования SFC диаграмм

В таблице 8 приведено описание кнопок данной панели. Описание остальных кнопок, относящихся к языку FBD и LD (за исключением катушки) и так же находящихся на этой панели, приведены в таблицах 6 и 7 соответственно.

Таблица 8 - Кнопки панели редактирования LD диаграммы

Внешний вид кнопки Название кнопки Функция кнопки
image85 Создать новый начальный шаг Вызов диалога редактирования шага
image86 Создать новый шаг Вызов диалога редактирования шага
image87 Создать новый переход Вызов диалога редактирования перехода
image88 Создать новый блок действий Вызов диалога редактирования блока действий
image89 Создать новое ветвление Вызов диалога создания новой дивергенции и конвергенции
image90 Создать новый безусловный переход Вызов диалога создания «прыжка»

Далее даётся описание добавления приведённых в таблице 8 элементов языка SFC.

Добавление шага инициализации и шага

Процедура добавления шага инициализации и обычного шага ничем не отличается. В обоих случаях вызывается диалог «Редактировать шаг» (см. Рисунок 53 ).

../_images/image90.png

Рисунок 50 - Диалог редактирования шага инициализации SFC диаграммы

Согласно стандарту IEC 61131-3, на SFC диаграмме должен быть один шаг инициализации, который характеризует начальное состояние SFC-диаграммы и отображается со сдвоенными линиями на границах (см. Рисунок 51 ).

../_images/image911.png

Рисунок 51 - Шаг инициализации языка SFC

В случае, если при добавлении шага не указано его имя - будет выдана ошибка (см. Рисунок 52 ).

../_images/image92.png

Рисунок 52 – Ошибка отсутствия имени шага при его добавлении в диаграмму

При добавлении шага появляется диалог, в котором можно указать, с помощью галочек его соединители (см. Рисунок 53 ):

  • «Вход»;
  • «Выход»;
  • «Действие».
../_images/image89.png

Рисунок 53 – Добавление шага SFC на диаграмму

«Действие» добавляет соединитель для связывания данного шага с блоком действий. «Вход» и «Выход» соединители, как правило, соединены с переходом. Соответственно, после нажатия кнопки OK, на диаграмму будет добавлен шаг с указанными соединителями (см. Рисунок 54 ).

../_images/image93.png

Рисунок 54 - Шаг SFC диаграммы с соединителями входа и действия

Добавление перехода

При добавлении на SFC диаграмму перехода, появится диалог «Редактировать переход» (см. Рисунок 55 ).

../_images/image94.png

Рисунок 55 – Добавление нового перехода в диаграмму

В данном диалоге необходимо выбрать тип перехода и его приоритет. Тип перехода может быть:

  • «Ссылка»;
  • «Встроенный код»;
  • «Соединение».

При выборе типа перехода «Ссылка» в открывающемся списке (см. Рисунок 56 ) будут доступны переходы, предопределённые в дереве проекта для данного программного модуля, написанного на языке SFC. Добавление предопределённого перехода описывается ниже после описания всех добавляемых элементов языка SFC.

../_images/image95.png

Рисунок 56 - Всплывающий список с доступными предопределёнными переходами

При выборе типа перехода «Непосредственно» (см. Рисунок 57 ), условие перехода можно написать в виде выражения на языке ST.

../_images/image96.png

Рисунок 57 - Условие перехода в виде встроенного кода, написанного на языке ST

Реализация перехода таким способом удобна в случае, когда необходимо короткое условие, например: переменные «F3» и «F4» типа INT равны. Встроенный код для такого условия выглядит следующим образом (см. Рисунок 57 ):

F3 = F4

Так же например можно в качестве условия просто указать переменную. В случае её значения равного 0 - будет означать FALSE, все остальные значения - TRUE.

При выборе типа перехода «Соединение» (см. Рисунок 58 ), в качестве условия перехода можно использовать выходные значения элементов языка FBD или LD.

../_images/image97.png

Рисунок 58 - Выбор условия перехода как соединение с элементами других графических языков IEC 61131-3

При выборе типа перехода «Подключение», у добавленного перехода появится слева контакт, который необходимо соединить с выходным значением, например, функционального блока языка FBD или катушки LD диаграммы. Стоит отметить, что данное выходное значение должно быть типа BOOL. Ниже, на Рисунок 59 красным цветом выделен пример перехода, условия которого задано с помощью языка LD.

../_images/image98.png

Рисунок 59 – Пример SFC диаграммы, в которой один из переходов задан с помощью языка LD

Добавление блока действий

При добавлении блока действий на диаграмму появится диалог «Редактировать свойство блока действий» (см. Рисунок 60 ).

../_images/image99.png

Рисунок 60 - Диалог «Редактировать свойство блока действий»

Данный блок действий может содержать набор действий. Добавить новое действие можно нажав кнопку «Добавить» и установив необходимые параметры:

  • «Спецификатор»;
  • «Длительность»;
  • «Тип»: «Действие», «Переменная», «Непосредственно»;
  • «Значение»;
  • «Индикатор».

Поле «Спецификатор» определяет момент времени, когда действие начинается, сколько времени продолжается и когда заканчивается. Выбрать квалификатор можно из списка (см. Рисунок 61 ).

../_images/image100.png

Рисунок 61 - Меню выбора спецификатора для действия в диаграмме SFC

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

Таблица 9 - Квалификаторы действий SFC диаграммы

Имя спецификатора Поведение блока действия
D Действие начинает выполняться через некоторое заданное время (если шаг еще активен) и выполняется до тех пор, пока данный шаг активен
L Действие выполняется в течение некоторого заданного интервала времени, после чего выполнение действия останавливается
N Действие выполняется, пока данный шаг активен
P Действие выполняется один раз, как только шаг стал активен
P0 Действие выполняется один раз, как только шаг стал неактивен
P1 Действие выполняется один раз, как только шаг стал активен
S Действие активируется и остается активным пока SFC диаграмма выполняется
R Действие выполняется, когда диаграмма деактивизируется
DS Действие начинается выполняться через некоторое заданное время, только в том случае если шаг еще активен
SL Действие активно в течении некоторого, заданного интервала
SD Действие начинается выполняться через некоторое время, даже в том случае если шаг уже не активен

Поле «Длительность» необходимо для установки интервала времени необходимого для некоторых квалификаторов, описанных выше в таблице 9.

«Тип» определяет код или конкретную манипуляцию, которая будет выполняться во время активации действия. В случае выбора «Действия» появляется возможность, как и в случае с переходом, использовать предопределённые действия в дереве проекта для данного программного модуля, написанного на языке SFC (см. Рисунок 62 ).

../_images/image1011.png

Рисунок 62 - Выбор предопределённого действия

Добавление предопределённого действия также как добавление предопределённого перехода описывается ниже после описания всех добавляемых элементов языка SFC.

В случае выбора типа действия «Переменная» в поле «Значение» появляется возможность выбрать переменные (см. Рисунок 63 ), относящиеся к данному программному модулю.

../_images/image102.png

Рисунок 63 - Выбор предопределённой переменной

Как только шаг становится активным, данная переменная в зависимости от своего типа принимает значение 0, 0.0, FALSE и другие нулевые значения типов. Как только действие начинает выполняться, переменная принимает значение 1, 1.0, TRUE и другие единичные значения типов. В случае если действие прекратило своё выполнение переменная снова принимает значение 0, 0.0, FALSE и другое нулевое значение, в зависимости от своего типа.

В случае выбора «Непосредственно», появляется возможность в поле «Значение» написать на языке ST код, который будет выполняться, когда действие становится активным (см. Рисунок 64 ).

../_images/image103.png

Рисунок 64 - Написание встроенного кода для действия

Следует отметить, что в конце встроенного кода для действия необходимо поставить «;», в отличие от встроенного кода для перехода.

После добавления блока действия на диаграмму необходимо его ассоциировать с конкретным шагом. Данная операция выполняется обычным соединением правого контакта у шага и левого контакта у действия (см. Рисунок 65 ).

../_images/image104.png

Рисунок 65 - Ассоциирование шага ORANGE блоком действия, содержащим четыре действия

Добавление дивергенции и конвергенции

При добавлении ветвления, появится диалог «Создать новое ветвление» (см. Рисунок 66 ).

../_images/image105.png

Рисунок 66 – Добавление альтернативного ветвления(дивергенции)

В первую очередь следует выбрать тип ветвления:

  • «Альтернативное ветвление»;
  • «Альтернативное объединения»;
  • «Параллельное ветвление»;
  • «Параллельное объединение».

Вторым параметром является количество разветвлений, которое определяет на сколько ветвей будет либо расходится (в случае выбора типа дивергенции «Альтернативное ветвление» или «Параллельное ветвление») одна ветвь, либо сколько ветвей будет сходиться в одну ветвь (в случае выбора типа дивергенции «Альтернативное объединения» или «Параллельное объединение»)

Пример дивергенции с двумя разветвлениями показан на Рисунок 67 и выделен красным цветом.

../_images/image106.png

Рисунок 67 – Пример SFC диаграммы, содержащей альтернативное ветвление

Пример конвергенции выделен красным цветом на Рисунок 68 .

../_images/image106.png

Рисунок 68 – Пример SFC диаграммы, содержащей альтернативное объединение

Пример параллельного ветвления показан на Рисунок 69 и выделен красным цветом.

../_images/image107.png

Рисунок 69 – Пример SFC диаграммы с параллельным ветвлением

Согласно стандарту IEC 61131-3, каждая ветвь альтернативного ветвления должна оканчиваться переходом, при альтернативном объединении переход должен быть перед каждой ветвью. При параллельном ветвлении переход должен быть перед ветвлением, а при параллельном объединении переход необходим после объединения.

Добавление безусловного перехода

Элемент «безусловный переход» на SFC диаграмме подобен выполнению оператора GOTO при переходе на определённую метку в коде в различных языках программирования. После выбора добавления «прыжка» на SFC диаграмму, появится диалог (см. Рисунок 70 ), в котором необходимо выбрать из списка шаг, к которому будет происходить «прыжок» - переход от одного шага SFC диаграммы к другому.

../_images/image108.png

Рисунок 70 – Диалог добавления безусловного перехода

В данном диалоге также присутствует и шаг инициализации (начальный шаг). После выбора шага и нажатия кнопки OK. На SFC диаграмме появится стрелочка, которую нужно соединить с переходом (см. Рисунок 71 ). Справа от стрелочки находится имя шага, к которому осуществляется переход в случае выполнения условия перехода, находящегося выше и соединённого с ней.

../_images/image109.png

Рисунок 71 – Безусловный переход с шага Stop на начальный шаг Start

Согласно стандарту IEC 61131-3, между шагом и «прыжком» должен обязательно быть определён переход.

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

В случае, если необходимо использовать определённое условие перехода между множеством шагов, есть возможность определить данное условие перехода в структуре SFC диаграммы. Данная операция выполняется нажатием на данную SFC диаграмму на дереве проекта правой клавишей мыши и выбором «Добавить переход» (см. Рисунок 72 ).

../_images/image110.png

Рисунок 72 - Всплывающее меню SFC диаграммы в панели проекта

Далее появится диалог под названием «Создать новый переход» (см.:numref:image111). В нём необходимо выбрать уникальное имя перехода и язык, в котором будет описано данное условие.

../_images/image1111.png

Рисунок 73 - Диалог «Создать новый переход»

В случае, если переходы с введённым именем уже существуют, то будет выведено сообщение об ошибке (см. Рисунок 74 ).

../_images/image112.png

Рисунок 74 - Сообщение об ошибке добавления существующего программного модуля

Добавление действия в структуру SFC диаграммы (см. Рисунок 75 ) происходит аналогично добавлению перехода в данную структуру.

../_images/image113.png

Рисунок 75 - Всплывающее меню SFC для структуры диаграммы

После выбора «Добавить действие» во всплывающем меню, вызванном с помощью нажатия правой клавиши мыши по программному модулю, написанном с помощью языка SFC, появится диалог «Создать новое действие» (см. Рисунок 76 ).

../_images/image114.png

Рисунок 76 - Диалог «Создать новое действие»

В данном диалоге необходимо указать «Имя действия» (должно быть уникальным) и выбрать язык (ST, IL, FBD, LD), на котором будет написано данное действие. Если имя действия не заполнено будет выведено сообщение об ошибке (см. Рисунок 77 ).

../_images/image115.png

Рисунок 77 - Ошибка не заполнения имени действия при его добавлении

После того как действие добавлено, необходимо реализовать его код на текстовом или графическом языке, в зависимости от языка, который был выбран в диалоге «Создать новое действие» (см. Рисунок 76 ). После добавления переходов и действий в дерево проекта они будут доступны для множественного использования.

Описание языка SFC, основных конструкций и примера его использования приведены в приложении 7.

Панель редактирования ресурса

Панель редактирования ресурса (см. Рисунок 78 ) содержит панель переменных и констант, которая позволяет определять глобальные переменные на уровне ресурса и панели, содержащие задачи и экземпляры.

../_images/image116.png

Рисунок 78 - Вкладка ресурс главной рабочей области

Добавление переменных в ресурс ничем не отличается от добавления переменных в программные модули, единственное исключение - переменные могут быть только класса «Глобальная». Основной задачей данной панели является возможность добавить экземпляр, указать для него программный модуль типа «Программа», из ранее определённых в проекте, для поля «Тип» и выбрать задачу из добавленных в список «Задачи».

Панель редактирования типа данных

Панель редактирования типа данных (см. Рисунок 79 ) позволяет определить различные параметры создаваемого пользовательского типа данных.

../_images/image117.png

Рисунок 79 - Вкладка создания нового типа данных

Главным параметром является список под названием «Механизм создания нового типа», позволяющим выбрать следующие типы:

  • Синоним;
  • Поддиапазон существующего типа (выделение диапазона значений стандартного типа);
  • Перечисление (перечисляемый тип);
  • Массив;
  • Структура, позволяющая определять тип, основанный на объединении несколько типов.

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

Синоним

При выборе «Синоним» (см. Рисунок 80 ), из списка указывается базовый тип и его начальное значение.

../_images/image118.png

Рисунок 80 - Добавление псевдонима типа данных

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

Поддиапазон существующего типа

В случае выбора механизма создания нового типа «Поддиапазон существующего типа», помимо базового типа и начального значения производится установка параметров «Минимум» и «Максимум» (см. Рисунок 81 ), т.е. соответственно минимального и максимального значения, которое может принимать создаваемый тип данных.

../_images/image119.png

Рисунок 81 - Добавление нового типа данных, представляющего поддиапазон существующего типа

Перечисляемый тип

При выборе механизма создания нового типа «Перечисляемый тип» (см. Рисунок 82 ), появится панель, содержащая таблицу, в которой можно задать список возможных значений данного перечисляемого типа.

../_images/image120.png

Рисунок 82 – Добавление перечисляемого типа данных

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

Таблица 10 - Кнопки редактирования значений перечисляемого типа

Внешний вид кнопки Название кнопки Функция кнопки
image129 Редактировать Редактировать выделенное поле в таблице
image130 Добавить Добавить новое поле в таблицу
image131 Удалить Удалить выделенное поле в таблице
image132 Переместить вверх Переместить вверх выделенное поле в таблице
image133 Переместить вниз Переместить вниз выделенное поле в таблице

Также есть возможность задать начальное значение данного перечисляемого типа в поле «Начальное значение».

Массив

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

../_images/image122.png

Рисунок 83 - Добавление типа данных - массива

Размерность массива задаётся в следующем формате: <начальное значение>..<конечное значение>

Структура

При выборе механизма создания нового типа «Структура» (см. Рисунок 84 ), в появившейся таблице необходимо добавить необходимое количество полей структуры. Каждое поле имеет своё имя, тип и начальное значение.

../_images/image123.png

Рисунок 84 – Добавление типа данных – структура

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

Выше были рассмотрены варианты редактирования различных элементов, из которых состоит проект, согласно стандарту IEC 61131-3. Далее будет продолжено рассмотрение остальных компонент среды разработки Beremiz.

Панель экземпляров проекта

Панель экземпляров проекта (см. Рисунок 85 ) обычно располагается слева в среде разработки Beremiz и отображаемые в ней экземпляры зависят от выбранного элемента в дереве проекта.

../_images/image124.png

Рисунок 85 – Панель экземпляров проекта

При выборе в дереве проекта элемента, соответствующего ресурсу, в панели экземпляров проекта будут отображены экземпляры, определённые в данном ресурсе, а так же глобальные переменные ресурса. На Рисунок 86 показано, как в панели редактирования ресурса определен экземпляр для программного модуля «main_program»:

../_images/image125.png

Рисунок 86 – Экземпляр main_instance для программного модуля main_program

Соответственно, при выборе в дереве проекта ресурса, в котором определены экземпляры (описанные выше) и глобальная переменная, панель экземпляров будет выглядеть, как показано на Рисунок 87 :

../_images/image126.png

Рисунок 87 - Панель экземпляров при выборе элемента ресурса в дереве проекта

При выборе в дереве проекта элемента, соответствующего программным модулям «Программа» и «Функциональный блок» в панели экземпляров будут отображены переменные, определённые в них. Ниже на Рисунок 88 приведён пример программного модуля типа «Программа» с именем «program0», в котором определено 8 переменных различных пользовательских классов.

../_images/image127.png

Рисунок 88 - Программный модуль типа «Программа»

Соответственно, при выборе в дереве проекта данного программного модуля в панели экземпляров будут отображены, определённые выше переменные (см. Рисунок 89 ).

../_images/image128.png

Рисунок 89 - Панель экземпляров проекта при выборе в дереве проекта программного модуля main_program

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

Таблица 11 - Кнопки на панели экземпляров проекта

Внешний вид кнопки Название кнопки Функция кнопки
image141 Отладка экземпляра Кнопка запуска режима отладки для экземпляра
image142 Двойной щелчок по кнопке «Отладка экземпляра» Отображение графика изменения значения переменной в режиме отладки
image143 Родительский экземпляр Переход к родительскому экземпляру и его локальным переменным

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

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

Панель библиотеки функций и функциональных блоков

Панель библиотеки функций и функциональных блоков (см. Рисунок 90 ), как правило, располагается справа в среде разработки Beremiz. Она содержит коллекцию стандартных функций и функциональных блоков, разделённых по разделам в соответствии с их назначением, которые доступны при написании алгоритмов и логики работы программных модулей.

../_images/image131.png

Рисунок 90 – Панель библиотеки функций и функциональных блоков

Выделены следующие разделы для функций и функциональных блоков: стандартные, дополнительные, преобразования типов данных, операций с числовыми данными, арифметических операций, временных операций, побитовых и смещения бит, операций выбора, операций сравнения, строковых операций, модулей «Python» и «SVGUI».

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

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

Отладочная консоль

Панель, содержащая отладочную консоль (см. Рисунок 91 ), как правило, располагается в правом нижнем углу среды разработки Beremiz.

../_images/image132.png

Рисунок 91 – Успешная сборка в отладочной консоли

Она служит для отображения в виде текстовых сообщений:

  • Результатов генерации ST и C кода;
  • Результатов компиляции и компоновки прикладной программы;
  • Процесса соединения и передачи прикладной программы на целевое устройство;
  • Различных промежуточных манипуляций в процессы создания прикладной программы.

В случае, если необходимо вывести предупреждения среды разработки Beremiz или ошибки компиляторов (MatlEC или C кода) во время их работы цвет вывода текстовых сообщений становится красным. Критические ошибки также выделяется красным цветом, но при этом еще желтым фоном (см. Рисунок 92 ).

../_images/image133.png

Рисунок 92 - Ошибка сборки проекта в отладочной консоли

Поиск элементов в проекте

Для поиска интересующего элемента в проекте используется диалог «Поиск в проекте» (см. Рисунок 93 ). Его вызов происходит с помощью главного меню программы или панели инструментов.

../_images/image134.png

Рисунок 93 – Диалог поиска в проекте

В появившемся диалоге можно установить различные параметры поиска: шаблон поиска, область поиска, чувствительность к регистру при поиске, а так же записать шаблон поиска в виде регулярного выражения. После того как все параметры установлены, необходимо нажать кнопку «Поиск» в этом диалоге. Ниже на Рисунок 94 приведен пример поиска элемента с именем «LIGHT».

../_images/image135.png

Рисунок 94 – Результаты поиска элемента с именем LIGHT

Результат поиска выводится в иерархической структуре. При двойном щелчке по одному из результатов - данный элемент будет выделен в проекте оранжевым цветом.

Панель отладки

Панель отладки располагается в правой части среды разработки Beremiz (см. Рисунок 95 ).

../_images/image136.png

Рисунок 95 – Панель отладки

Данная панель представляет собой таблицу с двумя столбцами «Переменная» и «Значение». Соответственно, столбец «Переменная» содержит экземпляры переменных, значения которых во время исполнения, отображаются в поле «Значение» и могут изменяться. Добавление переменных осуществляется с помощью панели экземпляров проекта.

Изменение значений переменной во время отладки прикладной программы осуществляется нажатием левой клавишей мыши на иконку замка напротив интересующей переменной (см. Рисунок 96 ).

../_images/image137.png

Рисунок 96 – Установка значения переменной

Далее появится диалог ввода значения для выбранной переменной (см. Рисунок 97 ).

../_images/image138.png

Рисунок 97 – Диалог установки значения для переменной

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

../_images/image139.png

Рисунок 98 – Освобождение значения переменной

На данной панели присутствует кнопка удаления переменной из панели отладчика, перемещать и передавать ссылку на переменные можно в Drag&Drop режиме.

Панель графика изменения значения переменной в режиме отладки

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

../_images/image140.png

Рисунок 99 – Графики изменения значений счетчиков Cnt

На данной панели есть возможность установить:

  • «Интервал» - временной отрезок, за который отображается изменений графика;
  • «Масштаб» - задание приближения отображения графика;
  • «Позиция» - перемещение по отображению графика, от начала и до конца.

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

Таблица 12 - Кнопки на панели графика изменения значения переменной

Внешний вид кнопки Функция кнопки
image154 Очистка отображения графика
image155 Переход к отображению текущего значения графика, т.е. сдвиг параметра «Позиция» максимально вправо
image156 Сброс настроек масштаба до настроек по умолчанию: x 1.0