       geraPWM(pot_solda_vertical, &tempo_PWM_vertical, solda_vertical_PWM);
       geraPWM(pot_solda_horizontal, &tempo_PWM_horizontal, solda_horizontal_PWM);
       geraPWM(pot_solda_datador, &tempo_PWM_datador, solda_datador_PWM);
-      if (maquina_ligada) {
+      if (maquina_ligada || desligamento_suave) {
         iniciaTrabalho(); // Inicia Ciclos de Produção
       }
     } else {

  if (maquina_ligada) {
    ligaFuncao(geral, NomeGeral);
  } else {
    if (ligado(geral)){
      desligaFuncao(geral, NomeGeral);
      resetCompleto();
    }
    // desligaFuncao(geral, NomeGeral);
  }
}


  resetado = VERDADEIRO;
  fotocelula_liberada = FALSO;
  fotocelula_cortou = FALSO;
  // if (desligamento_suave && desligarEm){
  //   reiniciaSaidas();
  //   resetCompleto();
  // } else
  if (desligamento_suave && dosador_ligado){
    dosador_ligado = FALSO;
    desligaFuncao(dosador, NomeDosador);
    desligarEm = conta_ciclos + 1;
  }
}

void cicloMedio() {
