O bloco de funções executa o gerenciamento de saída digital no módulo indicado em Endereço de acordo com o comando de Moda definido. Para gerenciar as saídas digitais no módulo da CPU, é necessário definir Address:=255 e Mode:=DO_MODE#DO_8_LL.
Com a variável Mask for possível mascarar as saídas a serem gerenciadas, o FB apenas transferirá os bits de Value onde o bit relativo de Mask está definido. Por exemplo com Value:=16#FFFFFFFF e Mask:=16#00000003 somente as saídas 0 e 1 do módulo serão ativadas. Isso permite:
- CODESYS: Para usar o FB no mesmo cartão em POUs diferentes mesmo em tarefas diferentes.
- LogicLab: Para usar o FB para gerenciar os cartões de saída que são gerenciados automaticamente na imagem do processo.
Bloqueio de função
CoDeSys: eCDSXUnified12Lib
Laboratório de lógica: eLLabXUnified12Lib
Address (USINT) É necessário especificar o endereço do módulo no qual gerenciar as saídas digitais (faixa de 0 a 15). O valor 0 indica o primeiro módulo de extensão, 1 o segundo e assim por diante. O endereço 255 indica o módulo da CPU.
Mode (DO_MODE) O modo de gerenciamento de saída digital deve ser especificado (Definição).
Value (UDINT) Configure o valor a ser transferido para as saídas digitais.
Mask (UDINT) Saídas de máscara para gerenciar. Apenas os pedaços de Value correspondente ao bit relativo de Mask definir.
Done (BOOL) Conjunto de dados. É ativado para um loop no final do ajuste da saída digital.
Fault (BOOL) Erro. É ativado em caso de erro na sequência de configuração
Exemplos
Como usar os exemplos.
Saídas digitais baixas (From 8 para Out 0) do módulo de expansão com endereço 7 são transferidas para o 0, o valor em OutValue.
LogicLab (Ptp116)
PROGRAM ST_SysSetPhrDO
VAR
OutValue : UDINT; (* Digital output value *)
DOut : SysSetPhrDO; (* Digital output management *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_SysSetPhrDO"
// *****************************************************************************
// This program manages digital outputs.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// DIGITAL OUTPUT MANAGEMENT
// -------------------------------------------------------------------------
// Manage digital outputs Out 0 to Out 7 on module with address 0.
DOut.Address:=0; //Module address
DOut.Mode:=DO_MODE#DO_8_LL; //Management mode
DOut.Value:=OutValue; //Digital ouput value
DOut.Mask:=16#000000FF; //Output mask
DOut(); //Digital output management
// [End of file]
CODESYS (Ptp161)
PROGRAM ST_SysSetPhrDO
VAR
OutValue : UDINT; //Digital output value
DOut : SysSetPhrDO; //Digital output management
END_VAR
// *****************************************************************************
// PROGRAM "ST_SysSetPhrDO"
// *****************************************************************************
// This program manages digital outputs.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// DIGITAL OUTPUT MANAGEMENT
// -------------------------------------------------------------------------
// Manage digital outputs Out 0 to Out 7 on module with address 0.
DOut.Address:=0; //Module address
DOut.Mode:=DO_MODE.DO_8_LL; //Management mode
DOut.Value:=OutValue; //Digital ouput value
DOut.Mask:=16#000000FF; //Output mask
DOut(); //Digital output management
// [End of file]