<< Click to Display Table of Contents >> Navigation: Приложения > Библиотека OSCAT > OSCAT.Функциональные блоки > OSCAT.ФБ.Модули памяти > FIFO_16 (OSCAT) |
FIFO_16 – это стек, содержащий 16 позиций для данных DWORD.
Вид ФБ в редакторе программ языка FBD:
Входы и выходы ФБ:
Название |
Тип |
Описание |
Входы |
||
DIN |
DWORD |
Вход. |
E |
BOOL |
Разрешение выполнения команд RD и WD. |
RD |
BOOL |
RD=TRUE – команда извлечения из стека. |
WD |
BOOL |
WD=TRUE – команда помещения в стек. |
RST |
BOOL |
Сброс. |
Выходы |
||
DOUT |
DWORD |
Значение, извлеченное из стека. |
EMPTY |
BOOL |
EMPTY=TRUE индицирует, что стек пуст (все позиции свободны, и невозможно извлечение значений из стека). |
FULL |
BOOL |
Флаг переполнения стека. Если данные помещены во все свободные позиции стека, FULL=TRUE, и помещение новых значений в стек невозможно. |
Значение DIN помещается в стек в каждом цикле, в котором WD=E=TRUE. Значение из стека извлекается в каждом цикле, в котором RD=E=TRUE.
При RST=TRUE освобождаются все позиции стека (EMPTY=TRUE). Позиция также освобождается при извлечении ее значения (после извлечения значений из всех доступных позиций EMPTY=TRUE). Например, если поместить в пустой стек n значений (n<=16), а затем извлечь k значений (k<=n), то для дальнейшего извлечения доступны оставшиеся (n-k) позиций, а свободны (16-n+k) позиций. Учитывая данное обстоятельство, при необходимости можно конфигурировать одновременное помещение и извлечение (выполняется в одном и том же цикле).
Используемые функции: INC1 (OSCAT).