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

Рассмотрим пример, приведенный на рис. 61, в котором при температуре выше 30,5 °C (измеряется датчиком) должен включиться вентилятор, а при температуре ниже 15,2 °C должен включиться подогрев. Опытным путем составляем таблицу зависимости цифрового значения, получаемого с АЦП, от измеряемой температуры. Пока нас интересуют два цифровых значения, которые соответствуют 15 °C и 30 °C. Допустим, это 1693 и 2091. Используя операции сравнения, включаем либо подогрев, либо вентиляцию.

Программа проста, понятна и не требует специальных входов для измерения температуры. Но при эксплуатации, настройке или ремонте оборудования довольно сложно интерпретировать такие показания датчика температуры. На рис. 61 полученное с АЦП значение равно 1569. Сложно определить, какой температуре оно соответствует. Можно только сделать вывод, что температура ниже 15,2 °C. Реализовать в табличной программе алгоритм пересчета значений с АЦП в температуру в градусах Цельсия нецелесообразно, это усложнит общий алгоритм управления и сделает его трудным для понимания. Поэтому предпочтительнее использовать для измерения температуры специальные аналоговые входы.

На рис. 62 показана программа, в которой сигнал с датчика температуры приходит на аналоговый вход измерения температуры. Теперь вместо значения, получаемого с АЦП, в таблице представлена текущая температура, измеряемая датчиком, в привычных градусах Цельсия. Помимо удобного представления текущей температуры, теперь довольно просто производить настройку граничных значений в градусах.


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


4.6. Аналоговый джойстик

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

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

На рис. 63 показан пример программы управления с помощью аналогового джойстика скоростью вращения электрического двигателя, подключенного к преобразователю частоты (ПЧ). Выходное напряжение с джойстика поступает на аналоговый вход контроллера, преобразуется в цифровое значение, которое присваивается переменной с адресом 101. Так как в центральном положении джойстика переменный резистор будет установлен в среднее положение, то напряжение на входе АЦП будет равно примерно половине опорного. По мере отклонения ручки джойстика влево напряжение будет увеличиваться от половины опорного напряжения вплоть до опорного напряжения в крайнем левом положении ручки. При отклонении ручки джойстика вправо напряжение на входе АЦП станет падать и в крайнем правом положении ручки будет равно нолю. Обработка сигнала с джойстика в программе на рис. 63 разделена на несколько блоков.




Рис. 63. Программа управления частотным приводом с помощью аналогового джойстика


Первый блок выполняет обработку сигнала от джойстика. Так как в центральном положении ручки джойстика напряжение на входе АЦП не будет точно равно половине опорного напряжения, то сначала необходимо определить, какое значение с АЦП будет соответствовать центральному положению ручки. Дополнительно нужно добавить границы возможного люфта ручки джойстика в центральном положении. Для этого двум переменным, с адресами 116 и 117, присвоим значения, от которых будем считывать отклонения ручки джойстика влево и вправо. Если рассматривать 12-битный АЦП, то максимальное получаемое от него значение будет равно 4095. Значение, получаемое от джойстика, при центральном положении ручки будет около 2047. Учитывая люфт джойстика, находим значения, от которых будем вести отсчет отклонения влево и вправо.

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

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

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