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

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

Рис. 34. Пример организации сохранения в энергонезависимой памяти значений аналоговой и битовой переменных

Можно заметить, что при отпускании кнопки, устанавливающей начальные значения, сохраняемая переменная с адресом 31 получит значение переменной с адресом 21. То есть начальное значение переменная с адресом 31 будет иметь, только пока нажата кнопка. На рис. 34. представлено состояние табличной программы, когда кнопка, устанавливающая начальные значения, не нажата.

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

В примере на рис. 35 начальное значение битовой переменной с адресом 15 устанавливается триггерной активной ячейкой в строке 9. Предполагаемое начальное значение этой переменной равно нолю, поэтому выбрана триггерная ячейка «R», которая сбросит в ноль сохраняемую битовую переменную при нажатии на кнопку, устанавливающую начальные значения.

Рис. 35. Пример присвоения начальных значений переменным, сохраняемым в энергонезависимой памяти

В зависимости от задачи возможны различные варианты установки начальных значений для переменных, сохраняемых в энергонезависимой памяти.

<p>3.5. Операции над входными данными</p>

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

Для операций присвоения, инверсии и синхронизации требуется один операнд (рис. 36). Битовые входные переменные при необходимости могут быть инвертированы и уже в таком виде использоваться в качестве аргумента.

Рис. 36. Операции с одним операндом:

A — обозначение аналогового типа, b — обозначение битового типа

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

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

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

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

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

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

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

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

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