PWM

A função deste bloco é controlar um canal PWM disponível no equipamento.

Importante

A utilização deste bloco depende da disponibilidade do canal de PWM no equipamento associado ao programa de aplicação.

Bloco

                  PWM
         +---------------------+
         |                     |
UINT ----|SLOT             FAIL|---- BOOL
         |                     |
UINT ----|CHANNEL     FAIL_CODE|---- BOOL
         |                     |
BOOL ----|RUN                  |
         |                     |
REAL ----|FREQ                 |
         |                     |
REAL ----|DUTY                 |
         |                     |
         +---------------------+

Dica

Para conhecer melhor o recurso e suas funcionalidades acesse o vídeo tutorial: Trabalhando com Bloco de Função PWM.

Parâmetros

Nome

Parâmetro

Tipo Dado

V. Ini.

Descrição

SLOT

Entrada

UINT

1

Nro do slot associado ao módulo que possui o canal do PWM

CHANNEL

Entrada

UINT

0

Nro do canal pwm no módulo associado

RUN

Entrada

BOOL

TRUE

Habilita o PWM se TRUE. Mantem o mesmo inativo se FALSE.

FREQ

Entrada

REAL

0

Valor da frequencia em HZ com resolução máxima de 0,1 Hz

DUTY

Entrada

REAL

50.0

Valor do duty cycle em % com resolução máxima de 0,1 %

FAIL

Saída

BOOL

FALSE

Quando ativo indica bloco em falha

FAIL_CODE

Saída

INT

0

Código de falha associado (Se 0 indica bloco operacional)

SLOT

Número do slot associado ao módulo que possui o canal do PWM. O primeiro módulo de I/O do controlador esta alocado no slot 1, o segundo no slot 2 e assim sucessivamente. A quantidade de slots disponíveis é função do modelo do controlador utilizado. Verifique no manual do equipamento para mais informações.

CHANNEL

Número do canal PWM associado ao módulo. O primeiro canal PWM possui o nro Zero, o segundo o nro 1 e assim sucessivamente. A quantidade de canais PWM em um módulo de I/O é função do modelo do módulo de I/O utilizado. Verifique no manual do módulo de I/O do controlador para mais informações.

RUN

Controla a operação do PWM. Habilita o PWM se TRUE e mantem o mesmo inativo se FALSE. Quando inativo a saída associada se manterá desligada (nivel zero).

Nota

Se o valor do parâmetro REQ ou o valor do parâmetro DUTY forém ZERO o PWM sera mantido inativo independente do estado da entrada RUN

FREQ

Especifica a frequência de operação em Hz do PWM. Este valor pode ser especificado na faixa de 0.0 a 3200.0 Hz com resolução de 0.1 Hz. Valores menores que 0.0 são limitados em 0.0 e, valores maiores que 3200.0 são limitados em 3200.0. Valores especificados entre a resolução de 0.1Hz são truncados em 0.1 Hz por exemplo, se especificado o valor 5.43Hz será utilizado o valor 5.4Hz.

Nota

Se for especificado qualquer valor menor que 0.1 Hz para frequência de operação o bloco PWM irá considerar o valor de frequencia igual a zero mantendo a saída inativa.

DUTY

Especifica a ciclo de trabalho (DUTY CYCLE) do PWM em porcentagem. Este valor pode ser especificado na faixa de 0.0 a 100.0 Hz com resolução de 0.1 Hz. Valores menores que 0.0 são limitados em 0.0 e, valores maiores que 100.0 são limitados em 100.0. Valores especificados entre a resolução de 0.1Hz são truncados em 0.1 Hz por exemplo, se especificado o valor 20.57% será utilizado o valor 20.5%.

Nota

Se for especificado qualquer valor menor que 0.1% para ciclo de trabalho o PWM se mantém inativo com a saída em zero. Se for especificado o valor 100% para o ciclo de trabalho o PWM mantém a saida constantemente ativa, portanto com frequencia igual a zero.

FAIL

Quando ativo indica que o bloco detectou alguma falha operacional ou de parâmetros. Neste caso, o código de fallha estará disponível na saída FAIL_CODE

FAIL_CODE

Se igual a zero indica que o bloco esta operacional. Caso contrario, o valor apresentado indica o código de falha responsável identificado na operação do bloco. Note que, quando o usuário especificar um valor inválido para os parâmetros FREQ ou DUTY o valor especificado será limitado em um valor válido mantendoo bloco operacional mas, neste caso será retornado um codigo de falha HILS.GL_INV_PAR.

Para mais informações sobre as possíveis falhas, consulte: RET_CODE - Códigos de retorno do firmware G5.

Exemplo

Declaração de Variáveis

Nome

Tipo

Valor Inicial

Opções

Descrição

my_slot

UINT

1

const

Nro do slot do canal PWM

my_chan

UINT

0

const

Nro do canal PWM a ser obtido

my_freq

REAL

Frequencia de operação do PWM em Hz

my_duty

REAL

Ciclo de trabalho (duty cycle) do PWM em %

my_pwm

HILS.PWM

Instancia do bloco PWM

Clique aqui para baixar a tabela de variáveis

Código ST

(* chama o bloco PWM *)
(* ... *)
(* Note que o bloco possui o parâmetro RUN inicializado com TRUE. Portanto não
  é necessário especificar o mesmo na chamada do bloco a menos que seja necessário
  controlar a habilitação da saída do PWM  *)

my_pwm(SLOT:= my_slot, CHANNEL:= my_chan, FREQ:= my_freq, DUTY:= my_duty);

if (my_pwm.FAIL = TRUE) then

  (* trata condição de falha no bloco, o código de falha esta disponível em my_pwm.FAIL_CODE *)
  (* ... *)

end_if;

(* ... *)