AstraRegul
Релиз 2024.08.31.00
×

4.4.2.3.4. Создание типа

 
Чтобы создать тип, необходимо выполнить следующие действия:
 
1. Перейдите в определения проекта "MyLib" двойным кликом по объекту в обозревателе решений.
 
 
2. Добавьте на рабочую область элемент "Пространство имен" путем перетаскивания из панели элементов.
 
 
3. Задайте добавленному элементу имя "Types" и перейдите в объект, кликнув по его названию.
 
 
В пространстве имен "Types" будут храниться все типы библиотеки.
 
4. Рассмотрим создание типа на примере аналогового датчика. Добавьте из панели элементов пространство имён и в его свойствах укажите имя "AI1".
 
 
5. Перейдите в пространство имен "AI1", кликнув по названию объекта, и добавьте два логических типа из панели элементов:
PLC_View (представление типа для уровня ПЛК);
IOS_View (представление типа для уровня сервера ввода/вывода).
 
 
6. Выделите представление "PLC_View" и в окне свойства в поле "Аспект" укажите аспект "PLC_Aspect" из пространства имен "Aspects".
 
 
7. Аналогичным образом выделите представление "IOS_View" и в окне свойства в поле "Аспект" укажите аспект "IOS_View" из пространства имен "Aspects". В поле "Представляемый тип" выберите тип "PLC_View".
 
 
 
8. Перейдите в представление "PLC_View" типа "AI1", кликнув по названию объекта.
 
 
В представление "PLC_View" необходимо вынести те параметры, которые будут осуществлять обмен данными с ПЛК.
 
Для этого необходимо посмотреть на реализацию функционального блока аналогового датчика в среде разработки Astra.IDE.
 
У функционального блока есть входные и выходные переменные для взаимодействия с ВУ. Данные параметры отмечены атрибутом {attribute 'symbol' := 'readwrite'}.
 
Рассмотрим добавление параметров на примере входной переменной "MAN_ON" ФБ "AI1". Данный параметр отвечает за команду установки режима аналогового датчика.
 
 
9. В представление "PLC_View" добавьте параметр типа bool из раздела "Параметр" панели элементов.
 
 
10. Выделите добавленный параметр и в окне "Свойства" задайте ему имя "MAN_ON".
 
 
11. Выделите параметр "MAN_ON" и в окне "Свойства" задайте направление "вход/выход".
 
 
Направления параметрам задаются в зависимости от типа взаимодействия с ПЛК:
вход - запись в ПЛК (используется для только входных сигналов);
выход - чтение из ПЛК (используется для сигналов состояния);
вход/выход - чтение и запись из ПЛК (используется для команд и уставок).
 
12. Аналогичным образом добавьте другие параметры ФБ "AI1", указанных в таблице:
 
Параметр
Тип
Направление
MAN_ON
bool
вход/выход
MAN_VALUE
float4
вход/выход
FACT_VALUE
float4
выход
SIGN
int4
выход
MODE
bool
выход
DIAGN
int4
выход
 
В результате должен получится следующий вид:
 
 
Если в функциональном блоке используются структурные переменные, используйте элемент "Сокет" из панели элементов. Сокет является аналогом структур в Astra.IDE.
 
В данном примере будем использовать сокет для выходной структурной переменной "OUT" (значения датчика с качеством) и входной структурной переменной "CONFIG" (настроечные параметры) функционального блока "AI1".
 
13. Добавьте на рабочую область элемент "Сокет" из панели элементов и задайте ему имя "CONFIG", а также укажите направление "вход/выход".
 
 
При указании направления сокета параметры внутри сокета примут то же направление.
 
14. Перейдите в сокет "CONFIG", кликнув по названию объекта.
 
 
15. Добавьте настроечные параметры функционального блока, воспользовавшись вкладкой "Параметр" панели элементов.
Типы и названия параметров должны соответствовать параметрам в структуре "AI_CONFIG" в Astra.IDE.
 
 
16. Аналогичным образом добавьте сокет "OUT" с направлением "выход".
 
В результате должно получиться следующее представление аналогового датчика на уровне ПЛК:
 
 
Типы параметров должны совпадать с типами данных в ПЛК.
 
17. Перейдите в пространство имён "AI1" двойным кликом по названию объекта в обозревателе решений.
 
 
18. Перейдите в представление "IOS_View", кликнув по названию объекта.
 
 
 
 
19. Для передачи данных между представлениями используются аспектные ссылки.
Аспектная ссылка – это ссылка, которая добавляется в объект и указывает на другое представление этого объекта.
 
Нажмите ПКМ по свободному полю и выберите из котекстного меню команду "Добавить" -> "Аспектную ссылку".
 
 
20. В открывшемся окне выберите представление, на которое необходимо добавить ссылку и нажмите кнопку "Далее".
 
 
22. Нажмите кнопку "Далее".
 
 
 
23. Выделите параметры, ссылки на которые требуется экспонировать, и нажмите кнопку "Готово".
 
 
В результате образуется связь между представлением сервера ввода/вывода и представлением ПЛК.
Если связи не отобразились, нажмите клавишу "F5".
 
 
В самых простых случаях представление на сервере ввода/вывода совпадает с представлением на уровне ПЛК. Однако в большинстве случаев необходимо делать дополнительную обработку параметров на сервере ввода/вывода.
 
Далее рассмотрим примеры дополнительной обработки на сервере ввода/вывода: