Publico.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3. class Publico extends CI_Controller {
  4. /**
  5. * Index Page for this controller.
  6. *
  7. * Maps to the following URL
  8. * http://example.com/index.php/welcome
  9. * - or -
  10. * http://example.com/index.php/welcome/index
  11. * - or -
  12. * Since this controller is set as the default controller in
  13. * config/routes.php, it's displayed at http://example.com/
  14. *
  15. * So any other public methods not prefixed with an underscore will
  16. * map to /index.php/welcome/<method_name>
  17. * @see https://codeigniter.com/user_guide/general/urls.html
  18. */
  19. public function index()
  20. {
  21. $this->load->model('calculadora_model');
  22. $data['distribuidoras'] = $this->calculadora_model->getDistribuidoras();
  23. $data['departamentos'] = $this->calculadora_model->getDepartamentos();
  24. $this->load->view('calculadora', $data);
  25. }
  26. public function calculo(){
  27. $this->load->model('calculadora_model');
  28. $consumo = $this->input->post("consumo");
  29. $departamento = $this->input->post("departamento");
  30. $Distribuidora = $this->input->post("Distribuidora");
  31. //echo "Depto: " . $Distribuidora;
  32. $consumoDiario = $consumo / 30;
  33. $datosDepartamentoSeleccionado = $this->calculadora_model->getDepartamento($departamento);
  34. //echo ($datosDepartamentoSeleccionado[0]["irradiancia"]);
  35. $potenciaEfectiva = $consumoDiario / $datosDepartamentoSeleccionado[0]["irradiancia"]*1000;
  36. $potenciaEfectivaPico = $potenciaEfectiva / 0.8;
  37. $noct = $this->calculadora_model->getDatoPanel("noct");
  38. $irradianciaPanel = $this->calculadora_model->getDatoPanel("irradiancia");
  39. //print_r($datosDepartamentoSeleccionado);
  40. $temperatura_ambiente_promedio = $datosDepartamentoSeleccionado[0]["temperatura_ambiente_promedio"];
  41. $temperatura_ambiente = $datosDepartamentoSeleccionado[0]["temperatura_ambiente"];
  42. $noctVal = $noct[0]["valor"];
  43. $irraPanel = $irradianciaPanel[0]["valor"];
  44. //echo "T" . $temperatura_ambiente_promedio . "irradianciaPanel" . $irraPanel . "noctVal" . $noctVal;
  45. $coeficienteTemperatura = ($noctVal - $temperatura_ambiente_promedio) /$irraPanel;
  46. $calculoIntermedio = $coeficienteTemperatura *1000;
  47. $tc = $temperatura_ambiente + $calculoIntermedio;
  48. $diferenciaTemperatura = $tc - $temperatura_ambiente_promedio;
  49. $pmax = $this->calculadora_model->getDatoPanel("Coeficiente Pmax");
  50. $declinacion_x_temp = $pmax[0]["valor"] * $diferenciaTemperatura;
  51. $declinacion_x_temp100 = $declinacion_x_temp /100;
  52. $Pmax = $this->calculadora_model->getDatoPanel("Pmax");
  53. $porcentaje_reduccion = $declinacion_x_temp100 * $Pmax[0]["valor"];
  54. $potenciaReal = $Pmax[0]["valor"] + $porcentaje_reduccion;
  55. $numeroPaneles = $potenciaEfectivaPico / $potenciaReal;
  56. $produccionMensual = $potenciaEfectiva *30;
  57. $datosDistribuidora = $this->calculadora_model->getDistribuidora($Distribuidora);
  58. // echo ($Distribuidora);
  59. $ahorroMensual = ($produccionMensual /100) * $datosDistribuidora[0]["tarifapromedio"];
  60. $kwpRequeridos = $numeroPaneles *0.325;
  61. $data['ahorroMensual'] = $ahorroMensual;
  62. $data['kwpRequeridos'] = $kwpRequeridos;
  63. $this->load->view('resultado', $data);
  64. }
  65. }