Читаем Табличный ПЛК.Табличное программирование контроллеров полностью

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

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

В таблице, представленной на рис. 24, отображено состояние шлагбаума после нажатия кнопки «Открыть». В этот момент команда «вверх» запустит двигатель стрелы шлагбаума на пониженной скорости. На ограничение скорости будет влиять ноль в строке 13 от сработавшего нижнего предварительного выключателя. После прохождения нижнего предварительного выключателя значение в строке 13 станет равным единице, активная ячейка в этой строке тоже станет равной единице. Следовательно, логическое И по пятому столбцу и выходная переменная «2-я скорость» также будут равны единице. Стрела шлагбаума начнет двигаться с повышенной скоростью до верхнего предварительного выключателя. Далее, при срабатывании верхнего предварительного выключателя, произойдет замедление.

Из таблицы видно, что на отключение высокой скорости влияют три активные ячейки в пятом столбце. Состояние одной из них, в строке 10, зависит от кнопки «Шунт». Сделано это для того, чтобы при необходимости обойти концевые выключатели движение стрелы происходило на пониженной скорости.

2.8. Итог

Используя как пример задачу управления шлагбаумом, мы построили табличную программу, в которой реализовали алгоритм управления реальным объектом. Простой алгоритм занимал всего 7 строк. С дополнительными функциями контроля времени исполнения операций программа занимает 23 строки, из которых 6 — это заголовки, не имеющие ни данных, ни логических операций. При этом таблица не потеряла своей наглядности. В ней ясно отображаются значения входных и выходных переменных, внутренние цепи формирования сигналов. Видна работа таймеров. Просто и понятно производится предварительная обработка входных значений. При необходимости выходные значения могут быть инвертированы. Но это не все положительные качества табличного программирования контроллеров. Мы имеем не просто таблицу, а практически комплект документации. Распечатка программы умещается на один лист инструкции по эксплуатации и даже может быть напечатана на корпусе устройства. В случае потери файла с программой управления табличного контроллера ее можно ввести с клавиатуры за короткое время. Назначение входов и выходов нетрудно определить из таблицы. В случае отсутствия в системе монитора работу программы можно наблюдать на любом компьютере или смартфоне. Специалист, знакомый с табличным программированием, может определить неисправность дистанционно, по фотографии таблицы, причем не имея инструкции по эксплуатации или других документов. Программы в таблице может быть достаточно для подключения сигнальных проводов к контроллеру, так как номера контактов находятся в столбце «Адрес», а назначения входов и выходов — в столбце «Комментарий». Использование табличного программирования контроллеров не только упростит поиск неисправностей, но также снизит оговоренные ранее риски, связанные с эксплуатацией систем с закрытым программным кодом или требующих использования компьютера с установленной на нем средой разработки.

3. Табличное программирование. Особенности

3.1. Формат файла программы

Одно из требований, предъявляемых к формату файла табличной программы, — это возможность просмотра содержимого в любом текстовом редакторе. Поэтому для сохранения таблицы был выбран текстовый файл, в котором строки, содержащие данные таблицы, состоят из полей, отделяющихся друг от друга знаком табуляции (рис. 25). Конечно, в таком виде таблицу редактировать неудобно, поэтому текстовый формат рассматривался только как самый простой способ сохранения содержимого таблицы.


Рис. 25. Формат текстового файла табличной программы:

\t — символ табуляции, \r — символ перевода каретки, \n — символ перевода строки


Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
C++
C++

С++ – это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Ключевым понятием С++ является класс. Класс – это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline-подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В С++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. С++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из С++ программ можно использовать C библиотеки, и с С++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C. Эта книга предназначена главным образом для того, чтобы помочь серьезным программистам изучить язык и применять его в нетривиальных проектах. В ней дано полное описание С++, много примеров и еще больше фрагментов программ.

Бьёрн Страуструп , Бьярн Страустрап , Мюррей Хилл

Программирование, программы, базы данных / Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT