Самодиагностика устройств црз

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

Неисправность ОЗУ проверяется, путем записи в ячейки заранее известных чисел и сравнении результатов, полученных при последующем считывании.

Числовые коды рабочей программы, хранимой в ПЗУ, периодически проверяются микропроцессором, путем вычисления контрольной суммы и сравнением результата с эталонной суммой, хранимой в памяти.

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

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

Самодиагностика не обеспечивает 100 % выявления внутренних дефектов изделия. Обычно удается охватить примерно 70…80 % всех элементов изделия.

Принцип работы сторожевого таймера

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

Методы создания систем сбора данных на микроконтроллерах

(Языки программирования логических контроллеров)

Объекты адресации языков программирования ПЛК

Основные объекты адресации языков программирования ПЛК представляют собой либо биты, соответствующие дискретным логическим переменным, либо слова того или иного формата, соответствующие аналоговым данным.

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

- Биты ввода/вывода являются «логическими отображениями» электрического состояния входа/выхода.

- Внутренние биты (%Mi) используются для хранения промежуточных состояний во время выполнения программы.

- Системные биты (%S0 – %S127) отслеживают корректность операций ПЛК в процессе работы программы приложения.

- Биты функциональных блоков соответствуют выходам специальных программных блоков (таймер, счетчик).

- Биты, выделяемые из слова. Используя программное обеспечение, можно выделять один из 16 битов из объекта типа «слово».

Объекты-слова имеют различную длину и позволяют описывать числовые данные.

- Байтиспользуется исключительно для операций над символьными строками.

- Слово одинарной длины. 16-битные слова могут содержать алгебраическую величину в диапазоне от -32 768 до 32 767.

- Слово двойной длины. 32-битные слова могут содержать алгебраическую величину в диапазоне от -2 147 483 648 до 2 147 483 647. Эти слова хранятся в памяти в виде двух последовательных слов одинарной длины.

- Слова с плавающей точкой используются при выполнении некоторых математических операций.

Язык релейных схем (LD)

Язык релейных схем (Ladder Diagram – LD) представляет собой графическую интерпретацию релейно-контакторных схем управления. В настоящее время является одним из наиболее распространенных языков программирования ПЛК. Этот язык наиболее удобен для программирования небольших задач дискретной логики, поэтому многие контроллеры младших классов имеют язык LD в качестве основного для разработки программ управления.

Программы, написанные на языке LD, состоят из последовательности ступеней, которые выполняются ПЛК последовательно, слева направо.

Ступень состоит из набора графических элементов, ограниченных слева и справа условными шинами питания.

Набор графических элементов языка LD включает:

- Входы/выходы ПЛК (кнопки, датчики, реле, индикаторные лампы и т.д.).

- Стандартные управляющие системные функции (таймеры, счетчики и т.д.).

- Арифметические, логические и специальные операции.

- Внутренние переменные ПЛК.

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

Графические элементы языка LD можно условно разделить на базовые элементы, функциональные и операционные блоки. Каждый базовый элемент занимает одну ячейку (одну строку по высоте и одну колонку по ширине). Блоки могут занимать несколько ячеек. Элементы языка LD приведены в таблице 6.3.

Таблица 6.3. Элементы языка LD

Наименование   Символ Функция
Элементы условий Нормально открытый контакт самодиагностика устройств црз - student2.ru Контакт замкнут, когда битовая переменная, которая управляет им, равна 1.
Нормально закрытый контакт самодиагностика устройств црз - student2.ru Контакт замкнут, когда битовая переменная, которая управляет им, равна 0.
  Прямая обмотка самодиагностика устройств црз - student2.ru Устанавливает соответствующий битовый объект в значение, равное результату, полученному в проверочной зоне.
  Обратная обмотка самодиагностика устройств црз - student2.ru Устанавливает соответствующий битовый объект в значение, равное инверсии от результата, полученного в проверочной зоне.
  Блоки: Таймер Счетчик Одновибратор Регистр самодиагностика устройств црз - student2.ru Каждый из блоков стандартной функции использует входы/выходы, через которые обеспечиваются связи с другими графическими элементами.

Ступень содержит до 7 строк и 11 колонок, разделенных на две зоны – проверочную и зону действий. Каждая ступень может быть снабжена меткой и озаглавлена комментарием. Система сканирует ступени в том порядке, как они были введены, независимо от порядка нумерации меток.

Все линии контактов начинаются от левой шины питания и должны заканчиваться на правой шине питания. Проверочные операции всегда располагаются в колонках с 1 по 10. Операции действия всегда располагаются в колонке 11. Предполагается, что между шинами питания протекает ток, который имеет следующее направление:

- по горизонтальным связям – слева направо,

- по вертикальным связям – в обоих направлениях.

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

Зона действий содержит: прямые, инверсные, фиксирующие и инверсно-фиксирующие обмотки, которые могут быть помечены любым битовым объектом; записанные пользователем операционные блоки; другие элементы действия (Call, Jump, Halt, Return).

В соответствии с указанным порядком исполнения система:

- Оценивает логическое состояние каждого контакта, соответствующее текущему значению внутренних переменных объекта управления или состояние входов модулей ввода/вывода ПЛК, считываемых в начале сканирования.

- Выполняет рабочие действия, соответствующие функциям, функциональным блокам и подпрограммам.

- Обеспечивает битовые объекты, соответствующие обмоткам (выходы модулей ввода/вывода обновляются в конце сканирования).

- Переходит к другой помеченной ступени в данном программном модуле (переходы к другой ступени >> %Li), возвращается в вызывающий модуль <RETURN> или останавливает программу <HALT>.

Язык функциональных блок-схем (FBD)

Язык функциональных блок-схем (Function Block Diagrams – FBD) позволяет создать программную единицу практически любой сложности на основе стандартных функциональных блоков (арифметические, тригонометрические, логические блоки, ПИД–регуляторы, блоки, описывающие некоторые законы управления, мультиплексоры и т.д.). Программирование сводится к соединению готовых компонентов и заданию параметров блоков. В результате получается максимально наглядная и хорошо контролируемая программная единица

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

Имеются следующие формальные правила языка FBD:

1. Функциональные блоки могут располагаться произвольно в поле программы;

2. Не может быть несоединенных входов и выходов функционального блока;

3. Соединение блоков может выполняться также при помощи ссылок с определенными именами;

4. На входе функционального блока может быть константное выражение, любая внутренняя или входная переменная контроллера; выходная переменная.

5. На выходе блока может быть любая внутренняя или выходная переменная ПЛК.

Язык список команд (IL)

Язык IL – унификация интерфейса языка программирования низкого уровня, неориентированного на какую-либо микропроцессорную архитектуру. На основе языка IL можно создавать оптимальные по быстродействию программные единицы.

Программа, написанная на языке IL, состоит из набора инструкций, выполняемых ПЛК последовательно. Каждая инструкция состоит из кода инструкций и операнда.

Например: LD %I1.0, где LD – код инструкции, I1.0 – операнд.

Существуют два типа инструкций:

- Проверочные инструкции, которые содержат условия, необходимые для того, чтобы выполнилось действие, например: LD, AND, OR и т. д.

- Инструкции действия, которые активизируют действие, следующее за проверочной последовательностью, например: ST, STN, R и т.д.

Программой является последовательность инструкций. Каждая последовательность должна содержать одну или несколько проверочных инструкций. Результаты проверочных инструкций используются в одной или нескольких инструкциях действия. Каждая инструкция занимает одну строку. Последовательность инструкций начинается с восклицательного знака (он формируется автоматически). Восклицательный знак может включать комментарий и может быть идентифицирован меткой.

Пример:

! (*Waiting for drying*)
  %L2:
  LD % I0.1
  AND %М10
  ST %Q2.5

- Круглые скобки могут быть использованы в инструкциях AND и OR.

Программы списка инструкций выполняются последовательно – инструкция за инструкцией.

Первой инструкцией обязательно должна быть либо LD, либо безусловная инструкция перехода (например: JMP). Все инструкции (за исключением LD и безусловных инструкций перехода) используют булевский результат предыдущей инструкции.

Наши рекомендации