Разработка главной программы на трёх языках программирования

Отчёт выполнения лабораторной работы №2

«Изучение языков программирования CoDeSys»

Выполнил:

студент гр. …. …………

Принял:

ст. преподаватель А.Г. Бажин

Ижевск 2008

Содержание

1 ЦЕЛИ И ЗАДАЧИ ЛАБОРАТОРНОЙ РАБОТЫ... 2

2 Задание. 2

3 Введение. 2

4 Разработка главной программы на трёх языках программирования. 4

5 разработка визуализации проекта. 7

6 Выводы.. 8

7 Список литературы.. 8

ЦЕЛИ И ЗАДАЧИ ЛАБОРАТОРНОЙ РАБОТЫ

Основной целью выполнения лабораторной работы является закрепление навыков программирования в среде программного комплекса CoDeSys на трех языках программирования. Задачами лабораторной работы являются закрепление навыков программирования в системе МЭК 61131-3 на трех языках программирования (Список Инструкций (IL), Диаграммы Функциональных блоков (FBD) и Релейно-контактные схемы (LD)) и визуализации.

Задание

Реализовать заданную логическую функцию на трёх языках программирования: IL, LD и FBD.

Функция по варианту №…:

---

Q0 = I0 & I1 V I2 & I3

Введение

Программный комплекс CoDeSys разработан компанией 3S-Smart Software Solutions GmbH (3S). Основным его назначением является программирование ПЛК и промышленных компьютеров в стандарте МЭК 61131-3. Ряд неординарных решений 3S привел к тому, что CoDeSys стал штатным инструментом программирования ПЛК более 100 ведущих европейских изготовителей: ABB, Beckhoff, Beck IPC, Berger Lahr, Bosch Rexroth, ifm, Keb, Kontron, Lenze, Moeller, WAGO, Fastwel и др. Некоторые из них используют CoDeSys как базовое ядро собственных систем программирования, известных под собственными торговыми марками.

Несмотря на очевидно наметившееся развитие CoDeSys в сторону обеспечения требований ПЛК высшего класса, комплекс можно применять и с недорогими моделями контроллеров. Специализированные встроенные компиляторы машинного кода и гибко адаптируемая система исполнения позволяют "выжать" максимум из ограниченных аппаратных ресурсов.

CoDeSys один из мощнейших инструментов МЭК 61131-3 программирования контроллеров, доступных для операционной системы Windows. Он полноценно поддерживает все пять стандартных языков программирования. CoDeSys непосредственно способен генерировать машинный код для большинства широко распространенных процессоров. CoDeSys объединяет мощь высококлассных инструментов программирования для языков высокого уровня, таких как C или Паскаль с простотой работы и практической функциональностью ПЛК систем программирования.

CoDeSys обладает рядом особенностей, выделяющих его среди конкурирующих систем:

- быстрое внедрение;

- эффективные средства ввода;

- высокая производительность.

CoDeSys содержит следующие компоненты:

1 Эмулятор ПЛК

2 Редакторы для программирования на языках:

- Список Инструкций (IL);

- Диаграммы Функциональных блоков (FBD);

- Релейно-контактные схемы (LD);

- Структурированный текст (ST);

- Последовательные функциональные схемы (SFC);

- Непрерывные функциональные диаграммы (CFC).

3 Генераторы кода для:

- Motorola PowerPC;

- Motorola 68xxx;

- Motorola MC683xx;

- Motorola ColdFire;

- Intel 8051 и программно совместимые с ним;

- Intel 80186;

- Intel 80x86, 80386, 80486, Pentium и совместимые;

- ARM (т.е. StrongARM, NET+ARM);

- Infineon (Siemens) 80C16x;

- Infineon TriCore;

- Hitachi SH 2/3/4;

- Hitachi H8;

- Texas Instruments DSP TMS32028x.

4 DDE и OPC серверы

5 Элементы визуализации

6 Графический иерархический ПЛК конфигуратор

7 Менеджер библиотек

8 Он-лайн функции:

- мониторинг значений переменных;

- запись и фиксация значений переменных в ПЛК;

- отладка проекта (точки останова, выполнение по шагам и по циклам, контроль стека вызовов);

- горячая коррекция кода, без остановки ПЛК;

- контроль процесса выполнения;

- графическая трассировка.

В CoDeSys имеются следующие языки программирования:

1 Список Инструкций (IL). Простой машинно-независимый ассемблер.

2 Структурированный текст (ST) Высокоуровневый 'Паскаль-подобный' язык.

3 Функциональные блоковые диаграммы (FBD). Графический язык описания логических и аналоговых вычислений в очень простой и выразительной форме. CoDeSys автоматизирует составление FBD диаграмм самостоятельно размещая программные компоненты и соединения.

4 Релейно-контактные схемы (LD). Графический язык, описывающий логику работы программы в форме соединения контактов и обмоток реле. Как и в FBD, редактор LD автоматически размещает и проводит соединения компонентов схемы.

5 Последовательные функциональные схемы (SFC). Графический язык, ориентированный на описание взаимосвязанных состояний и действий системы. CoDeSys поддерживает все без исключения типы действий предусмотренные стандартом.

6 Непрерывные функциональные схемы (CFC). Редактор CFC аналогичен FBD, но в отличие от него не разделяет диаграмму на цепи, а оперирует со свободно размещаемыми компонентами. Диаграммы могут иметь обратные связи и настраиваемый порядок выполнения.

Непосредственно в CoDeSys есть возможность создать произвольное визуальное отображение. Атрибутами (цвет, размер, положение и т.д.) графических объектов управляют значения переменных проекта.

Графическая трассировка позволяет наглядно отслеживать изменения значений переменных во времени. Одновременно можно контролировать до 20 переменных и синхронизировать запуск трассировки с определенным событием.

Разработка главной программы на трёх языках программирования

1) Язык IL (Instruction list)

Язык IL (Instruction list) дословно – список инструкций. Каждая инструкция начинается с новой строки и содержит оператор и, в зависимости от типа операции, один и более операндов, разделенных запятыми.

Текст программы, визуализация:

разработка главной программы на трёх языках программирования - student2.ru

2) Язык релейно-контактных схем (LD)

Язык релейно-контактных схем – графический язык, реализующий структуры электрических цепей. Лучше всего LD подходит для построения логических переключателей, но достаточно легко можно создавать и сложные цепи - как в FBD. Кроме того, LD достаточно удобен для управления другими компонентами POU.

Диаграмма LD состоит из ряда цепей. Слева и справа схема ограничена вертикальными линиями - шинами питания. Между ними расположены цепи, образованные контактами и обмотками реле, по аналогии с обычными электронными цепями. Слева любая цепь начинается набором контактов, которые посылают слева направо состояние "ON" или "OFF", соответствующие логическим значениям ИСТИНА или ЛОЖЬ. Каждому контакту соответствует логическая переменная. Если переменная имеет значение ИСТИНА, то состояние передается через контакт. Иначе правое соединение получает значение выключено ("OFF").

Контакт

Контакты обозначаются двумя параллельными линиями и могут иметь состояния "ON" или "OFF". Эти состояния соответствуют значениям ИСТИНА или ЛОЖЬ. Каждому контакту соответствует логическая переменная. Если значение переменной ИСТИНА, то контакт замкнут.

Контакты могут быть соединены параллельно, тогда соединение передает состояние "ON", когда хотя бы одна из ветвей передает "ON". Если контакты соединены последовательно, то для того, чтобы соединение передало "ON", необходимо, чтобы оба контакта передавали "ON". Это соответствует электрической параллельной и последовательной схеме. Контакт может быть инвертируемым. Такой контакт обозначается с помощью символа |/| и передает состояние "ON", если значение переменной ЛОЖЬ.

Обмотка

В правой части схемы может находиться любое количество обмоток (реле), которые обозначаются круглыми скобками ().Они могут соединяться только параллельно. Обмотка передает значение соединения слева направо и копирует его в соответствующую логическую переменную.

В целом цепь может быть либо замкнутой (ON), либо разомкнутой (OFF). Это как раз и отражается на обмотке и соответственно на логической переменной обмотки (ИСТИНА/ЛОЖЬ).

Обмотки также могут быть инверсными. Если обмотка инверсная (обозначается символом (/)), тогда в соответствующую логическую переменную копируется инверсное значение.

Наши рекомендации