Конфигурирование корзины субмодулей ПЛК-40: различия между версиями

Материал из docs.kb-agava.ru
Перейти к навигации Перейти к поиску
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
== Создание нового проекта в CODESYS V3.5 ==
+
== Создание нового проекта в CODESYS V3.5 и настройка параметров устройства ==
 
Рассмотрим пример создания проекта с использованием ПЛК-40, содержащего субмодули дискретных входов, релейных выходов, аналоговых входов и входов термосопротивлений. В качестве примера конфигурации возьмём субмодули '''DI''', '''R''', '''AI''', '''TMP'''.  
 
Рассмотрим пример создания проекта с использованием ПЛК-40, содержащего субмодули дискретных входов, релейных выходов, аналоговых входов и входов термосопротивлений. В качестве примера конфигурации возьмём субмодули '''DI''', '''R''', '''AI''', '''TMP'''.  
  
 
Создадим стандартный проект, в среде CODESYS 3.5 и подключим его к контроллеру. Двойным кликом мыши по '''Device(Agava PLC-40/50 TV)''' откроем настройки устройства и выберем пункт «'''Установки ПЛК'''», опции «'''Всегда обновлять переменные:'''» зададим параметр «'''Включено 2(всегда в задаче цикла шины)'''».     
 
Создадим стандартный проект, в среде CODESYS 3.5 и подключим его к контроллеру. Двойным кликом мыши по '''Device(Agava PLC-40/50 TV)''' откроем настройки устройства и выберем пункт «'''Установки ПЛК'''», опции «'''Всегда обновлять переменные:'''» зададим параметр «'''Включено 2(всегда в задаче цикла шины)'''».     
  
[[Файл:КорзинаПЛК - Настройка параметров устройства.png.png|мини|Настройка параметров устройства|476x476px|альт=|центр]]  
+
[[Файл:КорзинаПЛК - Настройка параметров устройства.png.png|мини|Настройка параметров устройства|373x373px|альт=|центр|граница]]  
  
 +
== Добавление нового устройства в дерево проекта ==
 +
Для добавления в проект корзины субмодулей ПЛК-40, кликнем правой клавишей мыши по устройству '''Device(Agava PLC-40/50 TV)''' и в открывшемся контекстном меню выберем пункт «'''Добавить устройство'''».
  
Добавим в проект корзину субмодулей ПЛК-40,  для этого кликнем правой клавишей мыши по устройству '''Device(Agava PLC-40/50 TV)''' и в открывшемся контекстном меню выберем пункт «'''Добавить устройство'''».
+
[[Файл:КорзинаПЛК - Добавление нового устройства.png|мини|альт=|центр|357x357пкс|Добавление нового устройства]]
  
[[Файл:КорзинаПЛК - Добавление нового устройства.png|мини|альт=|центр]]
+
 
 +
 
 +
В открывшемся окне выбираем группу «'''Разн.'''», далее выбираем пункт из списка '''ModulesPLC-40''', нажимаем кнопку «'''Добавить устройство'''». После того как устройство добавлено в дерево проекта, нажимаем кнопку «'''Закрыть'''».
 +
 
 +
[[Файл:КорзинаПЛК - Выбор нового устройства.png|центр|мини|386x386пкс|Выбор нового устройства]]
 +
[[Файл:КорзинаПЛК - Добавленное новое устройство в дерево проекта.png|центр|мини|347x347пкс|Добавленное новое устройство в дерево проекта]]
 +
 
 +
== Подключение субмодулей к слотам корзины ПЛК-40 ==
 +
После того как корзина субмодулей ПЛК-40 добавлена в дерево проекта, можно приступать к конфигурации субмодулей. Текущее расположение субмодулей в корзине ПЛК-40, в тестовой конфигурации имеет следующий порядок:
 +
 
 +
'''СЛОТ А''' - Субмодуль '''DI'''
 +
 
 +
'''СЛОТ B''' - Субмодуль '''R'''
 +
 
 +
'''СЛОТ C''' - Блок питания
 +
 
 +
'''СЛОТ D''' - Пустой слот
 +
 
 +
'''СЛОТ E''' - Субмодуль '''TMP'''
 +
 
 +
'''СЛОТ F''' - Субмодуль '''AI'''
 +
 
 +
 
 +
Для подключения субмодуля к слоту в корзине ПЛК-40 кликнем правой клавишей мыши по слоту, в открывшемся контекстном меню выберем пункт «'''Подключить устройство'''»
 +
 
 +
[[Файл:КорзинаПЛК - Подключение субмодуля.png|центр|мини|310x310пкс|Подключение субмодуля]]
 +
 
 +
 
 +
В открывшемся окне укажем нужный тип субмодуля, в нашем случае это '''DI''', далее двойным кликом мыши подключим субмодуль. Аналогичным способом не закрывая окно, укажем нужные субмодули и подключим к слотам.
 +
 
 +
[[Файл:КорзинаПЛК - Выбор субмодуля дискретных входов.png|центр|мини|557x557пкс|Выбор субмодуля дискретных входов]]
 +
[[Файл:КорзинаПЛК - Подключенные к слотам корзины субмодули.png|центр|мини|560x560пкс|Подключенные к слотам корзины субмодули]]
 +
 
 +
 
 +
После завершения конфигурации закроем окно по нажатию кнопки «'''Закрыть'''».
 +
 
 +
== Соотнесение входов и выходов с каналами субмодулей ==
 +
После того как формирование корзины ПЛК-40 завершено, можно приступать к настройке субмодулей. Для настройки субмодуля '''DI''' дважды кликнем по нему левой клавишей мыши и выберем пункт «'''Internal Соотнесение входов/выходов'''».
 +
[[Файл:КорзинаПЛК - Настройка субмодуля DI.png|центр|мини|577x577пкс|Настройка субмодуля DI]]Столбец «'''Переменная'''» позволяет создать соотнесение переменной проекта с каналом субмодуля. В качестве теста можно создать  переменную нужного типа и сделать соотнесение с каналом субмодуля или использовать готовую структуру сигнала '''TSensorsStruct'''. В данном примере будет рассмотрено использование структуры '''TSensorsStruct'''.
 +
[[Файл:КорзинаПЛК - Описание структуры TSensorsStruct.png|центр|мини|341x341пкс|Описание структуры TSensorsStruct]]
 +
 
 +
 
 +
Объявим необходимые экземпляры структур '''TSensorsStruct''' в программе '''PLC_PRG'''.
 +
 
 +
[[Файл:КорзинаПЛК - Объявление экземпляров структуры TSensorsStruct в PLC PRG.png|центр|мини|603x603пкс|Объявление экземпляров структуры TSensorsStruct в PLC_PRG]]
 +
 
 +
 
 +
В окне настроек сумодуля '''DI''' выполним соотнесение структуры с каналами. Для этого кликнем левой клавишей мыши в поле столбца «'''Переменная'''» и нажмём  кнопку с тремя точками,  в открывшемся окне выберем '''Application -> sDI -> bValue''' и нажмем '''ОК'''.
 +
[[Файл:КорзинаПЛК - Соотнесение переменной структуры с каналом модуля.png|центр|мини|434x434пкс|Соотнесение переменной структуры с каналом модуля]]
 +
 
 +
 
 +
Так как объявленные переменные представлены массивом, указываем соответствующий индекс нужного элемента массива.
 +
 
 +
[[Файл:КорзинаПЛК - Завершение соотнесения переменных с каналами субмодуля.png|центр|мини|447x447пкс|Завершение соотнесения переменных с каналами  субмодуля]]
 +
 
 +
 
 +
 
 +
Компилируем (F11), загружаем (Alt+F8) и выполняем проект (F5),  зелёные индикаторы на против субмодуля сигнализируют об успешном обмене, статистика обмена отображает текущее значение отправленных и полученных данных, а также количество ошибок(число неответов в процентном соотношении) . При замыкании дискретного входа мы видим, что сигнал получен, а соотнесение  передаст значение сигнала переменной в проекте.
 +
 
 +
[[Файл:КорзинаПЛК - Проверка состояния субмодуля в режиме отладки.png|центр|мини|447x447пкс|Проверка состояния субмодуля в режиме отладки]]
 +
 
 +
Индикация обмена на против каждого субмодуля позволяет оперативно определить проблему работы субмодуля, например если пользователь перепутал расположение субмодулей или установил в корзину не существующий субмодуль, то напротив проблемного субмодуля будет изображён красный треугольник.
 +
 
 +
Ниже показан пример ошибочной установки субмодулей в слоты A и B.
 +
 
 +
[[Файл:КорзинаПЛК - некорректная установка модуля в слот.png|центр|мини|460x460пкс|Некорректная установка модуля в слот]]
 +
 
 +
 
 +
Для управления релейными выходами достаточно реализовать соотнесение переменной с каналами субмодуля '''R'''.
 +
 
 +
Для проверки исправности работы выходов без соотнесения переменной, в столбец «'''Подготовленное значение'''» требуется установить значение '''TRUE''', для этого этого необходимо кликнуть левой клавишей мыши в поле столбца на против канала модуля и нажать  (Ctrl+F7).
 +
 
 +
[[Файл:КорзинаПЛК - Проверка срабатывания релейного выхода.png|центр|мини|461x461пкс|Проверка срабатывания релейного выхода]]
 +
 
 +
 
 +
При необходимости можно реализовать инверсную логику срабатывания выхода, для этого в поле «'''Тип контакта выхода 1'''» нужно установить значение 1(NC) , тогда релейный выход будет работать инверсно и по умолчанию будет иметь замкнутый контакт. Аналогичная настройка также имеется у субмодуля '''DI'''.
 +
 
 +
Субмодуль '''TMP''' по умолчанию отображает значение в '''Ом''', в качестве теста к каналам модуля подключены сопротивления номиналом 61.4 и 66.6 '''Ом''', в полях «'''Тип термосопротивления входа 1'''» и  «'''Тип термосопротивления входа 2'''»  указывается тип датчика. После установки нужного типа датчика, значение канала будет отображать температуру в градусах Цельсия.
 +
 
 +
[[Файл:КорзинаПЛК - Проверка чтения каналов субмодуля TMP.png|центр|мини|480x480пкс|Проверка чтения каналов субмодуля TMP]]
 +
 
 +
 
 +
Субмодуль '''AI''' имеет четыре универсальных конфигурируемых канала, рассмотрим вариант настройки датчиков помощью структуры '''TSensorsStruct'''.
 +
 
 +
В программу '''PLC_PRG''' добавим метод инициализации датчиков, для этого кликнем '''ПКМ''' по программе '''PLC_PRG''' из контекстного меню выберем пункт «'''Добавление объекта'''», далее «'''Метод'''», зададим название метода '''InitSensors''',  возвращаемое значение оставим пустым и нажмём кнопку «'''Добавить'''». В программе объявим новую переменную '''bInitSensors'''.
 +
 
 +
[[Файл:КорзинаПЛК - Добавление метода .png|центр|мини|476x476пкс|Добавление метода ]]
 +
 
 +
 
 +
Опишем реализацию метода как показано ниже.
 +
 
 +
[[Файл:КорзинаПЛК - Описание реализации метода.png|центр|мини|481x481пкс|Описание реализации метода]]
 +
 
 +
 
 +
Добавим вызов метода в основной программе '''PLC_PRG'''.
 +
 
 +
[[Файл:КорзинаПЛК - Добавление вызова метода в основной программе.png|центр|мини|481x481пкс|Добавление вызова метода в основной программе]]
 +
 
 +
 
 +
Далее производим соотнесение переменных структуры с каналами субмодуля '''AI''', компилируем (F11), загружаем (Alt+F8) и выполняем проект (F5).
 +
 
 +
Первый канал субмодуля считывает тестовое значение задатчика тока равное '''20 мА''', тип значения автоматически пересчитывается по установленному диапазону датчика, мы можем увидеть полученное значение '''100'''.
 +
 
 +
Статус первого канала отображает код шибки равный нулю, что свидетельствует об успешном чтении значения сигнала. Расшифровка кодов ошибок каналов представлена в столбце «'''Описание'''».
 +
 
 +
[[Файл:КорзинаПЛК - Проверка чтения каналов субмодуля AI.png|центр|мини|665x665пкс|Проверка чтения каналов субмодуля AI]]

Текущая версия на 09:13, 4 мая 2022

1 Создание нового проекта в CODESYS V3.5 и настройка параметров устройства

Рассмотрим пример создания проекта с использованием ПЛК-40, содержащего субмодули дискретных входов, релейных выходов, аналоговых входов и входов термосопротивлений. В качестве примера конфигурации возьмём субмодули DI, R, AI, TMP.

Создадим стандартный проект, в среде CODESYS 3.5 и подключим его к контроллеру. Двойным кликом мыши по Device(Agava PLC-40/50 TV) откроем настройки устройства и выберем пункт «Установки ПЛК», опции «Всегда обновлять переменные:» зададим параметр «Включено 2(всегда в задаче цикла шины)».

Настройка параметров устройства

2 Добавление нового устройства в дерево проекта

Для добавления в проект корзины субмодулей ПЛК-40, кликнем правой клавишей мыши по устройству Device(Agava PLC-40/50 TV) и в открывшемся контекстном меню выберем пункт «Добавить устройство».

Добавление нового устройства


В открывшемся окне выбираем группу «Разн.», далее выбираем пункт из списка ModulesPLC-40, нажимаем кнопку «Добавить устройство». После того как устройство добавлено в дерево проекта, нажимаем кнопку «Закрыть».

Выбор нового устройства
Добавленное новое устройство в дерево проекта

3 Подключение субмодулей к слотам корзины ПЛК-40

После того как корзина субмодулей ПЛК-40 добавлена в дерево проекта, можно приступать к конфигурации субмодулей. Текущее расположение субмодулей в корзине ПЛК-40, в тестовой конфигурации имеет следующий порядок:

СЛОТ А - Субмодуль DI

СЛОТ B - Субмодуль R

СЛОТ C - Блок питания

СЛОТ D - Пустой слот

СЛОТ E - Субмодуль TMP

СЛОТ F - Субмодуль AI


Для подключения субмодуля к слоту в корзине ПЛК-40 кликнем правой клавишей мыши по слоту, в открывшемся контекстном меню выберем пункт «Подключить устройство»

Подключение субмодуля


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

Выбор субмодуля дискретных входов
Подключенные к слотам корзины субмодули


После завершения конфигурации закроем окно по нажатию кнопки «Закрыть».

4 Соотнесение входов и выходов с каналами субмодулей

После того как формирование корзины ПЛК-40 завершено, можно приступать к настройке субмодулей. Для настройки субмодуля DI дважды кликнем по нему левой клавишей мыши и выберем пункт «Internal Соотнесение входов/выходов».

Настройка субмодуля DI

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

Описание структуры TSensorsStruct


Объявим необходимые экземпляры структур TSensorsStruct в программе PLC_PRG.

Объявление экземпляров структуры TSensorsStruct в PLC_PRG


В окне настроек сумодуля DI выполним соотнесение структуры с каналами. Для этого кликнем левой клавишей мыши в поле столбца «Переменная» и нажмём  кнопку с тремя точками,  в открывшемся окне выберем Application -> sDI -> bValue и нажмем ОК.

Соотнесение переменной структуры с каналом модуля


Так как объявленные переменные представлены массивом, указываем соответствующий индекс нужного элемента массива.

Завершение соотнесения переменных с каналами  субмодуля


Компилируем (F11), загружаем (Alt+F8) и выполняем проект (F5),  зелёные индикаторы на против субмодуля сигнализируют об успешном обмене, статистика обмена отображает текущее значение отправленных и полученных данных, а также количество ошибок(число неответов в процентном соотношении) . При замыкании дискретного входа мы видим, что сигнал получен, а соотнесение  передаст значение сигнала переменной в проекте.

Проверка состояния субмодуля в режиме отладки

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

Ниже показан пример ошибочной установки субмодулей в слоты A и B.

Некорректная установка модуля в слот


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

Для проверки исправности работы выходов без соотнесения переменной, в столбец «Подготовленное значение» требуется установить значение TRUE, для этого этого необходимо кликнуть левой клавишей мыши в поле столбца на против канала модуля и нажать  (Ctrl+F7).

Проверка срабатывания релейного выхода


При необходимости можно реализовать инверсную логику срабатывания выхода, для этого в поле «Тип контакта выхода 1» нужно установить значение 1(NC) , тогда релейный выход будет работать инверсно и по умолчанию будет иметь замкнутый контакт. Аналогичная настройка также имеется у субмодуля DI.

Субмодуль TMP по умолчанию отображает значение в Ом, в качестве теста к каналам модуля подключены сопротивления номиналом 61.4 и 66.6 Ом, в полях «Тип термосопротивления входа 1» и  «Тип термосопротивления входа 2»  указывается тип датчика. После установки нужного типа датчика, значение канала будет отображать температуру в градусах Цельсия.

Проверка чтения каналов субмодуля TMP


Субмодуль AI имеет четыре универсальных конфигурируемых канала, рассмотрим вариант настройки датчиков помощью структуры TSensorsStruct.

В программу PLC_PRG добавим метод инициализации датчиков, для этого кликнем ПКМ по программе PLC_PRG из контекстного меню выберем пункт «Добавление объекта», далее «Метод», зададим название метода InitSensors,  возвращаемое значение оставим пустым и нажмём кнопку «Добавить». В программе объявим новую переменную bInitSensors.

Добавление метода


Опишем реализацию метода как показано ниже.

Описание реализации метода


Добавим вызов метода в основной программе PLC_PRG.

Добавление вызова метода в основной программе


Далее производим соотнесение переменных структуры с каналами субмодуля AI, компилируем (F11), загружаем (Alt+F8) и выполняем проект (F5).

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

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

Проверка чтения каналов субмодуля AI