
- •Раздел 2. Программирование контроллеров 2
- •Раздел 2. Программирование контроллеров
- •2.1. Системное и прикладное программное обеспечение
- •2.2. Ос реального времени.
- •2.3. Рабочий цикл и время реакции плк
- •2.4. Классификация методов разработки по контроллеров
- •2.5. Стандарт iec 61131-3.
- •2.6. Инструментальная система программирования контроллеров iSaGraf.
- •2.7. Данные и переменные в iSaGraf
- •2.8. Языки программирования контроллеров
- •2.8.1. Язык sfc.
- •2.8.1.1. Основные графические компоненты языка.
- •2.8.1.2. Динамические правила языка sfc.
- •2.8.1.3. Описание действий внутри шагов.
- •2.8.1.4. Описание условий прикрепленных к переходу.
- •2.8.2. Язык fbd.
- •2.8.3. Язык ld.
- •2.8..4 Язык st.
- •2.8.5. Язык il
- •2.9. Программирование задач логического управления на стандартных языках.
- •2.10. Последовательность создания прикладных программ в системе iSaGraf.
- •2.11 Повторное использование кода в iSaGraf
- •2.11.1. Типы программных модулей
- •2.11.2. Определение интерфейса программных модулей
- •2.11.3. Словарь локальных переменных
- •2.11.4. Вызов программного модуля
- •2.11.4.1. Вызов функций и подпрограмм
- •2.11.4.2. Вызов функциональных блоков
- •2.11.5. Управление программами-потомками на языке sfc.
- •2.12. Библиотека iSaGraf
2.11.4.2. Вызов функциональных блоков
Перед вызовом любого функционального блока в программах написанных на языка ST, IL или SFC они должны быть объявлены в словаре в разделе «FB instances».
Примеры использования:
ST:
trig_1(boo1); trig_2(boo2); Command := trig_1.Q & trig_2.Q;
IL:
LD boo2
CAL trig_2
LD boo1
CAL trig_1
AND trig_2.Q
ST command
Примечание: функциональные блоки trig_1 и trig_2 должны быть заранее объявлены в словаре.
FBD/LD:
П
ри
использовании функционального блока
в языках LD/FBD они, как и функции, находятся
в поле выбора типа блока наравне со
стандартными.
2.11.5. Управление программами-потомками на языке sfc.
Основными действиями, которые родительская программа может выполнять для управления своей дочерней программой, являются:
Действие |
Оператор на языке ST |
Значение |
Запуск |
GSTART |
Запускает дочернюю программу: активизирует каждый её шаг инициализации. Дочерние программы этой дочерней программы не запускаются автоматически. |
Уничтожение |
GKILL |
Уничтожает дочернюю программу, деактивизируя все её активные шаги. Все дочерние программы этой дочерней программы также уничтожаются. |
Приостановка |
GFREEZE |
Деактивизирует все активные шаги программы и запоминает их таким образом, что программа может быть перезапущена. Все дочерние программы этой дочерней программ также приостанавливаются. |
Перезапуск |
GRST |
Перезапускает приостановленную программу на языке SFC, вновь активизируя все приостановленные шаги. Дочерние программы этой программы автоматически не перезапускаются. |
Получение состояния |
GSTATUS |
Получает текущее состояние (активная, неактивная, приостановленная) дочерней программы. |
Другой способ управления дочерними программами – это использование SFC-действия.
SFC-действие – это дочерняя последовательность на языке SFC, запускаемая или уничтожаемая в соответствии с изменением сигнала активности шага.
SFC-действие может иметь один из следующих спецификаторов: N (“non-stored”), S (установки) или R (сброса).
<child_program>(N); запускает дочернюю последовательность, когда шаг становится активным и уничтожает дочернюю последовательность, когда шаг становится неактивным;
<child_program>; выполняет то же самое, что и предыдущее действие (атрибут N является необязательным);
<child_program>(S); запускает дочернюю последовательность, когда шаг становится активным – ничего не делается, когда шаг становится неактивным;
<child_program>(R); уничтожает дочернюю последовательность, когда шаг становится активным – ничего не делается, когда шаг становится не активным.
Примечание: Использование спецификаторов S (установки) и R (сброса) для SFC-действия даёт тот же самый эффект, что и операторы GSTART и GKILL, используемые в “pulse”-действии на языке ST.
2.12. Библиотека iSaGraf
Библиотека ISaGRAF – это набор программных ресурсов, которые могут быть вставлены в любое приложение. Библиотека позволяет разработчиками систем автоматизации с помощью стандартного интерфейса обмениваться программными или аппаратными возможности системы ISaGRAF.
Библиотеки позволяют многократное использование существующего кода для следующих целей:
упрощения использования сложных модулей;
скрытия внутренней модульной обработки;
использования в других приложениях;
связи команд разработчиков компьютеров и процессов управления;
связи кода приложения с аппаратным обеспечением PLC.
В библиотеку входят следующие типы элементов:
1) I/O Configurations (Конфигурации модулей ввода-вывода)
Эта библиотека обеспечивает простой способ инициализирования нового проекта ISaGRAF с предопределенной конфигурацией модулей ввода-вывода.
Конфигурация определяет:
набор плат ввода-вывода;
значения по умолчанию для параметров плат ввода-вывода;
значение по умолчанию названий для каналов ввода-вывода.
Когда новый проект ISaGRAF может быть создан с библиотечной конфигурацией ввода-вывода. При этом соответствующие подключения ввода‑вывода устанавливается автоматически, и переменные ввода-вывода, соответствующие названиям каналов автоматически объявляются в списке переменных (словаре).
2) I/O complex equipments (Сложные модули ввода-вывода)
В предыдущем случае все каналы отдельной платы имеют тот же самый тип (булева переменная, аналоговый или сообщение) и направление (входная или выходная).
Сложное оборудование ввода-вывода представляет устройство ввода‑вывода с каналами различных типов или направлений и использует только один слот в списке подключения плат ввода-вывода.
3) Functions и Function blocks (Функции и функциональные блоки)
ISaGRAF позволяет создавать библиотеку функций и функциональных блоков, написанных на языках МЭК. Для описания таких функций или блоков доступны следующие языки – FBD, LD, ST или IL. Языки LD и FBD могут быть смешаны в одной диаграмме. SFC язык не может использоваться, чтобы описать функцию или блок в библиотеке.
4) С Functions и С Function blocks (Си-функции и си-функциональные блоки)
Функции и функциональные блоки, написанные на языке высокого уровня – “Си”. Эти функции или блоки могут использоваться для дополнения стандартных возможностей языка, или при прямом обращении к системным ресурсам контроллера.
5) Conversion functions (Функции преобразования)
Функция преобразования – это функция "Си", вызываемая менеджером ввода-вывода системы исполнения ISaGRAF для каждой аналоговой переменной - входной или выходной.
Функция устанавливает отношения между электрическим значением переменной (считанном с входного датчика или посланным устройству вывода) и его физическим значением (используемым в прикладных выражениях). Поэтому группа функций преобразования разделены на две части: входное преобразование и преобразование вывода.
Примечание: Функция, определенная в библиотеке может вызывать другие функции библиотеки. Однако система ISaGRAF не поддерживает рекурсию при вызове функций и функциональных блоков.