Advertisement
Guest User

Untitled

a guest
Nov 19th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SCL 2.39 KB | None | 0 0
  1. (*Deklaracja koniecznych blokow funkcyjnych, ktore pomagaja w optymalizacji i konfiguracji urzadzenia*)
  2. blinkMOVEMENT(ENABLE:=TRUE , TIMELOW:=tTIME_LOW , TIMEHIGH:=tTIME_HIGH , OUT=> );
  3. rtBLINK_OUT(CLK:=blinkMOVEMENT.OUT , Q=> );
  4.  
  5. FB_787_1675GetData(
  6.     xEnable:=xENABLE ,
  7.     bComPortNumber:=bCOM_PORT_NUMBER ,
  8.     xReset:= xRESET ,
  9.     sDeviceId=> s787_1675_ID ,
  10.     wCurrent=> wCURRENT,
  11.     rChargingVoltage=>rCHARGING_VOLTAGE ,
  12.     wBufferModeCurrent=>wBUFFER_MODE_CURRENT ,
  13.     rAccuTemperatur=>rTEMPERATURE ,
  14.     rOutputVoltage=>rOUTPUT_VOLTAGE ,
  15.     rChargingCurrent=>rCHARGING_CURRENT ,
  16.     wStatus=>wSTATUS ,
  17.  
  18.     wSwitchPosition=> wSWITCH_POSITION ,
  19.     xDataValid=> xDATA_VALID ,
  20.     xComPortOpen=>xIF_COM_PORT_OPEN );
  21.  
  22. (*Deklaracja wszystkich mozliwych statusow urzadzenia i przypisanie ich do dedykowanych zmiennych typu BOOL*)
  23. (*@INFO@ 'wStatus.x' - Odwolanie sie do danego (x) bitu WORDA status*)
  24. xNO_BATTERY := wSTATUS.0;
  25. xVERY_LOW_BATTERY := wSTATUS.1;
  26. xBUFFER_MODE := wSTATUS.2;
  27. xTOTAL_DISCHARGE := wSTATUS.4;
  28. xREC_BATTERY_REPLACEMENT := wSTATUS.5;
  29. xBATTERY_MODULE_DETECTED := wSTATUS.7;
  30. xBATTERIES_CHARGING := wSTATUS=8;
  31. xSHUTDOWN := wSTATUS=9;
  32. xDELAY_PERIOD_REACHED := wSTATUS=10;
  33.  
  34.  
  35.  
  36. (*Operacja konwersji z typu WORD na REAL oraz skalowanie wartosci pradu oraz bufora pradu*)
  37. rCURRENT := WORD_TO_REAL(wCURRENT)/1000;
  38. rBUFFER_MODE_CURRENT := WORD_TO_REAL(wBUFFER_MODE_CURRENT)/1000;
  39.  
  40. rCHARGING_CURRENT_SCALLED := rCHARGING_CURRENT/1000;
  41.  
  42. (*Blinker posiadajacy taktowanie -> czas stanu wyskokiego = czasu stanu niskiego *)
  43. IF rtBLINK_OUT.Q THEN
  44.     iMOVEMENT := iMOVEMENT +5; (*inkrementacja o 5 zmiennej iMOVEMENT*)
  45. END_IF
  46.  
  47. IF iMOVEMENT > 25 THEN
  48.     iMOVEMENT := 0;
  49. END_IF
  50.  
  51. (*Zarzadzanie stopniem naladowania baterii*)
  52. IF rCHARGING_VOLTAGE <= 30 AND rCHARGING_VOLTAGE >25.99THEN
  53.     eBATTERY:=1;
  54. ELSIF rCHARGING_VOLTAGE<25.99 AND rCHARGING_VOLTAGE>=24.75 THEN
  55.     eBATTERY:=2;
  56. ELSIF  rCHARGING_VOLTAGE<24.75 AND rCHARGING_VOLTAGE>24.60 THEN
  57.     eBATTERY:=4;
  58. ELSIF  rCHARGING_VOLTAGE<24.60 AND rCHARGING_VOLTAGE>0 THEN
  59.     eBATTERY:=8;
  60. ELSE
  61.     eBATTERY:=1;
  62. END_IF
  63.  
  64. (* INFO:
  65. All possible statuses WAGO 787-1675 can achieve:
  66. 1:No battery operation possible
  67. 2:Battery power very low
  68. 4:Buffer mode
  69. 16:Total discharge protection has ended buffer mode
  70. 32:Battery replacement recommended
  71. 128:Battery module with Battery control recognized 
  72. 256:Batteries are charging
  73. 512:SignalToShutdownThePC
  74. 1024:DelayPeriodReached
  75. *)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement