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

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

При необходимости контролировать пороговые значения температуры наиболее простым способом будет использование дискретных датчиков, настроенных на определенную температуру. В отличие от тепловых реле с биметаллической пластиной и гистерезисом в 7 °C и более, датчики температуры имеют гистерезис около 1 °C. Для их подключения используются обычные дискретные входы контроллера. Чтобы однозначно зафиксировать превышение порогового значения, можно добавить таймер с задержкой на включение. Если датчик будет находиться во включенном состоянии больше установленного времени, то результат запишется в активные ячейки.

Пример программы, включающей вентилятор охлаждения при срабатывании дискретного температурного датчика, показан в таблице «а» на рис. 60. В момент срабатывания датчика температуры начинается отсчет времени таймеров TON в строке 2 и TOF в строке 3. Если датчик температуры остается включенным больше 5 секунд, то включается вентилятор охлаждения. Если работающий в течение 20 секунд вентилятор не смог понизить температуру, то выходной сигнал «разрешение работы» переходит в ноль. Для того чтобы вентилятор не выключался сразу же после отключения датчика температуры, а продолжал работать еще некоторое время, можно использовать триггерные ячейки. Такой вариант программы показан в таблице «б» на рис. 60. В этом случае управление вентилятором осуществляется ячейками «S» и «R». При срабатывании датчика температуры, как и в предыдущем случае, начинается отсчет времени таймеров. Через 5 секунд при включенном датчике активная триггерная ячейка «S» в строке 2 запускает вентилятор охлаждения. Если в предыдущем случае при выключении реле температуры вентилятор отключался сразу, то здесь после отключения реле вентилятор будет работать еще 15 секунд. Такая задержка будет сформирована таймером TON в строке 4 (рис. 60, «б»).



Рис. 60. Программа управления вентилятором охлаждения:

а) управление с помощью логических ячеек; б) управление с помощью триггерных ячеек


Пример использования простых аналоговых входов для измерения температуры показан на рис. 61. Независимо от типа аналогового датчика измеряемая температура может быть преобразована в электрический сигнал, напряжение которого будет функцией от температуры, измеряемой датчиком. Напряжение с датчика температуры поступает на аналоговый вход контроллера. Аналого-цифровой преобразователь, подключенный к этому входу, преобразует измеряемое напряжение в целочисленное значение, разрядность которого будет определяться разрядностью АЦП. К примеру, если разрядность АЦП — 12 бит, то минимальное получаемое значение будет ноль, а максимальное — 4095. Опытным путем или с помощью таблиц и вычислений мы можем найти, какие значения, получаемые с АЦП, соответствуют интересующим нас температурам.


Рис. 61. Программа контроля температуры с подключением датчиков к простым аналоговым входам


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

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

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