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.