(FB in LAD) PWM Generator

Si vuole creare un Function Block per la generazione di un segnale PWM. Da notare che è meglio creare una Function Block FB e non una funzione FC in quanto potrebbe essere utile avere diverse istanze con diversi valori del Periodo T e del duty cycle, e quindi utilizzando una Function Block i Timer utilizzati possono essere inseriti all’interno della FB come istanze multiple, ovvero le istanze dei Timer saranno delle variabili statiche della FB.

La funzione avrà le seguenti Variabili:
Input:

  • “Periodo” di tipo “Time”
  • “duty_cycle” di tipo “Int” (valore percentuale che può assumere valori tra 0 e 100)

Output:

  • “segnale” di tipo “Bool” che rappresenta il segnale PWM che vogliamo generare
  • “errore” di tipo “Bool” che è pari ad 1 se “duty_cycle” non è compreso tra 0 e 100.

Static:

  • “Timer1” di tipo “TON”
  • “Timer2” di tipo “TON”
  • “tempo_on” di tipo “Time”
  • “tempo_off” di tipo “Time”

Temp:

  • “dint_duty_cycle” di tipo “DInt”

 

La funzione è la seguente:

pwm_finale3

 

You may also like...


Warning: count(): Parameter must be an array or an object that implements Countable in /membri/fabioplc/wp-includes/class-wp-comment-query.php on line 399
Menu Title