Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Средства программирования ПЛКСодержание книги Поиск на нашем сайте
В большинстве ПЛК для написания управляющей программы (программы пользователя) используются специальные языки программирования. Эти языки описываются в стандарте Международной электротехнической комиссии, МЭК 61131 или IEC 61131-3. В этом стандарте описано пять языков: • 1) Список инструкций (Instruction List, IL) — текстовый язык, команды похожи на команды языка ассемблер. Поскольку данный язык низкоуровневый, на данный момент он редко применяется и в данной книге рассматриваться не будет; • 2) Релейные диаграммы (Ladder Diagram, LD), или релейно-контактные схемы — графический язык программирования, представляющий собой программную интерпретацию релейно-контактных схем. В различной литературе данный язык может иметь другое название — релейная лестничная логика (Relay Ladder Logic, RLL); • 3) Функциональные блоковые диаграммы (Function Block Diagram, FBD) — графический язык, каждый функциональный блок (ФБ) которого приставляет собой некую подпрограмму и имеет выходы и входы, программа создается последовательным соединением ФБ в строках; • 4) Последовательные функциональные диаграммы (Sequential Function Chart, SFC) — графический язык программирования высокого уровня. Программа состоит из некоторого количества состояний и условий перехода между ними; • 5) Структурированный текст (Structured Text, ST) — текстовый язык, очень похожий на классический язык программирования Pascal. В ПЛК могут применяться и другие языки программирования, например C/C++, ассемблер, С#, Visual Basic и т.д. Их использование встречается не так часто и каждый раз сильно связано с аппаратной базой конкретного ПЛК, поэтому в рамках данной книги они рассматриваться не будут. Некоторые ПЛК поддерживают несколько языков программирования, но, как правило, есть основной язык и поддерживаемые частично. Например, ПЛК Omron CP1L позволяет писать функциональные блоки для своей программы на языках LD и ST, но основная программа пишется только на LD. Другой пример: ПЛК Motorola серий как MOSCAD, так и АСЕ3600 позволяют описывать функции для своей программы на языке С, но основная программа также пишется только на LD. В графических языках программирования программа строится из набора готовых компонент. При этом для разных контроллеров набор может быть разным, несмотря на то, что сам язык будет одним и тем же. Общие функции проверки условий и стандартные инструкции для всех одинаковы, но наличие или отсутствие специфических инструкций определяют уже возможности конкретного ПЛК. Например, если ПЛК может оперировать только с целыми числами, набор его математических функций будет гораздо меньше, чем у ПЛК, оперирующего числами с плавающей точкой. Кроме того, некоторые инструкции могут быть напрямую связаны с ОС или аппаратной реализацией ПЛК — соответственно они уникальны для конкретной модели ПЛК. Аналогично и текстовые языки программирования имеют общие функции и функции, уникальные для конкретной модели ПЛК. Необходимо также отметить, что управляющая программа или программа пользователя в ПЛК выполняется циклически, т.е. с точки зрения программиста, дойдя до конца программы, ПЛК запускает ее заново. Это не совсем так, поскольку между завершением программы и повторным ее запуском контроллер выполняет некоторое количество функций, связанных с внутренними задачами ПЛК. Таким образом, ПЛК циклически выполняет некоторый набор операций, одна из которых — выполнение управляющей программы. Состав этого набор операций зависит от сложности ПЛК, в простейшем случае он включает опрос входов, выполнение управляющей программы, установку выходов и выполнение самодиагностики. Рассмотрим некоторые из языков программирования ПЛК. Релейные диаграммы Языки этого типа называются также: · язык релейно-контактной логики, · релейные диаграммы, · релейно-контактные схемы (РКС), · язык программирования релейно-лестничной логики стандарта МЭК 61131-3. Программа в таком языке собирается из набора компонент, делящихся на условия и инструкции, в некоторых ПЛК также возможно написание своих исполняемых функций. Условия подсоединяются к общей «питающей» линии (power rail) в необходимом порядке последовательно или параллельно. Последовательное соединение условий объединяет их логически по И, параллельное — по ИЛИ. Далее к конструкции условий подсоединяются инструкции, которые необходимо выполнить при выполнении конструкции условий. Допускается безусловное исполнение инструкций, но не у всех ПЛК. В некоторых ПЛК безусловные инструкции допускаются только в начале программы, это зависит от реализации интерпретатора/компилятора языка LD для данного ПЛК. В итоге строки программы выглядит как ответвления от «питающей» линии (рис.6).
Рис.6. Программа на языке релейных диаграмм
|
||||
|
Последнее изменение этой страницы: 2021-11-27; просмотров: 105; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.230 (0.006 с.) |