Язык лестничной диаграммы LD
Достоинства языка LD - графического языка, основанного на принципах релейно-контактных схем с возможностью использования большого количества функциональных блоков. Контакт для определения положительных переходов. Использование блоков FFB в языке LD.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 09.10.2020 |
Размер файла | 318,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Язык лестничной диаграммы LD
Язык LD (Ladder Diagram) - графический язык, основанный на принципах релейно-контактных схем (элементами релейно-контактной логики являются: контакты, обмотки реле, вертикальные и горизонтальные перемычки и др.) с возможностью использования большого количества различных функциональных блоков. Язык релейных схем существует со времен Т. Эдисона и адаптирован к ПЛК в начале 70-х годов прошлого века. Символика этого языка была заимствована из проектирования в области электротехники.
Достоинствами языка LD являются: представление программы в виде электрического потока (близок специалистам по электротехнике), наличие простых правил, использование только булевых выражений. Он имеет большой круг пользователей, рационален для ручной оптимизации специфических критических мест кода.
Структура LD-секции соответствует ступеням для действий переключателей реле.
Объекты языка программирования LD обеспечивают средства для структурирования организационной единицы ПЛК (секции) в некоторое количество контактов, катушек и FFB. Эти объекты взаимосвязаны через фактические параметры или связи.
Порядок обработки индивидуальных объектов в LD-секции определяется потоком данных внутри секции. Ступени, подключенные к левой шине питания, обрабатываются сверху вниз (соединение к левой шине питания). Ступени внутри секции, которые не зависят друг от друга, обрабатываются в порядке размещения.
Теоретически каждая секция может содержать любое число объектов, которые означают любое число входов и выходов. Однако желательно подразделить всю программу на ряд логических модулей, т. е. на различные секции.
На рисунке 7.1 приведен общий вид секции в редакторе LD.
Рисунок 7.1 - Изображение секции LD
Элементы языка LD
Контакты. Контактом является LD-элемент, который передает состояние горизонтальной связи с левой стороны контакта горизонтальной связи на правой стороне. Это состояние - результат булевой AND-операции состояния горизонтальной связи с левой стороны с состоянием ассоциированной переменной или прямого адреса. Контакт не изменяет значение связанной переменной или прямого адреса.
Для нормально разомкнутых контактов (рисунок 7.2) состояние левой связи передается в правую связь, если состояние связанного логического фактического параметра ON. Иначе, состояние правой связи OFF.
Рисунок 7.2 - Нормально разомкнутый контакт
Для нормально замкнутых контактов (рисунок 7.3) состояние левой связи передается в правую связь, если состояние связанного логического фактического параметра OFF. Иначе, состояние правой связи ON.
Рисунок 7.3 - Нормально замкнутый контакт
В контактах для определения положительных переходов (рисунок 7.4) правая связь устанавливается в состояние ON, если переход связанного фактического параметра происходит из OFF в ON, и в то же время состояние левой связи ON. Иначе, состояние правой связи OFF.
Рисунок 7.4 - Контакт для определения положительных переходов
В контактах для определения отрицательных переходов (рисунок 7.5) правая связь устанавливается в состояние ON, если переход связанного фактического параметра происходит из ON в OFF, и состояние левой связи ON в то же время. Иначе, состояние правой связи OFF.
Рисунок 7.5 - Контакт для определения отрицательных переходов
Катушки. Катушка является LD-элементом, который передает состояние горизонтальной связи на левой стороне неизменяемым горизонтальной связи на правой стороне. В этом процессе состояние связанной переменной или прямого адреса будет сохранено.
В катушках (рисунок 7.6) состояние левой связи передается в связанный логический фактический параметр и в правую связь.
Катушки обычно следуют за контактами или блоками EFB, но они могут также сопровождаться контактами.
Рисунок 7.6 - Катушка
В инвертирующей катушке (рисунок 7.7) состояние левой связи копируется в правую связь. Инвертированное состояние левой связи копируется в связанный логический фактический параметр. Если связь находится в состоянии OFF, тогда правая связь тоже будет находиться в состоянии OFF и связанный логический фактический параметр будет находиться в состоянии ON.
Рисунок 7.7 - Инвертирующая катушка
В катушке установки (рисунок 7.8) состояние левой связи копируется в правую связь. Связанный логический фактический параметр устанавливается в состояние ON, если левая связь имеет состояние ON, иначе он не изменяется. Связанный логический фактический параметр может сбрасываться только катушкой сброса.
Рисунок 7.8 - Катушка установки
В катушке сброса (рисунок 7.9) состояние левой связи копируется в правую связь. Связанный логический фактический параметр устанавливается в состояние OFF, если левая связь имеет состояние ON, иначе он не изменяется. Связанный логический фактический параметр может устанавливаться только катушкой установки.
Рисунок 7.9 - Катушка сброса
В катушке для определения положительных переходов (рисунок 7.10) состояние левой связи копируется в правую связь. Связанный фактический параметр типа данных BOOL будет установлен в состояние ON для цикла программы, если произошел переход левой связи из OFF в ON.
Рисунок 7.10 - Катушка обнаружения передних фронтов
В катушке для определения отрицательных переходов (рисунок 7.11) состояние левой связи копируется в правую связь. Связанный фактический параметр типа данных BOOL будет установлен в состояние ON для цикла программы, если произошел переход левой связи из ON в OFF.
Рисунок 7.11 - Катушка обнаружения задних фронтов
В катушке остановки при состоянии левой связи ON выполнение программы немедленно останавливается. В катушках остановки статус левой связи не копируется в правую связь.
Рисунок 7.12 - Катушка остановки
В катушках вызова подпрограмм статус левой связи копируется в правую связь. Если статус левой связи ON, тогда вызывается соответствующая подпрограмма, указанная как фактический параметр. Вызываемая подпрограмма должна располагаться в той же задаче, что и вызывающая секция LD. Подпрограммы могут также вызываться из подпрограмм.
Рисунок 7.13 - Катушка вызова подпрограмм
Использование блоков FFB в языке LD
язык диаграмма лестничный блок
FFB будут редактироваться, только если, по крайней мере, один булев вход соединен с левой шиной питания. Если FFB не имеет булева входа, должен использоваться EN вход FFB. Если FFB должен быть выполнен по условию, булев вход может быть предварительно соединен через контакты или другие FFB.
Каждый FFB без булевой связи с левой шиной питания вызовет сообщение об ошибках при загрузке в ПЛК. На рисунке 7.12 приведен пример использования FFB в языке LD.
Рисунок 7.14 - Использование блоков FFB в редакторе LD
Если при вызове FFB значение EN равно ”0”, алгоритмы, определенные FFB не будут выполняться. В этом случае, значение ENO автоматически устанавливается в ”0”.
Если при вызове FFB значение EN равно ”1”, алгоритмы, определенные FFB, будут выполнены. После того, как эти алгоритмы выполнились без ошибки, значение ENO автоматически устанавливается в ”1”. Если происходит ошибка во время выполнения этих алгоритмов, ENO будет установлен в ”0”.
Поведение выхода FFB не зависит от FFB, вызываемого без EN/ENO или с EN=1.
Фактические параметры. Когда программа выполняется, через фактические параметры пересылаются значения из процесса или от других фактических параметров до контакта или на вход FFB. После обработки эти значения перемещаются к фактическим параметрам катушек и выходов FFB. В контактах и катушках фактические параметры могут быть логическими адресами, локализованными (размещенными) переменными или нелокализованными (неразмещенными) переменными, ST выражениями, логическими константами. На входах/выходах FFB фактические параметры могут быть прямыми адресами, размещенными переменными, неразмещенными переменными, ST выражениями, константами или литералами.
Для контактов и катушек типом данных фактического параметра должен быть тип данных BOOL. На входах/выходах FFB типы данных фактических параметров должны соответствовать типу данных ввода/вывода. Единственным исключением являются обобщенные входы/выходы FFB, где тип данных определяется формальным параметром.
Управляющие элементы.
Как и редакторе FBD редактор LD использует управляющие переменные, ввод которых осуществляется с панели инструментов.
Блоки действия и сравнения
Данные блоки используются только в редакторе LD. Существуют два блока, вставка которых в проект осуществляется с панели инструментов.
Блок действия выполняет ST инструкцию, записанную в блок, при состоянии левой связи ON. Состояние левой связи передается в правую связь. Разрешены к использованию все ST инструкции, за исключением управляющих: RETURN, JUMP, IF, CASE, FOR и т.д. Блок может содержать до 4096 символов
Рисунок 7.15 - Блок действия
Блок сравнения используется для выполнения выражения сравнения (<, >, <>, <=, >=, =) в языке программирования ST. При состоянии левой связи ON и результат сравнения TRUE значение правой связи передается ON. Как и блок действия. Блок сравнения может содержать до 4096 символов.
Рисунок 7.16 - Блок сравнения
Связь. Связями являются соединения между контактами, катушками и блоками FFB. Несколько связей могут быть соединены с контактом, катушкой или выходом FFB. Пункты любого такого соединения отмечаются жирной точкой.
Типы данных соединенных входов/выходов должны совпадать.
Связи могут быть отредактированы в режиме Select.
При размещении контактов и катушек горизонтальные связи автоматически связываются со смежными, несвязанными контактами или катушками, если контакты или катушки и входы/выходы FFB находятся на той же самой вертикали. Связь с шиной питания будет установлена, только если контакт помещен поблизости. Если катушка или контакт помещены на уже существующую горизонтальную связь, она будет автоматически разорвана, и контакт или катушка вставлены. При размещении фактических параметров они могут накладываться на другой объект, но не нарушать рамки фрейма секции. Если соединение с другим объектом установлено через одну связь, эта связь будет проверена. Если соединение не разрешено, то появляется сообщение и связь не будет сгенерирована.
Связи не могут использоваться для конфигурации контуров, потому что невозможно однозначно определите порядок обработки в секции. Контуры должны быть созданы с помощью фактических параметров.
Горизонтальные связи автоматически устанавливаются после размещения.
Частным случаем связи является вертикальная связь. Вертикальная связь используется как логическое ИЛИ. Эта форма связывания по ИЛИ позволяет связать 32 входа (контакта) и 64 выхода (катушек, связей).
Последовательность выполнения элементов в секции LD имеет аналогичную структуру, описанную для FBD редактора. Секции выполняются сеть за сетью, основываясь на связях объектов сверху вниз. Сигнальный поток в пределах сети выполняется для горизонтальных связей слева направо, для вертикальных - сверху вниз.
Пример 7.1. Решить задачу примера 6.1 на языке LD. Решение на языке LD представлено на рисунке 7.17, на рисунке 7.18 представлено окно редактора переменных.
Рисунок 7.17 - Решение на языке LD
Рисунок 7.18 - Окно редактора переменных
Размещено на Allbest.ru
...Подобные документы
История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.
курсовая работа [795,9 K], добавлен 14.12.2012Использование в операционной системе UNIX языка программирования СИ. Требования к квалификации программиста. Механизм ветвления по условиям, циклы, составные инструкции. Особенности языка СИ. Доступ к памяти компьютера через использование указателей.
презентация [108,6 K], добавлен 22.05.2015Общие данные об основных операторах языка SQL. Интерактивный режим работы. Использование языка SQL для выбора информации из таблиц, для вставки, редактирования и удаления данных в них. Связь между операциями реляционной алгебры и операторами языка SQL.
реферат [146,5 K], добавлен 06.02.2015Идентификаторы, объекты и операции языка VHDL. Последовательные и параллельные операторы. Описание интерфейса устройства. Синтез схем по описаниям на языке VHDL. Последовательность букв и цифр произвольной длины. Цифровое устройство и его модель.
курсовая работа [132,5 K], добавлен 28.06.2009Изучение устройства и механизма процессов в компиляторах и интерпретаторах. Понятие трансляции как процедуры перевода программного кода с языка Паскаль на язык С++. Описание интерфейса программы и автоматизация процесса построения диаграммы классов.
курсовая работа [536,2 K], добавлен 03.07.2011Характеристика и правила организации баз данных - совокупности взаимосвязанных данных, характеризующихся возможностью использования для большого количества приложений; возможностью быстрого получения и модификации необходимой информации. Выбор СУБД.
реферат [1,4 M], добавлен 27.10.2010Методика разработки и частичная реализация транслятора для языка "С" с использованием языка "С++", производящего разбиение на минимальные неделимые конструкции языка исходной цепочки символов основываясь на лексике языка. Анализ работы программы.
курсовая работа [841,3 K], добавлен 19.03.2012Особенности объектно-ориентированного проектирования. Основные понятия объектно-ориентированного подхода. Основы языка UML, варианты его использования. Диаграммы классов и взаимодействия. Разработка диаграммы прецедентов (вариантов использования).
курсовая работа [1,1 M], добавлен 13.05.2014Автоматизация поддержания необходимой температуры в помещениях. Выбор среды разработки. Характеристики блоков, используемых в программе. Алгоритм технологического процесса. Последовательность реализации программы, расположение в ней функциональных блоков.
курсовая работа [176,5 K], добавлен 07.01.2015Применение информационных технологий в конкретной практической деятельности по выбранной специальности. Использование языка программирования Pascal в инженерной практике как универсального алгоритмического языка. Программа решения задачи на языке Pascal.
курсовая работа [1,3 M], добавлен 25.07.2012Описание синтаксиса и семантики входного языка. Описание типов лексем, определение их синтаксиса. Построение диаграммы лексического анализатора, а также его таблицы, тестирование. Построение КС-грамматики входного языка. Описание промежуточного языка.
курсовая работа [83,0 K], добавлен 23.01.2014Исследование возможностей и областей использования языка программирования JavaScript. Сравнительный анализ языков программирования JavaScript и PHP. Разработка интерактивного Web-приложения на примере теста по теме "Программирование на языке Delphi".
практическая работа [26,0 K], добавлен 04.02.2015Обратная трассировка лучей: ограничения при реализации, достоинства и недостатки. Математические и физические предпосылки алгоритма, блок-схема. Выбор языка программирования. Зависимость времени генерации от глубины рекурсии, количества источников.
курсовая работа [503,0 K], добавлен 27.05.2013Общее описание и характеристики языка программирования (Ф-язык). Конструкции и элементы данного языка, порядок их взаимосвязи, разновидности и главные функции. Микрооперации Ф-языка, их назначение и особенности реализации. Графические схемы алгоритма.
контрольная работа [67,5 K], добавлен 13.09.2008Стандартизированный процедурный язык программирования. Создание системного программного обеспечения и прикладных программ. Особенности языка Си, его основные недостатки. Передача параметров в функцию по значению. Стандартная библиотека языка Си.
презентация [396,3 K], добавлен 12.11.2012История происхождения языков Веб-программирования. Исторические факты появления самого первого из них. Сущность современного, актуального в настоящее время, языка HTML, история появления языка PHP, применение языка JavaScript и его использование.
реферат [23,1 K], добавлен 23.02.2013Изучение и анализ функциональных возможностей СУБД. Структура языка реляционных БД SQL (Structured Query Language). Типы данных SQL. Операторы DDL - операторы определения объектов базы данных. Примеры использования операторов манипулирования данными.
курсовая работа [39,6 K], добавлен 21.07.2012Лингвистическая концепция языка Паскаль. Интегрированная инструментальная оболочка. Основы построения программ на ТП 7.0. Алфавит языка и специфика использования символов. Простые типы данных: константы и переменные. Циклические конструкции и операции.
курсовая работа [284,6 K], добавлен 02.07.2011Выбор метода проектирования транслятора с языка Паскаль на язык Си, разработка и кодирование алгоритма программы. Использование допустимых операторов в исходном тексте, определение типов переменных и синтаксиса логических и арифметических выражений.
курсовая работа [1,0 M], добавлен 03.07.2011Язык структурированных запросов SQL (Structured Query Language) и его место в сфере доступа к информации в реляционных базах данных. Структура и основные типы данных языка. Синтаксис и семантика главных операторов SQL, последние стандарты языка.
реферат [98,7 K], добавлен 29.03.2012