Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Светофор на ПЛК – все языки МЭК 61131-3 / Хабр

В прошлой статье Светофор на ПЛК – 30 блоков программа для ПЛК светофора была написана только на FBD.
Новая программа использует все 5 языков стандарта МЭК 61131-3.

Первая секция на IL.
Это похожий на ассемблер язык.
В секции всего 2 строки:
LD — загрузка значения в аккумулятор
S — установка переменное в true, если в аккумуляторе true, иначе переменная не изменяется.

Генератор импульсов периодом 0,5 секунды написан на FBD, как и в предыдущей версии.

Основная секция написана на SFC. Как мне кажется, это самый сложный для применения язык в стандарте МЭК 61131-3.
Программа состоит из шагов и переходов.
При запуске программы выполняется шаг Init.
Следующий шаг выполняется, если усовие перехода за ним истинно. Шаг может быть выполнен с задержкой, время шага может быть ограничено.
На рисунке ниже только однин переход содержит условие. Остальные переходы выполняются всегда.
В конце цепочки выполняется безусловный переход на метку WaitPeople.

Каждый шаг выполняется с задержкой, соответсвующей требуемому времени пребывания светофора в заданном состоянии.

При выполнении каждого шага выполняется опеределенное действие. В моей программе задано выполнение секции на языке ST.

В проекте добавлена переменная uState, соответсвующая состоянию светофора.
Вот содержимое всех секций, выполнемых по шагам:

Секция на ST в зависимости от состояния uState записывает значение на булевские переменные, которые потом будут переписаны на выходы. Это можно было сделать в секциях stStep_1..stStep_8, но тогда бы вы не увидели оператора CASE и не поняли бы, что ST — самый близкий для программиста язык из стандарта МЭК 61131-3. Так же в этой секции введена защита от программных ошибок в виде мигающего желтого при неопределенном состоянии.

Язык LD близок к схемам релейной логики. Основа LD — контакты и катушки. На схеме видно, что слева расположен проводник, от которого «напряжение» (true) распростроняется направо по ответвлениям.
Нормально разомкнутый контакт (похож на конденсатор) замыкается, если привязанная к нему переменная истинна.
Нормально замкнутый контакт (похож на конденсатор со слэшем внутри) замыкается, если привязанная к нему переменная ложна.
Катушка (2 скобки) пропускает «напряжение» через себя и переписывает его значение (false или true) в привязанную к ней переменную.
В программе данная секция используется для того, чтобы переписать промежуточные переменные в переменные, привязанные к выходам, с защитой от программной ошибки. Зеленый свет загарается только если нет красного на данном светофоре и зеленого на другом светофоре.

Результат работы программы:

Применение всех 5 языков в одной программе не оправдано. Но в реальных проектах иногда приходится применять одновременно 2..3 языка. Чаще всего я использую ST, реже FBD, еще реже IL. SFC и LD в реальных проектах мне применять не приходилось.

UPD. Сделал исправление — убрал лишний ноль из названия стандарта по замечанию RouR

UPD2. Небольшое изменение в описании LD.

Использование языков МЭК 61131-3 для программирования логических контроллеров Текст научной статьи по специальности «Компьютерные и информационные науки»

СИМВОЛ НАУКИ ISSN 2410-700X № 1/2020

самопередвижение техники и образованию глубоких колей, что будет мешать технике.

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

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

Все другие методы увеличения производительности не дадут существенного результата, если не будут решены озвученные проблемы.

И еще один способ увеличения КПД, который ранее учитывался в недостаточной степени. Необходимо решить задачи по повышению комфортности место операторов лесозаготовительной техники. Согласно исследованиям работники зачастую не увеличивают скорость передвижения, хотя имеют такую возможность, из-за того, что такие действия приведут к его личному дискомфорту. Список использованной литературы:

1. Единые нормы выработки и расценки на лесозаготовительные работы нормативно-производственное издание. - М: Экономика, 1989)

2. Кочегаров, В.Г. Технология и машины лесосечных работ [Текст]: учеб. для вузов / Б.Г. Кочегаров, Ю.А. Бит, В.Н. Меньшиков, 1990.

3. Никишов, В.Д. Комплексное использование древесины [Текст]: учеб. для вузов / В.Д. Никишов. - М.: Лесная промышленность, 1985.

4. Матвейко А. П., «Технология и оборудование лесозаготовительного производства», 2006 г.

© Тимофеев И.С., 2020

УДК 004.431.2

Черкасов А.С.,

студент 2 курса магистратуры, Амурский государственный университет, Благовещенск

[email protected] ru

Научный руководитель: Семичевская Н.П., канд. техн. наук, доцент Амурский государственный университет, Благовещенск

[email protected]

ИСПОЛЬЗОВАНИЕ ЯЗЫКОВ МЭК 61131-3 ДЛЯ ПРОГРАММИРОВАНИЯ ЛОГИЧЕСКИХ КОНТРОЛЛЕРОВ

Аннотация

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

СИМВОЛ НАУКИ ISSN 2410-700X № 1/2020

Ключевые слова

Логический контроллер, МЭК Р 61131-3, Pascal, функциональные блоки.

Стандарт МЭК 61131-3 описывает 5 языков программирования, которые являются результатом изучения наиболее успешных фирменных разработок мировых лидеров на рынке ПЛК. Настоящий стандарт устанавливает синтаксис и семантику унифицированного набора языков программирования для программируемых контроллеров (PC). Данный набор состоит из двух текстовых языков программирования, списка инструкций (IL) и структурированного текста (ST), и двух графических языков, релейно-контактных схем (LD) и функциональных блоковых диаграмм (FBD). Дополнительный набор графических и эквивалентных текстовых элементов, именуемый последовательная функциональная схема (SFC), определяется для структурирования внутренней организации программ и функциональных блоков программируемого контроллера.

№исйоп List, список инструкций) - представляет собой текстовый язык программирования низкого уровня, который очень похож на ассемблер, но не привязан к конкретной архитектуре процессора. Он позволяет описывать функции, функциональные блоки и программы, а также шаги и переходы в языке SFC. Одним из ключевых преимуществ IL является его простота и возможность добиться оптимизированного кода для реализации критических секторов программ. Особенности IL делают его неудобным для описания сложных алгоритмов с большим количеством разветвлений.

Язык ST (Structured Text, структурированный текст) - это текстовый язык высокого уровня общего назначения, по синтаксису схожий с языком Pascal. Удобен для программ, включающих числовой анализ или сложные алгоритмы, и работы с аналоговыми сигналами и числами с плавающей точкой. Может использоваться в программах, в теле функции или функционального блока, а также для описания действия и перехода внутри элементов SFC. Широко используется в пакетах SСАDА/HMI/SоftLоgic.

LD (Ladder Diagram, рус. РКС) - графический язык, основанный на принципах релейно-контактных схем (элементами релейно-контактной логики являются: контакты, обмотки реле, вертикальные и горизонтальные перемычки и др.) с возможностью использования большого количества различных функциональных блоков. Достоинствами языка LD являются: представление программы в виде электрического потока (близкого специалистам по электротехнике), наличие простых правил, использование только булевых выражений.

Применяются также названия, как язык релейно-контактной логики, релейные диаграммы, релейно-контактные схемы (РКС).

LD отлично подходит для реализации комбинационных логических схем и конечных автоматов. Благодаря возможности включения функций и функциональных блоков в LD, выполненных на других языках, имеет практически не ограниченную сферу применения. n В1оск Diagram, диаграмма функциональных блоков) - еще один графический язык программирования, созданный для описания процессов прохождения сигналов и обеспечивающий управление потоками данных всех типов.

Язык FBD похож на электрические схемы, поэтому удобен для не имеющих опыта логического программирования инженеров-схемотехников, которые могут с легкостью составить электрическую схему системы управления на базе «жесткой логики». FBD подходит для управления непрерывными процессами и процессами регулирования.

При программировании на данном языке применяются наборы стандартных библиотек, а так же могут быть использованы собственные функциональные блоки, написанные на языке FBD, на других языках стандарта МЭК 61131-3 или же на языке С. Подобные блоки могут быть многократно использованы в разных частях программы. FBD заимствует символику булевой алгебры.

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

Язык функциональных блок-схем идеально подходит для создания простых пользовательских

СИМВОЛ НАУКИ ISSN 2410-700X № 1/2020

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

Также при создании программы на языке FBD требуется предварительная проработка программы в виде четкого прописывания алгоритма работы перед тем, как начать писать код, так как потом будет достаточно сложно внести изменения

Рисунок 1 - Пример фрагмента программы на FBD в среде OWEN Logic

Язык SFС (Sequentiаl Funсtiоn ^ай) - расшифровывается как «Последовательность функциональных диаграмм», и является одним из языков стандарта МЭК 61131-3. SFC позволяет легко описывать последовательность протекания процессов в системе.

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

Рисунок 2 - Пример фрагмента программы на SFС в среде СОDESYS

Описать операцию можно не только с помощью SFC, но и с помощью ST и Ш. Как только шаг выполнен, то идет действие по передачи управления следующему шагу. Переход между шагами может быть двух видов. Если на шаге выполнено какое - то условие и дальнейшим действием является переход на следующий шаг, значит - это условный переход. В случае же, если происходит полное выполнение всех условий на данном шаге и только потом осуществляется переход на следующий шаг, то-это безусловный переход. n List), ST (Strud:ured Text), LD (Ladder Diagram), FBD (Fundim ВЬск Diagram), SFС (Sequential Fundim СИах!)

Siemens Simаtiс FBD, LD, STL(Statement List), ST, GRAPH 7, HiGraph 7, SFС

GE Еапис Ргойсу МасЫпе Edition (МЕ) QMPLrciTY МасЫпе Editrnn FBD, IL, LD

Таким образом, мы видим, что для написания программ для большинства наиболее часто используемых в промышленности логических контроллеров используются языки, регламентируемые стандартом МЭК 61131-3, а именно LD, FBD, ST, IL, SFC. Даже столь краткое представление МЭК языков показывает очевидную сложность полноценной реализации инструмента программирования, поддерживающего все пять языков ПЛК. Обычно небольшие фирмы-изготовители ПЛК реализуют несколько или один единственный язык. Во многом приоритет использования того или иного языка программирования зависит от исторически сложившихся традиций в отрасли или сферы применения. Список использованной литературы

1. Максимычев, О.И. Программирование логических контроллеров (PLC): учеб. пособие / О.И. Максимычев, А.В. Либенко, В.А. Виноградов. - М.: МАДИ, 2016. - 188 с.

2. Минаев И. Г. и др. Программируемые логические контроллеры в автоматизированных системах управления / И. Г. Минаев, В. М. Шарапов, В. В. Самойленко, Д. Г. Ушкур. 2-е изд., перераб. и доп. -Ставрополь: АГРУС, 2010. - 128 с. ISBN 978-5-9596-0670-1

3. ГОСТ Р МЭК 61131-3-2016 Контроллеры программируемые. Часть 3. Языки программирования

© Черкасов А.С., 2020

УДК 004.432

Р. И. Шакиров,

студент ГУМРФ, г. Санкт-Петербург, РФ, E-mail: [email protected] com А. С. Татаурова, студентка ГУМРФ, г. Санкт-Петербург, РФ, E-mail: [email protected] .com

АВТОМАТИЗАЦИЯ УЧЕБНОГО РАСПИСАНИЯ ЧЕРЕЗ TELEGRAM-BOT

Аннотация

Статья посвящена разработке бота Telegram, который решает проблему доступности расписания в образовательном учреждении. Проект был реализован с использованием Python и Heroku. В результате мы получали простой и в то же время полезный Telegram-bot.

Ключевые слова Telegram-bot, telegram, Python, Heroku, университет, расписание.

Программирование ПЛК на языках стандарта IEC 61131-3

АктуальностьПриостановлено
Стоимость15000 руб
Продолжительность40 часов
Группаот 8 до 10 человек
Начало занятийПо мере формирования группы