zdenekpetrzd

Brzdič BSE - Serial

Feb 2nd, 2018
461
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.06 KB | None | 0 0
  1. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
  2. //                                                                    Ovladač OBE1 brzdiče Dako BSE                                                                              //
  3. // Funkce pro ovládání brzdiče DAKO BSE, má dva vstupní parametry : 1) První pin PISO registru, po kterém následuje dalších 6, se spínači stavu ovladače                         //
  4. //                                                                  2) CVID - trojznak definovaný v programu TStoCOM                                                             //
  5. // Funkce posílá pomocí sériové linky hodnotu v rozsahu 0-1 (násobitel je 100)                                                                                                   //
  6. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
  7. int aktualStavBrzdice = 0;
  8. int staryStavBrzdice = 2;
  9. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
  10. void BrzdicBSE(int pointer, String CVID) {
  11.   for (int i=pointer; i < (pointer + 7); i++) {
  12.     bitWrite(aktualStavBrzdice, (i - pointer), tlacitko[i]);
  13.   }
  14.  
  15.   if(staryStavBrzdice != aktualStavBrzdice)
  16.   {
  17.     if(aktualStavBrzdice == 1) {           //Pokud je stav vstupů 1
  18.         Serial.print(CVID);                //Pošli na Serial nastavené CVID
  19.         Serial.print("0");                 //Hodnota CV pro ovladač OBE v poloze švih je 0
  20.         Serial.print("\r\n");
  21.     }
  22.     else if(aktualStavBrzdice == 2) {
  23.         Serial.print(CVID);
  24.         Serial.print("20");               //Hodnota CV pro ovladač OBE v poloze přebytí je 0.2
  25.         Serial.print("\r\n");
  26.     }
  27.     else if(aktualStavBrzdice == 4) {
  28.         Serial.print(CVID);
  29.         Serial.print("35");              //Hodnota CV pro ovladač OBE v poloze závěr je 0.35
  30.         Serial.print("\r\n");
  31.     }
  32.     else if(aktualStavBrzdice == 8) {
  33.         Serial.print(CVID);
  34.         Serial.print("50");               //Hodnota CV pro ovladač OBE v poloze odbržděno je 0.5
  35.         Serial.print("\r\n");
  36.     }
  37.     else if(aktualStavBrzdice == 16) {
  38.         Serial.print(CVID);
  39.         Serial.print("65");              //Hodnota CV pro ovladač OBE v poloze jízda je 0.65
  40.         Serial.print("\r\n");
  41.    }
  42.    else if(aktualStavBrzdice == 32) {
  43.         Serial.print(CVID);
  44.         Serial.print("75");              //Hodnota CV pro ovladač OBE v poloze brzda je 0.75
  45.         Serial.print("\r\n");
  46.    }                                          
  47.    else if(aktualStavBrzdice == 64) {      
  48.         Serial.print(CVID);                
  49.         Serial.print("100");             //Hodnota CV pro ovladač OBE v poloze rychlobrzda je 1
  50.         Serial.print("\r\n");
  51.    }
  52.    else if(aktualStavBrzdice == 0) {      
  53. //        Serial.print("Chybi kontakt pro polohu ovladace brzdice OBE1!");
  54. //        Serial.print("\r\n");
  55.    }
  56.  
  57.     else {
  58.         Serial.print("Chybna poloha ovladace brzdice OBE1!");
  59.         Serial.print("\r\n");
  60.     }
  61.     staryStavBrzdice = aktualStavBrzdice;
  62.   }
  63. }
  64. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
Advertisement
Add Comment
Please, Sign In to add comment