SEMA_WAIT

Aguarda a liberação de um semáforo identificado por um handle, respeitando um tempo máximo de espera (timeout). É um bloco de função (mantém estado entre scans; requer instância).

Biblioteca: HI_STD · Namespace: HILS · Tipo: bloco de função

Nota

Este bloco está em fase de desenvolvimento e portanto não deve ser utilizado. As informações presentes podem ser modificadas.

Bloco de função

            SEMA_WAIT
         +--------------+
UDINT ---|HANDLE        |--- INT
         |              |
UDINT ---|MS_TMO        |
         +--------------+

O bloco bloqueia a execução aguardando a liberação do semáforo referenciado por HANDLE (obtido em SEMA_CREATE), desistindo após o tempo definido em MS_TMO. A saída INT indica o resultado da espera.

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

HANDLE

IN

UDINT

—

—

Handle do semáforo, obtido do bloco SEMA_CREATE.

MS_TMO

IN

UDINT

—

ms

Tempo máximo (em ms) para aguardar a liberação do semáforo.

Pré-condições

  • O semáforo deve ter sido criado previamente com SEMA_CREATE, e o handle retornado deve ser fornecido em HANDLE.

Ver também

SEMA_CREATE, SEMA_SIGNAL, SEMA_DELETE