Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (*Deklaracja koniecznych blokow funkcyjnych, ktore pomagaja w optymalizacji i konfiguracji urzadzenia*)
- blinkMOVEMENT(ENABLE:=TRUE , TIMELOW:=tTIME_LOW , TIMEHIGH:=tTIME_HIGH , OUT=> );
- rtBLINK_OUT(CLK:=blinkMOVEMENT.OUT , Q=> );
- FB_787_1675GetData(
- xEnable:=xENABLE ,
- bComPortNumber:=bCOM_PORT_NUMBER ,
- xReset:= xRESET ,
- sDeviceId=> s787_1675_ID ,
- wCurrent=> wCURRENT,
- rChargingVoltage=>rCHARGING_VOLTAGE ,
- wBufferModeCurrent=>wBUFFER_MODE_CURRENT ,
- rAccuTemperatur=>rTEMPERATURE ,
- rOutputVoltage=>rOUTPUT_VOLTAGE ,
- rChargingCurrent=>rCHARGING_CURRENT ,
- wStatus=>wSTATUS ,
- wSwitchPosition=> wSWITCH_POSITION ,
- xDataValid=> xDATA_VALID ,
- xComPortOpen=>xIF_COM_PORT_OPEN );
- (*Deklaracja wszystkich mozliwych statusow urzadzenia i przypisanie ich do dedykowanych zmiennych typu BOOL*)
- (*@INFO@ 'wStatus.x' - Odwolanie sie do danego (x) bitu WORDA status*)
- xNO_BATTERY := wSTATUS.0;
- xVERY_LOW_BATTERY := wSTATUS.1;
- xBUFFER_MODE := wSTATUS.2;
- xTOTAL_DISCHARGE := wSTATUS.4;
- xREC_BATTERY_REPLACEMENT := wSTATUS.5;
- xBATTERY_MODULE_DETECTED := wSTATUS.7;
- xBATTERIES_CHARGING := wSTATUS=8;
- xSHUTDOWN := wSTATUS=9;
- xDELAY_PERIOD_REACHED := wSTATUS=10;
- (*Operacja konwersji z typu WORD na REAL oraz skalowanie wartosci pradu oraz bufora pradu*)
- rCURRENT := WORD_TO_REAL(wCURRENT)/1000;
- rBUFFER_MODE_CURRENT := WORD_TO_REAL(wBUFFER_MODE_CURRENT)/1000;
- rCHARGING_CURRENT_SCALLED := rCHARGING_CURRENT/1000;
- (*Blinker posiadajacy taktowanie -> czas stanu wyskokiego = czasu stanu niskiego *)
- IF rtBLINK_OUT.Q THEN
- iMOVEMENT := iMOVEMENT +5; (*inkrementacja o 5 zmiennej iMOVEMENT*)
- END_IF
- IF iMOVEMENT > 25 THEN
- iMOVEMENT := 0;
- END_IF
- (*Zarzadzanie stopniem naladowania baterii*)
- IF rCHARGING_VOLTAGE <= 30 AND rCHARGING_VOLTAGE >25.99THEN
- eBATTERY:=1;
- ELSIF rCHARGING_VOLTAGE<25.99 AND rCHARGING_VOLTAGE>=24.75 THEN
- eBATTERY:=2;
- ELSIF rCHARGING_VOLTAGE<24.75 AND rCHARGING_VOLTAGE>24.60 THEN
- eBATTERY:=4;
- ELSIF rCHARGING_VOLTAGE<24.60 AND rCHARGING_VOLTAGE>0 THEN
- eBATTERY:=8;
- ELSE
- eBATTERY:=1;
- END_IF
- (* INFO:
- All possible statuses WAGO 787-1675 can achieve:
- 1:No battery operation possible
- 2:Battery power very low
- 4:Buffer mode
- 16:Total discharge protection has ended buffer mode
- 32:Battery replacement recommended
- 128:Battery module with Battery control recognized
- 256:Batteries are charging
- 512:SignalToShutdownThePC
- 1024:DelayPeriodReached
- *)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement