
- •Раздел 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.6. Инструментальная система программирования контроллеров iSaGraf.
Система разработана компанией CJInternational (Франция), в данный момент принадлежит фирме AlSys (США или Канада?) и относится к классу CASE – систем, Computer Aided Software Engineering – системе компьютерной поддержки программирования.
Основные возможности пакета:
Поддержка всех пяти языков стандарта МЭК 1131-3 плюс реализация языка Flow Chart как средства описания диаграмм состояний. При этом ISaGRAF позволяет смешивать программы и процедуры, написанные на разных языках, а также вставлять кодовые последовательности из одного языка в коды, написанные на другом языке.
Наличие многофункционального отладчика, позволяющего во время работы прикладной задачи просматривать состояние программного кода, переменных, программ и многое другое.
Поддержка различных протоколов промышленных сетей (Modbus и ProfiBus).
I
SaGRAF
представлен в виде двух частей: набора
средств разработки и исполняемого на
целевом ПЛК ядра-интерпретатора. Набор
средств разработки исполняется на
компьютере проектировщика, например,
компьютере типа IBM PC, и состоит из
редактора, отладчика и препроцессора,
который подготавливает описанный
проектировщиком алгоритм к формату,
"понятному" ядру-интерпретатору.
Этот набор имеет современный
пользовательский интерфейс, позволяет
тестировать алгоритм в режиме эмуляции
и получать листинг алгоритма на языках
его описания.
После создания пользовательская программа совместно с ядром-интерпретатором загружается в целевой ПЛК для исполнения. Ядро-интерпретатор, как следует уже из его названия, транслирует пользовательский алгоритм во время исполнения.
Это позволяет сконцентрировать машино-зависимый код и таким образом снизить накладные расходы при переходе на другой ПЛК.
Недостаток - интерпретационная модель имеет недостаток - она всегда снижает показатели эффективности исполнения программы.
Архитектура проекта в ISaGRAF.
Циклические исполняются на каждом цикле работы программы. Последовательные исполняются по динамическим правилам языка SFC. Программы могут выполняться и помещаться в трёх секциях.
Секции
Begin sequentional end
(начальная) (последовательная) (конечная)
Циклические программы помещаются в секции begin & end. Последовательные в секции sequentional, программы пишутся только на SFC. В остальных секциях на любых других языках, кроме SFC.
Цикл исполнения программ включает:
чтение входных переменных;
выполнение программ начальной секции;
выполнение программ последовательной секции;
выполнение программ конечной секции;
обновление выходных переменных.
2.7. Данные и переменные в iSaGraf
Для каждой переменной в системе ISaGRAF необходимо задать следующие атрибуты:
Существует три уровня видимости переменных:
СOMMON – общие, доступные любой программе любого проекта;
GLOBAL – доступные любой программе одного проекта;
LOCAL – локальные доступные только одной программе одного проекта.
При объявление переменных используются следующие типы:
boolean – булевые,
analog – аналоговые (могут быть как integer, так и real),
timers – таймерные,
messages – сообщение.
Кроме того, объявляется вид переменной:
internal – внутренний,
input – входная,
output – выходная.
Примечание 1: Переменные ввода-вывода всегда GLOBAL.
Примечание 2: Переменные timers всегда internal.
Особенности таймерных переменных
Значения констант:
Базовая единица – 1 миллисекунда
Синтаксис: t#1h450ms, time#1h3m, t#0s
Таймер не может превышать t#23h59m59s999ms
Значение таймера всегда положительно
Таймер не может быть уменьшающимся счетчиком.
Таймерная переменная не может быть связана с платой ВВ
Механизм работы
При старте переменная автоматически инициализируется (значение инициализации может быть указано при определении таймерной переменной – по умолчанию t#0ms).
Таймер увеличивается в соответствии с часами целевой системы в конце каждого цикла работы контроллера. На протяжении цикла значение остается одинаковым.
Таймер может быть запущен и остановлен.