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".
|
В самых простых случаях представление на сервере ввода/вывода совпадает с представлением на уровне ПЛК. Однако в большинстве случаев необходимо делать дополнительную обработку параметров на сервере ввода/вывода.
Далее рассмотрим примеры дополнительной обработки на сервере ввода/вывода: