AstraRegul
Релиз 2024.08.31.00
×

4.4.1.2.3.3. Создание прикладной программы ПЛК REGUL R500S

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

Группа безопасности

 
1. Чтобы создать новую группу безопасности выберите в контекстном меню приложения "Plc Safety Logic" пункт "Добавление объекта" → "FBDObject...".
 
2. Задайте название программы "SAI2", укажите тип "Группа безопасности". Нажмите кнопку "Добавить".
 
 
Откроется редактор программы "SAI2":
 
 
3. На "Панели инструментов" раскройте раздел библиотеки "pssis(lib)" и перетащите в "Network" блок "UDFB_SAI2".
 
 
 
4. В редакторе функциональной группы безопасности задайте имя цепи – "Аналоговый вход с двумя порогами сигнализации" и переименуйте блок в "UDFB_SAI2"
 
 
5. Двойным кликом откройте редактор глобальных переменных "SafetyGVL" и добавьте следующие переменные:
 
Имя переменной
Тип значения
Категория
Начальное значение
NSE
FB_UDFB_SAI2_PV
REAL
VAR_GLOBAL
0
R
FB_UDFB_SAI2_STATE
DINT
VAR_GLOBAL
0
R
FB_UDFB_SAI2_PH
REAL
VAR_GLOBAL
0
W
FB_UDFB_SAI2_PL
REAL
VAR_GLOBAL
0
W
FB_UDFB_SAI2_HH
REAL
VAR_GLOBAL
0
W
FB_UDFB_SAI2_SH
REAL
VAR_GLOBAL
0
W
FB_UDFB_SAI2_SL
REAL
VAR_GLOBAL
0
W
FB_UDFB_SAI2_LL
REAL
VAR_GLOBAL
0
W
FB_UDFB_SAI2_HYS
REAL
VAR_GLOBAL
0
W
FB_UDFB_SAI2_CONTR
DINT
VAR_GLOBAL
0
W
GRP_MOS
BOOL
VAR_GLOBAL
FALSE
-
 
6. В группе безопасности "SAI2" в редакторе переменных добавьте следующие переменные:
 
Имя переменной
Тип значения
Категория
Начальное значение
UDFB_SAI2_IN
REAL
VAR_INPUT
-
UDFB_SAI2_IN_STS
BOOL
VAR_INPUT
-
UDFB_SAI2_MEN
BOOL
VAR_INPUT
-
UDFB_SAI2_HLD
BOOL
VAR_INPUT
-
UDFB_SAI2_PV
REAL
VAR_OUTPUT
-
UDFB_SAI2_HH_TRP
BOOL
VAR_OUTPUT
-
UDFB_SAI2_H_TRP
BOOL
VAR_OUTPUT
-
UDFB_SAI2_L_TRP
BOOL
VAR_OUTPUT
-
UDFB_SAI2_LL_TRP
BOOL
VAR_OUTPUT
-
UDFB_SAI2_FLT_TRP
BOOL
VAR_OUTPUT
-
UDFB_SAI2_MA
BOOL
VAR_OUTPUT
-
FB_UDFB_SAI2_PV
REAL
VAR_EXTERNAL
-
FB_UDFB_SAI2_STATE
DINT
VAR_EXTERNAL
-
FB_UDFB_SAI2_PH
REAL
VAR_EXTERNAL
-
FB_UDFB_SAI2_PL
REAL
VAR_EXTERNAL
-
FB_UDFB_SAI2_HH
REAL
VAR_EXTERNAL
-
FB_UDFB_SAI2_SH
REAL
VAR_EXTERNAL
-
FB_UDFB_SAI2_SL
REAL
VAR_EXTERNAL
-
FB_UDFB_SAI2_LL
REAL
VAR_EXTERNAL
-
FB_UDFB_SAI2_HYS
REAL
VAR_EXTERNAL
-
FB_UDFB_SAI2_CONTR
DINT
VAR_EXTERNAL
-
GRP_MOS
BOOL
VAR_EXTERNAL
-
UDFB_SAI2_IOH
REAL
VAR_CONST
20.0
UDFB_SAI2_IOL
REAL
VAR_CONST
4.0
UDFB_SAI2_STATE_ITERN
DINT
VAR
0
 
 
7. Откроется редактор действия "EXAMPLE_AI1". Задайте имя страницы "Аналоговый датчик".
 
8. Задайте переменные в областях "???".
 
 
9. Откройте "SafetyMain" и перейдите во вкладку "Схема проекта".
 
10. Нажмите на , чтобы сделать созданную группу безопасности активной.
 
 
Для того, чтобы сделать данную группу безопасности неактивной нажмите кнопку .
 
11. Создайте информационные связи между модулями ввода и группой безопасности.
 
 
Создание группы безопасности в безопасной части контроллера завершена.
 

Передача данных на верхний уровень

 
Для передачи данных на верхний уровень необходимо активировать небезопасный канал связи.
 
1. Откройте "SafetyGVL" и создайте переменную активации небезопасного канала "SafetyChannel" типа "BOOL" и значение "True".
 
 
2. Перейдите во вкладку "Общие настройки" в "SafetyMain" и выберите пункт "Включить небезопасный канал".
 
 
3. Откроется окно с предупреждением, нажмите "ОК".
 
 
4. В выпадающем списке пункта "Переменная для активации небезопасного канала" выберите созданную переменную "SafetyChannel".
 
 
5. Перейдите в группу безопасности "SAI2" и добавьте цепь, перетащив её из "Панели инструментов".
 
 
6. Задайте имя цепи - "Состояние для верхнего уровня", и создайте следующее присвоение:
 
 
7. Создайте новую программу (POU), выберите в контекстном меню приложения "Application" пункт "Добавление объекта" → "POU...".
 
8. Задайте название программы "MAIN", укажите тип "Программа" и язык реализации "CFC постраничный". Нажмите кнопку "Добавить".
 
 
Откроется редактор программы "MAIN":
 
 
9. Кликните на кнопку "Свойства" и выберите пункт "Режим потока данных" из выпадающего списка, затем нажмите кнопку "Применить".
 
 
10. В редакторе программы "MAIN" задайте имя страницы – "Технологические алгоритмы".
 
 
11. Создайте вторую программу (POU), выберите в контекстном меню приложения "Application" пункт "Добавление объекта" → "POU...".
 
 
12. Задайте добавляемой задаче имя "PROXY_SAI2" и укажите язык реализации "CFC постраничный".
 
 
13. Откроется редактор программы "PROXY_SAI2". Задайте имя страницы "Аналоговый вход с двумя порогами сигнализации" выберите "Режим потока данных".
 
 
14. Создайте в рабочей области следующую структуру, состоящую из элемента "PROXY_UDFB_SAI2", компоновщика "PsSIS.FROM_SAFETY_UDFB_SAI2" и селектора "PsSIS.TO_SAFETY_UDFB_SAI2". Привяжите переменные из безопасной части ко входам/выходам блоков.
 
Чтобы добавить объект, перетащите его из панели инструментов в рабочую область.
 
15. Чтобы программа "PROXY_SAI2" вызывалось программой "MAIN" необходимо на странице "Технологические алгоритмы" добавить объект "Элемент" из панели инструментов и задать ему имя действия, которое необходимо вызвать – "PROXY_SAI2". Добавьте объект "Комментарий" из панели инструментов и задайте комментарий "Аналоговый вход с двумя порогами сигнализации".
 
16. Чтобы прикладная программа "MAIN" исполнялась в контроллере, необходимо добавить ее вызов в задаче.
Перейдите двойным щелчком мыши в конфигурацию задачи TASK_MAIN.
 
 
17. Нажмите кнопку "Добавить вызов" и в ассистенте ввода выберите программу "MAIN", нажмите кнопку "ОК".
 
 
При добавлении прикладной программы "MAIN" в задачу, она отобразится в дереве устройств.