Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
электроника контроллер Стардом.doc
Скачиваний:
39
Добавлен:
04.09.2019
Размер:
18 Мб
Скачать
☆

2.5 Функции контроля и управления для fcx

Функции Logic Designer

Logic Designer это программирующий интерфейс для FCX. Он имеет аналогичный Explorer интерфейс с заглавной папкой “Project”. Под ней располагаются папки представляющие функциональные секции проекта.

Основными папками проекта являются:

  • “Libraries” – папка, в которой регистрируются все функциональные библиотеки;

  • “Data Types” – папка, в которой регистрируются все типы данных и структуры;

  • “Logical POUs” – папка, в которой размещены все программы и функциональные блоки;

  • “Physical Hardware” – содержит конфигурации аппаратуры. Каждая конфигурация включает в себя FCX, с набором задач, модулями ввода/вывода и глобальными переменными.

2.12 Окно Logic Designer

Блоки организации программ (Program Organization Units) (POU)

Программы инкапсулированы в блок организации программ Program Organization Unit (POU). POU может быть собран из комбинации пяти языков программирования в соответствии с IEC-61131 и может быть обозначен как функция (Function), функциональный блок (Function Block), или программа (Program).

* Function Block - Если POU назначен как функциональный блок, он может быть использован другими POU, тем самым обеспечивается многоуровневая вложенность функций. Такой POU может быть использован многократно по мере необходимости в других POU. Они могут быть также запаролены с целью защиты от несанкционированного редактирования.

* Function – Функция подобна функциональному блоку за исключением того, что она не может иметь внутренних переменных (data items). Она имеет только входы и выход результата. Примером функции может быть функция сложения (ADD).

* Program – Для того чтобы POU выполнялась в FCX, она должна быть назначена программой (Program). Программа затем назначается задачей в FCX и размещается в папке “Physical Hardware”. Функциональный блок POU никогда не исполняется сам по себе. Для исполнения он должен быть размещён как функциональный блок в программу POU.

POU создаются и сохраняются в папке “Logical POU”.

Каждый POU содержит три файла:

  • Информационный файл (Information file) (“имяT”) – текстовый файл с комментариями пользователя о функции;

  • Файл переменных (Variables file) (“имяV”) – содержит все переменные, используемые в программе;

  • Программный файл (Program file) (“имя”) – файл с программой.

где: “имя” – имя POU

Как показано на рис. 2.13. POU создаются и сохраняются в папке «Logical POU»

Рис. 2.13 Блок организации программ «Logical POU»

Экземпляр POU, назначенного как Program в FCX, обозначается как задача, при этом говорят, что POU является наследником по отношению к задаче. Она присваивает следующие атрибуты программе:

- Какой FCX её исполняет. Программа может исполняться в более чем одном FCX;

- Как часто она должна исполняться;

- Каков её приоритет;

- Тип задачи;

- Как много стековой памяти требуется для её исполнения.

Перед тем как POU может быть присвоена задаче в качестве наследника, задача должна быть создана. Задачи для каждого FCX создаются при его конфигурировании. Задачи, FCX и Конфигурации соотносятся между собой следующим образом:

- “Physical Hardware” – головная папка для хранения ресурсов проекта;

- “Configurations” – следующий уровень папок включающие в свой состав FCX;

- “Resource” – внутри Configuration содержит несколько FCX, другие устройства, называемые как ресурсы (Resources);

- “Tasks” – внутри каждого FCX есть папка “Tasks” содержащая набор задач;

- “Program Instances” – внутри каждой задачи может находиться несколько реализаций этой задачи (Program Instances), т.е., программ POU.

Ввод/вывод конфигурируется с использованием Resource Configurator. При этом конфигурируются имена меток устройств и другие параметры ввода/вывода.

Эта конфигурация подключается к управляющему программному обеспечению, так что программы могут читать/писать данные из/в устройства ввод/вывода, как показано на рис. 2.14. Эта конфигурация находиться в папке «Physical Hardware» проекта (см. в Logic Designer) в файле «Device Label Definition».

Рис. 2.14 Конфигурации аппаратуры: контроллера, с набором задач, модулями ввода/вывода и глобальными переменами.

Задача может быть одним из трёх типов:

- Default – по умолчанию. Работает так быстро, как это возможно, отсутствует заранее предопределённая частота исполнения;

- Cyclic – циклический. Работает с заранее предопределённой частотой исполнения. Однако она завершает своё исполнение во времени в зависимости от назначенного ей приоритета. Это детерминированные (deterministic) задачи.

- System – системный. Выполняются по мере наступления системных событий, таких как холодный/тёплый/горячий старт, ошибка обмена и т.д.

Когда программа POU (рис. 2.15) связывается с задачей, она называется наследником (“instantiated”). Программа POU может быть связана с более чем одной задачей в FCX, и несколько различных программ могут быть связаны с одной задачей.

Рис. 2.15 Окно конфигурации

Все программное обеспечение работает под управлением многозадачного операционной системы реального времени Vx Works.

Приоритет (Priority) – если система перегружена, не все циклические события могут быть обработаны своевременно. Чем выше задан приоритет задачи, тем больше времени выделяется на ее выполнение. Задача по умолчанию может вообще не получить возможности выполниться так как она имеет меньший приоритет и система перегружена.

Приоритетность задач варьируется в пределах от 0 до 15. Более высоким приоритетом обладает задача с меньшим номером приоритетности. По умолчанию присваивается 0, что соответствует наивысшему приоритету. Рассмотрим на примере (рис. 2.16), как различные задачи выполняются в течение временного цикла FCX:

Рис. 2.16 Приоритетность задач

- Быстрая задача (Fast Task): Периодическая задача с временным интервалом от 10 мс, обозначена как Р1.

- Главная задача (Main Task): Периодические задачи с временным интервалом от 25мс, обозначены как Р3, Р4.

- Задача по умолчанию (Default Task): Периодические задачи без фиксированного временного интервала, обозначены как Р5, Р6.

- Задачи ProConOS Server: Системные задачи, например коммуникации, отладчик и т.д.

- Пустая задача (Task ready).

- Запросы на обслуживание (Task signals) (Задача переходит в состояние “ready”).

Ввод/вывод с использованием Resource Configurator

При этом конфигурируются имена меток устройств и другие параметры ввода/вывода.

Эта конфигурация подключается к управляющему программному обеспечению, так что программы могут читать/писать данные из/в устройства ввод/вывода. Эта конфигурация находится в папке «Physical Hardware» проекта в файле “Device Label Definition”.

Определение меток устройств (Device Label):

Элементы ввода/вывода или метки устройств, определенные в Resource Configurator должны быть введены в файл “Device Label Definition”. Это обеспечивает непосредственную связь между точками процесса ввода/вывода и программным обеспечением. Когда система собрана и загружена имена меток согласовываются с именами меток ввода/вывода аппаратуры что позволяет преобразовывать форматы данных между программным обеспечением и аппаратурой.

Как глобальные (Global), так и локальные (Local) переменные могут быть сохранены в случае пропадания питания FCX. Такие переменные обычно называются поддерживаемыми данными “retained data”. Они содержат доступные параметры (настроечные параметры (turning parameters)) NPAS POU блоков. Данные могут сохраняться в нескольких вышеупомянутых областях памяти, и это определяется следующим образом:

  • Пометьте “Retain” галочкой для требуемых переменных.

  1. Если “Enable Hard-backup for retained data” помечен в Resource Configurator, то данные сохраняются в Data Memory (энергонезависимая память)

  2. Если “Enable Hard-backup for retained data” не помечен, то данные сохраняются в Main Memory (энергозависимая память). Это обеспечивает более быстрый доступ к данным, но их меньшую защищенность.

  • Данные могут быть скопированы во Flash RAM:

Инициацией глобальной переменной (GS_RETAIN_SAVE_SW). Кнопка на графическом окне может быть связана с этой переменной для быстрого доступа к этой функции.

Эти данные перезагружаются в программу из Data memory или Main memory, если оказались утерянными.

Начальные значения величин (Initial Values):

Как глобальные (Global), так и локальные (Local) переменные могут иметь начальные значения величин (Initial Values). Они специфицируются в установках переменных в Logic Designer в поле “Init”, сохраняются во Flash RAM и загружаются в Main RAMпри включении питания при холодном старте (Cold Start) FCX.

Перезагрузка поддерживаемых данных при возникновении неисправности источника питания:

Если в Data Memory поддерживаемые данные отсутствуют:

  1. Если во Flash-RAM отсутствуют сохраняемые данные, то по умолчанию используются данные загрузчика проекта Boot Project из Flash-RAM.

  2. Если во Flash-RAM есть сохраненные данные, то они перезагружаются как в Data Memory, так и в Main Memory.

Если в Data Memory поддерживаемые данные присутствуют:

  1. Если поддерживаемые данные согласованы с управляющим приложением (т.е. не испорчены), то производится перегрузка данных из Data Memory в Main Memory.

  2. Если поддерживаемые данные не согласованы с управляющим приложением (т.е. испорчены), то производится перегрузка данных из Flash-RAM как в Data Memory, так и в Main Memory.

Присвоение IP адресов.

Установки FCX (FCX Settings) выполняются при помощи Logic Designer при нажатии двойным щелчком на рис.2.17 Target Setting файл в конфигурационной папке (Configuration folder).

Рис. 2.17 Установка IP адреса контроллера

Введите необходимый IP адрес или имя управляющей станции (hostname) FCX, если оно существует в файле LM Hosts.

Так как FCX может иметь дублированное подключение к Ethernet, IP адресация состоит из более чем одного IP адреса. IP адреса подразделяются на:

VIP – виртуальный IP адрес (Virtual IP address);

PIP – физический IP адрес (Physical IP address).

При инсталляции FCX необходимо устанавливать только VIP, PIP адрес устанавливается автоматически, для РС это делается иначе. Если в FCX установлен один CPU, то ему присваиваются два PIP адреса, по одному на каждый порт Ethernet. На рис.2.18. они вычисляются путем инкрементирования третьего кода IP адреса:

Рис. 2.18 Установка VIP и PIP адресов

192.168.х.1

где: х=0 (для VIP адреса);

х=1 (для PIP адреса, порт 1);

х=2 (для PIP адреса, порт 2).

Если в FCX установлены два СРU, то второму СРU также присваиваются два PIP адреса, по одному на каждый порт Ethernet. Они вычисляются путем добавления 128 к четвертому коду IP адреса первого СРU:

192.168.х.129 – устанавливается функцией APC Command Transfer в меню инструментов (Tools) конфигуратора ресурсов (Resource Configurator).

Примечание: на рис.2.19 для первого СРU не устанавливайте четвертый код IP номера больше 126, так как они используется для адресации второго CPU , а номер 127 вызывает появление номера 255 для второго CPU (127+128=255) который используется системой для адресации широковещательных соединений (Broadcast Address).

Рис.2.19 Пример, если в FCX установлены два СРU

Так как FCX имеет два вида адресов (Virtual IP address и Physical IP address), то соответственно и адресация РС, который имеет Logic Designer, Resource Configurator and VDS должна также иметь множество адресов: нерезервированный Ethernet, нерезервированный или резервированный CPU FCX:

Устанавливаются два IP адреса для порта Ethernet, виртуальный и физический адреса:

Пример: 192.168.0.100 (для VIP адреса);

192.168.1.100 (для PIP адреса).

Резервированный Ethernet, нерезервированный или резервированный CPU FCX:

В этом случае в РС имеется второй порт Ethernet. Присвоение адресов первого порта проводится так же, как описано выше, для второго порта не устанавливается виртуальный IP адрес. А только физический:

Пример показан на рис.2.20: 192.168.0.100 (для VIP адреса);

192.168.1.100 (для PIP адреса, порт1);

192.168.2.100 (для PIP адреса, порт2).

Рис.2.20 Пример присвоения портов

Библиотека NPASPOU состоит из функциональных блоков разработанных Yokogawa для использования при программировании управляющих приложений. Все блоки подразделяются на группы:

  • Блоки ввода/вывода (Input Output blocks);

  • Регуляторы (Controller blocks);

  • Блоки ручной загрузки (Manual loader blocks);

  • Блоки задания сигнала (Signal setter blocks);

  • Ограничители сигнала (Signal limiter blocks);

  • Селекторы сигналов (Signal selector Blocks);

  • Блоки распределения сигналов (Signal distributor blocks);

  • Вычислительные блоки (Calculation Blocks);

  • Блоки последовательного внешнего управления (Sequence Auxiliary Blocks).

Процесс коммутации ввода/вывода (Connecting Process I/O).

Процесс коммутации ввода/вывода производится через функциональные блоки ввода/вывода включены в библиотеку NPAS_POU.

Блоки аналоговых входов (“NPAS_AI_*”) преобразуют входные сигналы в величины представленные в инженерных единицах и в данных типа ‘CData’ соответственно;

Блоки аналоговых выходов (“NPAS_AO_ANLG) преобразуют ‘CData_Real’, заданные в диапазоне 0-100%, в выходную величину типа REAL воспринимаемую модулем аналогового выхода.

Пример (рис. 2.21) того, как модули ввода/вывода используют это преобразовании:

Рис. 2.21 Модули ввода/вывода

Аналоговые вход (FT100) и выход (FCV100) определены в файле “DeviceLabelDefinition”.

В процессе отслеживания состояния аналогового выхода (когда величина, используемая внешним устройством для выполнения своих функций, изменяется не под действием аналогового выхода, а под воздействием других факторов, например, вручную) блок аналогового выхода получает информацию о состоянии устройства (процесс обратного чтения (Read Back)) через клемму RB_IN . формат этой величины:

TAG_RB

Эта переменная поддерживает процесс согласования функции аналогового выхода в модуле аналогового выхода.