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

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


Рис. 28. Пример записи данных строки табличной программы в текстовом виде


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


Рис. 29. Заголовок раздела с данными столбцов табличной программы


Далее идут строки файла, в которых находится информация о выходных переменных и операциях над ними. Пример такой строки — на рис. 30.


Рис. 30. Пример записи данных столбца табличной программы в текстовом виде


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

После этих строк идет раздел с данными активных ячеек таблицы. Раздел начинается с заголовка (рис. 31), после которого идут строки файла, содержащие по три поля.


Рис. 31. Заголовок раздела с данными активных ячеек табличной программы


Первое поле, «Строка», содержит номер строки таблицы, поле «Столбец» — номер столбца таблицы, а поле «Код операции» указывает, какое действие будет произведено при пересчете таблицы. Пример записи данных активной ячейки — на рис. 32.


Рис. 32. Пример записи данных активной ячейки табличной программы в текстовом виде


Другими словами, в полях «Строка» и «Столбец» указано положение активной ячейки в таблице, а поле «Код операции» определяет, каким образом активная ячейка будет влиять на результат по столбцу.

3.2. Аналоговые переменные

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

Полученное при помощи операций над входными переменными аналоговое значение может быть присвоено выходной аналоговой переменной. Какие из аналоговых переменных будут входными, какие выходными, а какие внутренними — зависит от используемого контроллера. Чтобы вычисленное значение было присвоено выходной переменной, необходимо на пересечении строки с аналоговым значением и столбца с интересующей нас выходной переменной вставить аналоговую активную ячейку. Такую ячейку мы будем обозначать символом «А». Пример использования аналоговых переменных в табличной программе — на рис. 33.


Рис. 33. Пример операции с аналоговыми переменными


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

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

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