Использование Unimod Pro
Особенности ПТК для системы РСУ
Section titled “Особенности ПТК для системы РСУ”Варианты резервирования контроллеров в системе РСУ
Резервирование процессорной части.
Данный вариант предусматривает наличие в составе контроллера единого УСО и двух мастеров с внешней системой определения статуса «основной - резервный». В каждый момент времени УСО опрашивает только один мастер - «основной».
Программа Unimod Pro выполняется только на «основном» мастере.
Переход управления с «основного» мастера на «резервный» мастер автоматически происходит при полном отказе основного, или при ошибках.
При резервировании процессорной части некоторые данные получает только мастер-модуль с текущим статусом «Основной», так как часть действий выполняется только на нём, в том числе: обмен с модулями ввода/вывода, обмен с другими контроллерами по межконтроллерному обмену, обмен с Modbus-устройствами.
При установке переключателя DIP:1 в значение «On» - выполняется «холодный» старт без восстановления сохранённого состояния, а также блокируется «зеркализация» базы.
При старте «резервного» мастера полностью зеркализируются технологическое приложение, настройки и текущее значение всей базы приложения с «основного» мастера.
100% резервирование контроллера.
В таком случае предусматривается наличие двух независимых контроллеров. При этом входные сигналы от объекта подключатся к модулям ввода/вывода обоих контроллеров, а сигналы управления подключаются через переключающие реле к «основному» контроллеру.
Программа Unimod Pro выполняется на обоих мастерах.
Переход с «основного» контроллера на «резервный» контроллер автоматически происходит как при полном отказе мастера основного контроллера, так и при наличии неисправностей на основном контроллере или при ошибках.
При установке переключателя DIP:1 в значение «On» - выполняется холодный старт без восстановления сохранённого состояния, а также блокируется «зеркализация» базы.
Настройка сети в Gate Configurator
Section titled “Настройка сети в Gate Configurator”Чтобы настроить сеть откройте Gate Configurator.
В открывшемся окне кликните по значку «соединиться…». В открывшемся окошке можно выбрать необходимые настройки, в данном случае всё оставляется по умолчанию – выбраны «Локальный сервер» и «соединиться от имени текущего пользователя». После выбора нужных настроек нажмите кнопку «Ок» (Рисунок 224).

Рисунок 1 — Использование Unimod Pro
В появившемся дереве можно настроить подключение к различным устройствам, в том числе к контроллеру TREI в данном случае.
Для подключения к абоненту в сети «tcp» потребуется сначала добавить необходимую подсеть и затем добавить абонента. Чтобы добавить подсеть нажмите ПКМ по ветке «tcp» и нажмите «добавить…» (Рисунок 225). В открывшемся диалоговом окне введите ip-адрес вашей подсети, в данном случае 192.168.1.0, и нажмите кнопку «ОК» (Рисунок 226). Далее, по аналогии с предыдущими действиями, нажмите ПКМ по ветви подсети, затем нажмите «добавить…». В открывшемся окошке введите имя абонента (произвольное) и нажмите кнопку «ОК» (Рисунок 227).

Рисунок 2 — Использование Unimod Pro

Рисунок 3 — Использование Unimod Pro

Рисунок 4 — Использование Unimod Pro
В правой части окна программы, выбрав нужного абонента и сеть можно настроить различные параметры подключения. В данном случае адрес задан 67, остальные настройки оставлены по умолчанию. Чтобы сохранить изменения нажмите кнопку «сохранить» и закройте приложение (Рисунок 228).

Рисунок 5 — Использование Unimod Pro
Проверка версий ПО и его обновление с помощью UMDiag
Section titled “Проверка версий ПО и его обновление с помощью UMDiag”Чтобы проверить версию ПО потребуется воспользоваться утилитой UMDiag. Возможность подключения к сетям потребует предварительной настройки в утилите Gate Configurator (). Для этого запустите утилиту из меню «Пуск» или из интерфейса Unimod Pro (Рисунок 229).

Рисунок 6 — Использование Unimod Pro
Далее в выпадающем списке «Абонент» выберите необходимую сеть с ЦПУ и нажмите кнопку «Считать» (Рисунок 230).

Рисунок 7 — Использование Unimod Pro
В открывшемся окне появится список ЦПУ и модулей в работе (Рисунок 231).

Рисунок 8 — Использование Unimod Pro
Далее выберите нужный модуль и кликните по нему дважды ЛКМ, откроется окно диагностики модуля. Чтобы проверить версию ПО во вкладке «Состояние» пролистать колёсиком мышки в самый низ. Последние две строчки отображают версию ПО и тип модуля (Рисунок 232).

Рисунок 9 — Использование Unimod Pro
Для обновления прошивки, находясь в окне диагностики, нажмите «Файл» и выберите соответствующий пункт: «Обновить прошивку модуля», «Обновить прошивку STM» или «Обновить образ ОС» (Рисунок 233).

Рисунок 10 — Использование Unimod Pro
Далее ознакомьтесь с предупреждением и в случае корректности действий нажмите кнопку «Да» (Рисунок 234).

Рисунок 11 — Использование Unimod Pro
В открывшемся окне выберите нужный файл с обновлением и нажмите кнопку «Открыть» (Рисунок 235).

Рисунок 12 — Использование Unimod Pro
Проверка настроек в Web-конфигураторе контроллера TREI
Section titled “Проверка настроек в Web-конфигураторе контроллера TREI”Чтобы проверить корректность настроек в Web-конфигураторе перейдите в ваш браузер. В адресной строке введите ip-адрес вашего устройства, в данном случае 192.168.1.33, и нажмите Enter. Далее нажав ЛКМ по вкладке «Задачи связи», проверьте настройки в разделе «Параметры um_eth» (Рисунок 236).

Рисунок 13 — Использование Unimod Pro
Начало работы. Распаковка проекта
Section titled “Начало работы. Распаковка проекта”Чтобы открыть Unimod Pro, по аналогии с пунктом 1), перейдите в меню «Пуск» и в разделе «Unimod Pro Solution» кликните ЛКМ по компоненту Unimod Pro. В открывшемся окне «Выбор папки проектов» можно добавить папку, в которой будут находиться проекты. Для того чтобы добавить папку нажмите кнопку «Создать» (Рисунок 237).

Рисунок 14 — Использование Unimod Pro
В открывшемся окне можно выбрать размещение создаваемой папки, а также задать её «Имя» - имя в каталоге Unimod’а и «Каталог» - имя создаваемой папки. После ввода необходимых значений нажмите кнопку «Создать» (Рисунок 238) и в открывшемся окошке нажмите кнопку «Да». (Рисунок 239)

Рисунок 15 — Использование Unimod Pro

Рисунок 16 — Использование Unimod Pro
Далее выберите данную папку щелчком ЛКМ по ней и нажмите кнопку «Выбрать» (Рисунок 240).

Рисунок 17 — Использование Unimod Pro
В открывшемся окне программы Unimod в поле «Проекты» кликните ПКМ и выберите «Распаковать» (Рисунок 241). В окне «Открыть» укажите путь до файла с проектом, в данном случае C:\Work, выберите его щелчком ЛКМ и нажмите кнопку «Открыть» (Рисунок 242).

Рисунок 18 — Использование Unimod Pro

Рисунок 19 — Использование Unimod Pro
В следующем окне «Распаковка» укажите имя проекта, если проект с таким именем уже был ранее распакован, тогда данное имя нужно стереть и заполнить заново, добавив уникальную часть. Также дайте комментарий проекту и нажмите кнопку «Ок» (Рисунок 243). В результате в окне «Проекты» появится распакованный проект, в данном случае prototype_DCS (Рисунок 244).

Рисунок 20 — Использование Unimod Pro

Рисунок 21 — Использование Unimod Pro
Начало работы. Создание проекта
Section titled “Начало работы. Создание проекта”Чтобы создать проект необходимо перейти во вкладку «Проекты», предварительно закрыв остальные вкладки, если таковые открыты. В пустом поле щёлкните ПКМ и выберите «Новый», либо нажмите «Файл» - «Новый», либо нажмите комбинацию клавиш «Ctrl + N», затем в открывшемся окне введите имя проекта, а также дайте комментарий (Рисунок 245) и нажмите кнопку «ОК». Имя проекта рекомендуется вводить на английском языке, в свою очередь комментарий можно вводить на любом языке. Созданный проект появится в окне «Проекты» ().

Рисунок 22 — Использование Unimod Pro

Рисунок 23 — Использование Unimod Pro
Начало работы. Первичная настройка проекта
Section titled “Начало работы. Первичная настройка проекта”Сначала необходимо открыть проект, для чего необходимо либо дважды нажать ЛКМ по необходимому проекту, либо нажать один раз ЛКМ и нажать комбинацию клавиш Ctrl + O, либо кликнуть ПКМ и выбрать пункт «Открыть…», либо выбрать ЛКМ проект и в меню «Файл» выбрать пункт «Открыть…». В данном случае используется первый способ.
В первую очередь после открытия проекта следует проверить его настройки. Чтобы проверить всё ли корректно подключено или настроить сначала нажмите кнопку «Настройки проекта», либо в меню «Сборка» выберите пункт «Настройки проекта» (Рисунок 247).

Рисунок 24 — Использование Unimod Pro
В открывшемся окне «Настройка проекта» можно задать Цели – мастер модуль проекта (по умолчанию – Мастер ПК), Абонент – задаётся адрес абонента, настроенный в пункте 9.1 (по умолчанию - Ethernet\127.0.0\pcmaster), а также в зависимости от модуля и ваших предпочтений активировать или деактивировать функции: «Читать после загрузки» и «Использовать индексацию» (по умолчанию для контроллеров активны обе функции), а также задать порядок загрузки на мастер-модуль «Загрузка, Стоп, Старт» или «Стоп, Загрузка, Старт» (Рисунок 248). После задания настроек нажмите кнопку «ОК».

Рисунок 25 — Использование Unimod Pro
Для удобства использования среды можно адаптировать размер окон. Наведите курсор на промежуток между окнами, изображение курсора поменяется и будет выглядеть примерно так (Рисунок 249), в этот момент зажмите ЛКМ и потяните в нужную сторону.

Рисунок 26 — Использование Unimod Pro
После открытия проекта изначально рабочая область и «Навигатор» содержат в себе Конфигурацию проекта (Рисунок 250). Чтобы отредактировать конфигурацию можно воспользоваться кнопками на панели под вкладками «Проекты» и «Конфигурация»: Добавить модуль, удалить модуль и другими, либо теми же кнопками можно воспользоваться, нажав ПКМ по модулю (Рисунок 251).

Рисунок 27 — Использование Unimod Pro

Рисунок 28 — Использование Unimod Pro
Чтобы добавить модуль нажмите кнопку «Добавить модуль» и в открывшемся окне выберите нужный модуль, кликнув по нему ЛКМ, а также задав ему адрес и нажав кнопку «ОК», дополнительно можно использовать фильтр (Рисунок 252).

Рисунок 29 — Использование Unimod Pro
После добавления модуля потребуется добавить его в глобальном словаре. Для этого перейдите в глобальный словарь (Рисунок 253).

Рисунок 30 — Использование Unimod Pro
Далее нажмите кнопку «Добавить» (Рисунок 254) и к создающейся переменной выполните следующие действия:
Впишите название переменной;
В типе укажите ваш модуль, в данном примере «модуль 21» (Рисунок 255);

Рисунок 31 — Использование Unimod Pro

Рисунок 32 — Использование Unimod Pro
По итогу проделанных действий, в переменную подтянется модульная структура (Рисунок 256).

Рисунок 33 — Использование Unimod Pro
У мастер-модуля в системе ПАЗ можно задать параметры межконтроллерного обмена, в системе РСУ эти параметры задаются в Web-конфигураторе (9.3). Для этого нажмите кнопку «Межконтроллерный обмен» и в открывшемся окне задайте необходимые настройки, пользуясь кнопками в панели инструментов и редактируя соответствующие поля (Рисунок 257).

Рисунок 34 — Использование Unimod Pro
После настроек конфигурации, для удобства навигации, раскройте дерево Мастер-модуля, нажав на «плюсик» рядом с ним (Рисунок 258). Далее в зависимости от нужного элемента можно раскрывать дерево дальше. В рабочей области дважды кликните ЛКМ по Мастер-модулю, чтобы перейти к окну «Элементы проекта» (Рисунок 259).

Рисунок 35 — Использование Unimod Pro

Рисунок 36 — Использование Unimod Pro
Если в дереве раскрыть ветку «Элементы проекта», там будут отображаться те же элементы, что в рабочей области, если был выполнен предыдущий пункт. В рабочей области редактируются, добавляются и удаляются необходимые элементы, в то время как в Навигаторе происходит перемещение между составными частями проекта. Для перехода к необходимому элементу найдите его в дереве и два раза кликните по нему ЛКМ. Например, чтобы открыть элемент «Текст программы» программы «SyncTime» требуется: Раскрыть ветвь «Мастер-501Е», далее раскрыть ветви «Элементы проекта», «Программы», «SyncTime» и дважды кликнуть ЛКМ по элементу «Текст программы» (Рисунок 260).

Рисунок 37 — Использование Unimod Pro
Основы программирования.
Section titled “Основы программирования.”Проект в Unimod Pro состоит из следующих частей: словарей переменных, взаимосвязи (привязки) переменных с каналами ввода\вывода и программных блоков. Программные блоки, входящие в проект, могут быть написаны на языке ST, FBD, LD или SFC. Все программные блоки делятся на четыре вида: программы, функции, дочерние программы и функциональные блоки. Проект может не содержать программ.
В Unimod Pro все операции происходят по циклам. Время цикла может иметь различное значение в зависимости от сложности приложения и количества объявленных юнитов\мезонин. По окончании текущего цикла, сразу начинается следующий цикл. Цикл Unimod Pro выполняется в следующей последовательности: Сканирование входов, Последовательное выполнение всех программ, Изменение выходов. Таким образом система гарантирует, что: входные переменные сохраняются значение в течение временного цикла, устройства вывода изменяются не более одного раза в течение временного цикла, вся система правильно работает с одними и теми же глобальными переменными из различных программ.
Более подробно с программированием и другими разделами в Unimod Pro можно познакомиться в меню «Подсказка» - «Вызов справки» - «Руководство по программированию».
Программы
Чтобы создать программу (в данном случае используется пустой проект для наглядности) в Навигаторе необходимо раскрыть ветвь «Мастер-модуль» и дважды кликнуть ЛКМ по «Элементы проекта», в рабочей области откроется вкладка «Мастер-модуль: Элементы проекта», где, кликнув ПКМ по «Программы» выбрать «Добавить программу» (Рисунок 261).

Рисунок 38 — Использование Unimod Pro
В открывшемся окне введите имя программы и комментарий, а также выберите язык программирования, в данном случае оставлен ST (Рисунок 262). Имя программы, по требованиям системы, вводится на английском языке, комментарий можно вводить на любом языке. После ввода необходимых параметров нажмите кнопку «ОК».

Рисунок 39 — Использование Unimod Pro
После создания программы у неё появляется свой «Текст программы» и «Локальный словарь», что можно увидеть в Навигаторе. Для редактирования текста программы, в данном случае «TestProgram», необходимо два раза кликнуть ЛКМ либо по элементу «TestProgram» в рабочей области, либо по элементу «Текст программы» в ветви TestProgram в Навигаторе (Рисунок 263).

Рисунок 40 — Использование Unimod Pro
В рабочей области можно писать код на языке ST, можно писать код как вручную, так и использовать кнопки «Оператор», «Переменная», «Функция», «Выражение» на панели инструментов (Рисунок 264).

Рисунок 41 — Использование Unimod Pro
При написании программы потребуются переменные. Чтобы их создать, для начала необходимо перейти в локальный словарь. В Навигаторе дважды кликните по элементу «Локальный словарь» (Рисунок 265), затем в открывшемся окне, в панели инструментов нажмите кнопку «Добавить» и заполните необходимые поля (Рисунок 266).
Переменные могут быть двух типов: локальные и глобальные. Локальные переменные могут использоваться только одной программой, а глобальные любой программой проекта. Добавление переменных в глобальный словарь аналогично добавлению переменных в локальный словарь. Глобальный словарь позволяет переменным в нём взаимодействовать со всеми устройствами и модулями, в пределах программы. Для глобальных переменных, относительно локальных, добавляются параметры, например, «чтение\запись» или «MODBUS (16)». Более подробную информацию о переменных и словарях можно посмотреть в справке Unimod.

Рисунок 42 — Использование Unimod Pro

Рисунок 43 — Использование Unimod Pro
После создания переменных введите необходимый код в «Текст программы».
Дочерние программы
Программы могут содержать в себе дочерние программы, которые в свою очередь также могут содержать в себе дочерние программы. Программа не может вызвать другую программу, однако она может вызвать свою дочернюю программу. Чтобы дочерняя программа работала корректно, её обязательно нужно вызвать в тексте родительской или инициализировать. Чтобы добавить дочернюю программу в программу перейдите в «Элементы проекта», и кликнув ПКМ по программе, в данном случае TestProgram выберите «Добавить дочернюю программу» (Рисунок 267), далее задайте необходимые параметры и нажмите кнопку «ОК» (Рисунок 268).

Рисунок 44 — Использование Unimod Pro

Рисунок 45 — Использование Unimod Pro
У дочерней программы, функции и функционального блока, как типов программ в Unimod, существуют «Параметры дочерней программы», «Параметры функции» и «Параметры блока» соответственно (Рисунок 269). В данных параметрах у дочерней программы содержатся переменные, которые могут быть только входными. Выходным значением у дочерних программ и функций является само имя функции или дочерней программы.

Рисунок 46 — Использование Unimod Pro
После написания дочерней программы, чтобы её проинициализировать в самой программе нужно в локальном словаре создать переменную call типа bool и в тексте программы прописать: CALL:= Имя подпрограммы, таким образом происходит вызов данной дочерней программы (Рисунок 270).

Рисунок 47 — Использование Unimod Pro
Функциональные блоки
У функциональных блоков локальные переменные никак не взаимодействуют с внешними переменными, они выполняются только внутри экземпляра функционального блока. Таким образом, чтобы передать некое значение от одного функционального блока к другому нужно объявить Параметры блока и через них осуществлять взаимодействие.
Функциональные блоки создаются так же, как программы и подпрограммы (11) - 0).
Также функциональный блок можно импортировать или экспортировать. Для этого в Элементах проекта кликните ПКМ по нужному функциональному блоку и нажмите «Копировать» (Рисунок 271).

Рисунок 48 — Использование Unimod Pro
После закройте данный проект, откройте нужный и перейдя в «Элементы проекта» нажмите комбинацию клавиш Ctrl + V или ПКМ, «Вставить». В итоге ваш функциональный блок вместе со словарём и остальными параметрами переместится в нужный вам проект (Рисунок 272).

Рисунок 49 — Использование Unimod Pro
Чтобы объявить параметры функционального блока раскройте ветку нужного функционального блока и дважды кликните по элементу «Параметры блока». В открывшемся окне добавьте или отредактируйте необходимые переменные (Рисунок 273).

Рисунок 50 — Использование Unimod Pro
Добавить переменную можно введя: имя параметра (английскими буквами), комментарий (можно вводить на любом языке), а также выбрав тип и указав входной или выходной этот параметр. После ввода всех требуемых значений нажмите кнопку «Вставить».
Чтобы отредактировать переменную выделите её щелчком ЛКМ по ней и введите необходимые изменения. Для применения изменений нажмите кнопку «Обновить».
Удаление переменной выполняется при помощи выделения данной переменной щелчком ЛКМ и нажатия кнопки «Удалить».
Чтобы применить все изменения нажмите кнопку «ОК», чтобы отменить все внесённые изменения нажмите кнопку «Отменить».
После редактирования функционального блока, к примеру, в нём складывается два числа и на выход выдаётся сумма этих чисел, функциональный блок следует вызвать в программе. Для вызова экземпляра функционального блока его необходимо объявить в локальном словаре программы, в данном случае функциональный блок TestBlock объявлен как экземпляр FB_1 в локальном словаре программы TestProgram (Рисунок 274).

Рисунок 51 — Использование Unimod Pro
Далее для вызова экземпляра функционального блока необходимо прописать его имя и в скобочках в порядке, указанном в параметрах блока, поместить необходимые переменные – FB_1(dig_1, dig_2); затем в переменную sum передать значение out – sum:=FB_1.out; (Рисунок 275).

Рисунок 52 — Использование Unimod Pro
Функции
Функция может иметь только локальные переменные. После завершения работы функции, память под выделенные ей переменные освобождается и становится доступна для следующей подпрограммы.
Процесс создания функции аналогичен созданию программы, дочерней программы и функционального блока (11), 12), 13)). Чтобы вызвать функцию следует присвоить выходное значение функции какой-либо переменной, перечислив аргументы в скобочках, в соответствии с их порядком в «Параметрах функции». Например, функция принимает на вход два числа и выводит произведение данных чисел (Рисунок 276).

Рисунок 53 — Использование Unimod Pro
Далее как указывалось ранее присвоим переменной выходное значение функции и используем в операции сложения (Рисунок 277).

Рисунок 54 — Использование Unimod Pro
Написание кода с использованием FBD, генерирование тегов
Чтобы написать программу на языке FBD, используя функциональные блоки сначала потребуется выбрать соответствующий функциональный блок из списка «Функции и блоки проекта», предварительно кликнув по кнопке, выделенной на рисунке (Рисунок 278).

Рисунок 55 — Использование Unimod Pro
Кликнув ЛКМ по нужному функциональному блоку курсор поменяет изображение на крестик с иконкой блока (Рисунок 279). Наведите курсор на требуемое месторасположение блока и ещё раз кликните ЛКМ.

Рисунок 56 — Использование Unimod Pro
Чтобы переместить блок кликните по нему ЛКМ и затем вновь наведя курсор на него зажмите ЛКМ и перетащите блок в нужное место.
Для генерации тегов нажмите по блоку ПКМ и выберите «Генерировать входы\выходы» (Рисунок 280).

Рисунок 57 — Использование Unimod Pro
Сгенерированным входам будут присвоены имена в соответствии с именем экземпляра функционального блока (Рисунок 281).

Рисунок 58 — Использование Unimod Pro
При необходимости можно заменить часть названия на корректное. Для этого сначала дважды кликните ЛКМ по любому сгенерированному тегу блока и скопируйте заменяемое значение, в данном случае «FB_DCS_DI_S1132_» (Рисунок 282). После копирования нажмите кнопку «Отмена».

Рисунок 59 — Использование Unimod Pro
Далее нажмите комбинацию клавиш Ctrl + H и в открывшемся окне в поле «Искать» введите скопированное значение, также необходимо снять галочку с чекбокса «Слово целиком», если таковая установлена. Следующим шагом в поле «Заменить на» введите подставляемое значение и нажмите кнопку «Заменить все» или «Заменить». После выполнения всех действий можно закрыть окошко (Рисунок 283).

Рисунок 60 — Использование Unimod Pro
Импорт и экспорт переменных глобального словаря
Создание переменной в глобальном словаре аналогично созданию переменной в локальном словаре (11)). В глобальном словаре, однако, есть три атрибута чтение/запись, преобразование и архивация, что напрямую связано с контроллером и его модулями.
Чтобы воспользоваться функциями экспорта, находясь в глобальном словаре, в панели инструментов нажмите кнопку «Инструменты» и выберите «Экспорт», нажатием ЛКМ (Рисунок 284).

Рисунок 61 — Использование Unimod Pro
В открывшемся окне «Экспорт переменных» вы можете настроить экспортируемые данные. В данном случае выбран экспорт в файл, указано его месторасположение и название, а фильтры тегов, фильтры данных и ключи оставлены по умолчанию. Формат для наглядности рекомендуется выставлять в значение «Символы табуляции». После завершения настроек экспорта нажмите кнопку «Принять» (Рисунок 285).

Рисунок 62 — Использование Unimod Pro
Для импорта переменных кликните ЛКМ по элементу «Инструменты» в панели инструментов и выберите пункт «Импорт» (Рисунок 286).

Рисунок 63 — Использование Unimod Pro
В открывшемся окне «Импорт переменных» выставляются настройки в соответствии с импортируемым файлом. В данном случае оставляются также, как при экспорте. После завершения всех настроек нажмите кнопку «Принять» (Рисунок 287).

Рисунок 64 — Использование Unimod Pro
Загрузка ПО в контроллер, работа с эмулятором
Section titled “Загрузка ПО в контроллер, работа с эмулятором”Прежде чем загружать в контроллер или запускать в эмуляторе, убедитесь в том, что ваше приложение собрано и скомпилировано.
Запуск в эмуляторе позволяет отладить проект, не прибегая к использованию физических модулей. Чтобы скомпилировать программу в панели инструментов нажмите кнопку «Проверка», после выполнения в окне «Вывод» появятся следующие сообщения (Рисунок 288). Разница сборки и проверки в том, что при сборке компилируется весь проект, а при проверке компилируется лишь выбранная программа, поэтому технически проверку можно не выполнять, а сразу проводить сборку. Кроме того, сборка и проверка отличаются скоростью компиляции, из-за разницы объёмов компилируемого кода.

Рисунок 65 — Использование Unimod Pro
Далее следует провести сборку, для чего нажмите кнопку «Собрать», в появившемся окошке можно выбрать сбросить или не сбросить флаг холодного старта, после выбора дождитесь вывода сообщений как на изображении ниже (Рисунок 289).

Рисунок 66 — Использование Unimod Pro
Для запуска собранной программы в эмуляторе нажмите кнопку «», предварительно выбрав «Эмулятор» в выпадающем меню справа. Откроется окно Tracer отдельно от Unimod Pro. При открытом Tracer пользоваться Unimod Pro нельзя, чтобы вернуться к редактированию кода и настойкам потребуется сначала закрыть Tracer, поправить необходимые значение и вновь собрав проект запустить эмулятор или отладчик. В Tracer для запуска программы в реальном времени нажмите кнопку «Реальное время», изначально программа находится в пошаговом режиме. Чтобы выполнить один цикл, при активной кнопке «По циклам» необходимо нажать кнопку «Выполнить» (Рисунок 290).

Рисунок 67 — Использование Unimod Pro

Рисунок 68 — Использование Unimod Pro
Для удобства в Tracer в рабочей области есть Список слежения, в который можно добавить переменную и менять или отслеживать значение данной переменной, не переходя к её расположению в программе, в данном случае переменные «variable_a» и «variable_b» (Рисунок 291).

Рисунок 69 — Использование Unimod Pro
Чтобы выполнить загрузку приложения в контроллер, после сборки, убедившись в корректности настройки по пункту 3) необходимо нажать кнопку «Загрузить». В появившемся окне «Загрузка приложения» отобразятся CRC проекта и другие настройки атрибуты загруженного приложения в контроллере. Если хоть один статус горит цветом, отличным от зелёного, значит загружаемое приложение отлично от приложения, находящегося в контроллере. После проверки всех атрибутов нажмите кнопку «Загрузить приложение» (Рисунок 292).

Рисунок 70 — Использование Unimod Pro
После прогрузки приложения в контроллер окно «Загрузка приложения» примет следующий вид (Рисунок 293).

Рисунок 71 — Использование Unimod Pro
Далее выберите в выпадающем меню режим «Отладчик» и нажмите кнопку «» (Рисунок 294).

Рисунок 72 — Использование Unimod Pro

Рисунок 73 — Использование Unimod Pro
Так же, как в предыдущем пункте, откроется Tracer, однако теперь, в отличие от эмулятора, данные будут идти в том числе физически, то есть привязанные входы\выходы будут выдавать и принимать реальные значения.
Протокол MODBUS в системе UNIMOD PRO
Section titled “Протокол MODBUS в системе UNIMOD PRO”Система настроек протокола ModBus-RTU
Гибкая система настроек протокола Modbus-RTU позволяет установить связь между интеллектуальным модулем и любым другим устройством, поддерживающим протокол Modbus. Контроллеры взаимодействуют, используя метод “главный - подчиненный”, в котором только одно устройство (master-устройство) может инициировать транзакции (называемые “запросами”). Другие устройства (slave-устройства) отвечают, обеспечивая главное устройство запрошенными данными, или выполняют действия, указанные в запросе. Типичные подчиненные устройства включают программируемые контроллеры. Master-устройство может адресовать отдельные подчиненные устройства, или может инициализировать “широковещательное” сообщение для всех подчиненных. Slave-устройства возвращают сообщения (называемое “ответ”) на запросы, которые адресованы отдельно к ним. На “широковещательные” запросы от главного устройства ответы не возвращаются. Протокол Modbus устанавливает формат для запроса master-устройства, путем помещения в него адреса устройства (или широковещательного адреса), функционального кода, определяющего запрошенную операцию, данные подлежащие отправке и поле обнаружения ошибок. Список поддерживаемых функциональных кодов Modbus в среде Unimod Pro представлен в таблице ниже (Таблица 1).
Таблица 1
Сообщение ответа подчиненного устройства также конструируется, используя протокол Modbus. Оно содержит поля подтверждение принятой операции, любые данные подлежащие возврату и поле обнаружения ошибок. Если ошибка случилась во время получения сообщения, или если подчиненное устройство неспособно выполнить запрошенное действие, подчиненное устройство будет создавать сообщение об ошибке и посылать его в качестве ответа. Поскольку интерфейсы связи Modbus Master и Modbus Slave используют разные физические линии, становится возможным параллельное использование режимов Master и Slave.
Подробное описание формата функций и спецификация протокола Modbus свободно доступна в глобальной сети Интернет по адресу http://www.modbus.org/.
В среде Unimod Pro реализован набор функциональных блоков, реализующих функции протокола Modbus-RTU, предназначенный для организации информационного обмена с подчиненными устройствами, поддерживающими данный протокол.
Для работы в режиме мастер используются следующие функциональные блоки: MB_R_В (чтение состояния 8-ми дискретных входов), MB_R_H (чтение целочисленного регистра), MB_R_I (чтение целочисленного входного регистра), MB_R_F (чтение пары регистров в формате с плавающей точкой), MB_R_R16 (чтение 16 целочисленных регистров), MB_R_F16 (чтение 16 пар регистров в формате с плавающей точкой), MB_W_C (запись в бинарную ячейку памяти), MB_W_Н (запись целочисленного регистра), MB_W_F (запись пары регистров в формате с плавающей точкой), MB_DIAG (диагностика связи с подчиненным устройством), MB_STATE (получение ID подчиненного устройства). Функциональный блок MB_PARAM используется для установки параметров Modbus для всех режимов работы.
Подробное описание функциональных блоков приведено в документе “Unimod Pro. Руководство по программированию”.
Протокол Modbus реализован на мастер-модулях и интеллектуальных модулях серий М800, М900, описанных в документе «Unimod Pro. Менеджер библиотек»
Пример настройки чтения данных по протоколу ModBus TCP
В проекте Unimod, в ресурсах контроллера добавляем ресурс и номер ресурса. Задаем IP адрес подчиненного устройства и порт (Рисунок 295).

Рисунок 74 — Использование Unimod Pro
Создаём программу на языке FBD (блочных диаграмм), вставляем функциональный блок MB_PARAM (Рисунок 296).

Рисунок 75 — Использование Unimod Pro
Заполняем обязательные параметры по примеру на рисунке ниже, к выходам Ok и Fault должны быть привязаны переменные соответствующего типа (Рисунок 297).

Рисунок 76 — Использование Unimod Pro
Для реализации функции чтения данных с подчиненного ModBus устройства используем функциональный блок MB_R (Рисунок 298).

Рисунок 77 — Использование Unimod Pro
Заполняем поля функционального блока MB_R по примеру на рисунке ниже (Рисунок 299), к выходам Ok и Fault должны быть привязаны переменные соответствующего типа. Поле AddrD это начальный адрес читаемых данных ModBus устройства, а поле AddrB это начальный ModBus адрес в ПЛК, который назначается переменным в глобальном словаре проекта Unimod. Боле подробное описание входных полей функционального блока MB_R необходимо почитать в «Руководстве по программированию в Unimod Pro».

Рисунок 78 — Использование Unimod Pro
Данные записываются в переменные с указанными, внутренними ModBus адресами (в ПЛК). На картинке ниже создан массив целочисленных данных из 200 элементов, каждому из которых присвоен адрес ModBus (Рисунок 300).

Рисунок 79 — Использование Unimod Pro
Важно!
Объявленный массив должен быть как минимум на один элемент больше читаемого массива данных с удаленного ModBus устройства! Иначе последний элемент читаемых данных не считается.
Бэкапирование проекта Unimod Pro и контроль версий
Section titled “Бэкапирование проекта Unimod Pro и контроль версий”Чтобы создать бэкап проекта достаточно упаковать его. Для этого закройте открытый проект, если он есть, во вкладке проекты кликните ПКМ по бэкапируемому элементу и выберите «Упаковать…» (Рисунок 301).

Рисунок 80 — Использование Unimod Pro
В открывшемся окне выберите месторасположение упакованного проекта и имя файла, далее нажмите кнопку «Сохранить».
Как распаковать проект описано в пункте.
Чтобы проверить изменялся ли проект достаточно зайти в загрузку проекта и сравнить CRC приложения и абонента. Если CRC не совпадают, тогда со стороны абонента строчки будут подсвечены красным цветом (Рисунок 302).

Рисунок 81 — Использование Unimod Pro
MODE (DIP) переключатели контроллеров
Section titled “MODE (DIP) переключатели контроллеров”Переключатель режимов MODE определяет, как поведет себя мастер-модуль при перезапуске.
Перезапуск выполняется автоматически в следующих случаях:
– при подаче питающего напряжения;
– после серьезного сбоя;
– после загрузки операционной системы.
На модуле с помощью переключателя MODE устанавливаются:
1 - On - признак “холодного” запуска, Off - признак “горячего” запуска;
2 - On - отключить режим автозапуска технологического приложения;
3 - Резерв;
4 - On - конфигурация по умолчанию;
5 - Резерв;
6 - On - технологический режим.
При этом положение переключателя On - правое крайнее, Off - левое крайнее.
При “холодном” запуске контроллера (MODE 1 - On) технологическое приложение начинает выполняться “с нуля”, т.е. не производится восстановление сохраненной базы приложения.
При отключенном режиме автозапуска (MODE 2 - On) на контроллере загружается только операционная система с поддержкой сетевых интерфейсов. Данный режим может использоваться для обеспечения безопасного проведения диагностики аппаратных средств. В данном режиме подключение через Unimod/Tracer/UMDiag недоступно. Вкладка “Диагностическая плата” в Web-конфигураторе также недоступна.
При состоянии On на переключателе MODE 4 контроллеру присваивается IP-адреса по умолчанию - LAN3=192.9.200.1, LAN4=192.9.201.1.
При состоянии On на переключателе DIP 5 мастер запускается в резервированном режиме (LAN1/LAN2 – линии зеркализации, LAN3/LAN4 – для связи с “верхним” уровнем). При состоянии Off на переключателе DIP:5 все порты доступны для работы с “верхним” уровнем или сторонними устройствами.
Состояние On на переключателе MODE 6 используется для выполнения сервисных работ с мастер-модулем и не должен использоваться в нормальной работе.
При подаче питания резервный контроллер проверяет, соответствуют ли конфигурационные файлы, технологическое приложение и пользовательские настройки таковым на основном контроллере. При несоответствии загрузка контроллера приостанавливается и ожидается подтверждение синхронизации резервного контроллера с основным. При этом, если отличаются системные конфигурационные файлы, то STATUS1 с интервалом 0,5сек циклически изменяет цвет (зеленый->красный->нет свечения). Если отличается технологическое приложение или пользовательские настройки, то аналогичная индикация на STATUS2.
Синхронизация контроллеров происходит в два этапа:
Перевод переключателей MODE 2 и MODE 6 в состояние On. Спустя 3 секунды светодиоды STATUS1 и STATUS2 выключаются.
Необходимо перезагрузить контроллер по питанию;
Перевод переключателей MODE 2 и MODE 6 в состояние Off. После этого начинается синхронизация контроллеров. По завершении, резервный контроллер переходит в нормальный режим работы.
Если все переключатели (MODE:1 – MODE:6) перевести в состояние On, то при запуске будет удалено технологическое приложение. Индикатором завершения процедуры удаления будет следующее свечение светодиодов: STATUS1 – Мерцающий красный, STATUS2 – Отключен.
Если установить переключатели в положение MODE:2=MODE:4=MODE:6=On (остальные – Off), то при перезагрузке произойдет сброс до заводских настроек, все пользовательские файлы будут удалены. Индикатором завершения процедуры сброса будет следующее свечение светодиодов: STATUS1 – Мерцающий красный, STATUS2 – Отключен.
Для применения изменений на контроллерах серий М1200 и М400 необходимо производить перезагрузку по питанию. У контроллера серии М500 перезагрузка происходит автоматически.
Обновление Unimod Pro
Section titled “Обновление Unimod Pro”Чтобы обновить Unimod Pro перейдите в папку с установщиком и дважды кликните по нему ЛКМ (Рисунок 303).

Рисунок 82 — Использование Unimod Pro
В мастере установки можно выбрать компоненты, которые будут добавлены, в данном случае оставляются по умолчанию. После завершения установки рекомендуется перезагрузить компьютер (Рисунок 304).

Рисунок 83 — Использование Unimod Pro