Примеры программ в кодесис

PDF-файл из архива «Руководство пользователя по программированию ПЛК в Codesys», который расположен в категории » «. Всё это находится в предмете «управление процессами и оборудованием омд (мт-6)» из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 3 страницы из PDF

Объявлять экземпляр функционального блока в теле функции нельзя. Экземпляры функционального блока доступны в том POU, в котором они объявлены, если они не объявлены глобально.Экземпляры функциональных блоков могут быть использованы в качестве входных переменных другихфункциональных блоков или функций.Замечания.

После выполнения функционального блока все его переменные сохраняются до следующего выполнения. Следовательно, функциональный блок, вызываемый с одними и теми же входными параметрами,может производить различные выходные значения.Если хотя бы одна переменная функционального блока объявлена как RETAIN, то все данные экземпляров целиком помещаются в энергонезависимый сегмент.Вызов функционального блокаДля обращения к входным и выходным переменным функционального блока извне необходимо указатьимя экземпляра функционального блока, следующей за ней точкой и именем переменной:<Имя экземпляра>.

Пример создания программы предпусковой сигнализации для ПЛК в CodeSys на языках LD и CFC

<Имя переменной >Присваивание параметров при вызове:В текстовых языках (IL, ST) задать актуальные параметры и считать значения выходов можно непосредственно при вызове экземпляра функционального блока. Для входных переменных применяетсяприсваивание «:=», выходы считываются при помощи «=>».

Этот процесс упрощается, если использовать ассистент ввода () с включенной опцией вставки с аргументами (With arguments).Пример:Допустим, FBINST — это локальная переменная типа функциональный блок, имеющий входную переменную xx и выходную переменную yy. При вставке FBINST в ST с помощью ассистента ввода получается следующая заготовка:FBINST1(xx:= , yy=> );Переменные вход-выход:Обратите внимание, что переменные вход-выход (VAR_IN_OUT) передаются в экземпляр функционального блока через указатели.

Поэтому таким переменным нельзя присваивать константы при вызове.Пример:VARinst: fubo;var: int;END_VARvar1 := 2;CoDeSys V2.32-4Что есть, что в CoDeSysinst(instout1 := var1^);не допустимые попытки присваивания констант:inst(instout1:=2); или inst.inout1:=2;Примеры вызова экземпляра вышеописанного функционального блока FUB:Результат умножения сохраняется в переменной ERG, а результат сравнения в переменной QUAD. Экземпляр функционального блока FUB называется INSTANZ.Вызов экземпляра функционального блока в IL:Тот же пример в ST (раздел объявлений такой же, как и в предыдущем примере):Тот же пример в FBD:CoDeSys V2.32-5Что есть, что в CoDeSysВ SFC экземпляры функциональных блоков могут вызываться только из действий шага.ПрограммаПрограмма – это POU, способный формировать произвольное значение во время вычислений.

Программирование ОВЕН ПЛК110. Часть 1. Создание первого проекта в CODESYS v2.3

Значениявсех переменных программы сохраняются между вызовами. В отличие от функционального блока экземпляров программы не существует.

Программа является глобальной во всем проекте.Пример программы:Нельзя вызывать программу из функции.Если вызвать программу, которая изменит значения своих переменных, то при следующем вызове еепеременные будут иметь те же значения, даже если она вызвана из другогоPOU.В этом заключается главное различие между программой и функциональным блоком, в котором изменяются только значения переменных данного экземпляра функционального блока.Объявление программы начинается ключевым словом PROGRAM и заканчивается ключевым словомEND_PROGRAM.Так же, как и для экземпляров функциональных блоков, в текстовых языках (IL, ST) задать актуальныепараметры и считать значения выходов можно непосредственно при вызове программы. Для входныхпеременных применяется присваивание «:=», выходы считываются при помощи «=>».Пример вызова программы:IL:CALCoDeSys V2.3PRGexample22-6Что есть, что в CoDeSysLDSTPRGexample2.out_varERGИли с присваиванием параметров:CAL PRGexample2(in_var:=33, out_var=>erg )ST:PRGexample2;Erg := PRGexample2.out_var;Или с присваиванием параметров:PRGexample2(in_var:=33, out_var=>erg );FBD:PLC_PRGПрограмма PLC_PRG – это специальный POU, который должен быть в каждом проекте.

Эта программавызывается один раз за цикл управления.При создании нового проекта автоматически открывается диалог «Project» «Object Add», предлагающий создать новый POU — программу с именем PLC_PRG.Не следует менять предложенные установки.Если определить последовательность выполнения задач в Task Configuration, то проект может не содержать PLC_PRG.Внимание: Нельзя удалять или переименовывать POU PLC_PRG(если Task Configuration не используется).PLC_PRG является главной программой в однозадачном проекте.ДействиеПрограммы или функциональные блоки могут быть дополнены действиями. Фактически действия — этодополнительный набор встроенных в POU подпрограмм.

Действия могут описываться на языке, отличном от того, на котором выполняется соответствующий функциональный блок или программа.Действие оперирует с теми же данными, что и функциональный блок или программа, к которой онопринадлежит.CoDeSys V2.32-7Что есть, что в CoDeSysПример действия функционального блока:В данном примере функциональный блок Counter увеличивает или уменьшает выходную переменную»out» в зависимости от значения входа «in». При вызове действия Reset выходная переменная принимаетзначение 0. Одна и та же переменная «out» используется в обоих случаях.Вызов действия:Действие вызывается с помощью идентификатора:. или ..Если нужно вызвать действие из POU, к которому оно принадлежит, то в текстовых языках используется имя действия, а в графических – функциональный блок без указания имени экземпляра.Пример вызова вышеописанного действия:PROGRAM PLC_PRGVARInst : Counter;END_VARIL:CAL Inst.Reset(In : = FALSE)LD Inst.outST ERGST:Inst.Reset(In := FALSE);Erg := Inst.out;FBD:Замечание Действия играют ключевую роль в SFC (подробнее смотри раздел SFC).Стандарт МЭК определяет только действия SFC шагов.

Применение действий в функциональных блоках и программах является расширением CoDeSys.CoDeSys V2.32-8Что есть, что в CoDeSysРесурсыРесурсы отвечают за конфигурацию проекта, включая:§§§§Глобальные переменные, используемые во всем проекте.Менеджер библиотек (Library manager) для подключения необходимых библиотек к проектуЖурнал записи действий во время исполненияКонфигуратор тревог (Alarm Configuration) для конфигурирования обработки тревог в проекте§ Конфигуратор ПЛК (PLC Configuration) для конфигурирования аппаратуры контроллера.§ Конфигуратор задач (Task Configuration) для управления задачами§ Менеджер рецептов (Watch and Receipt Manager) для просмотра и заказа наборов значенийпеременных§ Опции целевой системы (Target Settings)§ Рабочая область для отображения опций проектаВ зависимости от системы исполнения и ее опций могут подключаться дополнительные объекты:§§§§§Sampling Trace — для задания графической трассировки значений переменных.Parameter Manager — для взаимодействия с другими контроллерами в сетиPLC-Browser — монитор ПЛКTools – для вызова внешних, специфичных для каждой платформы инструментовSoftMotion – компоненты системы управления движением (в соответствии с лицензией), редакторы CNC и CAMБиблиотекиПроект может использовать несколько библиотек, в которые входят POU, необходимые им типы данных и глобальные переменные. Библиотечные POU можно использовать точно так же, как и определенные пользователем.Библиотеки «standard.lib» и «util.lib» обязательно входят в стандартный комплект поставки.(См. «Менеджер библиотек»)Типы данныхКроме стандартных типов данных, вы можете использовать определяемые пользователем типы данных.Ими могут быть структуры, перечисления и ссылки.(См. «Приложение Типы данных»)ВизуализацияС помощью визуализации пользователь может создать графическое представление проекта. Форма ицвет графических элементов будут изменяться при работе программы в зависимости от значений переменных.Визуализация может исполнятся в системе программирования, в отдельном приложении CoDeSys HMIили как Web или целевая (в ПЛК) визуализация. (См. раздел «CoDeSys Визуализация»)2.2 Языки программированияCoDeSys поддерживает следующие текстовые:••Instruction List (IL)Structured Text (ST)и графические МЭК языки:•CoDeSys V2.3Sequential Function Chart (SFC)2-9Что есть, что в CoDeSys••Function Block Diagram (FBD)Ladder Diagram (LD)Кроме того, CoDeSys включает поддержку, основанного на Функциональных Блоковых Диаграммах,редактора Continuous Function Chart (CFC).2.2.1 Список инструкций (IL)Язык IL (Instruction list) дословно – список инструкций. Каждая инструкция начинается с новой строкии содержит оператор и, в зависимости от типа операции, один и более операндов, разделенных запятыми.Перед операндом может находиться метка, заканчивающаяся двоеточием (:). Комментарий долженбыть последним элементом в строке. Между инструкциями могут находиться пустые строки.Пример:LDSTGEJMPCLDEQSTNnext:17lint(* комментарий*)5nextidwordistruct.sdwordtest2.2.2 Модификаторы и операторы ILВ IL можно использовать следующие операторы и модификаторы:Модификаторы:Сс JMP, CAL, RET:инструкция выполняется только тогда, когда результат аккумулятора ИСТИНА.Nс JMPC,CALC, RETC:инструкция выполняется тогда, когда результат аккумулятораЛОЖЬ.Nв других случаях:отрицание операнда.Ниже приведена таблица всех операторов IL с пояснениями и допустимыми модификаторами:ОператорLDМодификаторNЗначениеПрисвоение аккумулятору значения оператораSTNПрисвоение значения аккумулятора операндуSПрисвоить логическому операнду значение ИСТИНА, если значение аккумулятора ИСТИНАRПрисвоить логическому операнду значение ЛОЖЬANDN, (Побитное ИORN, (Побитное ИЛИXORN, (Побитное исключающее ИЛИADD(СложениеSUB(ВычитаниеMUL(УмножениеCoDeSys V2.32-10Что есть, что в CoDeSysDTV(ДелениеGT(>GE(>=QE(=NE(<>LE(<=LT(

Читайте также:
Класс технологий позволяющих компьютерным программам вызывать функции или процедуры в другом

Источник: studizba.com

ПРОГРАММНОГО КОМПЛЕКСА CoDeSys

В пособии рассмотрены вопросы использования программного комплекса CoDeSys. Приведены основные требования к содержанию лабораторной работы и отчета. Рассмотрены назначение, особенности программного комплекса CoDeSys, компоненты и языки программирования CoDeSys – Список Инструкций (IL), Диаграммы Функциональных блоков (FBD) и Релейно-контактные схемы (LD).

Приведен порядок выполнения проекта в программном комплексе CoDeSys. Даны контрольные вопросы и список рекомендуемой методической и справочной литературы. В приложении приведен пример.

СОДЕРЖАНИЕ

1 Цели и задачи лабораторной работы……………………. … 4

2 Содержание лабораторной работы и требования к содержанию отчета 4

3 Назначение и особенности программного комплекса CoDeSys……… 5

4 Языки программирования программного комплекса CoDeSys………. 7

4.1 Язык IL (Instruction list)………………………………………………. 7

4.2 Язык релейно-контактных схем (LD)…………………………………. 9

4.3 Язык функциональных блоковых диаграмм (FBD)………………….. 10

5 Порядок выполнения работы……………………………………………. 16

6 Контрольные вопросы……………………………………………. ….…. 18

Приложение А (обязательное) Варианты заданий………………………. 19

Приложение Б (рекомендуемое) Примеры программ CoDeSys………… 20

ВВЕДЕНИЕ

В данном пособии рассмотрены вопросы использования программного продукта CoDeSys для автоматизации технологических процессов. Приведены основные требования к содержанию лабораторной работы и отчета.

Рассмотрены назначение, особенности программного комплекса CoDeSys, компоненты и языки программирования CoDeSys – Список Инструкций (IL), Диаграммы Функциональных блоков (FBD) и Релейно-контактные схемы (LD). Приведен порядок выполнения работы в программном комплексе CoDeSys. Даны контрольные вопросы и список рекомендуемой методической и справочной литературы. В приложении А даны индивидуальные задания на лабораторную работу. В приложении Б приведены примеры программ и визуализации.

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

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

СОДЕРЖАНИЕ ЛАБОРАТОРНОЙ РАБОТЫ И

ТРЕБОВАНИЯ К СОДЕРЖАНИЮ ОТЧЕТА

В результате выполнения лабораторной работы должны быть разработаны:

— главная программа PLC_PRG на трех языках программирования (Список Инструкций (IL), Диаграммы Функциональных блоков (FBD) и Релейно-контактные схемы (LD));

— визуализация проекта для каждого языка программирования;

Отчет должен содержать следующие разделы:

— введение, в котором описывается решаемая задача, кратко описываются разделы лабораторной работы;

— разработка главной программы PLC_PRG на трех языках программирования (Список Инструкций (IL), Диаграммы Функциональных блоков (FBD) и Релейно-контактные схемы (LD));

— разработка визуализации проекта для каждого языка программирования;

— результаты вычислительного эксперимента

НАЗНАЧЕНИЕ И ОСОБЕННОСТИ

ПРОГРАММНОГО КОМПЛЕКСА CoDeSys

Программный комплекс 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 обладает рядом особенностей, выделяющих его среди конкурирующих систем:

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

3.1 Быстрое внедрение

CoDeSys имеет готовые решения для большинства широко распространенных платформ. Простота настройки не отражается на быстродействии прикладных проектов, компилятор и система исполнения тщательно отработаны. Все это позволяет подготовить контроллеры к выходу на рынок в минимальные сроки.

3.2 Эффективные средства ввода

Функции автоматического объявления и форматирования, адаптивный Ассистент ввода максимально упрощают работу. Все команды имеют возможность управления мышью и быстрого ввода с клавиатуры. Это делает работу программиста комфортной и эффективной.

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

Встроенный компилятор непосредственно генерирует быстрый машинный код. Это обеспечивает максимально высокую производительность прикладных проектов. Современные интеллектуальные технологии, включая «инкрементальный компилятор», позволяют обрабатывать проекты, содержащие тысячи переменных и сотни программных компонентов очень быстро. CoDeSys обеспечивает разработчика набором высокоэффективных инструментальных средств, включая полноценную эмуляцию ПЛК, отладку по шагам, точки останова, визуализацию объекта управления, трассировку значений переменных, «горячую» корректировку кода.

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

Читайте также:
Руль для компьютера программа для настройки

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

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

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

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

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

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

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

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

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

— Intel 80×86, 80386, 80486, Pentium и совместимые;

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

— Infineon (Siemens) 80C16x;

— 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 переменных и синхронизировать запуск трассировки с определенным событием.

Источник: megaobuchalka.ru

Языки программирования среды CoDeSys

Среда CoDeSys предоставляет пользователю шесть языков программирования для создания программ.

Язык IL — типичный ассемблер с аккумулятором и переходами по меткам. Язык IL позволяет работать с любыми типами данных, вызывать функции и функциональные блоки на любом другом языке среды CoDeSys.

Язык ST — язык высокого уровня, синтаксис которого похож на язык Паскаль.

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

Язык FBD — это графический язык программирования, основой которого являются блоки, имеющие определенное количество входов и выходов. Выходы блоков могут быть поданы на входы других блоков или непосредственно на выходы ПЛК. Каждый блок языка может выполнять различные функции. Упрощенной разновидностью языка FBD является язык CFC.

Язык SFC является высокоуровневым графическим языком. Программа на языке SFC представляет собой блок-схему из шагов и переходов с выраженной направленностью сверху вниз. Разрешение перехода осуществляется по заданному условию. С шагом связаны определенные действия. Описания действия может выполняться на любом из вышеперечисленных языков.

Создание программы на языке CFC

Для примера рассмотрим создание простейшей программы на языке CFC. После запуска среды CoDeSys в пункте главного меню «файл» выбирается подпункт «создать» (рис. 1.6).

Создание программы и выбор языка в CoDeSys

Рис. 1.6. Создание программы и выбор языка в CoDeSys

После выбора языка откроется окно среды программирования (рис. 1.7).

Главное окно среды CoDeSys:l - основное меню; 2 - панель инструментов; 3 - окно «Организатор объектов»; 4 - текстовый редактор среды; 5 -графический редактор среды; 6 - окно сообщений

Рис. 1.7. Главное окно среды CoDeSys:l — основное меню; 2 — панель инструментов; 3 — окно «Организатор объектов»; 4 — текстовый редактор среды; 5 -графический редактор среды; 6 — окно сообщений

Главное меню среды CoDeSys является стандартным для Windows-приложений. Содержимое панели инструментов, расположенной под пунктами основного меню, меняется в зависимости от выбранного языка программирования. Левее под панелью инструментов размещается подокно, которое называется «Организатор объектов». В верхней правой части находится текстовый редактор среды.

Под окном текстового редактора расположено рабочее поле графического редактора. Ниже графического редактора расположено окно сообщений.

С помощью кнопки «Вох» на панели инструментов выносится блок в рабочую область графического редактора. По умолчанию, это блок «AND» с двумя входами и одним выходом, выполняющий логическую операцию «И» (рис. 1.8).

AND I?

Рис. 1.8. Вид функционального блока «AND» в поле графического редактора

Для увеличения числа входов блока нужно щелкнуть правой клавишей мыши на изображении блока и в открывшемся меню выбрать подпункт «Input of Box».

Кроме блока «AND», можно воспользоваться другими блоками из библиотеки CoDeSys (табл. 1.2).

Название блока и его изображение в графическом редакторе среды CoDeSys

Краткое описание переменных и алгоритма работы блока

1. Фун блок с. менны

кциональн ножения п

Сложение переменных типов:

BYTE, WORD, DWORD, SINT, USINT, INT, UINT. DINT. UDINT, REAL и LREAL.

2. Функциональный блок вычитания переменных (SUB) (изображение блока аналогично блоку ADD)

Вычитание переменных типов:

BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL и LREAL.

3. Функциональный блок перемножения переменных (MUL) (изображение блока аналогично блоку ADD)

Перемножение значений переменных типов: BYTE. WORD, DWORD, SINT, USINT, INT. UINT, DINT, UDINT, REAL и LREAL.

4. Функциональный блок деления переменных (DIV) (изображение блока аналогично блоку ADD)

Деление значений переменных типов: BYTE, WORD, DWORD, SINT, USINT, INT, UINT. DINT. UDINT, REAL и LREAL.

5. Функциональный блок логической операции “ИЛИ” (OR) (изображение блока аналогично блоку ADD)

Побитное ИЛИ.

Операция применима к типам BOOL, BYTE, WORD или DWORD.

6. Функциональный блок логической операции “исключающее ИЛИ” (XOR) (изображение блока аналогично блоку ADD)

Побитное исключающее ИЛИ.

Операция применима к типам BOOL, BYTE, WORD или DWORD.

7. Функциональный блок логической операции “больше” (GT) (изображение блока аналогично блоку ADD)

Функциональный блок возвращает значение TRUE, если значение первого параметра больше второго.

Типы операндов: BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME и STRING.

8. Функциональный блок логической операции “меньше” (LT) (изображение блока аналогично блоку ADD)

Функциональный блок возвращает значение TRUE, если значение первого параметра меньше второго

Читайте также:
Основные принципы разработки производственной программы

Типы операндов аналогичны блоку GT

9. Функциональный блок логической операции “меньше или равно” (LE) (изображение блока аналогично блоку ADD)

Функциональный блок возвращает значение TRUE, если значение первого параметра меньше или равно второму.

Типы операндов аналогичны блоку GT

10. Функциональный блок логической операции “больше или равно” (GE) (изображение блока аналогично блоку ADD)

Функциональный блок возвращает значение TRUE, если значение первого параметра больше или равно второму.

Типы операндов аналогичны блоку GT

11. Функциональный блок логической операции “равно” (EQ) (изображение блока аналогично блоку ADD)

Функциональный блок возвращает значение TRUE, если значение первого параметра равно второму.

Типы операндов аналогичны блоку GT

12. Функциональный блок логической операции “ не равно” (NE) (изображение блока аналогично блоку ADD)

Функциональный блок возвращает значение TRUE, если значение первого параметра не равно второму.

Типы операндов аналогичны блоку GT

3. Переключатель с оминантой включения

При значениях переменных SET1 и RESET равное TRUE значение выхода Q1=TRUE. Изменение значения RESET при значении SET1=TRUE не меняет состояние выхода Q1.

4.Таймер (ТР)

Входы 1N и РТ типов BOOL и TIME соответственно. Выходы Q и ЕТ аналогично типов BOOL и TIME.

Пока IN равен FALSE, выход Q=FALSE, выход ЕТ = 0. При переходе IN в TRUE выход Q устанавливается в TRUE на время (в миллисекундах), заданное в РТ, то есть генерируется импульс длительностью РТ по фронту входа IN. В процессе работы блока значение переменной РТ уменьшается, а ЕТ — увеличивается.

Переменная РТ задается в формате T#BPEMHs

15. Таймер с задержкой включения (TON)

Типы переменных аналогичны блоку ТР.

Пока 1N равен FALSE, выход Q = FALSE, выход ЕТ = 0. Как только IN становится TRUE, начинается отсчет времени (в миллисекундах) на выходе ЕТ до значения, равного РТ. Q равен TRUE, когда IN равен TRUE и ЕТ равен РТ, иначе FALSE. То есть Q устанавливается с задержкой РТ от фронта входа IN.

Переменная РТ задается в формате Т#ВРЕМЯ8

6. Функциональный лок с задержкой вы-лючения (TOF)

Типы переменных аналогичны блоку ТР.

Если IN равен TRUE, то выход Q = TRUE и выход ЕТ = 0. Как только IN переходит в FALSE, начинается отсчет времени (в миллисекундах) на выходе ЕТ. При достижении заданной длительности отсчет останавливается. Выход Q равен FALSE, если IN равен FALSE и ЕТ равен РТ, иначе -TRUE. Таким образом, выход Q сбрасывается с задержкой РТ от спада входа IN.

Переменная РТ задается в формате T#BPEMfls

17. Функциональный блок “часы реального времени” (RTC) тгс -?

Входы EN и PDT, выходы Q и CDT типов BOOL и DATE_AND_TIME соответственно.

Пока EN равен FALSE, выход Q равен FALSE и CDT равен DT#1970-01-01-00-00:00:00. При включении EN =TRUE в часы загружается время PD и начинается отсчет времени. На выходе CDT. Если EN перейдет в FALSE, CDT сбросится в начальное значение DT# 1970-01-01-00-00:00:00.Установка времени PDT происходит по фронту._______________________________________

18. Функциональный блок “инкрементный счетчик” (CTU).

Входы CU, RESET и выход Q типа BOOL, вход PV и выход CV типа WORD.

По каждому фронту на входе CU (переход из FALSE в TRUE) выход CV увеличивается на 1. Выход Q устанавливается в TRUE, когда счетчик достигнет значения заданного PV. Счетчик CV сбрасывается в 0 по входу RESET = TRUE.

19. Функциональный блок “декрементный

Входы CD, LOAD и выход Q типа BOOL, вход PV и выход CV типа WORD.

По каждому фронту на входе CD (переход из FALSE в TRUE) выход CV уменьшается на 1. Когда счетчик достигнет 0, счет останавливается, выход Q переключается в TRUE. Счетчик CV загружается начальным значением, равным PV по входу LOAD = TRUE.______________________

20. Функциональный блок R-TRIG.

Выход Q равен FALSE до тех пор, пока вход CLK равен FALSE. Как только CLK получает значение TRUE, Q устанавливается в TRUE. При следующем вызове функционального блока выход сбрасывается в FALSE. Таким образом, блок выдает единичный импульс при каждом переходе CLK из FALSE в TRUE, то есть генерирует импульс по переднему фронту сигнала._____________________

блок F-TRIG

Выход Q равен FALSE до тех пор, пока вход CLK равен TRUE. Как только CLK получает значение FALSE, Q устанавливается в TRUE. При следующем вызове функционального блока выход сбрасывается в FALSE. Таким образом, блок выдает единичный импульс при каждом переходе CLK из TRUE в FALSE, то есть генерирует импульс по заднему фронту сигнала.

Для входа в библиотеку во вкладке «Recourses» окна «Организатор объектов» выбирается пункт «Library Manager» (рис. 1.9).

Библиотека стандартных блоков CoDeSys

Рис. 1.9. Библиотека стандартных блоков CoDeSys

Использование других функциональных блоков из библиотеки CoDeSys осуществляется при помощи кнопки «Вох» Блок выносится в поле графического редактора. Чтобы изменить имя нового блока нужно щелкнуть левой клавишей мыши по его имени и вписать требуемое.

К имеющемуся блоку «AND» при помощи кнопок «Input» и «Output» ’ в поле графического редактора добавляются блоки входов и выходов и затем соединяются при помощи левой клавиши мыши (рис. 1.10).

Подключение вводов и выходов к функциональному блоку «AND»

Рис. 1.10. Подключение вводов и выходов к функциональному блоку «AND»

Согласно полученной схеме выполняется логическая операция «И» над двумя переменными, значения которых поступают на блок AND, а результат операции присваивается третьей переменной (блок с номером 1).

Далее задаются имена и определяется тип переменных, поступающих на блок «AND». Для задания имени необходимо однократно щелкнуть левой клавишей мыши по блоку «Input» «» или «Output» ’ в поле графического редактора и с клавиатуры ввести имя переменной, нажать клавишу «Enter».

В результате чего откроется окно объявления переменной «Declare Variable» (рис. 1.11).

Задание типа и значения переменной

Рис. 1.11. Задание типа и значения переменной

При необходимости можно изменить имя переменной, ее тип, задать значение и дать комментарий в соответствующих полях. Входным переменным присваиваются имена а и Ь, а выходной переменной — с. Остальные атрибуты переменных остаются без изменения. В качестве типа переменной выбирается тип «BOOL» — логический. В результате задания имен переменных и 22

определения их типа автоматически изменяется и код программы (рис. 1.12).

PROGRAM PLC_PRGl VAR

Рис. 1.12. Объявление переменных в текстовом редакторе языка CFC

Готовый проект сохраняется по стандартной методике сохранения файлов.

Источник: ozlib.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru