|
Тема 5. Языки программирования контроллераДля разработки программ для контроллеров систем управления Международная электротехническая комиссия утвердила стандарт IEC-1131, который включает 5 языков: 1) Язык инструкций (Instruction List, IL) – входной язык, аналогичный ассемблеру. Написанная на нем программа представляет собой список последовательно выполняемых команд, которые адаптированы к задачам управления. 2) Релейно-контактная схема РКС (Ladder Diagrams, LD) – графический язык программирования, который обеспечивает построение на экране монитора составляется схема, аналогичная принципиальной электрической релейной схеме и с помощью специальных программ в программаторе или контроллере создается программа управления системой. Такой подход к программированию отличается наглядностью при решении задач логического управления. 3) Схема функциональных блоков (Function Block Diagram, FBD) - графический язык программирования, при котором на экране программатора составляется схема, аналогичная принципиальной электрической схеме на логических элементах. Эти схемы позволяют изображать последовательность обработки сигналов как логических, так и цифровых в достаточно наглядном виде. 4) Последовательно-функциональная схема или Графсет (Sequential Function Chart, SFC) – графический язык программирования, аналогичный блок –схеме алгоритма. Этот язык удобен для программирования процессов с последовательными операциями и наличием сложных ветвлений в алгоритмах управляющих программ. Стиль программирования на данном языке предполагает разработку программы «сверху вниз». Для программирования элементов самого низкого уровня необходимо использование одного из указанных ранее языков. 5) Язык структурированного текста (Structured Text, TS) – язык, аналогичный языку Pascal. Программные приложения для контроллеров систем управления в ряде случаев могут дополняться или полностью создаваться на основе языков программирования общего назначения, например Си. Мы будем использовать язык инструкций (ассемблер), который позволяет наглядно видеть процессы в контроллере при использовании симулятора. Форматы данных: Данные – это биты, тетрады и байты; байты - беззнаковые или знаковые; отрицательные числа – используют для представления специальный дополнительный код. Режимы адресации данных. Обеспечивают эффективный способ адресации данных, то есть эффективный доступпри выполнении команд в контроллере. · Прямая; · Регистровая; · Косвенная регистровая (исп. R0,R1, символ @)); · Непосредственная.(#). Типы форматов команд: 1 тип – однобайтные команды (более 50% команд), 2 тип – двухбайтные команды D/ADRL; тип 3 – трехбайтные команды Основные группы команд контроллера 1. Команды передачи данных (не изменяют флажков): Пересылка данных между регистрами CPU MOV Ri, Rj (Rj → Ri) (В нашем контролере так нельзя, надо: память → память (source, destination)
.Пересылка данных между регистрами CPU и памятью данных: MOV A, adr MOV A,@R0 (R0, R1)
1.2 .Пересылка данных между регистрами CPU и портами периферийных устройств MOV A, Pi MOV Pi. A 1.3.Начальная загрузка регистров MOV Rn, #data (#data – это всегда байт, кроме PTR – тут 2 байта) Команды арифметических операций.
Команды этой группы формирую флажки. Отрицательные данные представляются в дополнительном коде. Четыре арифметических операции: ADD A, Rn ADC A, Rn SUBB A, @Ri – вычитание с заемом, косвенной адресацией MUL A B – умножение (можно использовать только регистр В) DIV A B – деление (можно использовать только регистр В) INC Rn – инкремент DEC adr – декремент адреса памяти.
Команды логических операций Команды выполнения булевых операций: (OR, XOR, AND) ANL A,@Ri ORL A,#data XRL adr,A CLP A – инвертирование – только для аккумулятора.
Однобитовые команды
CLR Bit – сброс любого бита; SETB C – установка С; SETB Bit– установка любого бита; CPL C – инверсия С; CPL Bit – инверсия бита;
Команды сдвига Сдвигать можно только аккумулятор!!! Только на один бит: влево или вправо; сдвиги циклические. RL A (rotate left) RLC A (из седьмого – во флажок С) rotate left через carry RR A (rotate right) RRC A
Команды передачи управления
4.1. Команды безусловной передачи управления:
JMP ADR 16 (могут быть L – long, S – short 4.2.Команды условной передачи управления: J Cond ADR (Cond – condition) JB Bit, Mi – условный переход по любому биту (jump bit) JNB Bit, Mi – (jump not bit) Для организации циклов: DJNZ Rn,Mi – (decrement jump not zero)
4.3. Команды обращения к подпрограммам: CALL ADR16 Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем... Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычислить, когда этот... Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|