Битовое запоминающее устройство 

Битовое запоминающее устройство

2.5

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

На рис. 2.24 (а) изображен пример такой ячейки как в виде многоступенчатой схемы, так и в виде комбинации логических элементов. Здесь выход С активизируется, если активизирован вход А, и остается в таком состоянии, пока не будет деактивизирован вход В. Назначение входа В диктуется соображениями безопасности; он по сути дела воспринимает сигнал «разрешения на активизацию» выхода.

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

При проектировании логических схем запоминание обеспечивается устройством, которое называется триггером и изображено на рис. 2.25 (а). Триггер имеет два входа, S (для установки в определенное состояние) и R (для сброса). Триггер запоминает, какой вход последним принял состояние логической единицы. Если оба входа присутствуют одновременно, «выигрывает» верхний (S) вход. Такая схема называется SR-триггером. Если при изображении триггера верхним является вход R, как показано на рис. 2.25 (б), то этот вход доминирует над S-входом в случае, когда они оба присутствуют.

Триггеры используются при программировании ПЛК в терминах логических символов. На рис. 2.26 (а) показана схема управления пусковым устройством двигателя с помощью ПЛК Siemens. Обратите внимание, что в ней использован триггер RS-типа; это обеспечивает преобладание логических сигналов «стоп» над логическими сигналами «пуск», а сигнал «стоп» действует как разрешение на пуск двигателя.

Рис. 2.24. Битовые запоминающие ячейки: (а) схема ячейки, сигнал «стоп» на входе В отменяет действие сигнала «пуск» на входе А; (б) действие программы, показанной в части (а); (в) запоминающая ячейка, где сигнал «пуск» на входе А отменяет действие сигнала «стоп» на входе В; (г) действие программы, показанной в части (в)

При написании программ для ПЛК первостепенное значение имеет их «прозрачность», так чтобы даже среди ночи уставший инженер мог обнаружить ошибку во время работы программы. Особенности ячеек памяти, изображенных на рис. 2.24, удается понять далеко не сразу. Это легко сделать только тогда, когда задействованным входом всегда является нижняя ступенька в многоступенчатой схеме или нижний вход вентиля в логической схеме.

Рис. 2.25. Два типа триггерной ячейки памяти:
(а) SR-триггер (доминирующим является вход S);
(б) RS-триггер (доминирующим является вход R)

Символ триггера часто можно увидеть и в многоступенчатых схемах. Так, рис. 2.26 (б) является полным аналогом (в обозначениях Siemens) схемы на рис. 2.26 (а). В этих схемах использованы нормально замкнутые кнопки «стоп». Обратите внимание, как они выглядят в программе, и сравните с ранее приведенной многоступенчатой схемой на рис. 2.24.

В ПЛК ABB Master для триггеров используется почти такое же обозначение, за исключением того, что они имеют пять модификаций. Первая — это простой SR-триггер, изображенный на рис. 2.25. Другая модификация предполагает, что собственно триггеру предшествует комбинация логических элементов AND/OR (И/ИЛИ), как показано на рис. 2.26. Остальные модификации -это единые блоки, состоящие из триггера, объединенного с вентилями AND/OR, набор которых определяется пользователем. Например, на рис. 2.26 (в) изображен триггер типа SRAO, у которого на S-входе включен вентиль AND, а на R-входе вентиль OR. Другие возможные модификации — это SRAA (SR-триггер с элементами AND/AND на входах), SROA и SROO.

В многоступенчатых схемах для ПЛК Allen Bradley программу можно сделать более понятной путем использования выходов типа защелок (latch/unlatch), как показано на рис. 2.27 (а). Они действуют как тот же самый бит памяти, устанавливая его, если на выходе —(L)— присутствует 1, и сбрасывая его, когда 1 поступает на выход —(U)—. Если на оба выхода приходит 0, ячейка сохраняет последнее состояние. Аналогичная идея используется в ПЛК Mitsubishi F2, с той лишь разницей, что выходы обозначаются символами S и R (от Set/Reset), как на рис. 2.27 (б). Эту схему можно описать с помощью списка операторов, представленного в табл. 2.5.

Рис. 2.26. Триггерная ячейка памяти: (а) логическое представление; (б) представление с использованием многоступенчатой схемы; (в) триггер ABB SRAO

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

Рис. 2.27. Разные виды ячеек памяти: (а) для ПЛК Allen Bradley; (б) для ПЛК Mitsubishi

Таблица 2.5

Строка Инструкция Комментарий
0 LDX400  
1 ORX401  
2 SY432 Установка выхода
3 LDIХ402  
4 ORIX403  
5 RY432 Сброс выхода

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

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

В Allen Bradley PLC-5 это определяется схемотехническим путем; простой катушке на рис. 2.24 соответствует несохраняемая память, а пусковому устройству на рис. 2.27 — сохраняемая память.

В других ПЛК используется битовая адресация. В ПЛК Siemens 115 адреса флажков F0.0—F127.7 могут быть сделаны сохраняемыми. В ПЛК Mitsubishi вспомогательные реле Ml00—М277 соответствуют несохраняемой памяти, а М300—М377 сохраняемой. В GEM-80 G-таблица памяти является несохраняемой, тогда как аналогичная R-таблица — сохраняемой, поэтому если в схеме на рис. 2.24 катушке присвоить адрес R3.4, то ячейка будет сохранять свое состояние после исчезновения питания.

Язык программирования ПЛК ABB Master является сильно структурированным, и это требует от программиста соблюдения соответствующего стиля. Тип ряда компонентов, таких как память, и их поведение при первом включении ПЛК определяются при описании элементов программы.

Сохраняемая память может представлять определенную опасность, так как объект после исчезновения питания может неожиданно вновь возобновить работу. Поэтому проектировщик должен принять меры предосторожности, чтобы случайно не выбрать адреса битов памяти, при которых она будет обладать свойствами сохранения состояния. В частности, в ПЛК GEM-80 поощряется использование R-таблицы, т. к. адреса ее ячеек вряд ли можно выбрать ошибочно.