Ejemplo n.º 1
0
 public function calculateLam(Switches $switch, $pcbID = -1)
 {
     $base = $this->getSwitchTypeValue($switch->getSwitchType());
     $sEnv = $switch->getEnvironment();
     $piE = $this->systemService->getPiE(141, $sEnv);
     $stress = $switch->getOperatingCurrent() / $switch->getRatedResistiveCurrent();
     $load = $switch->getLoadType();
     switch ($load) {
         case 'Resistive':
             $piL = exp(pow($stress / 0.8, 2));
             break;
         case 'Inductive':
             $piL = exp(pow($stress / 0.4, 2));
             break;
         case 'Lamp':
             $piL = exp(pow($stress / 0.2, 2));
             break;
         case 'Worstcase':
             $piL = exp(pow($stress / 0.2, 2));
             break;
     }
     $typeS = $switch->getSwitchType();
     if ($typeS == 'Pushbutton' || $typeS == 'Toggle') {
         $piC = pow($switch->getContactCnt(), 0.33);
     } else {
         $piC = 1;
     }
     $qual = $switch->getQuality();
     if ($qual == 'MIL-SPEC') {
         $piQ = 1;
     } else {
         $piQ = 2;
     }
     $lambda = $base * $piL * $piC * $piQ * $piE * pow(10, -6);
     return $lambda;
 }
Ejemplo n.º 2
0
 /**
  * @Route("/newSwitch", name="newSwitch")
  * @Template()
  */
 public function newSwitchAction()
 {
     $post = $this->get('request')->request;
     $id = $post->get('id');
     $formData = $post->get('formData');
     $objF = json_decode($formData);
     $obj = $objF->switchForm;
     $switch = new Switches();
     $switch->setParams($obj);
     $service = $this->get('ikaros_switchService');
     $lambda = $service->calculateLam($switch);
     $serviceParts = $this->get('ikaros_partService');
     $e = $serviceParts->setLams($lambda, $switch, $id);
     if ($e != "") {
         return new Response(json_encode(array('e' => $e)), 400, array('Content-Type' => 'application/json; charset=utf-8'));
     }
     return new Response(json_encode(array('Label' => $switch->getLabel(), 'Lam' => $switch->getLam(), 'SwitchType' => $switch->getSwitchType(), 'Quality' => $switch->getQuality(), 'Environment' => $switch->getEnvironment(), 'LoadType' => $switch->getLoadType(), 'ContactCnt' => $switch->getContactCnt(), 'OperatingCurrent' => $switch->getOperatingCurrent(), 'RatedResistiveCurrent' => $switch->getRatedResistiveCurrent(), 'idP' => $switch->getIDPart())), 200, array('Content-Type' => 'application/json; charset=utf-8'));
 }